Transcript (2>3) and
Slide 1
مدرسه استعدادهای درخشان شهید بهشتی
مدرس:
پاییز 93
Slide 2
نحوه نامگذاری متغیرها:
برای متغیرها باید یک نام صحیح ،با
معنا و غیرتکراری انتخاب کرد.
-1استفاده از حروف الفبا ،اعداد و
کاراکتر زیرخط مجاز است.
-2نام متغیر نمی تواند با عدد شروع
شود.
-3نام متغیر نمی تواند از کلمات
رزروشده باشد.
-4استفاده از عالمت فاصله و خط تیره
در نام متغیر مجاز نیست.
Slide 3
آپدیت متغیرها:
آپدیت متغیر یعنی تغییردادن مقدار قبلی متغیر .یعنی به مقدار قبلی متغیر مقداری اضافه
شود یا از مقدار قبلی مقداری کم شود.
مقدار
قبلی
مثال:
x=x+1
a=a2
مقدار
جدید
Slide 4
متغیرهای مجاز و غیرمجاز را تعیین کنید؟:سوال
متغیر
متغیر
a
3a
test
Test-3
sum
Test_3
ave
a+b
max
tv 3
min
if
for
tabassom
Abcdefghijk
samad
Slide 5
شبه
کد :بیان الگوریتم با استفاده از عالئم ریاض ی
عملگر
^
+
*
/
mod
\
عملگرهای مهم
ریاضی:
عملکرد
مثال
توان رسانی
3^2=9
جمع دو عدد
3+2=5
تفریق دو عدد
3-2=1
ضرب دو عدد
3*2=6
تقسیم اعشاری دو عدد
3/2=1.5
تعیین باقیمانده تقسیم
3 mod 2=1
تعیین خارج قسمت صحیح
تقسیم
3\2=1
Slide 6
عملگرهای مقایسه:
این عملگرهای برای ارزیابی نتیجه یک عبارت شرطی به کار می روند.
مثال
عملگر
عملکرد
<
کوچکتر
10<19
>
بزرگتر
23>13
=
مساوی
4=4
=<
کوچکترمساوی
12<=12
=>
بزرگترمساوی
16>=16
><
مخالف(نامساوی)
3<>4
Slide 7
عملگرهای منطقی:
این عملگرها برای ارزیابی نتیجه دو یا چند عبارت شرطی استفاده می شوند.
عملگر
and
عملکرد
و منطقی
مثال
نتیجه
)(2>3) and (5>2
false
)(2>3) or (5>2
true
true
or
یای منطقی
xor
یای
انحصاری
)(2>3) xor (5>2
Eqv
هم ارزی
)(2>3) eqv (5>2
false
not
نقیض
)Not(2<3
false
Slide 8
سوال :عبارت ریاض ی مقابل را به زبان بیسیک بنویسید.
𝑿𝟏+
𝟏
𝟏𝑿+𝒀+
+ 𝑿𝟑 −
+
𝒀𝑿−
𝑿𝟏−
𝒀𝑿
=𝑲
جواب
:
)K=(1+X)/(X-Y)+X^3-1/(1-X)+(X+Y+1)/(X*Y
Slide 9
فلوچارت:
بیان الگوریتم با استفاده از
اشکال هندسی
مولفه های رسم
فلوچارت:
Slide 10
توالعمل شرطی:
اگر
عبارت شرطی
آنگاه
دستورالعمل1
در غیر اینصورت دستورالعمل2
عبارت شرطی:
به عبارتی گفته می شود که نتیجه آن
یکی از دو مقدار Trueیا False
می باشد.
Slide 11
برنامه ای بنویسید که دو عدد از ورودی بخواند و
مقدار ماکزیمم را در خروجی چاپ کند.
Slide 12
:1 نمونه
برنامه ای بنویسید که سه عدد از ورودی بگیرد
و معین کند آیا این اعداد می توانند اضالع یک
مثلث باشند یا نه؟
Cls
Input “enter a:” , a
Input “enter b:” , b
Input “enter c:” , c
If (a+b)>c and (a+c)>b and (b+c)>a then
Print “yes is”
Else
Print “No is’nt”
End if
Slide 13
نمونه: 2
برنامه ای بنویسید که حقوق یک کارمند را دریافت کند
و با توجه به شرایط زیر مقدار دریافتی کارمند را
محاسبه کرده و چاپ کند.
الف-میزان حقوق کمتر از 1000000تومان باشد معاف از
مالیات خواهد بود.
ب-اگر میزان حقوق بین 1000000تا 2000000تومان باشد
10درصد مازاد بر یک میلیون تومان مالیات کسر شود.
Cls
تومان
ج-اگر میزان حقوق کارمند بیش از دو میلیون
”“enter salary:
باشد مازاد بر دو میلیون تومان S
Inputکسر
مالیات
,20درصد
Tax=0
شود.
If S<=1000000 then Tax=0
)If S>1000000 and S<=2000000 then Tax=0.1*(S-1000000
)If S>2000000 then Tax=0.1*(S-1000000)+0.2*(S-2000000
D=S-Tax
Print “Dariaft Karmand is:” ; D
Slide 14
: Select case دستور
if در مواقعی که تعداد انتخاب ها بیش از سه مورد باشد می توان ازاین دستور به جای
.استفاده می شود
Select case Varname
Case value1:
Statement1
Case value2:
Statement2
.
.
.
Case valuen:
Statementn
Case else
Other statement
End select
select شکل کلی دستور
case
Slide 15
.برنامه ای بنویسید یک عدد از ورودی بخواند و نام روز هفته را بنویسد
Cls
Input num
Select case num
Case 1:
Print “shanbeh”
Case 2:
Print “yek shanbeh”
Case 3:
Print “do shanbeh”
Case 4:
Print “se shanbeh”
Case 5:
Print “chehar shanbeh”
Case 6:
Print “jomeh”
Case else
Print “invalid number”
End select
Slide 16
تمرین :برنامه ای بنویسید یک عدد دلخواه از ورودی بخواند و شرایط زیر را تعیین کند.
الف-آیا عدد یک رقمی است؟
ب-آیا عدد دو رقمی است؟
ج-آیا عدد سه رقمی است؟
Cls
د-آیا عدد بیش از سه رقم دارد؟
Input n
Select case n
Case 0 to 9:
”Print “One digit
Case 10 to 99:
”Print “Two digit
Case 100 to 999:
”Print “Three digit
Case else
”Print “>3 digit
End select
Slide 17
تابع : rndتولید اعداد تصادفی بین 0و 1
0
-1تولید یک عدد تصادفی بین 0, a
=a*rndمتغیر
-2تولید یک عدد صحیح تصادفی
بین : 0, a
)=int(a*rndمتغیر
-3تولید یک عدد تصادفی بین ( a, bبا شرط )a=(b-a+1)*rnd+aمتغیر
-4تولید یک عدد صحیح تصادفی بین : a, b
=int((b-a+1)*rnd)+aمتغیر
Slide 18
نمونه :1برنامه ای بنویسید که با هر بار اجرا یک عدد صحیح تصادفی بین 10و 100تولید کند.
Cls
Randomize timer
Print int(91*rnd)+10
نمونه :2برنامه ای بنویسید که با هر بار اجرا یک عدد
صحیح تصادفی چهار رقمی تولید کند.
Cls
Randomize timer
Print int(9000*rnd)+1000
Slide 19
سوال :برنامه ای بنویسید که با هر بار اجرا 10عدد صحیح تصادفی بین دو عدد دلخواه تولید کند.
Cls
Input a,b
Randomize timer
For i=1 to 10
Print int((b-a+1)*rnd)+a
Next i
Slide 20
دستورالعمل حلقه:
از این دستورالعمل برای تکرار مجموعه ای از دستورالعملها به دفعات معین یا نا معین
دستورالعملها به دفعات معین یا نا معین استفاده می شود.
دستورات حلقه معین:
For-next
دستورات حقله نامعین:
while-wend, do while-loop, do until-loop
Slide 21
شکل کلی دستور For-next
Slide 22
Slide 23
Slide 24
تمرین:
-1برنامه ای بنویسید که 10عدد از ورودی بخواند و تعداد اعداد فرد و منفی را شمرده و چاپ کند.
-2برنامه ای بنویسید که یک عدد از ورودی بخواند و معین کند عدد تام است یا نه؟
(هر عددی که با مجموع مقسوم علیه های کمتر از خودش برابر باشد عدد تام می گویند .مثل عدد 6تام است)
Slide 25
سوال :1برنامه ای بنویسید خروجی زیر را تولید کند.
Cls
For i=1 to 5
for j=1 to i
;Print j
next j
Print
Next i
حلقه
داخلی
حلقه
بیرونی
2
2 3
2 3 4
2 3 4 5
حلقه های تو
در تو
1
1
1
1
1
Slide 26
. برنامه ای بنویسید خروجی زیر را تولید کند:2سوال
1
2
3
4
5
2
3 3
4 4 4
5 5 5 5
Cls
For i=1 to 5
for j=1 to i
Print i;
next j
Print
Next i
Slide 27
5
4
3
2
1
4 3 2 1
3 2 1
2 1
1
. برنامه ای بنویسید خروجی زیر را تولید کند:3سوال
Cls
For i=5 to 1 step -1
for j=i to 1 step -1
Print j;
next j
Print
Next i
Slide 28
تمرین در منزل
-1برنامه بنویسید که چند عدد طبیعی از ورودی دریافت کند و ماکزیمم آن اعداد را محاسبه و چاپ کند.
-2برنامه ای بنویسید که یک عدد طبیعی از ورودی دریافت کند و مقلوب آن عدد را محاسبه و نمایش دهد.
-3برنامه بنویسید که یک عدد طبیعی از ورودی بگیرد و مجموع ارقام آن عدد را محاسبه و چاپ کند.
-4برنامه بنویسید که تعدادی عدد دلخواه از ورودی بخواند و معین کند چندتا مضرب 2و چندتا مضرب 3و
مضرب 5می باشند؟ دریافت برنامه تا زمانی ادامه یابد که کاربر عدد -1وارد کند.
چند تا
Slide 29
تمرین:
برنامه ای بنویسید که 𝑿 را بگیرد و حاصل عبارت زیر را تا 10جمله اول آن حساب کند.
𝑋2 𝑋3 𝑋4
𝑋−
+
−
⋯+
2
3
4
Slide 30
حلقه نامعین:
حلقه نامعین ،حلقه ای است که تعداد دفعات تکرار
از قبل معلوم نیست.
حلقه نامعین :while- wend
دستور حلقه :while
عبارت شرطی While
….
….
….
….
Wend
توجه :ابتدا عبارت شرطی مقابل whileبررسی
می شود تا زمانیکه نتیجه شرط درست( )Trueباشد
مجموعه دستورات حلقه تکرار خواهدشد.
Slide 31
فلوچارت دستور حلقه
while-wend
Slide 32
نمونه:1
برنامه بنویسید که تعدادی عدد از ورودی بگیرد و مجموع اعداد وارد شده را محاسبه کند.
شرط خاتمه برنامه وارد کردن عدد صفر است.
output
S=S+X
X
57
12
12
2
-10
32
30
57
25
0
Cls
Input “enter a number:”,X
Let S=0
While X<>0
S=S+X
Input “enter a number:”,X
Wend
Print “sum of numbers :”;S
Slide 33
نمونه:2
برنامه بنویسید که دو عدد از ورودی بخواند و کوچکترین مضرب مشترک آندو عدد را
محاسبه و چاپ کند.
Kmm
Bmm
90
6
m
r
b
a
540
12
18
30
6
12
18
0
6
12
امتحان برنامه
Cls
Input a,b
Let m=a*b
While b>0
r=a mod b
a=b
b=r
Wend
Bmm=a
Kmm=m/Bmm
Print “Kmm is:”; Kmm
Slide 34
نمونه:2
می خواهیم مبلغ 50ریال را با سکه های 2و 5و 10ریالی خرد کنیم .برنامه ای بنویسید که
تعداد حالتهای ممکن را محاسبه و نمایش دهد.
Cls
S=0
For i=1 to 25
for j=1 to 10
for k=1 to 5
if i*2+j*5+k*10=50 then S=S+1
next k
next j
Next I
Print S
دستور
حلقه
Slide 35
i
j
k
i*2+j*5+k*10=50
S
1
1
1
no
0
1
1
2
no
0
1
1
3
no
0
1
1
4
no
0
1
1
5
no
0
1
2
1
no
0
1
2
2
no
0
.
.
.
.
.
.
.
.
.
.
5
2
3
yes
1
5
4
2
yes
2
5
6
1
yes
3
10
2
2
yes
4
.
.
.
.
.
output
Slide 36
سوال:
برنامه ای بنویسید که تمام اعداد سه رقمی را که می توان با ارقام 1تا 5
نوشت ،بنویسید.
Cls
For i=1 to 5
for j=1 to 5
for k=1 to 5
; print i+j*10+k*100
next k
next j
Next i
Slide 37
دستور حلقه :do while-loopمشابه دستور while-wendاست.
دستور حلقه :do while
عبارت شرطی Do While
….
….
….
….
loop
توجه :ابتدا عبارت شرطی مقابل do whileبررسی
می شود تا زمانیکه نتیجه شرط درست( )Trueباشد
مجموعه دستورات حلقه تکرار خواهدشد.
Slide 38
نمونه :1
برنامه ای بنویسید که دو عدد از ورودی بخواند و
کوچکترین مضرب مشترک آن دو عدد را محاسبه و چاپ
کند.
Cls
Input “enter a:”,a
Input “enter b:”,b
Let m=a*b
Do while b>0
r=a mod b
a=b
b=r
Loop
Kmm=m/a
Print “Kmm is:”;Kmm
Slide 39
نمون:3
برنامه ای بنویسید که یک عدد در مبنای 2از ورودی بخواند و مقدار آن را در مبنای 10
محاسبه و نمایش دهد.
Output
S
r*2^i
r
i
n
28
0
0
0
0
11100
0
0
0
1
1110
4
4
1
2
111
12
8
1
3
11
28
16
1
4
1
توقف
حلقه
امتحان برنامه
0
Cls
Input n
S=0
i=0
while n>0
r=n mod 2
S=S + r * 2 ^ i
i=i+1
n=n\10
Wend
Print S
Slide 40
نمونه:2
یک عدد از ورودی بخواند و مقلوب آن عدد را محاسبه کرده و چاپ کند.
Output
5432
S
n
r
5
5
2345
54
4
234
543
3
23
5432
2
2
0
امتحان برنامه
Cls
Input n
S=0
While n>0
r=n mod 10
S=S*10+r
n=n\10
Wend
Print S
Slide 41
سوال :آیا می توان دستور For-nextرا با دستور while-wendو یا دستور do while-loopپیاده
سازی کرد؟
نمونه:1
برنامه ای بنویسید 10عدد از ورودی بخواند و میانگین
اعداد وارد شده را محاسبه و چاپ کند.
با حلقه
while
Cls
i=1
S=0
While i<=10
Input X
S=S+X
i=i+1
Wend
Ave=S/10
Print Ave
با حلقه
For
Cls
S=0
For i=1 to 10
Input X
S=S+X
Next i
Ave=S/10
Print Ave
Slide 42
تمرین ویژه:
برنامه ای بنویسید یک عدد در مبنای 16از ورودی بخواند و آن را به مبنای 10تبدیل کرده و
نمایش دهد.
مثال:
(𝐴83)16 = 2691
مدرسه استعدادهای درخشان شهید بهشتی
مدرس:
پاییز 93
Slide 2
نحوه نامگذاری متغیرها:
برای متغیرها باید یک نام صحیح ،با
معنا و غیرتکراری انتخاب کرد.
-1استفاده از حروف الفبا ،اعداد و
کاراکتر زیرخط مجاز است.
-2نام متغیر نمی تواند با عدد شروع
شود.
-3نام متغیر نمی تواند از کلمات
رزروشده باشد.
-4استفاده از عالمت فاصله و خط تیره
در نام متغیر مجاز نیست.
Slide 3
آپدیت متغیرها:
آپدیت متغیر یعنی تغییردادن مقدار قبلی متغیر .یعنی به مقدار قبلی متغیر مقداری اضافه
شود یا از مقدار قبلی مقداری کم شود.
مقدار
قبلی
مثال:
x=x+1
a=a2
مقدار
جدید
Slide 4
متغیرهای مجاز و غیرمجاز را تعیین کنید؟:سوال
متغیر
متغیر
a
3a
test
Test-3
sum
Test_3
ave
a+b
max
tv 3
min
if
for
tabassom
Abcdefghijk
samad
Slide 5
شبه
کد :بیان الگوریتم با استفاده از عالئم ریاض ی
عملگر
^
+
*
/
mod
\
عملگرهای مهم
ریاضی:
عملکرد
مثال
توان رسانی
3^2=9
جمع دو عدد
3+2=5
تفریق دو عدد
3-2=1
ضرب دو عدد
3*2=6
تقسیم اعشاری دو عدد
3/2=1.5
تعیین باقیمانده تقسیم
3 mod 2=1
تعیین خارج قسمت صحیح
تقسیم
3\2=1
Slide 6
عملگرهای مقایسه:
این عملگرهای برای ارزیابی نتیجه یک عبارت شرطی به کار می روند.
مثال
عملگر
عملکرد
<
کوچکتر
10<19
>
بزرگتر
23>13
=
مساوی
4=4
=<
کوچکترمساوی
12<=12
=>
بزرگترمساوی
16>=16
><
مخالف(نامساوی)
3<>4
Slide 7
عملگرهای منطقی:
این عملگرها برای ارزیابی نتیجه دو یا چند عبارت شرطی استفاده می شوند.
عملگر
and
عملکرد
و منطقی
مثال
نتیجه
)(2>3) and (5>2
false
)(2>3) or (5>2
true
true
or
یای منطقی
xor
یای
انحصاری
)(2>3) xor (5>2
Eqv
هم ارزی
)(2>3) eqv (5>2
false
not
نقیض
)Not(2<3
false
Slide 8
سوال :عبارت ریاض ی مقابل را به زبان بیسیک بنویسید.
𝑿𝟏+
𝟏
𝟏𝑿+𝒀+
+ 𝑿𝟑 −
+
𝒀𝑿−
𝑿𝟏−
𝒀𝑿
=𝑲
جواب
:
)K=(1+X)/(X-Y)+X^3-1/(1-X)+(X+Y+1)/(X*Y
Slide 9
فلوچارت:
بیان الگوریتم با استفاده از
اشکال هندسی
مولفه های رسم
فلوچارت:
Slide 10
توالعمل شرطی:
اگر
عبارت شرطی
آنگاه
دستورالعمل1
در غیر اینصورت دستورالعمل2
عبارت شرطی:
به عبارتی گفته می شود که نتیجه آن
یکی از دو مقدار Trueیا False
می باشد.
Slide 11
برنامه ای بنویسید که دو عدد از ورودی بخواند و
مقدار ماکزیمم را در خروجی چاپ کند.
Slide 12
:1 نمونه
برنامه ای بنویسید که سه عدد از ورودی بگیرد
و معین کند آیا این اعداد می توانند اضالع یک
مثلث باشند یا نه؟
Cls
Input “enter a:” , a
Input “enter b:” , b
Input “enter c:” , c
If (a+b)>c and (a+c)>b and (b+c)>a then
Print “yes is”
Else
Print “No is’nt”
End if
Slide 13
نمونه: 2
برنامه ای بنویسید که حقوق یک کارمند را دریافت کند
و با توجه به شرایط زیر مقدار دریافتی کارمند را
محاسبه کرده و چاپ کند.
الف-میزان حقوق کمتر از 1000000تومان باشد معاف از
مالیات خواهد بود.
ب-اگر میزان حقوق بین 1000000تا 2000000تومان باشد
10درصد مازاد بر یک میلیون تومان مالیات کسر شود.
Cls
تومان
ج-اگر میزان حقوق کارمند بیش از دو میلیون
”“enter salary:
باشد مازاد بر دو میلیون تومان S
Inputکسر
مالیات
,20درصد
Tax=0
شود.
If S<=1000000 then Tax=0
)If S>1000000 and S<=2000000 then Tax=0.1*(S-1000000
)If S>2000000 then Tax=0.1*(S-1000000)+0.2*(S-2000000
D=S-Tax
Print “Dariaft Karmand is:” ; D
Slide 14
: Select case دستور
if در مواقعی که تعداد انتخاب ها بیش از سه مورد باشد می توان ازاین دستور به جای
.استفاده می شود
Select case Varname
Case value1:
Statement1
Case value2:
Statement2
.
.
.
Case valuen:
Statementn
Case else
Other statement
End select
select شکل کلی دستور
case
Slide 15
.برنامه ای بنویسید یک عدد از ورودی بخواند و نام روز هفته را بنویسد
Cls
Input num
Select case num
Case 1:
Print “shanbeh”
Case 2:
Print “yek shanbeh”
Case 3:
Print “do shanbeh”
Case 4:
Print “se shanbeh”
Case 5:
Print “chehar shanbeh”
Case 6:
Print “jomeh”
Case else
Print “invalid number”
End select
Slide 16
تمرین :برنامه ای بنویسید یک عدد دلخواه از ورودی بخواند و شرایط زیر را تعیین کند.
الف-آیا عدد یک رقمی است؟
ب-آیا عدد دو رقمی است؟
ج-آیا عدد سه رقمی است؟
Cls
د-آیا عدد بیش از سه رقم دارد؟
Input n
Select case n
Case 0 to 9:
”Print “One digit
Case 10 to 99:
”Print “Two digit
Case 100 to 999:
”Print “Three digit
Case else
”Print “>3 digit
End select
Slide 17
تابع : rndتولید اعداد تصادفی بین 0و 1
0
-1تولید یک عدد تصادفی بین 0, a
=a*rndمتغیر
-2تولید یک عدد صحیح تصادفی
بین : 0, a
)=int(a*rndمتغیر
-3تولید یک عدد تصادفی بین ( a, bبا شرط )a=(b-a+1)*rnd+aمتغیر
-4تولید یک عدد صحیح تصادفی بین : a, b
=int((b-a+1)*rnd)+aمتغیر
Slide 18
نمونه :1برنامه ای بنویسید که با هر بار اجرا یک عدد صحیح تصادفی بین 10و 100تولید کند.
Cls
Randomize timer
Print int(91*rnd)+10
نمونه :2برنامه ای بنویسید که با هر بار اجرا یک عدد
صحیح تصادفی چهار رقمی تولید کند.
Cls
Randomize timer
Print int(9000*rnd)+1000
Slide 19
سوال :برنامه ای بنویسید که با هر بار اجرا 10عدد صحیح تصادفی بین دو عدد دلخواه تولید کند.
Cls
Input a,b
Randomize timer
For i=1 to 10
Print int((b-a+1)*rnd)+a
Next i
Slide 20
دستورالعمل حلقه:
از این دستورالعمل برای تکرار مجموعه ای از دستورالعملها به دفعات معین یا نا معین
دستورالعملها به دفعات معین یا نا معین استفاده می شود.
دستورات حلقه معین:
For-next
دستورات حقله نامعین:
while-wend, do while-loop, do until-loop
Slide 21
شکل کلی دستور For-next
Slide 22
Slide 23
Slide 24
تمرین:
-1برنامه ای بنویسید که 10عدد از ورودی بخواند و تعداد اعداد فرد و منفی را شمرده و چاپ کند.
-2برنامه ای بنویسید که یک عدد از ورودی بخواند و معین کند عدد تام است یا نه؟
(هر عددی که با مجموع مقسوم علیه های کمتر از خودش برابر باشد عدد تام می گویند .مثل عدد 6تام است)
Slide 25
سوال :1برنامه ای بنویسید خروجی زیر را تولید کند.
Cls
For i=1 to 5
for j=1 to i
;Print j
next j
Print
Next i
حلقه
داخلی
حلقه
بیرونی
2
2 3
2 3 4
2 3 4 5
حلقه های تو
در تو
1
1
1
1
1
Slide 26
. برنامه ای بنویسید خروجی زیر را تولید کند:2سوال
1
2
3
4
5
2
3 3
4 4 4
5 5 5 5
Cls
For i=1 to 5
for j=1 to i
Print i;
next j
Next i
Slide 27
5
4
3
2
1
4 3 2 1
3 2 1
2 1
1
. برنامه ای بنویسید خروجی زیر را تولید کند:3سوال
Cls
For i=5 to 1 step -1
for j=i to 1 step -1
Print j;
next j
Next i
Slide 28
تمرین در منزل
-1برنامه بنویسید که چند عدد طبیعی از ورودی دریافت کند و ماکزیمم آن اعداد را محاسبه و چاپ کند.
-2برنامه ای بنویسید که یک عدد طبیعی از ورودی دریافت کند و مقلوب آن عدد را محاسبه و نمایش دهد.
-3برنامه بنویسید که یک عدد طبیعی از ورودی بگیرد و مجموع ارقام آن عدد را محاسبه و چاپ کند.
-4برنامه بنویسید که تعدادی عدد دلخواه از ورودی بخواند و معین کند چندتا مضرب 2و چندتا مضرب 3و
مضرب 5می باشند؟ دریافت برنامه تا زمانی ادامه یابد که کاربر عدد -1وارد کند.
چند تا
Slide 29
تمرین:
برنامه ای بنویسید که 𝑿 را بگیرد و حاصل عبارت زیر را تا 10جمله اول آن حساب کند.
𝑋2 𝑋3 𝑋4
𝑋−
+
−
⋯+
2
3
4
Slide 30
حلقه نامعین:
حلقه نامعین ،حلقه ای است که تعداد دفعات تکرار
از قبل معلوم نیست.
حلقه نامعین :while- wend
دستور حلقه :while
عبارت شرطی While
….
….
….
….
Wend
توجه :ابتدا عبارت شرطی مقابل whileبررسی
می شود تا زمانیکه نتیجه شرط درست( )Trueباشد
مجموعه دستورات حلقه تکرار خواهدشد.
Slide 31
فلوچارت دستور حلقه
while-wend
Slide 32
نمونه:1
برنامه بنویسید که تعدادی عدد از ورودی بگیرد و مجموع اعداد وارد شده را محاسبه کند.
شرط خاتمه برنامه وارد کردن عدد صفر است.
output
S=S+X
X
57
12
12
2
-10
32
30
57
25
0
Cls
Input “enter a number:”,X
Let S=0
While X<>0
S=S+X
Input “enter a number:”,X
Wend
Print “sum of numbers :”;S
Slide 33
نمونه:2
برنامه بنویسید که دو عدد از ورودی بخواند و کوچکترین مضرب مشترک آندو عدد را
محاسبه و چاپ کند.
Kmm
Bmm
90
6
m
r
b
a
540
12
18
30
6
12
18
0
6
12
امتحان برنامه
Cls
Input a,b
Let m=a*b
While b>0
r=a mod b
a=b
b=r
Wend
Bmm=a
Kmm=m/Bmm
Print “Kmm is:”; Kmm
Slide 34
نمونه:2
می خواهیم مبلغ 50ریال را با سکه های 2و 5و 10ریالی خرد کنیم .برنامه ای بنویسید که
تعداد حالتهای ممکن را محاسبه و نمایش دهد.
Cls
S=0
For i=1 to 25
for j=1 to 10
for k=1 to 5
if i*2+j*5+k*10=50 then S=S+1
next k
next j
Next I
Print S
دستور
حلقه
Slide 35
i
j
k
i*2+j*5+k*10=50
S
1
1
1
no
0
1
1
2
no
0
1
1
3
no
0
1
1
4
no
0
1
1
5
no
0
1
2
1
no
0
1
2
2
no
0
.
.
.
.
.
.
.
.
.
.
5
2
3
yes
1
5
4
2
yes
2
5
6
1
yes
3
10
2
2
yes
4
.
.
.
.
.
output
Slide 36
سوال:
برنامه ای بنویسید که تمام اعداد سه رقمی را که می توان با ارقام 1تا 5
نوشت ،بنویسید.
Cls
For i=1 to 5
for j=1 to 5
for k=1 to 5
; print i+j*10+k*100
next k
next j
Next i
Slide 37
دستور حلقه :do while-loopمشابه دستور while-wendاست.
دستور حلقه :do while
عبارت شرطی Do While
….
….
….
….
loop
توجه :ابتدا عبارت شرطی مقابل do whileبررسی
می شود تا زمانیکه نتیجه شرط درست( )Trueباشد
مجموعه دستورات حلقه تکرار خواهدشد.
Slide 38
نمونه :1
برنامه ای بنویسید که دو عدد از ورودی بخواند و
کوچکترین مضرب مشترک آن دو عدد را محاسبه و چاپ
کند.
Cls
Input “enter a:”,a
Input “enter b:”,b
Let m=a*b
Do while b>0
r=a mod b
a=b
b=r
Loop
Kmm=m/a
Print “Kmm is:”;Kmm
Slide 39
نمون:3
برنامه ای بنویسید که یک عدد در مبنای 2از ورودی بخواند و مقدار آن را در مبنای 10
محاسبه و نمایش دهد.
Output
S
r*2^i
r
i
n
28
0
0
0
0
11100
0
0
0
1
1110
4
4
1
2
111
12
8
1
3
11
28
16
1
4
1
توقف
حلقه
امتحان برنامه
0
Cls
Input n
S=0
i=0
while n>0
r=n mod 2
S=S + r * 2 ^ i
i=i+1
n=n\10
Wend
Print S
Slide 40
نمونه:2
یک عدد از ورودی بخواند و مقلوب آن عدد را محاسبه کرده و چاپ کند.
Output
5432
S
n
r
5
5
2345
54
4
234
543
3
23
5432
2
2
0
امتحان برنامه
Cls
Input n
S=0
While n>0
r=n mod 10
S=S*10+r
n=n\10
Wend
Print S
Slide 41
سوال :آیا می توان دستور For-nextرا با دستور while-wendو یا دستور do while-loopپیاده
سازی کرد؟
نمونه:1
برنامه ای بنویسید 10عدد از ورودی بخواند و میانگین
اعداد وارد شده را محاسبه و چاپ کند.
با حلقه
while
Cls
i=1
S=0
While i<=10
Input X
S=S+X
i=i+1
Wend
Ave=S/10
Print Ave
با حلقه
For
Cls
S=0
For i=1 to 10
Input X
S=S+X
Next i
Ave=S/10
Print Ave
Slide 42
تمرین ویژه:
برنامه ای بنویسید یک عدد در مبنای 16از ورودی بخواند و آن را به مبنای 10تبدیل کرده و
نمایش دهد.
مثال:
(𝐴83)16 = 2691