ﺑﺎ ﻪ ﻌﺎ ﯽ
دا ه
ﯽ ﺮ ﻒ -دا
ا ﺤﺎن ﯿﺎن م س
ر ١٣٣٩٠/٨/٢٩ :
وه :ا ﺘﺎد ر ﻦ ا ﺪ ﯽ
ه ﻨﺪ ﯽ ﮐﺎ
ﻮ ﯽ ﭘﺎ ﮑﺎل
دون
ا ﺘﺎد ج ن
ﻤﺎم وه
ا ﺘﺎد ا ﺪا ﯽ
و
١ :ﺳﺎ ﺖ و ۴۵د ﻪ
ﺼﺎص دارد .ﻮ ﻖ و ﺮﺑ ﻨﺪ ﺑﺎ ﯿﺪ.
ﻣﺸﺨﺺ ﻛﻨﻴﺪ .ﻫﺮ ﺑﺑﺮﮔﻪ ﻓﻘﻂ ﺑﻪ ﻳﻳﻚ ﺳﺆال اﺧﺘﺼ
ﺺ
ﺻﻨﺪﻟﻲ ﺧﻮد را
ﻲ
ﻄﻔﺎً در ﺑﺎﻻي ﺗﺗﻤﺎم ﺑﺮﮔﻪﻫﺎ ،ﺷﻤﺎره
ﻟﻄ
………
ﺷﻤﺎرره ﺻﻨﺪﻟﻲ… :
……
……………
ﺠﻮﻳﻲ…… :
ﺷﻤﺎره داﻧﺸﺠ
ﺷ
2ﻧﻤﺮه
ﺳﺆال 1
ﺳ
ﺑﺮﻧﺎﻣﻪ ﺗﻐﻴﻴﺮ ﻧﻜﻨﺪ )ﺗﻤﺎم ﺑﺨﺶﻫﺎﻳﻲ را ﻛﻪ ﻧﻘﺸﺸﻲ در ﺗﻮﻟﻴﺪ
ﻪ
ﺑﺮﺮﻧﺎﻣﻪ زﻳﺮ را ﺗﺎ ﺣﺪ اﻣﻜﺎن ﺳﺎده ﻧﻤﺎﻳﻴﺪ ﻃﻃﻮري ﻛﻪ ﺧﺮﺮوﺟﻲ
در ﭘﺸﺖ ﺑﺮﮔﻪ ﺑﺑﻨﻮﻳﺴﻴﺪ.
ﻧﺪارﻧﺪ ﺣﺬف ﻛﻨﻴﺪﺪ( .ﺑﺮﻧﺎﻣﻪ ﺳﺎدده ﺷﺪه را ر
ﺧﺧﺮوﺟﻲ ﻧﺪ
ﻋﺒﺎرتﻫﺎي ﻗﺮﻣﺰ رﻧﮓ ﺑﺎﻳﺪ ﺣﺬف ﺷﻮد .ﻫﺮ ﻣﻮرد 0.25ﻧﻤﺮه دارد .
}}{0.25
}}{0.25
}}{0.25
}}{0.25
}}{0.25
}}{0.25
}}{0.25
}}{0.25
Var
; X :Real
;N , I : inteeger
Beggin
;X := 4
For I := n dow
wnto n doo
; )Reeadln (x
If x > 0 then
)writteln(2*x
else
;;)writteln(2*x
=for I :
= 10 to 1 do
d
;))wriiteln(3*x
while 2=3
2 do
w
*writeln(4
;)*x
repeatt
w
writeln(5*x
;)x
;until True
T
;X := 8
8
End.
ﺷﻤﺎره ﺻﻨﺪﻟﻲ……… :
ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ………………… :
2/5ﻧﻤﺮه
ﺳﺆال 2
ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ﺻﺤﻴﺢ و ﻣﺜﺒﺖ Nرا درﻳﺎﻓﺖ ﻛﻨﺪ و ﺗﻤﺎم اﻋﺪاد ﺑﻪ ﺷﻜﻞ ! mﻛﻪ ﻛﻮﭼﻜﺘﺮ از Nﻫﺴﺘﻨﺪ را
ﭼﺎپ ﻛﻨﺪ .ﻣﺜﻼ ﺑﻪ ازاي N=720اﻋﺪاد 1,2,6,24,120را ﭼﺎپ ﻛﻨﺪ.
Var
} Wordﻳﺎ {Integer
;m, n, p : LongInt
Begin
;)Readln (n
;p := 1
;m := 1
}{0.5
While p < n do
begin
;)Writeln (p
}{0.5
;m := m + 1
}{0.5
;p := p * m
;end
End.
ﻣﻘﺪاردﻫﻲ اوﻟﻴﻪ 0.5ﻧﻤﺮه و ﺳﺎﻳﺮ ﺑﺨﺶﻫﺎ ﻫﻢ 0.5ﻧﻤﺮه دارد.
ﺷﻤﺎره ﺻﻨﺪﻟﻲ……… :
ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ………………… :
2/5ﻧﻤﺮه
ﺳﺆال 3
در ﻫﺮ ﻳﻚ از ﺑﺨﺶﻫﺎي زﻳﺮ ،ﻳﻚ دﺳﺘﻮر در در ﻣﺤﻞ ﻣﺸﺨﺺ ﺷﺪه ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻛﺎر ﺧﻮاﺳﺘﻪ ﺷﺪه را اﻧﺠﺎم دﻫﺪ.
)ﻣﻨﻈﻮر از ﻳﻚ دﺳﺘﻮر آن اﺳﺖ ﻛﻪ ﻓﻘﻂ ﺑﻪ ﻳﻚ ; ﻧﻴﺎز داﺷﺘﻪ ﺑﺎﺷﺪ(.
اﻟﻒ( دﺳﺘﻮري ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد ﻓﺮد ﺳﻪ رﻗﻤﻲ ﺗﺼﺎدﻓﻲ ﭼﺎپ ﻛﻨﺪ.
}Writeln ( 1 + 2 * ( 50 + random(450) ) ); {0.75
ب( ﻣﺘﻐﻴﺮﻫﺎي S1و S2از ﻧﻮع رﺷﺘﻪ ﻫﺴﺘﻨﺪ .دﺳﺘﻮري ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ اﮔﺮ S1ﭘﺴﻮﻧﺪ S2ﺑﺎﺷﺪ )ﻣﺜﻼ ' S1='xyzو
' S2='uwxyzﺑﺎﺷﺪ؛ S1در اﻧﺘﻬﺎي S2آﻣﺪه اﺳﺖ( آﻧﮕﺎه ﭘﻴﻐﺎم OKﭼﺎپ ﻛﻨﺪ.
}If Pos (S1,S2) = Length(S2) – Length(S1) + 1 Then Writeln ('OK'); {0.75
ﻳﺎ اﻳﻨﻜﻪ:
;)'If Copy(S2, Length(S2) – Length(S1)+1, Length(S1)) = S1 Then Writeln ('OK
}{1
ﺟﻮاب اول ﺗﺤﺖ ﺑﻌﻀﻲ ﺷﺮاﻳﻂ ﺟﻮاب اﺷﺘﺒﺎه ﻣﻲدﻫﺪ.
ج( دﺳﺘﻮر ;) GetDate(a,b,c,dرا در ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﻛﺎر ﺑﺮدهاﻳﻢ .دﺳﺘﻮري ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﺎرﻳﺦ اﻣﺮوز را ﭼﺎپ ﻛﻨﺪ.
ﻣﺜﻼ اﮔﺮ اﻣﺮوز ﺑﻴﺴﺘﻢ ﻣﺎه ﻳﺎزده از ﺳﺎل 2011ﺑﺎﺷﺪ ،ﻋﺒﺎرت 2011/11/20را ﻧﻤﺎﻳﺶ دﻫﺪ.
}{0.75
;) Writeln ( a , '/' , b , '/' , c
ﺷﻤﺎره ﺻﻨﺪﻟﻲ……… :
ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ………………… :
3/5ﻧﻤﺮه
ﺳﺆال 4
ﺑﺎ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ زﻳﺮ ،ﭼﻪ اﻋﺪادي در ﺧﺮوﺟﻲ ﭼﺎپ ﻣﻲﺷﻮد .اﻋﺪاد را ﺑﻪ ﺗﺮﺗﻴﺐ و در ﻣﺤﻞ ﻣﺸﺨﺺ ﺷﺪه ﺑﻨﻮﻳﺴﻴﺪ.
Var
;a, b, c, m, n : Integer
;) Procedure P ( var x : Integer ; a : Integer
;Function F ( u : Integer) : Integer
;var x , w : Integer
Begin
;x := 6
;m := m+x
;w := u + a
;F := w
;End
Begin
;) Writeln ( a , b
;)x := x + F (8
;)Writeln (x
;) )Writeln ( F(9
;a := n
;End
Begin
;n := 5
;c := 3
;m := 4
;a := 1
;b := 2
;) P ( a , c
;) Writeln ( a , m , c
End.
ﻋﺪد
ﻋﺪد
ﻋﺪد
ﻋﺪد
ﻋﺪد
ﻋﺪد
ﻋﺪد
ﻫﻔﺘﻢ
ﺷﺸﻢ
ﭘﻨﺠﻢ
ﭼﻬﺎرم
ﺳﻮم
دوم
اول
3
16
12
12
12
2
3
ﻫﺮ ﻋﺪد 0.5ﻧﻤﺮه دارد
ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ………………… :
ﺳﺆال 5
ﺷﻤﺎره ﺻﻨﺪﻟﻲ……… :
4/5ﻧﻤﺮه
زﻳﺮﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ دو آراﻳﻪ را ﺑﻪ ﻋﻨﻮان ورودي ﺑﮕﻴﺮد و ﺗﻌﻴﻴﻦ ﻛﻨﺪ ﻛﻪ آﻳﺎ اﻋﻀﺎي آراﻳﻪ اول ،ﺑﻪ ﻫﻤﺎن ﺗﺮﺗﻴﺐ
در آراﻳﻪ دوم وﺟﻮد دارد ﻳﺎ ﺧﻴﺮ )ﻣﻤﻜﻦ اﺳﺖ ﺑﺎ ﻓﺎﺻﻠﻪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ( .ﻣﺜﻼ اﮔﺮ ﻣﺎﺗﺮﻳﺲ آراﻳﻪ اول 1,2,3و
آراﻳﻪ دوم 5,1,4,9,2,8,3,17ﺑﺎﺷﺪ ،ﺟﻮاب ﻣﺜﺒﺖ ﺑﺮﮔﺮداﻧﺪ .وﻟﻲ اﮔﺮ آراﻳﻪ اول ﺑﻪ ﺷﻜﻞ 8,9ﺑﻮد ﺟﻮاب ﻣﻨﻔﻲ
ﺑﺮﮔﺮداﻧﺪ ﭼﻮن اﻳﻦ اﻋﺪاد ﺑﺎ ﺗﺮﺗﻴﺐ دﻳﮕﺮي در آراﻳﻪ دوم ﻇﺎﻫﺮ ﻣﻲﺷﻮﻧﺪ.
ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ اﻧﺪازه آراﻳﻪﻫﺎ ﻫﻢ ورودي ﺗﺎﺑﻊ ﺑﺎﺷﺪ .ﻫﻤﺎنﻃﻮر ﻛﻪ در ﺗﻤﺎم ﻣﺜﺎلﻫﺎي ﺣﻞﺷﺪه دﻳﺪهاﻳﺪ.
}{0.25
}{0.75
}{3.5
Type
;T = Array [1..100] of Integer
;Function F ( a , b : T ; m , n : Integer) : Boolean
Var
;i , j : Integer
;z : Boolean
Begin
;j := 1
;z := True
For i := 1 to m do
Begin
While (a[i] <> b[j]) and (j<n) do
;j := j + 1
If (j=n) and ( (a[i]<>b[j]) or (i<m) ) Then
;z := False
;j := j + 1
;End
;F := z
;End
ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ………………… :
ﺷﻤﺎره ﺻﻨﺪﻟﻲ……… :
3/5ﻧﻤﺮه
ﺳﺆال 6
ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ اﻋﻀﺎي ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻣﺘﻘﺎرن )ﺣﺪاﻛﺜﺮ 10در (10را از ﻛﺎرﺑﺮ ﺑﭙﺮﺳﺪ .از آﻧﺠﺎ ﻛﻪ در ﻣﺎﺗﺮﻳﺲ
ﻣﺘﻘﺎرن ،اﻋﻀﺎي ﺑﺎﻻ و ﭘﺎﻳﻴﻦ ﻗﻄﺮ اﺻﻠﻲ ﻣﺸﺎﺑﻬﻨﺪ ،اﻋﻀﺎي ﭘﺎﻳﻴﻦ ﻗﻄﺮ اﺻﻠﻲ را ﻧﺒﺎﻳﺪ از ﻛﺎرﺑﺮ ﺑﭙﺮﺳﻴﺪ.
ﺳﭙﺲ ﺗﻤﺎم اﻋﻀﺎي ﻣﺎﺗﺮﻳﺲ را ﺑﻪ ﻃﻮر ﻣﻨﻈﻢ روي ﺻﻔﺤﻪ ﻧﻤﺎﻳﺶ دﻫﻴﺪ .ﻃﻮري ﻛﻪ اﻋﻀﺎي ﻫﺮ ﺳﺘﻮن دﻗﻴﻘﺎ زﻳﺮ ﻫﻢ ﻗﺮار
ﮔﻴﺮﻧﺪ )اﻋﺪاد ﻫﺮ ﺳﺘﻮن راﺳﺖ ﭼﻴﻦ ﺑﺎﺷﻨﺪ(.
}{0.25
}Var a : Array[1..10,1..10] of Integer; {Real
;i, j, N : Integer
Begin
}{0.25
;)Readln(N
}{0.75
For i := 1 to N do
For j := i to N do
;)]Readln (a[i,j
}{1
For i := 1 to N do
For j := 1 to i-1 do
;]a[i,j] := a[j,i
}{0.25
For i := 1 to N do
begin
For j := 1 to N do
}{0.5
}{0.5
;) Write ( a[i,j] : 6
;Writeln
;end
End.
اﻧﺪازه ﻣﻴﺪان ﺧﻴﻠﻲ ﻣﻬﻢ ﻧﻴﺴﺖ .ﻻزم ﻧﻴﺴﺖ ﺣﺘﻤﺎ ﺑﻪ آراﻳﻪ ﻣﻘﺪار داده ﺷﻮد .ﺑﻠﻜﻪ ﻣﻲ ﺗﻮاﻧﺪ ﻓﻘﻂ ﻣﻮﻗﻊ ﭼﺎپ ﻛﺮدن،
ﻣﻘﺪار ﻣﻨﺎﺳﺐ را ﭼﺎپ ﻛﻨﺪ.
ﺷﻤﺎره ﺻﻨﺪﻟﻲ……… :
ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ………………… :
1/5ﻧﻤﺮه
ﺳﺆال 7
ﺑﺮﻧﺎﻣﻪاي ﻧﻮﺷﺘﻪاﻳﻢ ﻛﻪ ﻳﻚ ﻋﺪد ﺻﺤﻴﺢ ﻣﺜﺒﺖ را از ﻛﺎرﺑﺮ ﺑﭙﺮﺳﺪ و ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮرﻫﺎي ﻣﺮﺑﻮط ﺑﻪ رﺷﺘﻪ ،ﺗﻌﺪاد
ارﻗﺎم آن را ﭼﺎپ ﻛﻨﺪ .ﺳﭙﺲ ﻳﻚ ﻋﺪد 1ﺑﻪ ﺳﻤﺖ ﭼﭗ ﻋﺪد اﺿﺎﻓﻪ ﺷﻮد و ﺟﻮاب روي ﺻﻔﺤﻪ ﻧﻤﺎﻳﺶ داده ﺷﻮد .ﻣﺜﻼ
ﺑﻪ ازاي ﻋﺪد ،987اﻋﺪاد ) 3ﺳﻪ رﻗﻢ( و 1987روي ﺻﻔﺤﻪ ﻇﺎﻫﺮ ﺷﻮد.
ﺟﺎﻫﺎي ﺧﺎﻟﻲ را ﻛﺎﻣﻞ ﻛﻨﻴﺪ.
Var
;a, b, x : Integer
;w : String
Begin
;)Readln (a
;)……Str…….. (a , w
;) )Writeln ( Length(w
;w := ……'1'……. + w
;)………Val………. (w , b , x
;)Writeln (b
End.
ﻫﺮ ﻣﻮرد 0.5ﻧﻤﺮه دارد
© Copyright 2026 Paperzz