مبانی برنامه نویسی
774 subscribers
4 photos
1 link
اگه سوالی بود یا مشکلی وجود داشت میتونید با آیدی زیر ارتباط بگیرید بتونم و بدونم حتما جواب میدم .موفق باشید.
@mohammadf111
Download Telegram
#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 افزایش می‌دهیم تا به تعداد مورد نظر (۵) برسیم و حلقه تمام شود.
#include <stdio.h>

int main() {
int number;
int smallest, largest;
int count = 0;

printf("Enter 5 numbers:");

// دریافت اعداد و مقایسه با کوچکترین و بزرگترین
while (count < 5) {
scanf("%d", &number);

// اگر عدد اول باشد، آن را به عنوان کوچکترین و بزرگترین قرار می‌دهیم
if (count == 0) {
smallest = number;
largest = number;
} else {
// مقایسه با کوچکترین و بزرگترین فعلی
if (number < smallest) {
smallest = number;
}
if (number > largest) {
largest = number;
}
}

count++;
}

printf("Smallest number: %d", smallest);
printf("\nLargest number: %d", largest);

return 0;
}

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

using namespace std;

int main() {
int number;
int smallest, largest;
int count = 0;

cout << "Enter 5 numbers: ";

// دریافت اعداد و مقایسه با کوچکترین و بزرگترین
while (count < 5) {
cin >> number;

// اگر عدد اول باشد، آن را به عنوان کوچکترین و بزرگترین قرار می‌دهیم
if (count == 0) {
smallest = number;
largest = number;
} else {
// مقایسه با کوچکترین و بزرگترین فعلی
if (number < smallest) {
smallest = number;
}
if (number > largest) {
largest = number;
}
}

count++;
}

cout << "Smallest number: " << smallest << endl;
cout << "Largest number: " << largest << endl;

return 0;
}

زبان برنامه نویسی :#cpp
smallest = None
largest = None

print("Enter 5 numbers:")
for count in range(5):
number = int(input())

if count == 0:
smallest = number
largest = number
else:
if number < smallest:
smallest = number
if number > largest:
largest = number

print("Smallest number:", smallest)
print("Largest number:", largest)

زبان برنامه نویسی :#python
#کد ۵
سطح: سخت
سوال:‌عدد n از ورودی بگیرید و به صورت باینری در خروجی چاپ کنید.

ورودی و خروجی نمونه :
ورودی نمونه ۱:
Enter a number: 10
خروجی نمونه ۱ :
Binary representation: 1010

ورودی نمونه ۲ :
Enter a number: 32
خروجی نمونه ۲:
Binary representation: 100000

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

توضیح کد:‌ ابتدا عدد n از ورودی گرفته می شود.سپس از یک حلقه while استفاده می‌شود تا عدد ورودی را به صورت تک تک رقم‌های باینری تجزیه کند. در هر مرحله از حلقه، با استفاده از عملگر ماژول %، باقیمانده تقسیم عدد بر 2 را محاسبه می‌کنیم. این باقیمانده برابر با آخرین رقم باینری است. سپس با استفاده از عملگر جمع +، این باقیمانده را به عدد باینری اضافه می‌کنیم. در هر مرحله، مقدار power برابر با توان ده می‌شود. این متغیر power برای محاسبه مقدار باینری استفاده می‌شود. در نهایت، عدد ورودی را بر 2 تقسیم می‌کنیم تا به رقم بعدی برسیم. این عمل تا زمانی ادامه می‌یابد که عدد ورودی به صفر برسد و تمام رقم‌های باینری محاسبه شوند.نتیجه‌ی نهایی که در متغیر binary ذخیره می‌شود، عدد ورودی را به صورت باینری نمایش می‌دهد.
#include <stdio.h>

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

int power = 1;
int binary = 0;

while (n > 0) {
int remainder = n % 2; // باقیمانده تقسیم عدد بر 2
binary = binary + (remainder * power); // محاسبه عدد باینری
power = power * 10; // توان ده را بروزرسانی کن
n = n / 2; // تقسیم عدد بر 2
}

printf("Binary representation: %d", binary); // چاپ عدد باینری

return 0;
}

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

using namespace std;

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

int power = 1;
int binary = 0;

while (n > 0) {
int remainder = n % 2; // باقیمانده تقسیم عدد بر 2
binary = binary + (remainder * power); // محاسبه عدد باینری
power = power * 10; // توان ده را بروزرسانی کن
n = n / 2; // تقسیم عدد بر 2
}

cout << "Binary representation: " << binary; // چاپ عدد باینری

return 0;
}

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

power = 1
binary = 0

while n > 0:
remainder = n % 2 # باقیمانده تقسیم عدد بر 2
binary += remainder * power # محاسبه عدد باینری
power *= 10 # توان ده را بروزرسانی کن
n = n // 2 # تقسیم عدد بر 2

print("Binary representation:", binary) # چاپ عدد باینری

زبان برنامه نویسی :#python
#کد ۶
سطح: متوسط
سوال:عدد باینری بگیر و در مبنای ۱۰ چاپ کن.

ورودی و خروجی نمونه :
ورودی نمونه ۱:
Enter a number: 10
خروجی نمونه ۱ :
Binary representation: 1010

ورودی نمونه ۲ :
Enter a number: 32
خروجی نمونه ۲:
Binary representation: 100000

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

