الگوریتم و فلوچارت
1.76K subscribers
334 photos
9 videos
459 files
280 links
برنامه نویسی را از اینجا شروع کنید‌؛
آموزش طراحی فلوچارت و الگوریتم |
مثال‌های عملی + دانلود رایگان |
مناسب برای برنامه‌نویسان مبتدی
#flowgorithm
گروه چت حل تمرین
https://t.me/flowchart_algorithmGp

جهت ارتباط با ادمین و تبلیغات
@Programer24h 💻
Download Telegram
📝 20 نمونه سوال پایتون (سطح متوسط) با پاسخ

1. چاپ اعداد زوج بین 1 تا 20

for i in range(1, 21):
if i % 2 == 0:
print(i)


---

2. محاسبه مجموع عناصر یک لیست

nums = [3, 7, 2, 9]
print(sum(nums))


---

3. پیدا کردن بزرگ‌ترین عدد در لیست

nums = [12, 45, 7, 23]
print(max(nums))


---

4. شمارش تعداد کاراکترهای یک رشته

text = "python exam"
print(len(text))


---

5. بررسی اینکه عدد اول است یا نه

n = 17
is_prime = True
for i in range(2, n):
if n % i == 0:
is_prime = False
break
print(is_prime)


---

6. معکوس کردن یک رشته

text = "hello"
print(text[::-1])


---

7. محاسبه فاکتوریل عدد

def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result

print(factorial(5))


---

8. پیدا کردن تعداد کلمات در یک جمله

sentence = "Python is very powerful"
print(len(sentence.split()))


---

9. مرتب‌سازی لیست

nums = [5, 2, 9, 1]
nums.sort()
print(nums)


---

10. محاسبه میانگین لیست

nums = [10, 20, 30, 40]
print(sum(nums)/len(nums))


---

11. پیدا کردن بیشترین تکرار در لیست

nums = [1, 2, 2, 3, 3, 3, 4]
print(max(nums, key=nums.count))


---

12. برنامه‌ای برای فیبوناچی تا عدد 10

a, b = 0, 1
for _ in range(10):
print(a)
a, b = b, a+b


---

13. ذخیره داده در فایل

with open("data.txt", "w") as f:
f.write("Hello Python")


---

14. خواندن داده از فایل

with open("data.txt", "r") as f:
print(f.read())


---

15. تعریف کلاس ساده

class Student:
def init(self, name, grade):
self.name = name
self.grade = grade

s = Student("Ali", 18)
print(s.name, s.grade)


---

16. محاسبه توان عدد

print(pow(2, 5))


---

17. حذف عناصر تکراری از لیست

nums = [1, 2, 2, 3, 4, 4]
print(list(set(nums)))


---

18. بررسی وجود یک عنصر در لیست

nums = [10, 20, 30]
print(20 in nums)


---

19. برنامه‌ای برای محاسبه مجموع اعداد فرد تا 50
total = 0
for i in range(1, 51, 2):
total += i
print(total)


---

20. استفاده از لیست درک
(List Comprehension)

squares = [x2 for x in range(1, 6)]
print(squares)

برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
🐍 20 نمونه سؤال پیشرفته پایتون با پاسخ

1. لیست درک (List Comprehension)
سؤال: لیستی از مربع اعداد زوج بین 1 تا 20 بساز.
پاسخ:

squares = [x2 for x in range(1, 21) if x % 2 == 0]
print(squares)


---

2. دیکشنری درک (Dict Comprehension)
سؤال: دیکشنری بساز که کلیدها اعداد 1 تا 5 و مقدارشان مکعب آن‌ها باشد.
پاسخ:

cubes = {x: x3 for x in range(1, 6)}
print(cubes)


---

3. تابع بازگشتی (Recursion)
سؤال: تابعی بنویس که فاکتوریل عدد را محاسبه کند.
پاسخ:

def factorial(n):
return 1 if n == 0 else n * factorial(n-1)

print(factorial(5))


---

4. مرتب‌سازی سفارشی
سؤال: لیست رشته‌ها را بر اساس طولشان مرتب کن.
پاسخ:

words = ["python", "ai", "algorithm", "data"]
print(sorted(words, key=len))


---

5. دکوراتور (Decorator)
سؤال: دکوراتوری بنویس که زمان اجرای تابع را محاسبه کند.
پاسخ:
import time

def timer(func):
def wrapper(args, *kwargs):
start = time.time()
result = func(args, *kwargs)
end = time.time()
print("Execution time:", end - start)
return result
return wrapper

@timer
def slow_function():
time.sleep(2)
return "Done"

print(slow_function())


---

6. ژنراتور (Generator)
سؤال: ژنراتوری بنویس که فیبوناچی تولید کند.
پاسخ:

def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a+b

print(list(fibonacci(10)))


---

7. مدیریت خطا
سؤال: برنامه‌ای بنویس که تقسیم بر صفر را مدیریت کند.
پاسخ:

try:
x = 10 / 0
except ZeroDivisionError:
print("Division by zero is not allowed!")


---

8. کلاس و شیءگرایی
سؤال: کلاسی برای دانشجو با ویژگی‌های نام و معدل بساز.
پاسخ:

class Student:
def init(self, name, gpa):
self.name = name
self.gpa = gpa

def str(self):
return f"{self.name} - GPA: {self.gpa}"

s = Student("Mohammad", 18.5)
print(s)


---

9. وراثت (Inheritance)
سؤال: کلاس Animal و کلاس Dog که از آن ارث‌بری کند بساز.
پاسخ:

class Animal:
def speak(self):
return "Some sound"

class Dog(Animal):
def speak(self):
return "Woof!"

d = Dog()
print(d.speak())


---

10. مدیریت فایل
سؤال: محتوای یک فایل متنی را بخوان و تعداد خطوط آن را چاپ کن.
پاسخ:

with open("test.txt", "r") as f:
lines = f.readlines()
print(len(lines))


---

11. استفاده از Lambda
سؤال: لیست اعداد را به توان دو برسان با استفاده از map.
پاسخ:

nums = [1, 2, 3, 4]
print(list(map(lambda x: x2, nums)))


---

12. مرتب‌سازی چندمعیاره
سؤال: لیست دیکشنری‌ها را بر اساس سن و سپس نام مرتب کن.
پاسخ:

people = [{"name":"Ali","age":25},{"name":"Sara","age":22},{"name":"Reza","age":25}]
print(sorted(people, key=lambda x: (x["age"], x["name"])))


---

