Lecture 14.pdf

‫ﻣﺪرس ‪ :‬ﻧﻮري‬
‫آذر ‪88‬‬
‫ﺗﻌﺮﻳﻒ آراﻳﻪاي ﺑﺮاي دﻣﺎي روزﻫﺎي ﺳﺎل‬
type
MonthTemp = array [1..31] of Real;
YearTemp = array [1..12] of MonthTemp;
type
YearTemp = array [1..12] of array [1..31] of Real;
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
2
‫ﺗﻌﺮﻳﻒ آراﻳﻪ دو ﺑﻌﺪي‬
var
array_name : array [min1..max1] of array [min2..max2] of element_type;
var
array_name : array [min1..max1, min2..max2] of element_type;
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
3
‫ﭼﻨﺪ ﻣﺜﺎل‬
Matrix : array[1..10,1..10] of Integer;
Mix : array[1..10,‘a’..’z’,boolean] of real;
Space: array[1..10,1..10,1..10] of Integer;
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
4
‫دﺳﺘﺮﺳﻲ ﺑﻪ ﻋﻨﺎﺻﺮ آراﻳﻪ‬
‫;‪Matrix [4, 5] := 6‬‬
‫;‪Matrix [2][7] := 10‬‬
‫‪Mix[1, ‘b’, false] := 1.234 :‬‬
‫;‪Space[3, 6, 4] := 4‬‬
‫‪5‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫دﺳﺘﺮﺳﻲ ﺗﺮﺗﻴﺒﻲ ﺑﻪ ﻋﻨﺎﺻﺮ آراﻳﻪ‬
‫‪for i := 1 to 10 do‬‬
‫‪for j := 1 to 10 do‬‬
‫;‪Matrix[i, j] := 0‬‬
‫‪for j := 1 to 10 do‬‬
‫‪for i := 1 to 10 do‬‬
‫;‪Matrix[i, j] := Matrix[j, i] + 2‬‬
‫‪6‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﻣﻘﺪار دﻫﻲ اوﻟﻴﻪ آراﻳﻪ‬
‫‪ y‬ﺑﻪ ﻃﻮر ﻛﻠﻲ ﻣﻲﺗﻮان ﻳﻚ ﻣﺘﻐﻴﺮ را ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻘﺪار دﻫﻲ اوﻟﻴﻪ ﻛﺮد‪.‬‬
‫‪const‬‬
‫;‪a : Integer = 10‬‬
‫;’‪c : Char = ‘g‬‬
‫‪ y‬آراﻳﻪ را ﻧﻴﺰ ﻣﻲﺗﻮان ﺑﻪ ﻫﻤﻴﻦ ﺷﻜﻞ ﻣﻘﺪاردﻫﻲ اوﻟﻴﻪ ﻛﺮد‪.‬‬
‫;)‪a : array [1..4] of Integer = ( 2, -5, 17, 0‬‬
‫;)'?' ‪b : array [0..2] of Char = ( 'a', '2',‬‬
‫; '?‪c : array [0..2] of Char = 'a2‬‬
‫‪7‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫رﺷﺘﻪ ﺑﻪ ﻋﻨﻮان آراﻳﻪاي از ﻛﺎراﻛﺘﺮﻫﺎ‬
‫‪ y‬در ﭘﺎﺳﻜﺎل ﻳﻚ رﺷﺘﻪ‪ ،‬آراﻳﻪاي از ﻛﺎراﻛﺘﺮﻫﺎﺳﺖ‪.‬‬
‫‪ y‬ﺑﻨﺎﺑﺮاﻳﻦ ﻣﻲﺗﻮان ﻫﻤﺎﻧﻨﺪ ﻋﻨﺎﺻﺮ ﻳﻚ آراﻳﻪ‪ ،‬ﺑﻪ ﻛﺎراﻛﺘﺮﻫﺎي ﻳﻚ رﺷﺘﻪ‬
‫دﺳﺘﺮﺳﻲ ﻳﺎﻓﺖ‪.‬‬
‫‪8‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﺷﻤﺮدن ﻛﺎراﻛﺘﺮﻫﺎي ﻣﺨﺘﻠﻒ‬
‫‪ y‬ﺗﺎﺑﻌﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ رﺷﺘﻪاي را درﻳﺎﻓﺖ ﻛﺮده و ﺗﻌﺪاد ﺗﻜﺮار ﻫﺮ ﺣﺮف را‬
‫ﻣﺸﺨﺺ ﻛﻨﺪ‪.‬‬
‫‪9‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﺷﻤﺮدن ﻛﺎراﻛﺘﺮﻫﺎي ﻣﺨﺘﻠﻒ‬
type
LetterArray = array ['A'..'Z'] of Integer;
var
Statement : String;
Ch : Char;
X : LetterArray;
function FindLetterCounts(St: String) :
LetterArray;
var
i : Integer;
Count : LetterArray;
Ch : Char;
begin
for Ch := 'A' to 'Z' do
Count[Ch] := 0;
‫ﻧﻮري‬: ‫ﻣﺪرس‬
for i := 1 to Length(St) do
Inc(Count[UpCase(St[i])]);
FindLetterCounts := Count
end;
begin
ReadLn(Statement);
X := FindLetterCounts(Statement);
for Ch := 'A' to 'Z' do
Write(X[Ch]);
end.
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
10
‫رﺷﺘﻪﻫﺎي ﺑﺎ ﻃﻮل ﻛﻤﺘﺮ‬
‫‪ y‬ﺑﻪ ﺻﻮرت ﻋﺎدي‪ ،‬ﭘﺎﺳﻜﺎل ﺣﺪاﻛﺜﺮ ﻃﻮل ﻳﻚ رﺷﺘﻪ را ‪ 255‬ﻛﺎراﻛﺘﺮ در ﻧﻈﺮ‬
‫ﻣﻲﮔﻴﺮد‪.‬‬
‫‪ y‬در ﺻﻮرت ﻧﻴﺎز ﻣﻲﺗﻮان ﺣﺪاﻛﺜﺮ ﻃﻮل ﻳﻚ رﺷﺘﻪ را ﻛﺎﻫﺶ داد‪.‬‬
‫‪type‬‬
‫;]‪String50 = String[50‬‬
‫‪var‬‬
‫;‪St : String50‬‬
‫;]‪St2 : String[20‬‬
‫‪11‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﻃﻮل رﺷﺘﻪ‬
‫‪ y‬در ﭘﺎﺳﻜﺎل‪ ،‬ﻃﻮل رﺷﺘﻪ در ﻋﻨﺼﺮ ﺑﺎ اﻧﺪﻳﺲ ‪ 0‬ذﺧﻴﺮه ﻣﻲﺷﻮد‪.‬‬
‫‪ y‬ﻣﻲﺗﻮان اﻳﻦ ﻣﻘﺪار را ﺗﻐﻴﻴﺮ داد ﺗﺎ ﻃﻮل رﺷﺘﻪ را ﻋﻮض ﻛﺮد‪.‬‬
‫‪var‬‬
‫;‪S : String‬‬
‫‪begin‬‬
‫;)'‪FillChar(S, 51, '+‬‬
‫;)‪S[0] := Chr(50‬‬
‫;)‪WriteLn(S‬‬
‫;)'‪FillChar(S, SizeOf(S), '+‬‬
‫;)‪S[0] := Chr(SizeOf(S)-1‬‬
‫;)‪WriteLn(S‬‬
‫‪end.‬‬
‫‪12‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﭼﻨﺪ ﻣﺜﺎل از رﺷﺘﻪ‬
‫‪ y‬ﺣﺬف ﻓﺎﺻﻠﻪﻫﺎي اﺑﺘﺪاي ﻳﻚ رﺷﺘﻪ‬
‫' =‪St :‬‬
‫;'‪now is the time‬‬
‫‪While Pos(Space, St) = 1 Do‬‬
‫;)‪Delete(St, 1, 1‬‬
‫‪13‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﭼﻨﺪ ﻣﺜﺎل از رﺷﺘﻪ‬
‫ ﺣﺬف ﻳﻚ ﻛﺎراﻛﺘﺮ ﻣﺸﺨﺺ از ﻛﻞ رﺷﺘﻪ‬y
St := 'Txxhixs xsenxtxxencxe hxxaxs toxxox xmaxxny exxexes.';
Remove := 'x';
New := '';
For Location := 1 to Length(St) Do
If St[Location] <> Remove
Then New := New + St[Location];
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
14
‫ﭼﻨﺪ ﻣﺜﺎل از رﺷﺘﻪ‬
‫‪ y‬اﺷﻜﺎل اﻳﻦ ﺑﺮﻧﺎﻣﻪ )ﺑﺮاي ﺣﺬف ﻳﻚ ﻛﺎراﻛﺘﺮ ﻣﺸﺨﺺ( ﭼﻴﺴﺖ‪.‬‬
‫‪for Location := 1 to Length(St) do‬‬
‫‪if St[Location] = Remove then‬‬
‫;)‪Delete(St, Location, 1‬‬
‫‪15‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﭼﻨﺪ ﻣﺴﺎﻟﻪ‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪y‬‬
‫‪16‬‬
‫ﺗﺎﺑﻌﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺣﺮوف ﻳﻚ رﺷﺘﻪ را ﺑﺰرگ ﻛﻨﺪ‪.‬‬
‫ﺣﺮوف ﺑﺰرگ رﺷﺘﻪ را ﻛﻮﭼﻚ و ﺣﺮوف ﻛﻮﭼﻚ را‬
‫ﺑﺰرگ ﻛﻨﺪ‪.‬‬
‫ﻓﺎﺻﻠﻪﻫﺎي آﺧﺮ رﺷﺘﻪ را ﺣﺬف ﻛﻨﺪ‪.‬‬
‫ﺗﻌﺪاد ﻛﻠﻤﻪﻫﺎي ﻳﻚ رﺷﺘﻪ را ﺑﺸﻤﺎرد‪.‬‬
‫رﺷﺘﻪ را ﻣﻌﻜﻮس ﻛﻨﺪ‪.‬‬
‫ﻋﺪد اﻋﺸﺎري را درﻳﺎﻓﺖ ﻛﺮده و ﺟﺎي ﻗﺴﻤﺖ ﺻﺤﻴﺢ و‬
‫اﻋﺸﺎري آن را ﻋﻮض ﻛﻨﺪ‪.‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﻣﺠﻤﻮﻋﻪﻫﺎ‬
‫‪ y‬ﻣﺠﻤﻮﻋﻪ ﻳﻜﻲ از اﻣﻜﺎﻧﺎت ﭘﺎﺳﻜﺎل اﺳﺖ ﻛﻪ در ﻛﻤﺘﺮ زﺑﺎﻧﻲ ﻣﺸﺎﺑﻪ آن وﺟﻮد‬
‫دارد‪.‬‬
‫‪ y‬ﻣﺸﺎﺑﻪ ﻣﻌﺎدل ﺧﻮد در رﻳﺎﺿﻲ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪17‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫}‪A={1, 2, 3‬‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﺗﻌﺮﻳﻒ ﻣﺠﻤﻮﻋﻪ‬
type
AllLetters = set of 'A'..'Z';
var
Vowel : set of 'A'..'Z';
Letter : AllLetters;
256 ‫ﺣﺪاﻛﺜﺮ اﻧﺪازه‬
type
set_type = set of base_type;
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
18
‫ﻣﺠﻤﻮﻋﻪ روي ﮔﻮﻧﻪﻫﺎي ﺷﻤﺎرﺷﻲ‬
type
Days = (Sat, Sun,
var
SomeDays : set of
WorkDays : set of
begin
SomeDays := [Sat,
WorkDays := [Sat,
end.
‫ﻧﻮري‬: ‫ﻣﺪرس‬
Mon, Tue, Wed, Thu, Fri);
Days;
Sat..Wed;
Mon, Wed];
Sun, Mon, Tue, Wed]
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
19
‫ﻣﺜﺎل‬
type
DigitSet = set of 0..9;
var
Odds, Evens, Middle, Mixed : DigitSet;
UpperCase : set of Char;
begin
Odds := [1, 3, 5, 7, 9];
Evens := [0, 2, 4, 6, 8];
UpperCase := ['A'..'Z'];
Middle := [];
Mixed := [0..9]
end.
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
20
‫ﻣﺜﺎل‬
‫ﻣﺠﻤﻮﻋﻪ ﻛﺎراﻛﺘﺮﻫﺎي‬
‫ﻳﻚ ﻋﺪد اﻋﺸﺎري‬
‫]'‪['0'..'9', '+', '-', 'E', '.‬‬
‫ﻣﺠﻤﻮﻋﻪ اﻋﺪاد ‪ 1‬ﺗﺎ ‪9‬‬
‫ﺑﺠﺰ ‪2‬‬
‫]‪[1, 3, 5, 4..9‬‬
‫ﺗﺴﺖ ﻋﻀﻮﻳﺖ در ﻣﺠﻤﻮﻋﻪ‬
‫]'‪Ch in ['A'..'Z‬‬
‫]'*' ‪Ch in ['+', '-', '/',‬‬
‫]'‪Vowels := ['A', 'a', 'E', 'e', 'I', 'i', 'O', 'o', 'U', 'u‬‬
‫)]'‪not (NextChar in ['A'..'Z', 'a'..'z‬‬
‫]'‪NextChar not int ['A'..'Z', 'a'..'z‬‬
‫‪21‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﻋﻤﻠﻴﺎت روي ﻣﺠﻤﻮﻋﻪﻫﺎ‬
‫‪22‬‬
‫ﻧﺘﻴﺠﻪ‬
‫ﻧﻤﻮﻧﻪ‬
‫ﻋﻤﻠﮕﺮ‬
‫ﻧﺎم ﻋﻤﻞ‬
‫]‪[1, 2, 3, 4‬‬
‫]‪[1, 2, 3] + [2, 3‬‬
‫‪+‬‬
‫اﺟﺘﻤﺎع‬
‫]‪[2‬‬
‫]‪[1, 2, 4] * [2, 3‬‬
‫*‬
‫اﺷﺘﺮاك‬
‫]‪[1, 4‬‬
‫]‪[1, 2, 3] – [2, 3‬‬
‫‐‬
‫ﺗﻔﺎﺿﻞ‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﻋﻤﻠﻴﺎت روي ﻣﺠﻤﻮﻋﻪﻫﺎ‬
‫]'‪['A', 'B', 'C', 'D', 'F‬‬
‫]'‪['A', 'C', 'F'] + ['B', 'C', 'D‬‬
‫]‪[1, 3] * [2, 4‬‬
‫][‬
‫]'‪['A', 'C', 'F'] - ['B', 'C', 'D', 'F‬‬
‫]'‪['A‬‬
‫‪[1, 3, 5] + 2‬‬
‫‪True‬‬
‫‪False‬‬
‫ﻋﻤﻠﮕﺮ ‪ <= ‬ﺑﺮاي ‪subset‬‬
‫ﻋﻤﻠﮕﺮ => ﺑﺮاي ‪superset‬‬
‫‪False‬‬
‫‪True‬‬
‫‪True‬‬
‫‪True‬‬
‫‪23‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫]‪4‬‬
‫]‪= [1, 3‬‬
‫]‪<> [1, 3‬‬
‫]‪= [1, 3‬‬
‫]‪<> [1, 3‬‬
‫]‪= [3, 1‬‬
‫‪<= [1, 2, 3,‬‬
‫]‪3‬‬
‫]‪3‬‬
‫]‪2‬‬
‫]‪2‬‬
‫]‪3‬‬
‫]‪3‬‬
‫‪[1,‬‬
‫‪[1,‬‬
‫‪[1,‬‬
‫‪[1,‬‬
‫‪[1,‬‬
‫‪[1,‬‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﺧﻮاﻧﺪن و ﻧﻮﺷﺘﻦ ﻣﺠﻤﻮﻋﻪﻫﺎ‬
‫‪ y‬ﻣﺎﻧﻨﺪ ﺳﺎﻳﺮ اﻧﻮاع ﭘﻴﭽﻴﺪه‪ ،‬ﻣﺠﻤﻮﻋﻪﻫﺎ را ﻧﻤﻲﺗﻮان ﺑﺎ دﺳﺘﻮر ‪ Read‬ﺧﻮاﻧﺪ و‬
‫ﺑﺎ دﺳﺘﻮر ‪ Write‬ﻧﻮﺷﺖ‪.‬‬
‫‪ y‬ﺑﺮاي ﺧﻮاﻧﺪن ﻳﻚ ﻣﺠﻤﻮﻋﻪ از ورودي ﻣﻲﺗﻮان از دﺳﺘﻮراﺗﻲ ﻣﺸﺎﺑﻪ زﻳﺮ‬
‫اﺳﺘﻔﺎده ﻛﺮد‪.‬‬
‫‪if NextChar in ['A'..'Z'] then‬‬
‫;]‪Letters := Letters + [NextChar‬‬
‫‪ y‬ﺑﺮاي ﻧﻮﺷﺘﻦ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮان از دﺳﺘﻮراﺗﻲ ﻣﺎﻧﻨﺪ زﻳﺮ اﺳﺘﻔﺎده ﻛﺮد‪.‬‬
‫;)'{'(‪Write‬‬
‫‪for NextLetter := 'A' to 'Z' do‬‬
‫‪if NextLetter in Letters then‬‬
‫;)' ‪Write(NextLetter, ',‬‬
‫;)'}'(‪WriteLn‬‬
‫‪24‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎرش ﺗﻌﺪاد ﺣﺮوف ﺻﺪادار‬
const
MaxLen = 80;
type
SetOfVowels = Set of 'A'..'z';
FullString = String[MaxLen];
StringRange = 1..MaxLen;
var
VowelCount: integer;
Line: FullString;
Vowels: SetOfVowels;
Count: StringRange;
Begin
Vowels := ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'];
Writeln('Enter a sentence: ');
Readln(Line);
VowelCount := 0;
for Count := 1 to Length(Line) do
if Line[Count] in Vowels Then
VowelCount := VowelCount + 1;
WriteLn(VowelCount);
End.
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
25
‫ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎرش ﺗﻌﺪاد ﺣﺮوف ﺻﺪادار‬
‫‪ y‬در ﺑﺮﻧﺎﻣﻪ ﻗﺒﻞ ﻣﻲﺗﻮان ﻣﺘﻐﻴﺮ ‪ Vowels‬را ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻌﺮﻳﻒ ﻛﺮد و‬
‫ﻣﻘﺪاردﻫﻲ اوﻟﻴﻪ را در ﺑﺮﻧﺎﻣﻪ ﻗﺒﻞ ﺣﺬف ﻛﺮد‪.‬‬
‫;]'‪Vowels: Set of 'A'..'z' = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U‬‬
‫‪26‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