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

جهت ارتباط با ادمین و تبلیغات
@Programer24h 💻
Download Telegram
20 سوال تستی سطح متوسط
/پیشرفته ++C همراه با پاسخ


⦁ کدام یک از انواع زیر توسط زبان C پشتیبانی نمی‌شود ولی در C++ وجود دارد؟
⦁ الف) double
⦁ ب) float
⦁ ج) bool
⦁ د) int
پاسخ: ج

⦁ برای پیاده‌سازی binding تاخیری (late binding) از کدام مفهوم استفاده می‌شود؟
⦁ الف) توابع ایستا
⦁ ب) توابع ثابت
⦁ ج) عملگرها
⦁ د) توابع مجازی
پاسخ: د

⦁ کدام گزینه هیچ مقدار باز نمی‌گرداند؟
⦁ الف) void
⦁ ب) null
⦁ ج) free
⦁ د) empty
پاسخ: الف

⦁ برای تشخیص اینکه یک کاراکتر فضای خالی است یا tabs از کدام تابع استفاده می‌شود؟
⦁ الف) isdigit()
⦁ ب) isblank()
⦁ ج) isalnum()
⦁ د) isalpha()
پاسخ: ب

⦁ وقتی از یک آرگومان void در پاس‌گذاری استفاده می‌شود چه اتفاقی می‌افتد؟
⦁ الف) مقدار بازگردانی می‌شود
⦁ ب) ممکن است یا نباشد، به نوع تابع بازگشتی بستگی دارد
⦁ ج) مقداری به فراخواننده بازگرداند
⦁ د) هیچ مقدار بازگردانی نمی‌شود
پاسخ: د

⦁ چیست که امکان گروه‌بندی تعدادی خطوط کد را فراهم می‌کند تا در برنامه گنجانده شوند؟
⦁ الف) ماکروها
⦁ ب) مدولارسازی
⦁ ج) کنترل برنامه
⦁ د) وظیفه مشخص
پاسخ: ب

⦁ کدام واژه کلیدی برای اعلان تابع دوست (friend) استفاده می‌شود؟
⦁ الف) myfriend
⦁ ب) classfriend
⦁ ج) friend
⦁ د) firend
پاسخ: ج

⦁ برای دیرفراس کردن (dereferencing) از کدام گزینه استفاده می‌شود؟
⦁ الف) اشاره‌گر با ستاره
⦁ ب) اشاره‌گر بدون ستاره
⦁ ج) مقدار با ستاره
⦁ د) مقدار بدون ستاره
پاسخ: الف

⦁ پورلوپلی‌مورفیسم به چه چیزی اشاره می‌کند؟
⦁ الف) کلاسی که چهار فرم دارد
⦁ ب) کلاسی که دو فرم دارد
⦁ ج) کلاسی که فقط یک فرم دارد
⦁ د) کلاسی که چندین فرم دارد
پاسخ: د

⦁ برای هندر کنش تمامی استثناها از کدام هندلر استفاده می‌شود؟
⦁ الف) try-catch
⦁ ب) catch-none
⦁ ج) catch-all
⦁ د) catch
پاسخ: ج

⦁ برای پرتاب یک استثناء از چه چیزی استفاده می‌شود؟
⦁ الف) try
⦁ ب) throw
⦁ ج) handler
⦁ د) catch
پاسخ: ب

⦁ RTTI را می‌توان به کدام دسته از کلاس‌ها اعمال کرد؟
⦁ الف) Polymorphic
⦁ ب) Encapsulation
⦁ ج) Static
⦁ د) Derived
پاسخ: الف

⦁ کدام هدر برای تولید اعداد تصادفی استفاده می‌شود؟
⦁ الف) <random>
⦁ ب) <generator>
⦁ ج) <distribution>
⦁ د) <gen_dist>
پاسخ: الف

⦁ کدام کانتینِر برای نگهداری مجموعه‌ای از عناصر متفاوت و متمایز بهترین گزینه است؟
⦁ الف) queue
⦁ ب) set
⦁ ج) heap
⦁ د) multimap
پاسخ: ب

⦁ مدل‌های وراثت چه نوع رابطه‌ای را توصیف می‌کنند؟
⦁ الف) Belongs-to
⦁ ب) Part-Of
⦁ ج) Is-A
⦁ د) Has-A
پاسخ: ج

⦁ در heap کدام مقدار به‌زودی اولین مقدار خوانده می‌شود؟
⦁ الف) اولین مقدار
⦁ ب) کمترین مقدار
⦁ ج) سومین مقدار
⦁ د) بیشترین مقدار
پاسخ: د

⦁ کدام تابع برای افزایش مقدار ایترِیتر به اندازه‌ای مشخص استفاده می‌شود؟
⦁ الف) move()
⦁ ب) prev()
⦁ ج) advance()
⦁ د) next()
پاسخ: ج