13. استفاده از zip
سؤال: دو لیست را به صورت جفت ترکیب کن.
پاسخ:

names = ["Ali", "Sara"]
scores = [18, 19]
print(list(zip(names, scores)))


---

14. شمارش عناصر با collections.Counter
سؤال: تعداد تکرار کاراکترها در رشته را بشمار.
پاسخ:

from collections import Counter
text = "python programming"
print(Counter(text))


---

15. استفاده از enumerate
سؤال: لیست را همراه با شماره ایندکس چاپ کن.
پاسخ:

items = ["apple", "banana", "cherry"]
for i, item in enumerate(items):
print(i, item)


---

16. کار با JSON
سؤال: دیکشنری را به JSON تبدیل کن.
پاسخ:

import json
data = {"name":"Mohammad","age":21}
print(json.dumps(data))


---

17. کار با set
سؤال: اشتراک دو مجموعه را پیدا کن.
پاسخ:

a = {1,2,3,4}
b = {3,4,5,6}
print(a & b)


---

18. لیست تو در تو
سؤال: ماتریس 3×3 بساز و چاپ کن.
پاسخ:

matrix = [[i+j for j in range(3)] for i in range(3)]
print(matrix)


---

19. استفاده از filter
سؤال: اعداد بزرگ‌تر از 10 را فیلتر کن.
پاسخ:

nums = [5, 12, 7, 20]
print(list(filter(lambda x: x > 10, nums)))

20. کار با itertools
سؤال: همه جایگشت‌های رشته "abc" را تولید کن.
پاسخ:

import itertools
print(list(itertools.permutations("abc")))


برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
👍1🔥1
۵ نمونه سؤال از آرایه‌ها (Arrays) در زبان ++C به همراه پاسخ و کد نمونه آورده‌ام. سطح سؤالات از مبتدی تا متوسط است.

سؤال ۱: نمایش عناصر یک آرایه
صورت سؤال:
برنامه‌ای بنویسید که ۵ عدد را در یک آرایه دریافت کرده و آن‌ها را نمایش دهد.
پاسخ:
#include <iostream> using namespace std; int main()
{ int a[5];
for(int i = 0; i < 5; i++)
{ cin >> a[i]; } for(int i = 0; i < 5; i++)
{ cout << a[i] << " "; }
return 0; }


سؤال ۲: محاسبه مجموع عناصر آرایه
صورت سؤال:
مجموع عناصر یک آرایه ۶ عضوی را محاسبه و چاپ کنید.
پاسخ:
#include <iostream> using namespace std; int main()
{ int a[6], sum = 0; for(int i = 0; i < 6; i++)
{ cin >> a[i]; sum += a[i]; }
cout << "Sum = " << sum;
return 0;
}

سؤال ۳: پیدا کردن بزرگ‌ترین عدد در آرایه
صورت سؤال:
برنامه‌ای بنویسید که بزرگ‌ترین عدد یک آرایه را پیدا کند.
پاسخ:
#include <iostream> using namespace std; int main()
{ int a[5], max; for(int i = 0; i < 5; i++)
{ cin >> a[i]; } max = a[0];
for(int i = 1; i < 5; i++)
{ if(a[i] > max) max = a[i]; }
cout << "Max = " << max;
return 0;
}

سؤال ۴: شمارش اعداد زوج در آرایه
صورت سؤال:
تعداد اعداد زوج موجود در یک آرایه را محاسبه کنید.
پاسخ:
#include <iostream> using namespace std; int main()
{ int a[7], count = 0; for(int i = 0; i < 7; i++)
{ cin >> a[i]; if(a[i] % 2 == 0)
count++; }
cout << "Even numbers = " << count;
return 0;
}

سؤال ۵: معکوس کردن آرایه
صورت سؤال:
برنامه‌ای بنویسید که عناصر یک آرایه را به صورت معکوس چاپ کند.
پاسخ:
#include <iostream> using namespace std;
int main()
{ int a[5];
for(int i = 0; i < 5; i++)
{ cin >> a[i]; } for(int i = 4; i >= 0; i--)
{ cout << a[i] << " "; }
return 0;
}


برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
هزار ( 1000) نمونه سوال تستی زبان برنامه نویسی ++C به همراه پاسخ سوالات

منبع بسیار عالی برای یادگیری زبان ++C
منبع بسیار عالی برای آمادگی آزمونهای میان ترم و پایان ترم





برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
🙏1
هزار (1000) نمونه سوال تستی زبان برنامه نویسی C به همراه پاسخ سوالات

منبع بسیار عالی برای یادگیری زبان برنامه نویسی C
منبع بسیار عالی برای آمادگی آزمونهای میان ترم و پایان ترم





برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
🔥1
۱۰ نمونه سؤال پایان‌ترم زبان پایتون به‌همراه پاسخ (مناسب سطح مقدماتی تا متوسط) آورده‌ام. سؤالات ترکیبی از مفهومی، تشریحی و کدنویسی هستند.
سوال ۱: پایتون چیست و چه کاربردهایی دارد؟
پاسخ:
پایتون یک زبان برنامه‌نویسی سطح بالا، مفسری و چندمنظوره است که خوانایی بالایی دارد.
کاربردها:
توسعه وب
علم داده و هوش مصنوعی
اتوماسیون و اسکریپت‌نویسی
تحلیل داده
ساخت نرم‌افزار
سوال ۲: تفاوت لیست (list) و تاپل (tuple) را توضیح دهید.
پاسخ:
لیست قابل تغییر (mutable) است.
تاپل غیرقابل تغییر (immutable) است.
لیست با [] و تاپل با () تعریف می‌شود.
my_list = [1, 2, 3] my_tuple = (1, 2, 3)
سوال ۳: خروجی کد زیر چیست؟
x = 5 y = 2 print(x ** y)
پاسخ:
25
(عملگر ** توان را محاسبه می‌کند)

سوال ۴: یک تابع بنویسید که عددی را گرفته و زوج یا فرد بودن آن را مشخص کند.
پاسخ:
def even_or_odd(n):
if n % 2 == 0:
return "زوج"
else:
return "فرد" print(even_or_odd(7))


سوال ۵: حلقه for چه کاربردی دارد؟ یک مثال بزنید.
پاسخ:
حلقه for برای تکرار روی مجموعه‌ای از داده‌ها استفاده می‌شود.
for i in range(1, 6): print(i)
سوال ۶: دیکشنری چیست؟ یک مثال بزنید.
پاسخ:
دیکشنری مجموعه‌ای از کلید–مقدار است.
student = { "name": "Ali", "age": 20, "grade": 18 }

