سوالات رایانه دوم راهنمایی
INPUT "Tarikh Tavalode khod ra vared konid:", y
LET o = 1387 - y
PRINT "Sene shoma="; o
2. برنامه ای بنویسید که تاریخ میلادی را از ما بگیرد و تاریخ شمسی را چاپ کند.
INPUT "Sale Milady?", m
LET s = m - 621
PRINT "Sale Shamsy="; s; " or "; s + 1
3. برنامه ای بنویسید که نمره ۴ درس یک دانش آموز را بپرسد و مجموع و میانگین آن را محاسبه و چاپ کند که نمره های ورودی بین ۰ تا ۲۰ باشد.(با پیغام مناسب)
flag:
INPUT "Nomre ra vared konid:", n
IF NOT (0 <= n AND n <= 20) THEN
PRINT "Nomre baiad beine 0-20 bashad": GOTO flag
LET m = m + n
LET a = a + 1
IF a < 4 THEN GOTO flag
PRINT "Majmoe Nomarat = "; m, "Meiangin Nomarat = "; m / 4
4. برنامه ای بنویسید که شعاع یک دایره را از شما بپرسد و محیط و مساحت آن را چاپ کند.
INPUT "Shoa ra vared konid:", r
LET pi = 4 * ATN(1)
LET p = 2 * r * pi
LET s = r ^ 2 * pi
PRINT "Mohit="; p, "Masahat="; s
5. برنامه ای بنویسید که اندازه یک زاویه را برحسب درجه از ما بپرسد و آن را برحسب رادیان چاپ کند.
INPUT "Zaveie ra be darage vared konid:", d
LET r = d * ((4 * ATN(1)) / 180)
PRINT "Zaveie be radian="; r
6. برنامه ای بنویسید که میانگین هندسی سه عدد مثبت مفروض را حساب کند.
INPUT "3 adad mosbat vared konid:", a, b, c
LET m = (a * b * c) ^ (1 / 3)
PRINT "Meiangine hendesi="; m
7. برنامه ای بنویسید که اعداد بین ۳۰ تا ۴۰ را در نظر گرفته خود عدد،مربع و ریشه سوم هر عدد را در سه ستون چاپ کند.
flag:
LET n = 30 + a
PRINT n, n ^ 2, n ^ (1 / 3)
LET a = a + 1
IF a < 10 THEN GOTO flag
8. برنامه ای بنویسید که مضارب ۵ کوچکتر از ۲۰۰ را چاپ کند.
flag:
LET n = 200 - (5 * (a + 1))
PRINT n
LET a = a + 1
IF n > 5 THEN GOTO flag
9. برنامه ای بنویسید که نام شما را ۵ بار با رنگ های مختلف دقیقا ً در وسط مانیتور در ۵ سطر چاپ کند.
flag:
s$ = "Misam"
LET y = 10 + a
LET c = a
LOCATE y, 42 - INT((LEN(s$) + 1) / 2)
COLOR (c)
PRINT s$
LET a = a + 1
IF a < 6 THEN GOTO flag
10. برنامه ای بنویسید که دو عدد را از ورودی بگیرد و ماکزیمم را چاپ کند.{این قصه سر دراز دارد}
INPUT a, b
IF a > b THEN PRINT a ELSE PRINT b
11. برنامه ای بنویسید که سه عدد را از ما بپرسد و مینیمم را چاپ کند.
INPUT a, b, c
IF a >= b THEN min = b ELSE min = a
IF min > c THEN min = c PRINT min
12. برنامه ای بنویسید که چهار عدد را از ما بپرسد و ماکزیمم و مینیمم آن ها را چاپ کند.
INPUT a, b, c, d
IF a >= b THEN max = a: min = b ELSE max = b: min = a
IF c >= d THEN min2 = c: min2 = d ELSE min2 = d: min2 = c
IF max < max2 THEN max = max2 IF min > min2 THEN min = min2
PRINT max, min
13. برنامه ای بنویسید که اعداد زوج بین ۱۰۰ تا ۲۰۰ را چاپ کند.
LET n = 100
flag:
LET a = a + 1
LET n = 2 * a
PRINT n
IF n < 198 THEN GOTO flag
14. برنامه ای بنویسید که مجموع اعداد ۱ تا ۱۰۰ را محاسبه و چاپ کند.
flag:
LET a = a + 1
LET n = n + a
IF a < 100 THEN GOTO flag
PRINT n
15. برنامه ای بنویسید که مجموع اعداد فرد بین ۱ تا ۱۰۰ را محاسبه و چاپ کند.
flag:
LET a = a + 1
LET n = n + (2 * a) - 1
IF a < 51 THEN GOTO flag
PRINT n
16. برنامه ای بنویسید که عدد طبیعی N را بگیرد و مجموع اعداد فرد کوچکتر یا مساوی N را محاسبه و چاپ کند.
INPUT n
flag:
IF n MOD 2 = 1 THEN s = s + n
LET n = n - 1
IF n > 0 THEN GOTO flag
PRINT s
17. برنامه ای بنویسید که عدد طبیعی N را از ما بپرسد و N! را چاپ کند.
INPUT n
LET s = 1
flag:
LET s = s * n
LET n = n - 1
IF n > 1 THEN GOTO flag
PRINT s
18. برنامه ای بنویسید که سه عدد را از شما بپرسد و آن ها را به صورت صعودی مرتب و چاپ کند.
INPUT a, b, c
IF a < b THEN h = a: a = b: b = h
IF a < c THEN h = a: a = c: c = h
IF b < c THEN h = b: b = c: c = h
PRINT a, b, c
19. برنامه ای بنویسید که یک عدد سه رقمی را از ما بپرسد و مجموع اعداد آن را محاسبه و چاپ کند.
INPUT n
flag:
LET s = s + (n MOD 10)
LET n = INT(n / 10)
IF n <> 0 THEN GOTO flag
PRINT s
20. برنامه ای بنویسید که یک ساعت کامپیوتری ایجاد کند.
start! = TIMER
flag:
LOCATE 1, 1
t = INT(TIMER - start!)
s = t MOD 60
m = (t \ 60) MOD 60
h = (t \ 3600) MOD 24
LOCATE 1, 1
PRINT h; ":"; m; ":"; s
PRINT " "
GOTO flag
—> تمرین های سخت تر:
۲۱٫ برنامه ای بنویسید که یک عدد را از ما بپرسد و محاسبه کند این عدد اول است یا خیر.((Mod
INPUT n
LET b = 2
LET p = 1
flag:
IF n MOD b = 0 THEN p = 0 LET b = b + 1
IF b < n THEN GOTO flag
IF n = 2 THEN p = 1
IF n <= 1 THEN p = 0
IF p = 1 THEN PRINT "Prime" ELSE PRINT "Not Prime"
22. برنامه ای بنویسید که یک عدد را از ما بپرسد و محاسبه کند این عدد اول است یا خیر.((Int
INPUT n
LET b = 2
LET p = 1
flag:
IF (n / b) = INT(n / b) THEN p = 0
LET b = b + 1
IF b < n THEN GOTO flag
IF n = 2 THEN p = 1
IF n <= 1 THEN p = 0
IF p = 1 THEN PRINT "Prime" ELSE PRINT "Not Prime"
23. برنامه ای بنویسید که اعداد اول بین ۱ تا ۱۰۰ را چاپ کند.
LET n = 1
bflag:
LET p = 1
LET b = 2
flag:
IF n MOD b = 0 THEN p = 0 LET b = b + 1
IF b < n THEN GOTO flag
IF n = 2 THEN p = 1
IF n <= 1 THEN p = 0
IF p = 1 THEN PRINT n
LET n = n + 1
IF n < 100 THEN GOTO bflag
24. برنامه ای بنویسید که اعداد اول درون یک بازه را چاپ کند.
INPUT n, m
bflag:
LET p = 1
LET b = 2
flag:
IF n MOD b = 0 THEN p = 0
LET b = b + 1
IF b < n THEN GOTO flag
IF n = 2 THEN p = 1
IF n <= 1 THEN p = 0
IF p = 1 THEN PRINT n
LET n = n + 1
IF n < m THEN GOTO bflag
25. برنامه ای بنویسید که دو عدد را از شما بگیرد و بزرگترین مقسوم علیه مشترک بین آن ها را محاسبه و چاپ کند.
INPUT m, n
flag:
LET r = m MOD n
IF r = 0 THEN
PRINT n ELSE m = n: n = r: GOTO flag
26. برنامه ای بنویسید که دو عدد را از شما بگیرد و کوچکترین مضرب مشترک بین آن ها را محاسبه و چاپ کند.
INPUT m, n
LET h = m * n
flag:
LET r = m MOD n
IF r = 0 THEN PRINT h / n
ELSE m = n: n = r: GOTO flag
27. برنامه ای بنویسید که عددی را از ما بپرسد و سپس محاسبه و چاپ کند که عدد تام است یا خیر.(عددی تام است،که مجموع مقسوم علیه های کوچکتر از خودش برابر با خود عدد باشد)
INPUT n
LET b = 1
LET s = 0
flag:
IF n MOD b = 0 THEN s = s + b
LET b = b + 1
IF b < n THEN GOTO flag
IF s = n THEN PRINT "Tom" ELSE PRINT "Not Tom"
28. برنامه ای بنویسید که اعداد تام بین ۱ تا ۲۰۰ را چاپ کند.
LET n = 1
bflag:
LET b = 1
LET s = 0
flag:
IF n MOD b = 0 THEN s = s + b
LET b = b + 1
IF b < n THEN GOTO flag
IF s = n THEN PRINT n
LET n = n + 1 IF n < 200 THEN GOTO bflag
29. برنامه ای بنویسید که اعداد تام درون یک بازه را چاپ کند.
INPUT n, m
bflag:
LET b = 1
LET s = 0
flag:
IF n MOD b = 0 THEN s = s + b
LET b = b + 1
IF b < n THEN GOTO flag
IF s = n THEN PRINT n
LET n = n + 1
IF n < m THEN GOTO bflag
30. برنامه ای بنویسید که دنباله فیبوناچی را تا ۱۰ عدد چاپ کند.(این دنباله از ۱و۱ شروع شده و عدد بعدی از مجموع دو عدد قبلی خود حاصل می شود:۱,۱,۲,۳,۵,۸,…
a = 0: b = 1: c = 1
FOR i = 1 TO 10
h = b: a = b: b = c: c = b + h
PRINT a; ",";
NEXT i
31. برنامه ای بنویسید که دنباله فیبوناچی را تا مقداری که از ما می گیرد،چاپ کند.
INPUT n
a = 0: b = 1: c = 1
WHILE b <= n
h = b: a = b: b = c: c = b + h
PRINT a; ",";
WEND
32. برنامه ای بنویسید که ضرایب a,b,c را از معدله درجه دوم ax^2+bx+c بگیرد و ریشه های حقیقی این معادله را در صورت وجود محاسبه و چاپ کند و در صورت عدم وجود پیغام “No Root” را چاپ کند.
INPUT "(ax^2+bx+c) a,b,c ra vared konid:", a, b, c
LET d = b ^ 2 - 4 * a * c
IF d >= 0 THEN PRINT (-b + SQR(d)) / (2 * a)
,: PRINT (-b - SQR(d)) / (2 * a) ELSE PRINT "No Root"
33. برنامه ای بنویسید که بدون استفاده از حلقه تکرار for-next جدول ضرب ۵*۵ را چاپ کند.
LET n = 1
bflag:
LET m = 1
flag:
PRINT n * m;
LET m = m + 1
IF m < 6 THEN GOTO flag
LET n = n + 1
IF n < 6 THEN GOTO bflag
—>استفاده از حلقه ها:
۳۴٫ برنامه ای بنویسید که با استفاده از حلقه تکرار for-next جدول ضرب ۵*۵ را چاپ کند.
FOR n = 1 TO 5
FOR m = 1 TO 5
PRINT n * m;
NEXT m
NEXT n
35. برنامه ای بنویسید که یک نام را از شما بگیرد و مقلوب آن را چاپ کند.
input n$
for i=len(n$) to 1 step -1
? mid$(n$,i,1);
next i
36. برنامه ای بنویسید که یک عدد صحیح از شما بپرسد و با استفاده از توابع مجموع ارقام آن عدد را محاسبه و چاپ کند.
INPUT n!
LET n$ = STR$(n!)
FOR i = LEN(n$) TO 1 STEP -1
s = s + VAL(MID$(n$, i, 1))
NEXT i
PRINT s
37. برنامه ای بنویسید که با استفاده از دستور while-wend شماره کد اسکی و کد معادل آن را در دو ستون چاپ کند.
LET n = 1
WHILE n < 255
PRINT n, CHR$(n)
LET n = n + 1
WEND
—>استفاده از آرایه ها:
۳۸٫ برنامه ای بنویسید که با استفاده از آرایه،ماتریس ۳*۳ را از شما بپرسد و سپس اصل ماتریس و ترانهاد آن را چاپ کند.
DIM a(3, 3)
FOR i = 1 TO 3
FOR j = 1 TO 3
PRINT "a(" + STR$(i) + "," + STR$(j) + ")";
INPUT a(i, j)
NEXT j
NEXT i
PRINT "Matris"
FOR i = 1 TO 3
FOR j = 1 TO 3
PRINT a(i, j);
NEXT j
NEXT i
PRINT "Taranahade"
FOR i = 1 TO 3
FOR j = 1 TO 3
PRINT a(j, i);
NEXT j
NEXT i
39. برنامه ای بنویسید که دو عدد ۳۰ رقمی را با هم جمع کند.(با استفاده از آرایه)
dim a(31)
input a$
for i=2 to 31
let a(i)=val(mid$(a$,i-1,1))
next i
? "+"
dim b(31)
input b$
for i=2 to 31
let b(i)=val(mid$(b$,i-1,1))
next i
dim c(31)
for i=31 to 1 step -1
let c(i)=(a(i)+b(i)+h) mod 10
if (a(i)+b(i)+h)>9 then h=1 else h=0
next i
? "_____"
for i=1 to 31
c$=c$+str$(c(i))
next i
? c$
—>استفاده از گرافیک بیسیک:
۴۰٫ برنامه ای بنویسید که یک مستطیل بزرگ تو خالی با کد اسکی ۱۷۷ ایجاد کند.
FOR i = 1 TO 40
PRINT CHR$(177);
NEXT i
FOR i = 1 TO 10
PRINT CHR$(177);
FOR j = 1 TO 38
PRINT " ";
NEXT j
CHR$(177)
NEXT i
FOR i = 1 TO 40
PRINT CHR$(177);
NEXT i
41. برنامه ای بنویسید که یک مثلث قائم الزاویه را بر روی مانیتور ایجاد کند.
SCREEN 12
LINE (100, 100)-(100, 300)
, 2 LINE (100, 300)-(400, 300)
, 2 LINE (400, 300)-(100, 100)
, 2
42. برنامه ای بنویسید پنج دایره متداخل متحدالمرکز را با پنج رنگ متفاوت در وسط مانیتور چاپ کند.
SCREEN 12
FOR n = 1 TO 5
CIRCLE (300, 200), 10 * n, n
NEXT n
43. برنامه ای بنویسید که شکل زیر را در محیط گرافیکی بیسیک ترسیم کند.
SCREEN 12
CIRCLE (300, 300), 100
, 2 LINE (230, 230)-(370, 370), 2, B
44. برنامه ای بنویسید در محیط گرافیکی QBasic یک موج کامل سینوس را ترسیم کند.(طول موج و فرکانس را دلخواه انتخاب کنید)
SCREEN 12
LINE (200, 200)-(400, 200), 2
FOR x = 0 TO 20 STEP .01 '{comment} Godeat 100 noghte
PSET (x * 10 + 200, 10 * SIN(x) + 200), 2 'Ferekans 10
NEXT x
—>استفاده از صداهای بیسیک:
۴۵٫ برنامه ای بنویسید صدای آمبولانس را به مدت ۱ دقیقه از Pc-Speaker پخش کند.(فرکانس صدا انتخابی)
FOR i = 1 TO 3600
SOUND (500), 9.1
SOUND (1500), 9.1
NEXT i
46. برنامه ای بنویسید که یک ساعت کامپیوتری ایجاد کند و سر هر ساعت بوق بزند.
start! = TIMER
flag:
LOCATE 1, 1
t = INT(TIMER - start!)
s = t MOD 60
m = (t \ 60) MOD 60
h = (t \ 3600) MOD 24
IF t MOD 3600 = 0 THEN SOUND (1000)
,1 LOCATE 1, 1
PRINT h; ":"; m; ":"; s
PRINT " " GOTO flag
47. برنامه ای بنویسید نوت های موسیقی را هر کدام ۱ ثانیه پخش کند.
PLAY "a1 b1 c1 d1 g1 e1 f1"