برنامه ای بنویسید که تاریخ تولد شما را بپرسد و سن شما را محاسبه کند.

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

PRINT

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

PRINT

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

PRINT

NEXT i

PRINT "Taranahade"

FOR i = 1 TO 3

FOR j = 1 TO 3

PRINT a(j, i);

NEXT j

PRINT

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

PRINT

FOR i = 1 TO 10

PRINT CHR$(177);

FOR j = 1 TO 38

PRINT " ";

NEXT j

PRINT

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"