سوال ۷: خروجی کد زیر چیست؟
numbers = [1, 2, 3] numbers.append(4) print(len(numbers))
پاسخ:
4
سوال ۸: تفاوت == و = در پایتون چیست؟
پاسخ:
= برای انتساب مقدار
== برای مقایسه برابری

x = 5 # انتساب
x == 5 # مقایسه

سوال ۹: یک برنامه بنویسید که مجموع اعداد ۱ تا ۱۰ را محاسبه کند.
پاسخ:
total = 0
for i in range(1, 11): total += i
print(total)


سوال ۱۰: خطای (Exception) چیست و چگونه آن را مدیریت می‌کنیم؟
پاسخ:
خطا رویدادی است که باعث توقف اجرای برنامه می‌شود.
مدیریت خطا با try-except انجام می‌شود.
try:
x = int("abc") except ValueError:
print("خطا در تبدیل رشته به عدد")



برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
3
در زیر ۵ نمونه سوال و جواب با زبان پایتون در مورد ماتریس‌ها ارائه شده است:

سوال ۱: ایجاد یک ماتریس

سوال: یک ماتریس  3 × 3  با مقادیر تصادفی ایجاد کنید.

پاسخ:
import numpy as np

matrix = np.random.rand(3, 3)
print(matrix)


سوال ۲: جمع دو ماتریس

سوال: دو ماتریس  A  و  B  به ابعاد  2 × 2  را جمع کنید.
• ( A =
1 | 2
3 | 4

)
• ( B =
5 | 6
7 | 8

)

پاسخ:
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = A + B
print(C)
# خروجی: [[ 6  8]
#          [10 12]]


سوال ۳: ضرب دو ماتریس

سوال: ضرب دو ماتریس  A  و  B  به ابعاد  2 × 3  و  3 × 2  را محاسبه کنید.
• ( A =
1 | 2 | 3
4 | 5 | 6

)
• ( B =
7  | 8
9  | 10
11 | 12

)

پاسخ:
A = np.array([[1, 2, 3], [4, 5, 6]])
B = np.array([[7, 8], [9, 10], [11, 12]])
C = np.dot(A, B)
print(C)
# خروجی: [[ 58  64]
#          [139 154]]


سوال ۴: ترانهاده یک ماتریس

سوال: ترانهاده یک ماتریس  A  به ابعاد  2 × 3  را محاسبه کنید.
• ( A =
1 | 2 | 3
4 | 5 | 6

)

پاسخ:
A = np.array([[1, 2, 3], [4, 5, 6]])
A_transpose = A.T
print(A_transpose)
# خروجی: [[1 4]
#          [2 5]
#          [3 6]]


سوال ۵: تعیین معکوس یک ماتریس

سوال: معکوس یک ماتریس مربعی  A  به ابعاد  2 × 2  را محاسبه کنید.
• ( A =
4 | 7
2 | 6

)

پاسخ:
A = np.array([[4, 7], [2, 6]])
A_inverse = np.linalg.inv(A)
print(A_inverse)
# خروجی: [[ 0.6 -0.7]
#          [-0.2  0.4]]


با استفاده از این مثال‌ها می‌توانید نحوه کار با ماتریس‌ها در زبان پایتون را تمرین کنید.


برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
در زیر ۱۰ نمونه سوال و جواب با زبان پایتون در مورد ست‌ها و تاپل‌ها ارائه شده است:

سوال ۱: ایجاد یک ست

سوال: یک ست از اعداد ۱ تا ۵ ایجاد کنید.

پاسخ:
my_set = {1, 2, 3, 4, 5}
print(my_set)


سوال ۲: افزودن عنصر به ست

سوال: یک عنصر جدید (۶) به ست زیر اضافه کنید.
my_set = {1, 2, 3}


پاسخ:
my_set.add(6)
print(my_set)


سوال ۳: حذف عنصر از ست

سوال: عنصر (۲) را از ست زیر حذف کنید.
my_set = {1, 2, 3, 4, 5}


پاسخ:
my_set.remove(2)
print(my_set)


سوال ۴: بررسی وجود عنصر در ست

سوال: بررسی کنید که آیا عدد (۳) در ست زیر وجود دارد یا خیر.
my_set = {1, 2, 3, 4}


پاسخ:
exists = 3 in my_set
print(exists) # خروجی: True


سوال ۵: عملیات اتحاد دو ست

سوال: اتحاد دو ست زیر را محاسبه کنید.
set_a = {1, 2, 3}
set_b = {3, 4, 5}


پاسخ:
union_set = set_a | set_b
print(union_set) # خروجی: {1, 2, 3, 4, 5}


سوال ۶: ایجاد یک تاپل

سوال: یک تاپل شامل اعداد (۱، ۲، ۳) ایجاد کنید.

پاسخ:
my_tuple = (1, 2, 3)
print(my_tuple)


سوال ۷: دسترسی به عنصر در تاپل

سوال: به عنصر دوم تاپل زیر دسترسی پیدا کنید.
my_tuple = (10, 20, 30, 40)


پاسخ:
second_element = my_tuple[1]
print(second_element) # خروجی: 20


سوال ۸: طول تاپل

سوال: طول تاپل زیر را محاسبه کنید.
my_tuple = (1, 2, 3, 4, 5)


پاسخ:
length = len(my_tuple)
print(length) # خروجی: 5


سوال ۹: تکرار عناصر در تاپل

سوال: تعداد تکرار عدد (2) در تاپل زیر را محاسبه کنید.
my_tuple = (1, 2, 2, 3, 4)


پاسخ:
count_of_two = my_tuple.count(2)
print(count_of_two) # خروجی: 2


سوال ۱۰: تبدیل لیست به تاپل

سوال: یک لیست از اعداد را به تاپل تبدیل کنید.
my_list = [1, 2, 3, 4]


پاسخ:
my_tuple = tuple(my_list)
print(my_tuple) # خروجی: (1, 2, 3, 4)


با استفاده از این مثال‌ها می‌توانید نحوه کار با ست‌ها و تاپل‌ها در زبان پایتون را تمرین کنید.


برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
در زیر ۱۰ نمونه سوال و جواب با زبان پایتون در مورد حلقه‌های for و while ارائه شده است:

سوال ۱: استفاده از حلقه for برای چاپ اعداد

سوال: با استفاده از حلقه for اعداد ۱ تا ۵ را چاپ کنید.