توضیح کد: در ابتدا، برنامه از کاربر خواهد پرسید که یک عدد باینری وارد کند. سپس، با استفاده از عملگر مقسوم عدد باینری را به رقم‌های کمینه تجزیه می‌کند. در هر مرحله، رقم کمینه به دست می‌آید و با استفاده از مبنای ده، عدد اعشاری معادل را محاسبه می‌کند. سپس، رقم کمینه از عدد باینری حذف می‌شود و مبنای ده به صورت دو برابر شدن برای محاسبهٔ رقم بعدی در مبنای ده استفاده می‌شود. این فرآیند تا زمانی ادامه پیدا می‌کند که عدد باینری صفر شود.

در نهایت، برنامه عدد را به صورت اعشاری در مبنای ده چاپ می‌کند.
#include <stdio.h>

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

int decimal = 0;
int base = 1;

while (binary > 0) {
int digit = binary % 10; // به دست آوردن رقم کمینه
decimal += digit * base; // محاسبه عدد در مبنای ۱۰
binary /= 10; // حذف رقم کمینه
base *= 2; // افزایش مبنای ۱۰
}

printf("Decimal representation: %d", decimal); // چاپ عدد در مبنای ۱۰

return 0;
}

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

using namespace std;

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

int decimal = 0;
int base = 1;

while (binary > 0) {
int digit = binary % 10; // به دست آوردن رقم کمینه
decimal += digit * base; // محاسبه عدد در مبنای ۱۰
binary /= 10; // حذف رقم کمینه
base *= 2; // افزایش مبنای ۱۰
}

cout << "Decimal representation: " << decimal; // چاپ عدد در مبنای ۱۰

return 0;
}

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

decimal = 0
base = 1

while binary > 0:
digit = binary % 10 # به دست آوردن رقم کمینه
decimal += digit * base # محاسبه عدد در مبنای ۱۰
binary //= 10 # حذف رقم کمینه
base *= 2 # افزایش مبنای ۱۰

print("Decimal representation:", decimal) # چاپ عدد در مبنای ۱۰


زبان برنامه نویسی :#python
#کد ۷
سطح :‌متوسط
سوال: تا زمانی که -۱ وارد نشده از ورودی عدد بگیر و سپس میانگین را حساب کن.

ورودی و خروجی نمونه :
ورودی نمونه ۱:
Enter numbers (enter a negative number to stop):5 10 15 20 -1
خروجی نمونه ۱ :
Average of non-negative numbers until a negative number is entered: 12.500000
ورودی نمونه ۲ :
Enter numbers (enter a negative number to stop):8 12 16 -1
خروجی نمونه ۲:
Average of non-negative numbers until a negative number is entered: 12.000000


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


توضیح کد: ابتدا متغیرهای count و sum را با مقدار 0 مقداردهی اولیه می‌کنیم. متغیر count برای شمارش تعداد اعداد مثبت و متغیر sum برای محاسبه جمع این اعداد استفاده می‌شود.
درون یک حلقه while با شرط بی‌نهایت، یک عدد از کاربر با استفاده از تابع scanf دریافت می‌شود. اگر عدد وارد شده برابر با -1 باشد، حلقه while متوقف می‌شود و به مرحله بعد می‌رود.در هر مرحله از حلقه while، متغیر count یک واحد افزایش می‌یابد و مقدار عدد وارد شده به متغیر sum اضافه می‌شود. سپس به دست آوردن میانگین اعداد مثبت می‌پردازیم. اگر تعداد اعداد مثبت بزرگتر از صفر باشد، میانگین با تقسیم مقدار sum بر count محاسبه می‌شود. سپس با استفاده از تابع printf، میانگین اعداد مثبت تا زمانی که عدد منفی وارد شود چاپ می‌شود.
اگر تعداد اعداد مثبت برابر با صفر باشد، پیام "No non-negative numbers entered"خ چاپ می‌شود.
#include <stdio.h>

int main() {
int count = 0;
int sum = 0;
int number;

printf("Enter numbers (enter a negative number to stop):"); // چاپ پیام برای ورود اعداد

while (1) {
scanf("%d", &number);
if (number == -1) {
break;
}
count++;
sum += number;
}

if (count > 0) {
float average = (float) sum / count;
printf("Average of non-negative numbers until a negative number is entered: %f", average); // چاپ میانگین اعداد مثبت تا وقتی عدد منفی وارد شود
} else {
printf("No non-negative numbers enteredn"); // چاپ پیام در صورتی که هیچ عدد مثبتی وارد نشده باشد
}

return 0;
}

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

using namespace std;

int main() {
int count = 0;
int sum = 0;
int number;

cout << "Enter numbers (enter a negative number to stop):"; // چاپ پیام برای ورود اعداد

while (true) {
cin >> number;
if (number == -1) {
break;
}
count++;
sum += number;
}

if (count > 0) {
float average = (float) sum / count;
cout << "Average of non-negative numbers until a negative number is entered: " << average; // چاپ میانگین اعداد مثبت تا وقتی عدد منفی وارد شود
} else {
cout << "No non-negative numbers entered"; // چاپ پیام در صورتی که هیچ عدد مثبتی وارد نشده باشد
}

return 0;
}

زبان برنامه نویسی :#cpp