Algorithm Ans-Signed PDF
Algorithm Ans-Signed PDF
00000000000
00000000000
00000000000
00000000000
00000000000
00000000000
فارس 00000000000
00000000000
گروه آموزشی کامپیوتر استان
00000000000
00000000000
00000000000
00000000000
00000000000
00000000000
00000000000
00000000000
00000000000
نمونه سواالت الگوریتم
.1الگوریتمی بنویسید که یک عدد به واحد میلی متر دریافت کرده ،معین کند
چندمتر و چند سانتی متر و چند میلی متر است.
-شروع 1
mm -را دریافت کن 2
m ←N \ 1000- 3
mm ← N mod 1000 - 4
cm ← mm \ 100 - 5
mm ← Mm mod 100 - 6
mm , cm , m -را چاپ کن 7
-پایان 8
.3الگوریتمی بنویسید که دو متغیر عددی A,Bرا دریافت کرده ،سپس محتوای آنها
را با هم تعویض کند.
- 1شروع
A, B- 2را دریافت کن
temp ← 0- 3
temp ← A- 4
A ← B- 5
B ← temp- 6
- 7پایان
.4الگوریتمی بنویسید که سه متغیر A,B,Cرا دریافت کرده سپس Aرا در Bو Bرا
در Cو سپس Cرا در Aقرار دهد
-شروع 1
a,b,c-را دریافت کن 2
temp ←0- 3
temp ← b- 4
b ← a- 5
a ← c- 6
c ← temp- 7
-پایان 8
.5الگوریتمی بنویسید که عددی را دریافت کرده و معین کند زوج است یا فرد
- 1شروع
A- 2را دریافت کن
آنگاه a mod 2 = 0 -3اگر
را نمایش بده " aزوج است " پیغام
در غیر اینصورت
را نمایش بده " aفرد است " پیغام
-4پایان
- 1شروع
m , d- 2را دریافت کن
آنگاه (m-1) < =6 - 3اگر
days ← (m-1) *31 +d
در غیر اینصورت
days ← (m-7)*30 +(6*31) +d
days- 4را چاپ کن
- 5پایان
.7الگوریتمی بنویسید که شماره یک روز از سال را دریافت کرده ،تاریخ روز را
معین کند(.مثال:اگر 64وارد شد نمایش دهد )3/2
- 1شروع
Days- 2را دریافت کن
آنگاه - 3اگر days < = 186
m ← days \ 31 +1
d ← m mod 31
m ← m-1 و d=31 آنگاه اگر d=0
در غیر اینصورت
Days=days - 186
m ← days \ 30 +7
d ← m mod 30
و m, ← m-1 d=30 اگر d=0آنگاه
m , d - 4را نمایش بده
- 5پایان
.8الگوریتمی بنویسید که تمام اعداد زوج دو رقمی را چاپ کند.
-شروع 1
n ← 2- 2
-مادامی که n <=98تکرار کن 3
{
Nرا نمایش بده
n ← n +2
}
-پایان 4
.9الگوریتمی بنویسید که عددی را دریافت کرده مقسوم علیه های آن را چاپ کند.
-شروع 1
n-را دریافت کن 2
c ← 1- 3
تکرار کن -مادامی که c < = n 4
{
cرا چاپ کن آنگاه اگر n mod c =0
c ← c+1
}
- 5پایان
الگوریتمی بنویسید که عددی را دریافت کرده و معین کند اول است یا .10
خیر.
-شروع 1
N-را دریافت کن 2
c ← 2-و sum ← 0 3
c <= n \ 2تکرار کن -مادامی که 4
{
sum ← sum +1 آنگاه n mod c =0 اگر
}
آنگاه -5اگر sum =0
" عدد اول است " را نمایش بده پیغام
در غیر اینصورت
پیغام " عدد اول نیست " را نمایش بده
-6پایان
-شروع 1
a,b-را دریافت کن 2
temp ← 0 - 3
mul ← a *b- 4
تکرار کن a mod b <> 0 - 5مادامی که
{
Temp←b
b ← a mod b
a ← Temp
}
bmm ← b - 6
kmm ← mul \ bmm- 7
Bmm -و kmmرا نمایش بده 8
-پایان 9
- 1شروع
mul ← 1 -2
c ← 1 -3
n← 1 -4
-5مادامی که n <= 10تکرار کن
{
تکرار کن c <=n مادامی که
{
mul ← mul*c
c ← c+1
}
mulرا نمایش بده
c ←1
n ← n+1
}
-6پایان
شروع -1
nرا دریافت کن -2
sum ← 0 -3
مادامی که n>0تکرار کن -4
{
b ← n mod 10
sum ← sum + b آنگاه اگر b mod 2 <> 0
n ← n \ 10
}
sum -5را چاپ کن
-6پایان
-1شروع
n ← 100 -2
-3ما دامی که n <1000تکرار کن
{
yekan ← n mod 10
sadgan ← n \ 100
dahgan ← (n mod 100) mod 10
n آنگاه yakan mod 2 <>0 and اگر dahgan mod 2 =0 and sadgan mod 5 =0
را نمایش بده
n ← n+ 2
}
-4پایان
الگوریتمی بنویسید که عددی را بر حسب ثانیه دریافت کرده تعیین کند .15
چند ساعت ،چند دقیقه ،و چند ثانیه است.
-1شروع
n -2را در یافت کن
hour ← n \ 3600 -3
n ← n mod 3600 -4
minute ← n \ 60 -5
second ← n mod 60 -6
را چاپ کن hour , minute , second -7
-8پایان
الگوریتمی بنویسید که شعاع دایره را دریافت کند ،مساحت و محیط دایره .16
را بدست آورد.
-شروع 1
R-را دریافت کن 2
masahat ← 3.14 *r*r - 3
mohit ← 2* 3.14 *r- 4
masahat -و mohitرا نمایش بده 5
-پایان 6
الگوریتمی بنویسید که عددی را دریافت کند ،تعیین کند مثبت است یا .17
منفی.
- 1شروع
N- 2را دریافت کن
آنگاه - 3اگر n > 0
پیغام " عدد مثبت است " را نمایش بده
در غیر این صورت
پیغام " عدد منفی است " را نمایش بده
- 4پایان
الگوریتمی بنویسید که نمره دانش آموزی را دریافت کند اگر مجاز است .18
تعیین کند قبول است یا مردود.
- 1شروع
N- 2را دریافت کن
آنگاه n<= 20 and - 3اگر n > = 0
آنگاه n > =10 اگر
پیغام " قبول است " را نمایش بده
در غیر این صورت
پیغام " مردود است " را نمایش بده
در غیر این صورت
پیغام " عدد نا معتبر است " را نمایش بده
- 4پایان
تعیین کند یک رقمی -دورقمی الگوریتمی بنویسیدکه عددی را دریافت کند .19
یا سه رقمی به باال است.
-شروع 1
N -را دریافت کن 2
sum ← 0- 3
تکرار کن sum <4 and -مادامی که n > 0 4
{
← n n \ 10
← sum sum + 1
}
Sum- 5را نمایش بده
- 6پایان
الگوریتمی بنویسید که عدد Nرا دریافت کرده اعداد یک تا Nرا چاپ .20
کند.
-شروع 1
N -را دریافت کن 2
c ← 1- 3
c <= nتکرار کن -مادامی که 4
{
cرا چاپ کن
c ← c+1
}
- 5پایان
الگوریتمی بنویسید که عدد Nرا دریافت کرده اعداد زوج Nتا 1را از .21
بزرگ به کوچک چاپ کند.
- 1شروع
n - 2را دریافت کن
n ← n-1 آنگاه n mod 2 <> 0 - 3اگر
تکرار کن - 4مادامی که n >1
{
nرا نمایش بده
n ← n-2
}
-5پایان
الگوریتمی بنویسید که اعداد Aو Bرا دریافت کرده اعداد فرد بین Aو B .22
را چاپ کند
- 1شروع
a , b- 2را دریافت کن
آنگاه - 3اگر a > b
max ← a
min ← b
در غیر اینصورت
max ← b
min ← a
آنگاه min ← min+1در غیر این صورت min ← min +2 min mod 2 =0 -4اگر
min < = maxتکرار کن -5مادامی که
{
minرا چاپ کن
min ← min +2
}
- 5پایان
الگوریتمی بنویسید که اعداد Aو Bرا دریافت کرده تعیین کند عدد بزرگ .23
به عدد کوچک بخشپذیر هست یا خیر.
- 1شروع
a , b- 2را دریافت کن
آنگاه - 3اگر a > b
max ← a
min ← b
در غیر اینصورت
max ← b
min ← a
-4اگر max mod min =0آنگاه
پیغام " بخشپذیر است " را نمایش بده
در غیر این صورت
پیغام "بخشپذیر نیست " را نمایش بده
-5پایان
الگوریتمی بنویسید که عدد Aرا دریافت کرده تعداد ارقام آن را چاپ .24
کند.
-شروع 1
N -را دریافت کن 2
sum ← 0- 3
تکرار کن -مادامی که n > 0 4
{
← n n \ 10
← sum sum + 1
}
Sum- 5را نمایش بده
- 6پایان
الگوریتمی بنویسید که عدد Aرا دریافت کرده مجموع ارقام آن را چاپ .25
کند.
-1شروع
N-2را دریافت کن
sum ← 0 -3
تکرار کن -4مادامی که n > 0
{
b ← n mod 10
n ← n\10
sum ← sum + b
}
Sum-5را نمایش بده
-6پایان
الگوریتمی بنویسید که عدد Aرا دریافت کرده معکوس آن را چاپ کند. .26
-1شروع
N-2را دریافت کن
sum ← 0 -3
تکرار کن -4مادامی که n > 0
{
b ← n mod 10
n ← n\10
sum ← Sum*10 + b
}
Sum-5را نمایش بده
-6پایان
الگوریتمی بنویسید که 10عدد دریافت کرده تعیین کند هر کدام زوج است .27
یا فرد.
- 1شروع
c ← 1- 2
- 3مادامی که c <= 10تکرار کن
{
nرا دریافت کن
اگر n mod 2 =0آنگاه
پیغام " زوج است " را نمایش بده
در غیر این صورت
پیغام " فرد است " را نمایش بده
c ← c+1
}
- 4پایان
-شروع 1
n -را دریافت کن 2
c ←1- 3
-مادامی که c <= nتکرار کن 4
{
cرا نمایش بده
c ← c+1
}
- 5پایان
الگوریتمی بنویسید که عددی صحیح دریافت کرده اعداد فرد بین یک تا آن .29
عدد را از بزرگ به کوچک چاپ کند.
-شروع 1
n -را دریافت کن 2
n ← n-1 آنگاه n mod 2 = 0 -اگر 3
تکرار کن -مادامی که n >0 4
{
nرا نمایش بده
n ← n-2
}
-5پایان
-شروع 1
c ←1- 2
sum ← 0- 3
تکرار کن -مادامی که c < = 10 4
{
nرا دریافت کن
sum ← Sum + n
}
را نمایش بده sum و sum /10 -5
-6پایان
الگوریتمی بنویسید که عددی صحیح دریافت کرده مجموع مقسوم علیه های آن .31
را چاپ کند.
- 1شروع
N- 2را دریافت کن
c ← 1- 3
sum ← 0- 4
- 5مادامی که c < nتکرار کن
{
sum ← sum +c آنگاه اگر n mod c =0
c ← c+1
}
sum- 6را چاپ کن
- 7پایان
فاکتوریل آنرا محاسبه الگوریتمی بنویسید که عددی صحیح دریافت کرده و .32
کند.
-شروع 1
n-را دریافت کن 2
fact ← 1- 3
تکرار کن -مادامی که n > 1 4
{
fact ← fact * n
n ← n-1
}
fact- 5را نمایش بده
- 6پایان
- 1شروع
f 0 ← 0 -2
f 1 ← 1 -3
f 0 -4و f 1را نمایش بده
c ← 1 -5
تکرار کن -6مادامی که c < 9
{
sum ← f 0 + f 1
Sumرا نمایش بده
f 0 ← f1
f1 ← Sum
c ← c+1
}
- 7پایان
-شروع 1
i ← 1- 2
j ← 1- 3
تکرار کن I < = 10 -مادامی که 4
{
تکرار کن مادامی که j < = 10
{
i* jرا نمایش بده
j ← j+1
}
i ← i+1
}
- 5پایان
-شروع 1
A-را دریافت کن 2
N-را دریافت کن 3
max ← A- 4
min ←A- 5
c ← 2- 6
-مادامی c < = nتکرار کن 7
{
را دریافت کن A
max ← a آنگاه اگر a > max
min ← a آنگاه a < min اگر
c ← C+1
}
را چاپ کن max - 8و min
- 9پایان
-شروع 1
A , b -را دریافت کن 2
sum ← A+b - 3
Sum-را نمایش بده 4
-پایان 5
-شروع 1
A, b-را دریافت کن 2
masahat ← (a*b) /2 - 3
Masahat -را نمایش بده 4
-پایان 5
- 1شروع
R- 2را دریافت کن
R ← R / 2- 3
mohit ← 2*3.14*R- 4
masahat ← 3.14*R*R- 5
Mohit , masahat- 6را نمایش بده
- 7پایان
الگوریتمی بنویسید که دو عدد دریافت کند ،سپس مقدار آنها را جابجا .39
کند بدون استفاده از متغیر کمکی.
-شروع 1
a,b-را دریافت کن 2
a ← a+b- 3
b ← a-b- 4
a ← a-b- 5
-پایان 6
- 1شروع
a , b- 2را دریافت کن
- 3اگر a>bآنگاه
را نمایش بده a
در غیر ان صورت
bرا نمایش بده
- 4پایان
- 1شروع
a , b, c - 2را دریافت کن
آنگاه - 3اگر a > b
max ← a
در غیر این صورت
max ← b
- 4اگر c > maxآنگاه max ← c
Max - 5را چاپ کن
- 6پایان
الگوریتمی بنویسید که عددی دریافت کرده اگر مثبت باشد آن را به توان .42
دو برساند و اگر منفی باشد به توان سه برساند.
- 1شروع
a- 2را دریافت کن
آنگاه - 3اگر a > 0
a*aرا چاپ کن
در غیر این صورت
a*a*aرا چاپ کن
- 4پایان
الگوریتمی بنویسید که عددی صحیح دریافت کرده تعیین کند عدد وارد شده .43
بر سه بخشپذیر هست یا خیر.
- 1شروع
a- 2را دریافت کن
- 3اگر a mod 3 =0آنگاه
پیغام " عدد بر 3بخشپذیر است " را نمایش بده
در غیر این صورت
پیغام " عدد بر 3بخشپذیر نیست " را نمایش بده
- 4پایان
الگوریتمی بنویسید که حقوق کارمندی را دریافت کرده اگر کمتر از .44
200000باشد %2اگر بین 200000تا 400000باشد %3و اگر بیشتر از
400000باشد %5مالیات ازآن کم کند و نتیجه را چاپ کند.
-شروع 1
a-را دریافت کن 2
pardakht ← a- a * 0.02 -اگر a < 200000آنگاه 3
← pardakht a- a * 0.03 آنگاه a < 400000 and -اگر a > 200000 4
آنگاه pardakht ← a- a * 0.05 a > 400000 -اگر 5
Pardakht-را نمایش بده 6
-پایان 7
-شروع 1
دریافت کن a , b , c -را 2
← delta b*b – 4*a*c- 3
deltaآنگاه -اگر >= 0 4
(x1 ← (-b + sqrt )) delta ) /(2 *a
(x2 ← (-b - sqrt )) delta )/(2 *a
x1 , x2را نمایش بده
در غیر این صورت
پیغام " این معادله ریشه ندارد " را نمایش بده
- 5پایان
الگوریتمی بنویسید که دو عدد دریافت کرده تعیین کند عدد بزرگتر به .46
عدد کوچکتر بخش پذیر است یا خیر.
- 1شروع
a , b- 2را دریافت کن
آنگاه - 3اگر a > b
a mod b =0آنگاه پیغام " بخشپذیر است " را نمایش بده اگر
در غیر این صورت
b mod a =0آنگاه پیغام " بخشپذیر است " را نمایش بده اگر
- 4پایان
الگوریتمی بنویسید که سه عدد را دریافت کند تعیین کند این سه عدد می .47
توانند یک مثلث ایجاد کنند یا خیر.
-شروع 1
a , b , c-را دریافت کن 2
-اگر a + b > c 3
- 4
الگوریتمی بنویسید که طول سه ضلع مثلث را دریافت کند تعیین کند که چه .48
نوع مثلثی است.
-شروع 1
a , b , c -را دریافت کن 2
a=c orآنگاه پیغام " مثلث متساوی الساقین است " b=c or a=b -اگر 3
را نمایش بده
آنگاه پیغام " مثلث متساوی االضالع است " را نمایش بده a=b=c -اگر 4
-پایان 5
-شروع 1
M-را دریافت کن 2
binary ←0-و P ← 0 3
-مادامی که m <> 0تکرار کن 4
{
digit ← m mod 2
binary ← binary + digit * 10p
p ← p+1
m ← m\2
}
-شروع 1
i ← 1- 2
Hex ← ""- 3
decimal ← 0- 4
Hex-را دریافت کن 5
”“ >< sآنگاه تکرار کن -مادامی که 6
{
Iامین حرف از سمت راست متغیر S← Hex
digit ← 10 اگر ” s=”Aآنگاه
digit ← 11 اگر ” s=”Bآنگاه
digit ← 12 اگر ” s=”Cآنگاه
digit ← 13 اگر ” s=”Dآنگاه
digit ← 14 اگر ” s=”Eآنگاه
digit ← 15 اگر ” s=”Fآنگاه
digit ← 9 اگر ” s=”9آنگاه
digit ← 8 اگر ” s=”8آنگاه
digit ← 7 اگر ” s=”7آنگاه
digit ← 6 اگر ” s=”6آنگاه
digit ← 5 اگر ” s=”5آنگاه
digit ← 4 اگر ” s=”4آنگاه
digit ← 3 اگر ” s=”3آنگاه
digit ← 2 اگر ” s=”2آنگاه
digit ← 1 اگر ” s=”1آنگاه
digit ← 0 اگر ” s=”0آنگاه
decimal ← decimal + digit * 16I-1
i ← i+1
}
Decimal-را نمایش بده 7
-پایان 8
الگوریتمی بنویسید که هر بار عددی دریافت کرده و شمارش کند با ورود .53
عدد صفر یا منفی برنامه خاتمه یابد.
-شروع 1
c ← 1- 2
را دریافت کن N- 3
n >0تکرار کن -مادامی که Or n <>0 4
{
Nرا دریافت کن
c ← c+1
}
I - 5را چاپ کن
- 6پایان
الگوریتمی بنویسید که هر بار عددی دریافت کند تا زمانی که صفر وارد .54
شود در پایان بزرگترین عدد وارد شده را چاپ کند.
-شروع 1
را دریافت کن N- 2
Max ← N- 3
-مادامی که n <>0تکرار کن 4
{
Nرا دریافت کن
← max n اگر n > maxآنگاه
}
max - 5را چاپ کن
- 6پایان
- 4پایان
الگوریتمی بنویسید که عددی صحیح دریافت کرده ارقام آن را تک تک چاپ .56
کند.
- 1شروع
N- 2را دریافت کن
- 3مادامی که N <> 0تکرار کن
}
N MOD 10را چاپ کن
N ← N \10
{
- 4پایان
الگوریتمی بنویسید که عددی صحیح دریافت کرده ،تعیین کند چند رقمی .57
است.
- 1شروع
N- 2را دریافت کن
- 3مادامی که N <> 0تکرار کن
}
N ← N \10
C ← C+1
{
C- 4را چاپ کن
- 5پایان
الگوریتمی بنویسید که هر بار عددی دریافت کند تا زمانی که صفر وارد .58
شود در پایان تعداد اعداد زوج و مثبت را چاپ کند.
.1شروع
را دریافت کن N .2
C ← 1 .3
.4مادامی که n <>0تکرار کن
{
Nرا دریافت کن
اگر n > 0 AND n MOD 2 =0آنگاه C ← C+1
}
C .5را چاپ کن
.6پایان
- 1شروع
N- 2را دریافت کن
- 3مادامی که N <> 0تکرار کن
}
B = N MOD 10
B=B*10+B
N ← N \10
{
- 4پایان
بین 2و 3بر الگوریتمی بنویسید که عددی صحیح دریافت کرده تعیین کند .60
کدام یک بخش پذیر است
-شروع 1
A-را دریافت کن 2
را چاپ کن " عدد بر 2بخشپذیر است " پیغام -اگر A MOD 2= 0آنگاه 3
را چاپ کن " عدد بر 3بخشپذیر است " پیغام -اگر A MOD 3= 0آنگاه 4
-پایان 5
الگوریتمی بنویسید که عددی صحیح دریافت کرده اگر منفی بود تعیین کند .61
که زوج است یا فرد
-1شروع
A- 2را دریافت کن
آنگاه - 3اگر A < 0
{
A MOD 2 =0آنگاه اگر
{
پیغام " عدد زوج است " را نمایش بده
در غیر این صورت
پیغام " عدد فرد است" را نمایش
بده
}
}
الگوریتمی بنویسید که یک عدد صحیح دریافت کند مجموع ارقام آن را بدست .62
آورده و چاپ کند.
-شروع 1
N-را دریافت کن 2
SUM ← 0 - 3
-مادامی که N <> 0تکرار کن 4
}
SUM ← SUM + N MOD 10
N ← N \10
{
SUM- 5را چاپ کن
- 6پایان
الگوریتمی بنویسید که عددی دریافت کند تعیین کند رقم اول و آخر آن .63
برابر است یا خیر .
- 1شروع
N-را دریافت کن 2
first ← N mod 10- 3
N ← N \10- 4
-مادامی که N <> 0تکرار کن 5
}
last ← N mod 10
N ← N \10
{
- 6اگر first =lastآنگاه پیغام “ “ yesرا نمایش بده در غیر این صورت “ “noرا نمایش بده
- 7پایان
الگوریتمی بنویسید که 10بار 3عدد را دریافت کند و میانگین آنها را .64
بنویسد
- 1شروع
I ← 1- 2
- 3مادامي كه I<=10تكرار كن
{
a ,b,cرا بگیر
(a+b+c) / 3را نمایش بده
I ← I+1
{
- 4پایان
الگوریتمی بنویسید که عدد 1تا 100را تک تک چاپ کند .65
- 1شروع
I ← 1- 2
- 3مادامي كه I < = 100تكرار كن
{
Iرا نمایش بده
I ← I+1
}
-4پایان 4
الگوریتمی بنویسید که عددی صحیح دریافت کرده فاکتوریل آن را حساب کند .66
- 1شروع
Fact ← 1 - 2
N- 3را دریافت كن
- 4مادامي كه N > 1تكرار كن
{
Fact ← Fact *N
N ← N- 1
}
Fact- 5را نمایش بده
- 6پایان
الگوریتمی بنویسید که ده عدد دریافت کرده مجموع آنها را چاپ کند .67
- 1شروع
I ← 1- 2
sum ← 0 - 3
I<=10تكرار كن - 4مادامي كه
{
aرا بگیر
sum ← sum +a
I ← I+1
{
الگوریتمی بنویسید که دو عدد Aو Bرا دریافت کرده اعداد زوج بین .68
آنها را چاپ کند
- 1شروع
a , b- 2را دریافت كن
- 3اگر a mod b =0انگاه a ← a+2در غیر این صورت a ← a+1
- 4مادامي كه a < bتكرار كن
{
aرا نمایش بده
a ← a+2
}
- 5پایان
الگوریتمی بنویسید که سن شخصی را بر حسب سال دریافت کند تعیین کند .69
چند ماه و چند هفته و چند روز است
-شروع 1
Age-را بگیر 2
m ← Age *12- 3
h ← Age*12*4- 4
r ← Age*12*4*7- 5
m,h,r-را نمایش بده 6
-پایان 7