⦁ در شئ Locale اطلاعات کدام اشیاء بارگذاری می‌شود؟
⦁ الف) secant
⦁ ب) facet
⦁ ج) instead
⦁ د) هر دو instead و facet
پاسخ: ب

⦁ کدام کتابخانه ریاضی در C++ برای دست‌کاری بردارها استفاده می‌شود؟
⦁ الف) blitz++
⦁ ب) stac++
⦁ ج) vec++
⦁ د) cli+++
پاسخ: الف

⦁ کدام اپراتور برای ثبت همه متغیرهای خارجی به‌طور مرجع استفاده می‌شود؟
⦁ الف) *
⦁ ب) &&
⦁ ج) &
⦁ د) =
پاسخ: د

برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
🤯1
20 سؤال تستی سطح متوسط پایان ترم زبان C با پاسخ

⦁  C چیست؟
⦁ گزینه‌ها:
  ⦁ a) زبان برنامه‌نویسی سطح پایین
  ⦁ b) زبان برنامه‌نویسی سطح بالا
  ⦁ c) زبان برنامه‌نویسی سطح متوسط با کاربرد سیستم‌محور
  ⦁ d) زبان نشانه‌گذاری
⦁ پاسخ: c

⦁  کدام گزینه نحوه استفاده از متغیرها را در C تضمین می‌کند که مقدار اولیه بدهد؟
⦁ الف) اعلان extern
⦁ ب) اعلان static
⦁ ج) اعلان تعریف با مقداردهی اولیه
⦁ د) اعلان typedef
⦁ پاسخ: ج

⦁  کدام یک از داده‌های زیر در C نوع داده اصلی برای کاراکتر است؟
⦁ الف) int
⦁ ب) char
⦁ ج) short
⦁ د) long
⦁ پاسخ: ب

⦁  عملگر شرطی به چه صورت عمل می‌کند؟
⦁ الف) if-else
⦁ ب) switch
⦁ ج) ?:
⦁ د) goto
⦁ پاسخ: ج

⦁  آیا عبارت زیر در C مجاز است: int a = 5, b = 10;؟
⦁ الف) بله
⦁ ب) خیر
⦁ پاسخ: الف

⦁  تعریف تابع با امضای غیر یکتا در چند تابع با نام یکسان در C چه نتیجه‌ای دارد؟
⦁ الف) فرقی ندارد
⦁ ب) هر تابع باید امضای دقیق یکسان داشته باشد
⦁ ج) مجاز است اما با ارجاع پنهانی
⦁ د) تابع با امضاهای متفاوت نمی‌تواند هم‌نام باشد
⦁ پاسخ: د

⦁  کدام یک از واژه‌های کلیدی برای جلوگیری از تغییر مقدار یک متغیر استفاده می‌شود؟
⦁ الف) mutable
⦁ ب) const
⦁ ج) static
⦁ د) volatile
⦁ پاسخ: ب

⦁  کدام ساختار برای اجرای حلقه‌های تکرار استفاده می‌شود؟
⦁ الف) if
⦁ ب) switch
⦁ ج) for، while، do-while
⦁ د) goto
⦁ پاسخ: ج

⦁  در C، مفهوم اشاره‌گر چیست؟
⦁ الف) متغیرهایی که مقدار آنان تغییر می‌کند
⦁ ب) آدرس یک متغیر در حافظه
⦁ ج) تابعی که مقدار بازمی‌گرداند
⦁ د) مجموعه‌ای از متغیرها در یک ساختار
⦁ پاسخ: ب

⦁   مقداردهی به اشاره‌گر NULL چه معنایی دارد؟
⦁ الف) به معنای مقدار صفر است
⦁ ب) به معنای عدم مقداردهی است
⦁ ج) به معنای آدرس حافظه معتبر است
⦁ د) به معنای مقدار همیشه معتبر است
⦁ پاسخ: ب

⦁   کتابخانه استاندارد C چیست و برای چه کارکردی استفاده می‌شود؟
⦁ الف) <stdio.h> برای ورودی/خروجی
⦁ ب) <math.h> برای مثلثات
⦁ ج) <stdlib.h> برای مدیریت حافظه
⦁ د) همه موارد بالا
⦁ پاسخ: د

⦁   sizeof در C چه کاربردی دارد؟
⦁ الف) اندازه نوع داده‌ای را برمی‌گرداند
⦁ ب) طول رشته را می‌سنجد
⦁ ج) اندازه آرایه‌های داینامیک را مشخص می‌کند
⦁ د) سایز حافظه کل برنامه را می‌سنجند
⦁ پاسخ: الف

⦁   کدام گزینه نشان‌دهنده یک تابع بازگشتی صحیح است؟
⦁ الف) تابعی که خود را فراخوانی می‌کند
⦁ ب) تابعی که به صورت غیرمسطح فراخوانی می‌شود
⦁ ج) تابعی که خروجی ندارد
⦁ د) تابعی که تنها از طریق ماکروها کار می‌کند
⦁ پاسخ: الف