پاسخ:
for i in range(1, 6):
print(i)


سوال ۲: جمع اعداد با حلقه for

سوال: مجموع اعداد ۱ تا ۱۰ را با استفاده از حلقه for محاسبه کنید.

پاسخ:
sum = 0
for i in range(1, 11):
sum += i
print(sum) # خروجی: 55


سوال ۳: استفاده از حلقه while برای شمارش معکوس

سوال: با استفاده از حلقه while اعداد ۵ تا ۱ را چاپ کنید.

پاسخ:
i = 5
while i > 0:
print(i)
i -= 1


سوال ۴: شمارش تکرار در حلقه for

سوال: تعداد عناصر لیست زیر را با استفاده از حلقه for محاسبه کنید.
my_list = [10, 20, 30, 40]


پاسخ:
count = 0
for item in my_list:
count += 1
print(count) # خروجی: 4


سوال ۵: استفاده از break در حلقه while

سوال: با استفاده از حلقه while اعداد را چاپ کنید تا به عدد ۳ برسید و سپس حلقه را متوقف کنید.

پاسخ:
i = 1
while True:
if i == 3:
break
print(i)
i += 1


سوال ۶: استفاده از continue در حلقه for

سوال: با استفاده از حلقه for اعداد ۱ تا ۵ را چاپ کنید، اما عدد ۳ را نادیده بگیرید.

پاسخ:
for i in range(1, 6):
if i == 3:
continue
print(i)


سوال ۷: محاسبه فاکتوریل با حلقه while

سوال: فاکتوریل عدد ۵ را با استفاده از حلقه while محاسبه کنید.

پاسخ:
n = 5
factorial = 1
i = 1
while i <= n:
factorial *= i
i += 1
print(factorial) # خروجی: 120


سوال ۸: استفاده از enumerate در حلقه for

سوال: با استفاده از enumerate، ایندکس و مقدار هر عنصر لیست زیر را چاپ کنید.
my_list = ['a', 'b', 'c']


پاسخ:
for index, value in enumerate(my_list):
print(index, value)


سوال ۹: جمع اعداد زوج با حلقه for

سوال: مجموع اعداد زوج بین ۱ تا ۲۰ را با استفاده از حلقه for محاسبه کنید.

پاسخ:
sum_even = 0
for i in range(1, 21):
if i % 2 == 0:
sum_even += i
print(sum_even) # خروجی: 110


سوال ۱۰: پیدا کردن بزرگترین عدد با حلقه while

سوال: بزرگترین عدد را از لیست زیر با استفاده از حلقه while پیدا کنید.
my_list = [3, 5, 2, 8, 6]


پاسخ:
max_num = my_list[0]
i = 1
while i < len(my_list):
if my_list[i] > max_num:
max_num = my_list[i]
i += 1
print(max_num) # خروجی: 8


با استفاده از این مثال‌ها می‌توانید نحوه کار با حلقه‌های for و while در زبان پایتون را تمرین کنید.


برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
1
در زیر ۵ نمونه سوال و جواب با زبان پایتون در مورد جمع سری‌های خطی و کسری ارائه شده است:

سوال ۱: جمع سری خطی

سوال: جمع سری خطی Sₙ = 1 + 2 + 3 + ... + n را برای n = 10 محاسبه کنید.

پاسخ:
n = 10
S_n = sum(range(1, n + 1))
print(S_n) # خروجی: 55


سوال ۲: جمع سری کسری

سوال: جمع سری کسری Sₙ = 1 / 1 + 1 / 2 + 1 / 3 + ... + 1 / n را برای n = 5 محاسبه کنید.

پاسخ:
n = 5
S_n = sum(1/i for i in range(1, n + 1))
print(S_n) # خروجی: 2.283333333333333


سوال ۳: جمع سری خطی با فرمول

سوال: از فرمول Sₙ = n(n + 1) / 2 برای محاسبه جمع سری خطی n = 100 استفاده کنید.

پاسخ:
n = 100
S_n = n * (n + 1) // 2
print(S_n) # خروجی: 5050


سوال ۴: جمع سری کسری با دقت مشخص

سوال: جمع سری کسری Sₙ = ∑ᵢ₌₁ⁿ 1 / i را برای n = 10 محاسبه کنید و نتیجه را با دقت دو رقم اعشار نمایش دهید.

پاسخ:
n = 10
S_n = sum(1/i for i in range(1, n + 1))
print(f"{S_n:.2f}") # خروجی: 2.93


سوال ۵: جمع سری کسری تا حد خاص

سوال: مجموع سری کسری S را تا زمانی که مقدار آن بیشتر از 2 شود محاسبه کنید و تعداد جملات را نمایش دهید.

پاسخ:
S = 0
n = 0

while S <= 2:
n += 1
S += 1/n

print(n) # خروجی: تعداد جملات تا زمانی که S بزرگتر از 2 شود


با استفاده از این مثال‌ها می‌توانید نحوه محاسبه جمع سری‌های خطی و کسری را در زبان پایتون تمرین کنید.


برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
🙏1
سوالات پرتکرار درس مبانی برنامه‌نویسی با زبان ++C همراه با پاسخ تشریحی و خلاصه آورده شده است؛ این‌ها جزو رایج‌ترین سؤالات امتحانی هستند.


