مبانی برنامه نویسی
775 subscribers
4 photos
1 link
اگه سوالی بود یا مشکلی وجود داشت میتونید با آیدی زیر ارتباط بگیرید بتونم و بدونم حتما جواب میدم .موفق باشید.
@mohammadf111
Download Telegram
#کد ۱
سطح سوال:‌متوسط
سوال: برنامه ای بنویسید که n را از ورودی بگیره و اعداد اول تا n رو چاپ کنه در اخر تعدادشون هم بنویسه.


ورودی و خروجی نمونه :
ورودی نمونه ۱:
Enter a number: 10
خروجی نمونه ۱ :
Prime numbers up to 10: 2 3 5 7
Total prime numbers: 4

ورودی نمونه ۲ :
Enter a number: 100
خروجی نمونه ۲:
Prime numbers up to 100: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Total prime numbers: 25

موارد استفاده شده‌ در حل سوال:‌ while / if

توضیح کد: ابتدا عدد n از ورودی گرفته میشود سپس با استفاده از حلقه while، تا زمانی که i کوچکتر یا مساوی از number است، ادامه می‌دهیم. در هر مرحله از حلقه، عدد i را بررسی می‌کنیم که آیا اول است یا خیر.در داخل حلقه دیگری به نام "حلقه داخلی"، با استفاده از حلقه while دیگر، از عدد 2 تا جذر عدد i حرکت کرده و عدد i را بررسی می‌کنیم. در صورتی که i بر تمام اعداد قبل از خود بخش‌پذیر باشد، آن را به عنوان عدد اول در نظر می‌گیریم و آن را چاپ می‌کنیم.در انتها، مقدار i را یک واحد افزایش می‌دهیم تا به عدد number برسیم و حلقه تمام شود.در نهایت، تعداد اعداد اول چاپ شده را در متغیر count ذخیره کرده و آن را چاپ می‌کنیم.
👍1
#include <stdio.h>
#include <math.h>

int main() {
int number;
printf("Enter a number: "); // دریافت یک عدد از ورودی
scanf("%d", &number);

printf("Prime numbers up to %d: ", number); // چاپ عنوان برای اعداد اول تا عدد ورودی

int i = 2;
int count = 0;
while (i <= number) {
int isPrime = 1;

int j = 2;
while (j <= sqrt(i)) { // چک کردن تا جذر عدد
if (i % j == 0) {
isPrime = 0;
break;
}
j++;
}

if (isPrime) {
printf("%d ", i); // چاپ اعداد اول
count++;
}

i++;
}

printf("\nTotal prime numbers: %d", count); // چاپ تعداد کل اعداد اول

return 0;
}

زبان برنامه نویسی :#c
#include <iostream>
#include <cmath>

using namespace std;

int main() {
int number;
cout << "Enter a number: "; // دریافت یک عدد از ورودی
cin >> number;

cout << "Prime numbers up to " << number << ": "; // چاپ عنوان برای اعداد اول تا عدد ورودی

int i = 2;
int count = 0;
while (i <= number) {
int isPrime = 1;

int j = 2;
while (j <= sqrt(i)) { // چک کردن تا جذر عدد
if (i % j == 0) {
isPrime = 0;
break;
}
j++;
}

if (isPrime) {
cout << i << " "; // چاپ اعداد اول
count++;
}

i++;
}

cout << "\nTotal prime numbers: " << count; // چاپ تعداد کل اعداد اول

return 0;
}

زبان برنامه نویسی :#cpp
number = int(input("Enter a number: "))  # دریافت یک عدد از ورودی

print("Prime numbers up to", number, ": ", end="") # چاپ عنوان برای اعداد اول تا عدد ورودی

count = 0
for i in range(2, number + 1):
isPrime = True

for j in range(2, int(i ** 0.5) + 1): # چک کردن تا جذر عدد
if i % j == 0:
isPrime = False
break

if isPrime:
print(i, end=" ") # چاپ اعداد اول
count += 1

print("\nTotal prime numbers:", count) # چاپ تعداد کل اعداد اول

زبان برنامه نویسی :#python
#کد ۲
سطح سوال:‌متوسط
سوال:برنامه ای بنویسید که n از ورودی بگیره اگر زوج بود مجموع ارقام بدست بیاره و اگر فرد بود مقسوم علیه هاشو بنویس.