⦁   در C، آرایه‌ها چگونه مقداردهی اولیه می‌شوند؟
⦁ الف) فقط با مقداردهی مستقیم
⦁ ب) با استفاده از braced initializer
⦁ ج) با استفاده از malloc
⦁ د) با استفاده از calloc
⦁ پاسخ: ب

⦁   پرچم‌های هدف پیش‌پردازنده چه نقشی دارند؟
⦁ الف) شامل کردن فایل‌ها با #include
⦁ ب) تعریف ماکروها با #define
⦁ ج) شرطی کردن بخش‌های کد با #if
⦁ د) همه موارد بالا
⦁ پاسخ: د

⦁   تفاوت اصلی بین اشاره‌گر و مقدار چیست؟
⦁ الف) آدرس محل ذخیره مقدار است، نه مقدار itself
⦁ ب) مقدار همیشه ثابت است
⦁ ج) اشاره‌گر به هر نوع داده‌ای نمی‌تواند اشاره کند
⦁ د) هیچ تفاوتی وجود ندارد
⦁ پاسخ: الف

⦁   آیا امکان استفاده از متغیرهای داخلی در خارج از بلوک آن وجود دارد؟
⦁ الف) بله
⦁ ب) خیر
⦁ پاسخ: ب

⦁   خطای رایج در استفاده از scanf چیست؟
⦁ الف) فراموشی ampersand برای دریافت آدرس
⦁ ب) استفاده از فرمت‌های منطبق با نوع داده
⦁ ج) عدم چک کردن خطاهای ورودی
⦁ د) همه موارد
⦁ پاسخ: د

⦁   رایج‌ترین دستور برای بازگرداندن مقدار از تابع در C چیست؟
⦁ الف) return
⦁ ب) exit
⦁ ج) throw
⦁ د) break
⦁ پاسخ: الف

⦁   کدام هدر برای کار با ورودی/خروجی استاندارد استفاده می‌شود؟
⦁ الف) <stdio.h>
⦁ ب) <stdlib.h>
⦁ ج) <string.h>
⦁ د) <math.h>
⦁ پاسخ: الف

⦁   چه تفاوتی بین scanf و gets وجود دارد؟
⦁ الف) scanf ایمن‌تر است زیرا اندازه‌گیری می‌کند
⦁ ب) gets امن است چون اندازه‌گیری ندارد
⦁ ج) gets منسوخ است و امنیت ندارد، در مقابل scanf می‌تواند با دفرنس اندازه‌دهی امن‌تر باشد
⦁ د) هیچ تفاوتی ندارند
⦁ پاسخ: ج

برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
ادامه سوالات تستی زبان برنامه نویسی C
کدام عملگر برای دسترسی به عضو‌های یک ساختار از طریق اشاره‌گر استفاده می‌شود؟
الف) .
ب) ->
ج) *
د) &
پاسخ: ب
چه زمانی از ماژول‌های استاندارد مانند string.h استفاده می‌شود؟
الف) برای کار با رشته‌ها و عملیات مربوط به رشته‌ها
ب) برای عملیات ورودی/خروجی
ج) برای مدیریت حافظه
د) برای ریاضیات پیشرفته
پاسخ: الف
آیا در C امکان بازگرداندن مقدار از تابع با استفاده از اشاره‌گر وجود دارد؟
الف) بله
ب) خیر
پاسخ: الف
چه چیزی باعث خطای کلی در هنگام کامپایل می‌شود؟
الف) استفاده از نام تابع تکراری با امضای متفاوت در همان بخش
ب) استفاده از توابع کتابخانه‌ای غیرمرتبط
ج) استفاده از متغیر بدون مقداردهی اولیه
د) همه موارد
پاسخ: د
کدام گزینه مناسب برای مدیریت خطا در ورودی/خروجی است؟
الف) بررسی مقدار بازگشتی توابع
ب) استفاده از دستورات خروج به جای بازگشت
ج) استفاده از goto برای خروج سریع
د) هیچکدام
پاسخ: الف
چه کاربردی برای sizeof(char) در اغلب کامپایلرها وجود دارد؟
الف) برابر با 1 است (1 بایت)
ب) برابر با 4 است
ج) برابر با 2 است
د) بستگی به پلتفرم دارد
پاسخ: الف
در پایان هر پروژه C چه مرحله‌ای برای صحت‌سنجی وجود دارد؟
الف) نوشتن تست‌های واحد
ب) اجرای تست‌های یکپارچگی
ج) بررسی حافظه و گزارش استفاده
د) همه موارد
پاسخ: د

برنامه‌نویسی را از اینجا شروع کنید👇
@flowchart_algorithm
📝 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