🔹 ۱. تفاوت while و do while چیست؟
پاسخ:
در while ابتدا شرط بررسی می‌شود، سپس بدنه اجرا می‌شود.
در do while ابتدا بدنه اجرا می‌شود و سپس شرط بررسی می‌شود، بنابراین حداقل یک‌بار اجرا می‌شود.
while(condition) { // ممکن است اجرا نشود } do { // حداقل یک بار اجرا می‌شود } while(condition);
🔹 ۲. تفاوت ++i و i++ چیست؟
پاسخ:
++i (پیش‌افزایش): ابتدا مقدار افزایش می‌یابد سپس استفاده می‌شود.
i++ (پس‌افزایش): ابتدا استفاده می‌شود سپس مقدار افزایش می‌یابد.
int i = 5; cout << ++i; // 6 cout << i++; // 6 (بعداً 7 می‌شود)
🔹 ۳. متغیر محلی و سراسری چیست؟
پاسخ:
محلی (Local): داخل تابع تعریف می‌شود و فقط در همان تابع قابل استفاده است.
سراسری (Global): خارج از توابع تعریف می‌شود و در کل برنامه قابل دسترسی است.
🔹 ۴. آرایه چیست؟
پاسخ:
آرایه مجموعه‌ای از چند متغیر هم‌نوع است که با یک نام مشترک و اندیس استفاده می‌شوند.
int a[5] = {1,2,3,4,5};
اندیس آرایه‌ها از ۰ شروع می‌شود.
🔹 ۵. تابع چیست و چرا استفاده می‌شود؟
پاسخ:
تابع مجموعه‌ای از دستورات است که یک کار مشخص انجام می‌دهد.
مزایا:
کاهش تکرار کد
افزایش خوانایی
اشکال‌یابی ساده‌تر
int sum(int a, int b) { return a + b; }
🔹 ۶. تفاوت break و continue چیست؟
پاسخ:
break → خروج کامل از حلقه
continue → پرش به تکرار بعدی حلقه
🔹 ۷. مقداردهی پیش‌فرض متغیرها چگونه است؟
پاسخ:
متغیرهای سراسری → صفر (0)
متغیرهای محلی → مقدار نامشخص (garbage)
🔹 ۸. اشکال کد زیر چیست؟
int a[5];
for(int i=1; i<=5; i++) cin >> a[i];

پاسخ:
اندیس آرایه از 0 تا 4 است ولی در این کد از 1 تا 5 استفاده شده.
کد صحیح:
for(int i=0; i<5; i++) cin >> a[i];
🔹 ۹. برنامه تشخیص عدد اول
int n, c = 0; cin >> n; for(int i=1; i<=n; i++) if(n % i == 0) c++; if(c == 2)
cout << "Prime";
else
cout << "Not Prime";

🔹 ۱۰. تفاوت = و == چیست؟
پاسخ:
= → انتساب مقدار
== → مقایسه دو مقدار
if(x == 5) // درست x = 5; // انتساب
🔹 ۱۱. فاکتوریل یک عدد با تابع
int fact(int n)
{ int f = 1;
for(int i=1; i<=n; i++) f *= i;
return f;
}

🔹 ۱۲. ورودی و خروجی در ++C
int x; cin >> x; cout << x;
📌 نکته امتحانی مهم
بیشترین نمره معمولاً از حلقه‌ها + آرایه + تابع + شرط می‌آید.



برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
2
📌 جزوه خلاصه شب امتحان
مبانی برنامه‌نویسی با ++C


🔹 1. ساختار کلی برنامه در ++C
#include <iostream> using namespace std; int main() { // دستورات return 0; }
🔹 2. انواع داده‌های مهم
نوع دادهحجم تقریبیint4 بایتfloat4 بایتdouble8 بایتchar1 بایت
🔹 3. عملگرها
ریاضی: + - * / %
مقایسه‌ای: == != < > <= >=
منطقی: && || !
افزایش/کاهش: ++ --
📌 تفاوت مهم:
i++; // بعد از استفاده افزایش ++i; // قبل از استفاده افزایش
🔹 4. شرط‌ها (if / else)
if (x > 0) cout << "Positive"; else cout << "Negative";
🔹 5. حلقه‌ها (بسیار مهم)
🔸 for
for(int i=0; i<5; i++) cout << i;
🔸 while
while(x > 0) { x--; }
🔸 do while
do { cin >> x; } while(x < 0);
📌 تفاوت مهم: do while حداقل یک‌بار اجرا می‌شود.
🔹 6. دستورات کنترلی
break → خروج از حلقه
continue → رفتن به تکرار بعدی
return → خروج از تابع
🔹 7. آرایه‌ها (پرتکرار)
int a[5] = {1,2,3,4,5};
📌 نکات مهم:
اندیس از 0 شروع می‌شود
آخرین اندیس = size - 1
🔹 8. رشته‌ها (string)
string name; cin >> name; cout << name;
🔹 9. توابع
int sum(int a, int b) { return a + b; }
📌 مزایا:
کاهش تکرار
خوانایی بیشتر
استفاده مجدد
🔹 10. متغیرها
🔸 محلی
داخل تابع
مقدار اولیه نامشخص
🔸 سراسری
خارج از تابع
مقدار اولیه صفر
🔹 11. ارسال پارامتر
🔸 مقدار (Value)
void f(int x) { x++; }
🔸 مرجع (Reference)
void f(int &x) { x++; }
🔹 12. ورودی و خروجی
cin >> x; cout << x;
🔹 13. برنامه‌های خیلی پرتکرار
عدد اول
bool prime(int n) { if(n < 2) return false; for(int i=2; i<n; i++) if(n % i == 0) return false; return true; }
فاکتوریل
int fact(int n)
{ int f = 1;
for(int i=1; i<=n; i++) f *= i;
return f;
}

بزرگ‌ترین عضو آرایه
int max = a[0];
for(int i=1; i<n; i++) if(a[i] > max) max = a[i];

🔹 14. اشکالات رایج امتحانی
استفاده از = به‌جای ==
خروج از محدوده آرایه
فراموش‌کردن return 0;
استفاده از متغیر محلی بدون مقداردهی
🎯 جمع‌بندی طلایی شب امتحان
اگر این‌ها را بلد باشی:


حلقه‌ها
آرایه
تابع
شرط‌ها

#flowgorithm
#فلوگوریتم
#الگوریتم #فلوچارت

برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
🙏1
۲۰ سؤال دام‌دار و پرتکرار اساتید درس مبانی برنامه‌نویسی++C همراه با پاسخ دقیق و نکته امتحانی آورده شده است. این‌ها دقیقاً همان جاهایی هستند که بیشترین اشتباه دانشجوها اتفاق می‌افتد.


🔥 ۲۰ سؤال دام‌دار ++C (با پاسخ)


---

1️⃣ خروجی کد زیر چیست؟

int i = 5;
cout << i++ + ++i;

پاسخ: 12
📌 توضیح:

i++ → 6

++i → 6



---

2️⃣ خروجی چیست؟

int x = 1;
cout << x++ << ++x;

پاسخ: 13


---

3️⃣ خروجی؟

int a = 10;
if(a = 5)
cout << "Yes";
else
cout << "No";

پاسخ: Yes
📌 دام: استفاده از = به‌جای ==


---

4️⃣ خروجی؟

int i = 0;
while(i < 3)
cout << i++;

پاسخ: 012


---

5️⃣ خروجی؟

for(int i=0; i<5; i++);
cout << i;

پاسخ: خطای کامپایل
📌 دام: سمی‌کالن اضافه بعد از for


---

6️⃣ خروجی؟

int a[3] = {1,2,3};
cout << a[3];

پاسخ: مقدار نامشخص (Garbage)
📌 دام: خروج از محدوده آرایه


---

7️⃣ خروجی؟

int x = 0;
if(x)
cout << "True";
else
cout << "False";

پاسخ: False


---

8️⃣ خروجی؟

int i = 1;
do {
cout << i;
i++;
} while(i < 1);

پاسخ: 1


---

9️⃣ خروجی؟

int x = 5;
cout << (x > 3 ? x : 3);

پاسخ: 5


---

🔟 خروجی؟

int i = 0;
for(; i<3; )
cout << ++i;

پاسخ: 123


---

1️⃣1️⃣ خروجی؟

int a = 5;
int &b = a;
b = 10;
cout << a;

پاسخ: 10


---

12 خروجی؟

int i = 1;
while(i <= 3);
{
cout << i;
i++;
}

پاسخ: حلقه بی‌نهایت
📌 دام: سمی‌کالن بعد از while


---

13 خروجی؟

int x = 10;
cout << x / 4;

پاسخ: 2
📌 دام: تقسیم صحیح (integer division)


---

14 خروجی؟

int x = 5;
cout << sizeof(x);

پاسخ: معمولاً 4


---

15 خروجی؟

char c = 'A';
cout << c + 1;

پاسخ: 66
📌 دام: تبدیل خودکار char به int (کد ASCII)


---

16 خروجی؟

int i = 5;
cout << i-- << --i;

پاسخ: 53


---

17 خروجی؟

int a = 3, b = 4;
cout << (a > b && b > 2);

پاسخ: 0 (false)


---

18 خروجی؟

int i = 0;
cout << i && i++;

پاسخ: 0
📌 دام: short-circuit → i++ اجرا نمی‌شود


---

19 خروجی؟

int x = 2;
switch(x) {
case 1: cout << "A";
case 2: cout << "B";
case 3: cout << "C";
}

پاسخ: BC
📌 دام: نبودن break


---
20 خروجی؟

int a = 0;
cout << !a;

پاسخ: 1


---

🎯 نکات طلایی استادها

سمی‌کالن بعد از for و while

استفاده از = به‌جای ==

خروج از محدوده آرایه

تقسیم صحیح

فراموشی break در switch

#flowgorithm
#فلوگوریتم #الگوریتم #فلوچارت

برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
2🤔1
📱هوش مصنوعی های طراحی سایت

#هوش_مصنوعی

@flowchart_algorithm
۳۰ سؤال تستی (چهارگزینه‌ای) زبان برنامه‌نویسی پایتون در سطح متوسط تا پیشرفته به‌همراه پاسخ صحیح آورده شده است.
سؤالات مفهومی، کدنویسی و رفتاری (behavior) پایتون را پوشش می‌دهند.

---

🟦 بخش اول: سطح متوسط (۱–۱۵)

1. خروجی کد زیر چیست؟

x = [1, 2, 3]
y = x
y.append(4)
print(x)

A) [1, 2, 3]
B) [4]
C) [1, 2, 3, 4]
D) Error