ورودی و خروجی نمونه :
ورودی نمونه ۱:
Enter a number: 12
خروجی نمونه ۱ :
Sum of digits: 3

ورودی نمونه ۲ :
Enter a number: 63
خروجی نمونه ۲:
Prime factors: 1 63 3 7 9 21

موارد استفاده شده‌ در حل سوال:‌ while / if

توضیح کد: ابتدا عدد n از ورودی گرفته می شود. و سپس بررسی می‌کند که آیا آن عدد زوج است یا خیر.اگر عدد ورودی زوج باشد، یک حلقه while شروع می‌شود تا تمام رقم‌های عدد را جدا کند و جمع آن‌ها را محاسبه کند. در هر مرحله از حلقه، عدد را در temp ذخیره می‌کنیم و با استفاده از عملگر ماژول %، رقم آخر عدد را به دست می‌آوریم و به متغیر sum اضافه می‌کنیم. سپس عدد را بر 10 تقسیم می‌کنیم تا به رقم بعدی برسیم. این عمل تا زمانی ادامه می‌یابد که عدد دیگر بیش از صفر نباشد.در غیر این صورت، یعنی اگر عدد ورودی فرد باشد، پیام "Prime factors: " را چاپ می‌کنیم و سپس عدد ۱ و عدد ورودی را چاپ می‌کنیم. سپس با استفاده از یک حلقه while، با استفاده از متغیر divisor، تمام مقسوم علیه‌های عدد ورودی را پیدا کرده و چاپ می‌کنیم.در نهایت، خروجی های محاسباتی را با استفاده از printf نمایش می‌دهیم.
👍1
#include <stdio.h>

int main() {
int number;
printf("Enter a number: ");
scanf("%d", &number);

if (number % 2 == 0) {
int sum = 0;
int temp = number;
while (temp > 0) {
int digit = temp % 10;
sum += digit;
temp /= 10;
}
printf("Sum of digits: %d", sum); // محاسبه و چاپ جمع ارقام
} else {
printf("Prime factors: ");
printf("1 %d ", number); // چاپ ۱ و عدد خود عدد ورودی

int divisor = 2;
while (divisor < number) {
if (number % divisor == 0) {
printf("%d ", divisor); // چاپ مقسوم علیه‌ها
}
divisor++;
}
}

return 0;
}

زبان برنامه نویسی :#c
#include <iostream>

using namespace std;

int main() {
int number;
cout << "Enter a number: ";
cin >> number;

if (number % 2 == 0) {
int sum = 0;
int temp = number;
while (temp > 0) {
int digit = temp % 10;
sum += digit;
temp /= 10;
}
cout << "Sum of digits: " << sum; // محاسبه و چاپ جمع ارقام
} else {
cout << "Prime factors: ";
cout << "1 " << number << " "; // چاپ ۱ و عدد خود عدد ورودی

int divisor = 2;
while (divisor < number) {
if (number % divisor == 0) {
cout << divisor << " "; // چاپ مقسوم علیه‌ها
}
divisor++;
}
}

return 0;
}

زبان برنامه نویسی :#cpp
number = int(input("Enter a number: "))

if number % 2 == 0:
sum = 0
temp = number
while temp > 0:
digit = temp % 10
sum += digit
temp //= 10
print("Sum of digits:", sum) # محاسبه و چاپ جمع ارقام
else:
print("Prime factors: 1", number, end=" ") # چاپ ۱ و عدد خود عدد ورودی

divisor = 2
while divisor < number:
if number % divisor == 0:
print(divisor, end=" ") # چاپ مقسوم علیه‌ها
divisor += 1


زبان برنامه نویسی :#python
#کد ۳
سطح :‌متوسط
سوال:برنامه ای بنویسید که n از ورودی بگیره و ببین که توانی از دو هست یا نه.

ورودی و خروجی نمونه :
ورودی نمونه ۱:
Enter a number: 32
خروجی نمونه ۱ :
32 is a power of two (2^5)

ورودی نمونه ۲ :
Enter a number: 25
خروجی نمونه ۲:
25 is not a power of two

موارد استفاده شده‌ در حل سوال:‌ while / if

