توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مجموعه برنامه هاي ساده , ابتداعي زبان برنامه نويسي QBasic
مساله ي پيدا كردن ريشه هاي معادله ي در جه دوم را حل كنيد .
REM program to calculate the root of ax2 + bx + c
INPUT “inter a, b, c”; a, b, c
LET d = SQR (b ^ 2 – 4 * a * c )
IF d > 0 THEN
LET X1 = (-b +d) / ( 2 * a)
LET X2 = (-b – d) / (2 * a )
PRINT “THE root are X1 =”; X1;
PRINT “THE root are X2 =”; X2
ELSEIF d = 0 THEN
LET X = (-b) / (2 * a)
PRINT “THE root is X =”; X
ELSE
PRINT “IT doesn’t have root”
END IF
END
برنامه اي تهيه كنيد كه بتواند مبلغ دريافتي كارمندان يك شركت را محاسبه نماييد . در اين برنامه مواردي چون اضاقه كاري ، بيمه ، و ماليات ( متناسب با ميزان حقوق )را در نظر بگيريد . واز اين برنامه براي محاسبه ي مبلغ دريافتي 15 كارمند استفاده كنيد
REM program to calculate the salary of 15 employees
FOR count = 1 to 15 step 1
INPUT “ENTER YOUR mployee number” ; en
INPUT “enter salary and increment” ; s , b
LET p = s + p
Let I = (p * 7 ) / 100
IF P > 500000 THEN
LET T = (( P – 500000 ) * ( 10/100)
ELSE
LET T = 0
END IF
LET np = P – (I + T)
PRINT “amount received for this”; en ; “is”; np
NEXT count
END
برنامه اي تهيه كنيد كه با دريافت نمرات دانش آموزان يك كلاس عملياتي چون بالاترين نمره ، ميانگين نمرات كلاس ، تعداد كساني كه تجديد شده اند و تعدادكساني كه نمره ي 20 گرفته اند محاسبه نماييد .
REM program to calculate the average FOR class
LET F = 0
LET T = 0
LET MIN = 0
LET MAX = 20
LET sum =0
INPUT “Enter THE numbers of students” ; num
FOR count = 1 TO num STEP 1
INPUT “Enter YOUR grade” ; grade
LET sum = sum + grade
IF grade > max THEN
LET max = END IF
IF grade < min THEN
LET min = grade
END IF
IF grade < 10 THEN
F = F +1
END IF
IF grade = 20 THEN
T = T + 1
END IF
NEXT count
LET ave = sum / num
PRINT “The average is”; ave
PRINT “The maximum grade is”; max
PRINT “The minimum grade is”; min
PRINT “The number of failure student is”; F
PRINT “The number of student have got Twenty is”; T
برنامه اي تهيه كنيد كه اعمال رياضي يك دانش آموزرا براي او انجام مي دهد . اعمالي چون چهار عمل اصلي ، به توان رساندن ، جذر گرفتن و غيره
REM program to calculate
PRINT " IF you want TO addition numbers”;
PRINT “and to SUBSTRAC numbers”;
PRINT “and to Multiple numbers”;
PRINT “and to Divide and to Square root numbers”;
INPUT “Enter your operation”; op$
IF OP$ = “ADD” THEN
INPUT “Enter two number for addition”; a , b
LET c = a + b
PRINT “the result is”; c
ELSEIF OP $ = “Sub” THEN
INPUT “Enter two number for Subtract”; a , b
LET c = a – b
PRINT “the result is”; c
ELSEIF OP $ = “mul” THEN
INPUT “Enter two number for multiple”; a , b
LET c = a * b
PRINT “the result is”; c
ELSEIF OP $ = “div” THEN
INPUT “Enter two number for divide”; a ,b
LET c = a / b
PRINT “the result is”; c
ELSEIF OP $ = “sqr” THEN
INPUT “Enter a number for square root”; a
LET b = SQR (a)
PRINT “the result is”; b
ELSE
PRINT “I cannot calculate!”
END IF
END
برنامه خواندن و يافتن ماكزيمم دو عدد
REM program to find the maximum of two numbers
PRINT “Enter two numbers to calculate maximum”
INPUT A, B
IF A = B THEN
PRINT “A AND B is equal.”
ELSEIF A> B THEN
PRINT “The maximum is”; A
ELSE
PRINT “The maximum is”; B
END IF
END
برنامه خواندن و يافتن ماكزيمم سه عدد :
REM program to find the maximum of three numbers
INPUT “Enter three numbers to calculate maximum”; A, B, C
LET MAX = A
IF MAX < B THEN
MAX = B
END IF
IF MAX < C THEN
MAX = C
END IF
PRINT “The maximum is”; MAX
END
برنامه تعيين كوچكترين عدد از تعدادي عدد :
REM program to find the Minimum
LET count = 1
INPUT “Enter THE first number”; A
LET MIN = A
INPUT “Enter THE numbers of subjects” ;num
Do UNTIL count > num
INPUT “Enter another number” ; B
IF MIN > B THEN
MIN = B
END IF
Count = count + 1
Loop
Print “ the minimum is “ ; MIN
END
تعيين معدل دانش آموز ان يك كلاس و هم چنين بالاترين و پايين ترين نمرات كلاس .
REM program to calculate the average
LET SUM = 0
LET count = 1
INPUT “Enter A grade” ; grade
LET MIN = grade
LET MAX = grade
INPUT “Enter THE numbers of subjects” ; value
LET sum = sum + grade
DO
INPUT “Enter another grade” ; grade
LET sum = sum + grade
IF grade > max THEN
LET MAX = grade
END IF
IF grade < MIN THEN
LET MIN = grade
END IF
LET count = count +1
LOOP WHIHE count < value
LET ave = sum / value
PRINT “The maximum is”; MAX
PRINT “The minimum is”; MIN
PRINT “The average is”; ave
END
برنامه اي بنويسيد كه ابتدا رمز عبور را از كاربر بخواهد . اگر رمزABC بود آنگاه ۱۰ عدد را بخواند و max آنها را چاپ كند . اگر رمز اشتباه بود ، پيغام مناسبي نمايش داده شده و رمز عبور دوباره خواسته شود .
INPUT "Enter pass” ; pass $
IF pass$<> "abc" THEN
PRINT "Your password is not correct! try again”
END IF
LOOP WHILE pass$ < > "abc”
PRINT "Enter ten numbers”
INPUT a
max = a
FOR I =1 TO 9
INPUT a
IF a > max THEN max = a
NEXT i
PRINT max
END
*نكات : تا زماني كه كاربر رمز عبور را درست وارد نكرده ، حلقه تكرار مي شود و تنها زماني كه رمز به درستي وارد شود ، برنامه به خط بعد از LOOP مي رود و دستورات بعدي انجام مي شود . براي تعيين max دسته اي از اعداد ، ابتدا اولين عدد ورودي را در max قرار مي دهيم سپس بقيه اعداد را در يك حلقه از كاربر دريافت كرده ، بعد از دريافت هركدام ، آنها با max مقايسه مي شوند تا اگر بيشتر از max بودند ، در آن قرار گيرند . دقت کنيد چون يک عدد بيرون حلقه دريافت کرده ايم ۹ عدد ديگر باقيمانده است (شرط حلقه ) براي به دست آوردن min نيز از همين روش استفاده مي كنيم .
برنامه اي بنويسيد كه رمز عبوري را از كاربر بخواهد . اگر رمز درست بود پيغام "your password is correct" را چاپ كند . برنامه بايد فقط ۳ بار از كاربر رمز را بپرسد . اگر كاربر نتوانست رمز را در اين 3 بار وارد كند و پيغام "Sorry! you can't continue" چاپ شود.
LET c=1
DO
INPUT "Enter password”, pass $
c=c+1
LOOP WHILE pass$ <> “123” " AND c => 3
IF pass$ ="123" THEN
PRINT "your password is correct”
ELSE
PRINT "Sorry ! you can't continue”
END
نكات : در شرط حلقه از عملگر منطقي AND استفاده شده زيرا استفاده از AND سبب مي شود اگر يكي از شرطها هم غلط باشد ، كل عبارت نادرست شود . (عينا مانند استفاده از "و" در منطق رياضي ) يعني در هريك از دو صورتي كه "pass$="abc (رمز درست وارد شود) يا c (شمارنده) بزرگتر از 3 شود ، برنامه از حلقه خارج مي شود و با توجه اين كه بر اثر درست وارد شدن رمز از حلقه خارج شده ايم يا بر اثر تمام شدن تعداد حدس ها ، پيغام مناسب چاپ مي شود .
برنامه اي بنويسيد كه بتواند مقدار Z را از رابطه z=|5-x| / 1-y به ازاي دريافت مقادير X و Y از ورودي محاسبه كند
CLS
INPUT “ENTER X , Y: “, X , Y
Z = ABS ( 5 – X ^ 2 ) / ( 1 – Y )
PRINT “ Z = ” ; Z
2 - برنامه اي بنويسيد كه بتواند يك عدد اعشاري مثبت يا منفي را از ورودي دريافت سپس قسمت اعشار عدد را حذف نمايد ونتيجه را نمايش دهد
CLS
Input “ enter A FIXED-POINT NUMBER : “ ; N
N1 = SGN (N) * INT ( ABS (N ) )
PRINT N1
توجه : تابع n)) SGN علامت عدد يا متغير عددي يا عبارت عددي داخل پرانتز را پس از محاسبه باز مي گرداند
3 – برنامه اي بنويسيد كه بتوانددو نام را از كاربر دريافت كرده وسپس هر يك را به همراه طول آن نمايش دهد
CLS
FOR I = 2
INPUT “ENTER A NAME: “ , A$
PRINT A$ , LEN ( A$ )
NEXT I
مي خواهيم تا زماني كه كلمه وارد شده از طرف كاربر مخالف رمز عبور (مثلاfarrokhi ) است ، رمز دوباره دريافت شود . به روش هاي مختلف نوشتن اين برنامه توجه كنيد :
INPUT pass$
DO WHILE pass$ <> “farrokhi"
INPUT pass$
LOOP
------------------------------------------
INPUT pass$
DO UNTIL pass$="farrokhi"
INPUT pass $
LOOP
------------------------------------------
DO
INPUT pass $
LOOP WHILE pass$ <> “farrokhi”
-------------------------------------------
DO
INPUT pass$
LOOP UNTIL pass$="farrokhi"
همانطور كه مشاهده مي كنيد هر 4 بخش يك كار را انجام مي دهند اما بخش هاي 3 و 4 از 1 و 2 بهترند زيرا متن برنامه آنها كوتاه تر است . بسته به منطق برنامه بايد تشخيص دهيد كدام روش بهتر است . به نظر شما چه تفاوتهاي ديگر ي وجود دارد ؟
برنامه شماره 7 : برنامه اي بنويسيد كه مجموع اعداد از 1 تا 1000 را حساب كند .
counter= 1
sum = 0
DO WHILE counter => 1000
Sum = sum + counter
counter = counter+1
LOOP
PRINT "Sum of numbers between 1 & 1000 is : ";sum
END
برنامه شماره 8 : برنامه اي بنويسيد كه ميانگين نمرات را تا زماني كه عدد 1- وارد نشده ، حساب كند .
counter=1
sum=0
DO
INPUT "Enter grade”, grade
sum=sum+ grade
counter=counter+1
LOOP WHILE grade <> -1
IF sum <> -1 THEN
PRINT "average is"; (sum+1) / counter
ELSE
PRINT "there isn't any grade"!
END IF
END
توضيح : در قسمت چاپ ميانگين مقدار ميانگين را برابرsum+1)/counter) قرار داديم زيرا وقتي عدد 1- وارد مي شود ابتدا با sum جمع شده و سپس شرط چك مي شود و از حلقه بيرون مي آيد پس براي محاسبه ميانگين اعدادي كه قبل از 1- وارد شده اند بايد 1- را از sum حذف كرد يعني به sum يك مقدار اضافه كنيم.
برنامه اي بنويسيد كه محتواي يك متغير عددي و نتيجه يك عبارت محاسباتي را در خروجي نمايش دهد .
A = 20.8
PRINT A
PRINT 5 * 4 – 5 / 4
2 – برنامه اي بنويسيد كه دو رشته ويك سطر خالي را را به عنوان خروجي نمايش دهد.
PRINT “MONITOR”
PRINT
PRINT "SPEAKER"
3- برنامه اي بنويسيد كه بتواند 5 عددرااز ورودي بگيرد وسپس ميانگين آنهارا محاسبه و نمايش دهد
CLS
INPUT “Enter 5 namber A, B, C, D, E” ; A, B, C, D, E
AVE =( A+ B+ C + D + E ) / 5
PRINT AVE
END
4 – برنامه ا ي بنويسيد كه بتواند مقدار M را از رابطه M = N3 + 5 به ازاي مقدار دلخواه N محاسبه ونمايش دهد
CLS
INPUT N
M = N ^3 + 5
PRINT “M=”; M
Powered by vBulletin™ Version 4.2.2 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.