پاسخ: C


---

2. کدام ساختار داده در پایتون غیرقابل تغییر (immutable) است؟

A) list
B) dict
C) set
D) tuple

پاسخ: D


---

3. خروجی کد زیر چیست؟

print(type(lambda x: x))

A) <class 'function'>
B) <class 'lambda'>
C) <class 'generator'>
D) Error

پاسخ: A


---

4. تفاوت اصلی append() و extend() در لیست چیست؟

A) هر دو یکسان‌اند
B) append چند عضو اضافه می‌کند
C) extend لیست را به‌صورت عضو اضافه می‌کند
D) extend عناصر iterable را جداگانه اضافه می‌کند

پاسخ: D


---

5. خروجی کد زیر؟

print(0.1 + 0.2 == 0.3)

A) True
B) False
C) Error
D) None

پاسخ: B


---

6. کدام یک برای مدیریت استثناء استفاده می‌شود؟

A) if / else
B) try / except
C) for / while
D) assert

پاسخ: B


---

7. خروجی کد زیر چیست؟

a = [1, 2, 3]
b = a[:]
print(a is b)

A) True
B) False
C) Error
D) None

پاسخ: B


---

8. کدام گزینه باعث ایجاد generator می‌شود؟

A) {x for x in range(5)} B) [x for x in range(5)] C) (x for x in range(5)) D) range(5)

پاسخ: C


---

9. خروجی کد زیر؟

print(bool([]), bool({}), bool(""))

A) True True True
B) False False False
C) False True False
D) True False True

پاسخ: B


---

10. هدف اصلی init در کلاس چیست؟

A) حذف شی
B) مقداردهی اولیه شی
C) تعریف متد خصوصی
D) ایجاد کلاس

پاسخ: B


---

11. کدام گزینه یک decorator معتبر است؟

A)

@my_func
def f(): pass

B)

@decorator
def f(): pass

C)

decorator f(): pass

D)

#decorator

پاسخ: B


---

12. خروجی کد زیر؟

print("5" * 3)

A) 15
B) "555"
C) Error
D) None

پاسخ: B


---

13. کدام عملگر برای مقایسه هویت استفاده می‌شود؟

A) ==
B) =
C) is
D) in

پاسخ: C


---

14. خروجی کد زیر؟

x = None
print(x is None)

A) True
B) False
C) Error
D) 0

پاسخ: A


---

15. کدام گزینه برای خواندن فایل متنی مناسب است؟

A) open("a.txt", "w") B) open("a.txt", "r") C) open("a.txt", "a") D) open("a.txt", "x")

پاسخ: B

🟪 بخش دوم: سطح پیشرفته (۱۶–۳۰)

16. خروجی کد زیر چیست؟

def f(x, l=[]):
l.append(x)
return l

print(f(1))
print(f(2))

A) [1] و [2]
B) [1] و [1,2]
C) Error
D) [2] و [1]

پاسخ: B

17. مفهوم GIL در پایتون چیست؟

A) مدیریت حافظه
B) جلوگیری از اجرای همزمان threadها
C) افزایش سرعت CPU
D) مدیریت I/O

پاسخ: B


18. کدام گزینه باعث lazy evaluation می‌شود؟

A) list comprehension
B) tuple
C) generator
D) set

پاسخ: C



19. خروجی؟

print({i:i*i for i in range(3)})

A) {0,1,4}
B) {0:0,1:1,2:4}
C) [0,1,4]
D) Error