توضیح کد:‌ با استفاده از حلقه while، تا زمانی که powerOfTwo کوچکتر از n است، ادامه می‌دهیم. در هر مرحله از حلقه، مقدار powerOfTwo را دو برابر می‌کنیم و مقدار exponent را یک واحد افزایش می‌دهیم.در انتها، با استفاده از printf، بررسی می‌کنیم که آیا powerOfTwo برابر با n است یا خیر. در صورت برابری، پیامی چاپ می‌شود که عدد ورودی توانی از عدد ۲ است و مقدار exponent نیز نمایش داده می‌شود. در غیر این صورت، پیامی چاپ می‌شود که عدد ورودی توانی از عدد ۲ نیست.
#include <stdio.h>

int main() {
int n;
printf("Enter a number: "); // دریافت یک عدد از ورودی
scanf("%d", &n);

int powerOfTwo = 1;
int exponent = 0;

while (powerOfTwo < n) { // تا زمانی که توان دو کوچکتر از n است، ادامه بده
powerOfTwo *= 2; // توان دو را دو برابر کن
exponent++;
}

if (powerOfTwo == n) {
printf("%d is a power of two (2^%d)", n, exponent); // اگر توان دو برابر با n باشد، n توانی از دو است
} else {
printf("%d is not a power of two", n); // در غیر این صورت، n توانی از دو نیست
}

return 0;
}

زبان برنامه نویسی :#c
#include <iostream>

using namespace std;

int main() {
int n;
cout << "Enter a number: "; // دریافت یک عدد از ورودی
cin >> n;

int powerOfTwo = 1;
int exponent = 0;

while (powerOfTwo < n) { // تا زمانی که توان دو کوچکتر از n است، ادامه بده
powerOfTwo *= 2; // توان دو را دو برابر کن
exponent++;
}

if (powerOfTwo == n) {
cout << n << " is a power of two (2^" << exponent << ")"; // اگر توان دو برابر با n باشد، n توانی از دو است
} else {
cout << n << " is not a power of two"; // در غیر این صورت، n توانی از دو نیست
}

return 0;
}

زبان برنامه نویسی :#cpp
n = int(input("Enter a number: "))  # دریافت یک عدد از ورودی

powerOfTwo = 1
exponent = 0

while powerOfTwo < n: # تا زمانی که توان دو کوچکتر از n است، ادامه بده
powerOfTwo *= 2 # توان دو را دو برابر کن
exponent += 1

if powerOfTwo == n:
print(n, "is a power of two (2^" + str(exponent) + ")") # اگر توان دو برابر با n باشد، n توانی از دو است
else:
print(n, "is not a power of two") # در غیر این صورت، n توانی از دو نیست


زبان برنامه نویسی :#python
#کد ۴
سطح: آسان
سوال:۵ عدد از ورودی و کوچکترین و بزرگترین ان را مشخص کنید.

ورودی و خروجی نمونه :
ورودی نمونه ۱:
Enter 5 numbers:10 11 9 8 13
خروجی نمونه ۱ :
Smallest number: 8
Largest number: 13
ورودی نمونه ۲ :
Enter 5 numbers:17 10 18 13 12
خروجی نمونه ۲:
Largest number: 18

موارد استفاده شده‌ در حل سوال:‌ while / if

توضیح کد:‌ در این کد یک حلقه while است که تا زمانی که تعداد ورودی‌ها کمتر از ۵ باشد، ادامه می‌دهد. در هر مرحله از حلقه، با استفاده از تابع scanf یک عدد از ورودی دریافت می‌کنیم و آن را در متغیر number ذخیره می‌کنیم.در بخش شرطی، با استفاده از متغیر count، بررسی می‌کنیم که آیا این ورودی اولین ورودی است یا نه. در صورتی که اولین ورودی باشد، آن را به عنوان کوچکترین و بزرگترین عدد تنظیم می‌کنیم. در غیر این صورت، با استفاده از دستورات شرطی if، عدد ورودی را با کوچکترین و بزرگترین مقدار فعلی مقایسه کرده و در صورت لزوم، مقدار آن‌ها را به‌روزرسانی می‌کنیم.سپس، تعداد ورودی‌ها را در متغیر count افزایش می‌دهیم تا به تعداد مورد نظر (۵) برسیم و حلقه تمام شود.