PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مجموعه برنامه هاي ساده , ابتداعي زبان برنامه نويسي QBasic



TAHA
11-11-2009, 06:45 PM
مساله ي پيدا كردن ريشه هاي معادله ي در جه دوم را حل كنيد .


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

TAHA
11-11-2009, 06:45 PM
برنامه اي تهيه كنيد كه بتواند مبلغ دريافتي كارمندان يك شركت را محاسبه نماييد . در اين برنامه مواردي چون اضاقه كاري ، بيمه ، و ماليات ( متناسب با ميزان حقوق )را در نظر بگيريد . واز اين برنامه براي محاسبه ي مبلغ دريافتي 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

TAHA
11-11-2009, 06:46 PM
برنامه اي تهيه كنيد كه با دريافت نمرات دانش آموزان يك كلاس عملياتي چون بالاترين نمره ، ميانگين نمرات كلاس ، تعداد كساني كه تجديد شده اند و تعدادكساني كه نمره ي 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

TAHA
11-11-2009, 06:47 PM
برنامه اي تهيه كنيد كه اعمال رياضي يك دانش آموزرا براي او انجام مي دهد . اعمالي چون چهار عمل اصلي ، به توان رساندن ، جذر گرفتن و غيره





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

TAHA
11-11-2009, 06:48 PM
برنامه خواندن و يافتن ماكزيمم دو عدد



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

TAHA
11-11-2009, 06:49 PM
برنامه خواندن و يافتن ماكزيمم سه عدد :


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

TAHA
11-11-2009, 06:50 PM
برنامه تعيين كوچكترين عدد از تعدادي عدد :


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

TAHA
11-11-2009, 06:51 PM
تعيين معدل دانش آموز ان يك كلاس و هم چنين بالاترين و پايين ترين نمرات كلاس .








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

TAHA
11-11-2009, 06:52 PM
برنامه اي بنويسيد كه ابتدا رمز عبور را از كاربر بخواهد . اگر رمز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 نيز از همين روش استفاده مي كنيم .

TAHA
11-11-2009, 06:52 PM
برنامه اي بنويسيد كه رمز عبوري را از كاربر بخواهد . اگر رمز درست بود پيغام "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 شود ، برنامه از حلقه خارج مي شود و با توجه اين كه بر اثر درست وارد شدن رمز از حلقه خارج شده ايم يا بر اثر تمام شدن تعداد حدس ها ، پيغام مناسب چاپ مي شود .

TAHA
11-11-2009, 06:53 PM
برنامه اي بنويسيد كه بتواند مقدار 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

TAHA
11-11-2009, 07:02 PM
مي خواهيم تا زماني كه كلمه وارد شده از طرف كاربر مخالف رمز عبور (مثلا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 يك مقدار اضافه كنيم.

TAHA
11-11-2009, 07:04 PM
برنامه اي بنويسيد كه محتواي يك متغير عددي و نتيجه يك عبارت محاسباتي را در خروجي نمايش دهد .

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