پاسخ: B

20. کدام ماژول برای برنامه‌نویسی async استفاده می‌شود؟

A) threading
B) multiprocessing
C) asyncio
D) concurrent

پاسخ: C

21. تفاوت اصلی @staticmethod و @classmethod چیست؟

A) staticmethod به کلاس دسترسی ندارد
B) classmethod به self دسترسی دارد
C) staticmethod کندتر است
D) تفاوتی ندارند

پاسخ: A

22. خروجی کد زیر؟

print([i for i in range(5) if i % 2])

A) [0,2,4]
B) [1,3]
C) [1,2,3,4]
D) []

پاسخ: B

23. کدام ساختار برای ارتباط بین threadها امن‌تر است؟

A) list
B) dict
C) queue.Queue
D) tuple

پاسخ: C


24. مفهوم duck typing یعنی؟

A) بررسی نوع متغیر
B) بررسی ارث‌بری
C) تمرکز بر رفتار به‌جای نوع
D) استفاده از isinstance

پاسخ: C

25. خروجی؟

print(all([True, 1, "a"]))

A) False
B) True
C) Error
D) None

پاسخ: B

26. کدام دستور حافظه اشغال‌شده توسط نام را آزاد می‌کند؟

A) free
B) del
C) clear
D) remove

پاسخ: B


27. تفاوت deep copy و shallow copy چیست؟

A) deep copy فقط مرجع را کپی می‌کند
B) shallow copy داده‌ها را جداگانه کپی می‌کند
C) deep copy تمام ساختارهای تو در تو را کپی می‌کند
D) تفاوتی ندارند

پاسخ: C


28. خروجی؟

print(type(iter([])))

A) list
B) iterator
C) <class 'list_iterator'>
D) generator

پاسخ: C

29. کدام ابزار برای تست واحد (Unit Test) استاندارد است؟

A) pytest
B) unittest
C) nose
D) doctest

پاسخ: B


30. کدام گزینه بهترین کاربرد with است؟
A) حلقه
B) مدیریت منابع (file, lock)
C) مدیریت استثناء
D) شرط

پاسخ: B


برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
1🔥1
bubble_sort_highlighted.gif
64 KB
مرتب‌سازی حبابی (Bubble Sort) یک الگوریتم ساده برای مرتب کردن آرایه است.

🔹 ایدهٔ اصلی:
در هر مرحله، دو عنصرِ کنار هم با هم مقایسه می‌شوند و اگر ترتیبشان اشتباه باشد، جابه‌جا می‌شوند.
این کار آن‌قدر تکرار می‌شود تا آرایه کاملاً مرتب شود.

🔹 چرا «حبابی»؟
چون در هر دور، بزرگ‌ترین عنصر مثل حباب به انتهای آرایه می‌رود.

🔹 ویژگی‌ها:

ساده و قابل فهم

مناسب برای آموزش مفاهیم اولیه

کارایی پایین برای داده‌های بزرگ


🔹 پیچیدگی زمانی:

حالت معمول و بدترین حالت: O(n²)

اگر آرایه تقریباً مرتب باشد: بهتر عمل می‌کند


🔹 مثال کوتاه:
[7, 2, 5] → [2, 7, 5] → [2, 5, 7]



برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
1👍1
۱۰ نمونه سؤال از مبانی برنامه‌نویسی، الگوریتم و فلوچارت (در سطح ترم اول دانشگاه) همراه با پاسخ کوتاه آورده شده است:
۱. الگوریتم چیست؟
پاسخ کوتاه:
مجموعه‌ای از مراحل مرتب و مشخص برای حل یک مسئله که ورودی را گرفته و خروجی تولید می‌کند.
۲. سه ویژگی اصلی یک الگوریتم خوب را نام ببرید.
پاسخ کوتاه:
خاتمه‌پذیری
داشتن ورودی و خروجی مشخص
واضح و بدون ابهام بودن مراحل
۳. فلوچارت چیست؟
پاسخ کوتاه:
نمایش گرافیکی الگوریتم با استفاده از اشکال استاندارد مانند بیضی، مستطیل و لوزی.
۴. کاربرد شکل لوزی در فلوچارت چیست؟
پاسخ کوتاه:
برای نمایش شرط و تصمیم‌گیری (مانند if).
۵. الگوریتمی بنویسید که عددی را گرفته و زوج یا فرد بودن آن را مشخص کند.
پاسخ کوتاه:
شروع
دریافت عدد n
اگر n mod 2 = 0 → چاپ "زوج"
در غیر این صورت → چاپ "فرد"
پایان
۶. تفاوت حلقه for و while چیست؟
پاسخ کوتاه:
در for معمولاً تعداد تکرار مشخص است؛ در while تکرار وابسته به برقرار بودن شرط است.
۷. متغیر چیست؟
پاسخ کوتاه:
محلی در حافظه برای ذخیره داده که مقدار آن می‌تواند تغییر کند.
۸. خروجی الگوریتم زیر چیست؟
x = 3 y = 2 z = x * y + 1 print(z)
پاسخ کوتاه:
7
۹. الگوریتمی برای محاسبه مجموع اعداد 1 تا n بنویسید.
پاسخ کوتاه:
شروع
دریافت n
sum = 0
از i=1 تا n
sum = sum + i
چاپ sum
پایان
۱۰. تفاوت کامپایلر و مفسر چیست؟
پاسخ کوتاه:
کامپایلر کل برنامه را یک‌جا ترجمه می‌کند؛ مفسر خط به خط اجرا و ترجمه می‌کند.

برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
1🔥1
۱۰ نمونه سؤال کمی پیشرفته‌تر از مبانی برنامه‌نویسی، الگوریتم و فلوچارت همراه با پاسخ کوتاه:
۱. مرتبه زمانی (Time Complexity) الگوریتم زیر چیست؟
for i = 1 to n for j = 1 to n print(i, j)
پاسخ کوتاه:
O(n²)
۲. خروجی الگوریتم زیر چیست؟
sum = 0 for i = 1 to 4 sum = sum + i print(sum)
پاسخ کوتاه:
10
۳. الگوریتمی برای یافتن بزرگ‌ترین عدد در آرایه‌ای با n عضو بنویسید.
پاسخ کوتاه:
max = اولین عضو
پیمایش از عضو دوم تا آخر
اگر عنصر فعلی > max → به‌روزرسانی max
چاپ max
۴. تفاوت الگوریتم بازگشتی (Recursive) و تکراری (Iterative) چیست؟
پاسخ کوتاه:
در بازگشتی تابع خودش را فراخوانی می‌کند؛ در تکراری از حلقه استفاده می‌شود.
۵. شرط خاتمه در الگوریتم بازگشتی چه اهمیتی دارد؟
پاسخ کوتاه:
برای جلوگیری از اجرای بی‌نهایت و ایجاد خطای Stack Overflow.
۶. مقدار خروجی تابع بازگشتی زیر چیست؟
function f(n): if n == 1: return 1 else: return n * f(n-1) print(f(4))
پاسخ کوتاه:
24 (فاکتوریل 4)
۷. الگوریتمی برای تشخیص اول بودن یک عدد n بنویسید.
پاسخ کوتاه:
اگر n ≤ 1 → اول نیست
از i=2 تا √n
اگر n mod i = 0 → اول نیست
در غیر این صورت → اول است
۸. پیچیدگی زمانی جستجوی دودویی (Binary Search) چیست؟
پاسخ کوتاه:
O(log n)
۹. خروجی الگوریتم زیر چیست؟
i = 1 while i <= 5: print(i) i = i + 2
پاسخ کوتاه:
1 3 5
۱۰. تفاوت آرایه و لیست پیوندی چیست؟
پاسخ کوتاه:
آرایه حافظه پیوسته دارد و دسترسی مستقیم سریع دارد؛ لیست پیوندی حافظه غیرپیوسته دارد و درج/حذف آسان‌تر است.
اگر بخواهی می‌توانم یک نمونه آزمون کامل سخت با سطح پایان‌ترم (حل مسئله ترکیبی + تحلیل مرتبه زمانی) هم طراحی کنم.

برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
🔥21
10 نمونه سوال پایان ترم مبانی برنامه‌نویسی با زبان C++ از کتاب جعفرنژاد قمی به همراه پاسخ‌های تشریحی کوتاه ارائه شده است:

سوال 1:

سوال: برنامه‌ای بنویسید که مجموع اعداد صحیح از 1 تا N را محاسبه کند.

پاسخ:
#include <iostream>
using namespace std;

int main() {
    int N, sum = 0;
    cout << "Enter a number: ";
    cin >> N;
    for (int i = 1; i <= N; ++i) {
        sum += i;
    }
    cout << "Sum is: " << sum << endl;
    return 0;
}

این برنامه با استفاده از یک حلقه for مجموع اعداد از 1 تا N را محاسبه می‌کند.

---

سوال 2:

سوال: تابعی بنویسید که یک عدد صحیح را گرفته و بررسی کند که آیا این عدد اول است یا نه.

پاسخ:
#include <iostream>
using namespace std;

bool isPrime(int n) {
    if (n <= 1) return false;
    for (int i = 2; i <= n / 2; ++i) {
        if (n % i == 0) return false;
    }
    return true;
}

int main() {
    int number;
    cout << "Enter a number: ";
    cin >> number;
    if (isPrime(number))
        cout << number << " is prime." << endl;
    else
        cout << number << " is not prime." << endl;
    return 0;
}

این تابع با بررسی تقسیم‌پذیری عدد، تعیین می‌کند که آیا عدد اول است یا خیر.

---

سوال 3:

سوال: یک کلاس به نام Rectangle ایجاد کنید که طول و عرض را به عنوان ویژگی‌های خود داشته باشد و متدهایی برای محاسبه مساحت و محیط مستطیل داشته باشد.

پاسخ:
#include <iostream>
using namespace std;

class Rectangle {
public:
    float length, width;

    Rectangle(float l, float w) : length(l), width(w) {}

    float area() {
        return length * width;
    }

    float perimeter() {
        return 2 * (length + width);
    }
};

int main() {
    Rectangle rect(5.0, 3.0);
    cout << "Area: " << rect.area() << endl;
    cout << "Perimeter: " << rect.perimeter() << endl;
    return 0;
}

کلاس Rectangle دارای متدهایی برای محاسبه مساحت و محیط است.

---

سوال 4:

سوال: برنامه‌ای بنویسید که عناصر یک آرایه را معکوس کند.

پاسخ:
#include <iostream>
using namespace std;

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int n = sizeof(arr) / sizeof(arr[0]);
   
    for (int i = 0; i < n / 2; ++i) {
        swap(arr[i], arr[n - i - 1]);
    }
   
    cout << "Reversed array: ";
    for (int i = 0; i < n; ++i) {
        cout << arr[i] << " ";
    }
    cout << endl;
    return 0;
}

این برنامه با استفاده از تابع swap عناصر آرایه را معکوس می‌کند.

---

سوال 5:

سوال: یک برنامه بنویسید که اعداد فرد و زوج را از 1 تا N جدا کند.

پاسخ:
#include <iostream>
using namespace std;

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

    cout << "Odd numbers: ";
    for (int i = 1; i <= N; i += 2) {
        cout << i << " ";
    }
   
    cout << "\nEven numbers: ";
    for (int i = 2; i <= N; i += 2) {
        cout << i << " ";
    }
   
    cout << endl;
    return 0;
}

برنامه اعداد فرد و زوج را با استفاده از دو حلقه جداگانه چاپ می‌کند.

---

سوال 6:

سوال: تابعی بنویسید که بزرگترین عدد را از میان سه عدد ورودی پیدا کند.

پاسخ:
#include <iostream>
using namespace std;

int maxOfThree(int a, int b, int c) {
    return max(max(a, b), c);
}

int main() {
    int x, y, z;
    cout << "Enter three numbers: ";
    cin >> x >> y >> z;
    cout << "Maximum is: " << maxOfThree(x, y, z) << endl;
    return 0;
}

این تابع با استفاده از تابع max بزرگترین عدد را پیدا می‌کند.

---

سوال 7:

سوال: برنامه‌ای بنویسید که فاکتوریل یک عدد را محاسبه کند.

پاسخ:
#include <iostream>
using namespace std;

int factorial(int n) {
    if (n == 0) return 1;
    return n * factorial(n - 1);
}

int main() {
    int num;
    cout << "Enter a number: ";
    cin >> num;
    cout << "Factorial is: " << factorial(num) << endl;
    return 0;
}

این برنامه از یک تابع بازگشتی برای محاسبه فاکتوریل استفاده می‌کند.

---

سوال 8:

سوال: یک برنامه بنویسید که رشته‌ای را دریافت کرده و تعداد حروف آن را شمارش کند.

پاسخ:
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    cout << "Enter a string: ";


برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
2