Turbo Pascal тілінің негізгі элементтері
Автор работы: Пользователь скрыл имя, 03 Мая 2015 в 21:00, курсовая работа
Краткое описание
Pascal тілін 1968 – 1971 жылдары швейцариялық ғалым Никлаус Вирт оқып үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Бұл тілдің стандартты кейінірек бекітілді, ол сол кездері кең таралған ALGOL, FORTRAN, BASIC тілдеріне қарағанда жетілдірілген, жұмыс істеуге ыңғайлы тіл болды. Pascal тілі өзінің қарапайымдылығының және тиімділігінің арқасында дүние жүзіне тез таралады. Қазіргі кезде барлық дербес компьютерлер осы тілде жұмыс істей алады.
Содержание
І.Кіріспе........................................................................................
ІІ.Негізгі бөлім...............................................................................
1.1 Turbo Pascal тілінің негізгі элементтері....................................
1.2 Turbo Pascal –ды іске қосу.Компиляциялау..............................
1.3 Программа құрылымы. Қарапайым программа.........................
1.4 READLN, WRITELN операторлары.........................................
1.5 Тармақталу. Циклдер. Жай шарт. Құрама шарт........................
1.6 Есептер шығаруда қолданылуы...............................................
1.7 Массивтер............................................................................
1.8 Жазбалар..............................................................................
1.9 Жиындар..............................................................................
1.10 Файлдар..............................................................................
ІІІ.Қорытынды ..............................................................................
Әдебиеттер.................................................................................
Прикрепленные файлы: 1 файл
Turbo Pascal тілінің негізгі элементтері .docx
— 71.74 Кб (Скачать документ)Program Prost_13;
const n=20;
var
i,max,sum,integer;
Mas:array [1..n] of integer;
begin
for i:= 1 to n do
begin Write (‘Mas [‘,i,’]=’); Readln (Mas[i]); end;
writeln; sum:=0; {Массивті пернетақтадан енгізу}
for i:= 1 to n do
begin
if (i=1) or (Mas[i]>max); then max:= Mas[i]; {Үлкен элементті іздеу}
sum:= sum+ Mas[i] {Қосынды есептеу}
write(Mas[i],’ ‘); {Массивті экранға шығару}
end;
writeln; writeln(‘max=’, max’ sum=’,sum); {Экранға нәтиже шығару}
readln;
end.
14. n берілген натурал сан. Алғашқы n жай сандар массивін жасақтаңыз. Массивті экранға шығарып көрсетіңіз.
Program Prost_14;
const n=1000;
var
i,j,k: word; p:boolean;
MG: array[1..n] of word;
begin
MG[1]:=1; MG[2]:=2; MG[3]:=3; k:=3; {Алғашқы 3 жай санды енгізу}
21for i:= 4 to n do
Repeat
k:=k+2; j:=3; p:=true; {Кезекті k тақ санды алу}
Repeat
if k mod MG[j]=0 then p:=false;
j:=j+1;
until (p=false) or (j=i)
if p then MG [i]:=k; {Кезекті жай санды енгізу}
until p;
for i:= 1 to n do
Write(MG[i],’ ‘); {Массивті экранға шығару}
readln;
end.
Программа басында MG массивіне алғашқы 3 жай сан енгізіледі. Басында k=3 деп алып, одан үлкен тақ сандар ішінен келесі жай санды іздеймін. Ол үшін k–ны бұрын табылған жай сандарға (массив элементтеріне) бөліп тексеріміз. Егер ешқайсысына бөлінбесе k-жай сан болғаны, әйтпесе k:=k+2 деп алып тағы да қайталаймыз. Бұл процесс массивтің элементтер саны n болғанда аяқталуы тиіс.
Массив элементтерінің типі массив болса, оны екі өдшемді массив деп атайды. Осы процесті жалғастырып, үш немесе көп өлшемді массивтерді анықтауға болады. Үш өлшемді массивті сипаттаудың мысалы:
▪ Var M:array[1..10] of array[1..5] of array['a'..'d'] of byte;
Мұны қысқаша былай жазуға да болады:
▪ Var M:array[1..10, 1..5, 'a'..'d'] of byte;
Массив элементтері индексті айнымалылар болып табылады. Элементті көрсету үшін массивтің аты аталып, индекстері тік жақшалардың ішінде өз ретімен жазылуы тиіс. Соңғы мысалдағы М массивінің әрбір элементін екі тәсілмен көрсетуге болады:
М[4,2,'с'] не М [4][2]['с'];
Егер екі массивтің сипатталуы ортақ болса, онда біреуінің элементтерін бір меншіктеу операторы арқылы екіншісіне беруге болады. Мысалы:
Var
M1,M2: array[1…20] of real;
Begin
……
M1:=M2;
……
end.
Меншіктеу операторы орындалғанда екі массивтің элементтернің мәндері бірдей болады. Ескеретін жағдай, массивтермен қатынас операцияларын орындауға болмайды. Сондықтан екі массивті салыстыруға тура келеді.
15 Элементтері кездейсоқ
бүтін сандар болатын екі
Program Prost_15;
const m=10; n=15;
var
i,j,k: integer;
Mas: array [1,m,1,n] of integer;
begin
Randomize; k:=0;
for i:= 1 to m do
begin
for j:= 1 to m do
begin
Mas[i,j]:= Random(200)-Random(200);
Write (Mas[i,j]:5); if Mas [i,j]<0 then Ine(k);
end;
Writeln; Writeln;
end;
Writeln ('Теріс элементтер саны-',k); Readln;
end.
Саны шекті, әртүрлі типті компоненттерден тұратын мәліметтер құрылымын жазба деп атайды. Компоненттер өріс деп аталады және оларды айыру үшін ат беріледі. Жазба типін сипаттау мына түрде болады:
<Тип аты> = record
<өріс тізімі>
end
<өріс тізімі> - өріс аттары мен олардың сәйкес типтерін көрсетеді. Өріс аты мен типінің арасына қос нүкте, ал соңына нүктелі үтір қойылып жазылады. Төмендегі мысалда 5 өрісі бар TStudent жазба типі және сол типін Student айнымалысы сипатталған:
type
TStudent = record
Fam:string[20];
Sex: boolean;
Date: string[8];
Kurs: byte;
end;
var Student: Tstudent;
Жазба айнымалысын тікелей сипаттауға да болады:
var
Student=record
Fam:string[20];
Sex: boolean;
Date: string[8];
Kurs: byte;
end;
Жазбаның кез – келген өрісін көрсету үшін жазбаның атынан кейін нүкте қойылып, сонан соң өріс аты жазылуы керек. Мысалы:
Student. Fam: = 'Калимов А.Е.';
Student. Sex: = true;
Student. Date: ='02.11.83';
Student. Kurs:=1;
Программалауда with операторының көмегімен, жазба атын көрсетпей – ақ өрістерді пайдалануға болады. Мысалы:
With Student do
begin
Fam: = 'Калимов А.Е.';
Sex: = true;
Date: ='02.11.83';
Kurs:=1;
end;
Turbo Pascal-да нұсқалы өрістері бар жазбаларды пайдаланудың мүмкіндігі бар. Нұсқалы өрістері бар жазбаны сипаттаудың және оны пайдаланудың мысалы:
var
Colon=record
case k: byte of
1: (int: 0..20);
2: (sim: char);
3: (mas: array[1..10] of word);
4: (str: string[15]);
end;
begin
…..
Colon k:=1; Colon.int:=10;
Colon k:=2; Colon.sim:='Z';
Colon k:=3; Colon.mas[I]:=2000;
Colon k:=4; Colon.str:='Pascal';
……
end.
Turbo Pascal-да жиын ерекше қасиеттері бар құрылымды тип. Жиын var бөлімінде set қызметші сөзінің көмегімен берілген базалық тип негізінде сипатталады:
<Жиын аты>: set of <базалық тип>
Базалық тип ретінде Integer, Word, Longint типтерінен өзге
кез – келген ретті типті алуға болады. Жиын айнымалысының мәні базалық тип мәндерінен тұратын кез–келген жиын бола алады. Жиынды сипаттаудың мысалдары:
var
G1:set of 5..7;
G2:set of ‘a’..‘f’;
G3:set of (and,or,not,xor);
G4:set of char;
G5:set of 0..255;
Жиын айнымалысының мәнін жазу үшін [] жақшалары пайдаланылады. Жоғарыда сипатталған G1 айнымалысының 8 мүмкін мәні ғана бар, олар:
[], [5], [6], [7], [5,6],[5,7] ,[6,7],[5,6,7]. Жиын мәнін құрайтын компоненттер оның элементтері деп аталады. Жиын элементтерінің саны 0 мен 255 аралығында болуы тиіс. Жиын элементтерінің жазылу реті ешқандай рөл атқармайды, тек олар қайталанбауы шарт. Жиын мәндерін берудің мысалдары:
G5:= [1,3,5,7]; G5:= [32..127]; G5:= [0..31,128,255]; G5:= [];
Жиындармен төмендегі қатынастар орындалады:
˃ x in G (x элементі G жиынына тиісті)
˃ А=В (А және В жиынындары эквивалент (тең))
˃ А>=В (В жиыны А жиынының ішкі бөлігі)
˃ А<=В (А жиыны В жиынының ішкі бөлігі)
˃ А<>В (А және В жиындары эквивалент (тең) емес)
Жиындармен 3 амал орындауға болады;
1 А+В (А жиыны мен В жиынын біріктіру)
2 А–В (А жиыны мен В жиынын айырмасы)
3 А*В (А жиыны мен В жиынын қиылыстыру)
Мысал:
Егер А:=[1,4,7,8,3,9]; В:=[2,3,5,6,9,1]; С:=А+В; D:=А–Е; Е:=А*В; болса, онда С–нің мәні [1,2,3,4,5,6,7,8,9], D–нің мәні [4,7,8], ал Е–нің мәні [1,3,9] болады.
Жиындармен орындалатын екі процедура ғана бар. Олар:
♦ Include (G, x)–G жиынына x элементін енгізеді;
♦ Ехclude (G, x)–G жиынынан x элементін алып тастайды;
Мұнда х элементі G жиынының базалық типінің кез–келеген бір мәні болуы шарт. Жиындармен орындалатын амалдардың анықтамаларына сүйенсек Include (G, x) процедурасы мен G:= G+(х) операторының және Ехclude (G, x) процедурасы мен G:= G–(х)операторының нәтижесі бір екенін көреміз.
16. "Эратосфен елегі" тәсілін қолданып 1.255 аралығындағы барлық жай сандарды экранға шығару.
Program Prost_16;
const n=255;
var S: set of 2.n;
i,j: integer;
begin
S:=[2..n];
for i:= 2 to n do
if i in S then
begin
Write(i:4);
for j:=1 to n div i do
S:=S–[i*j];
end;
Readln;
end.
2.4 Файлдар
Pascal тілінде компьютер сыртқы жадының (диск, дискета,т.б) ат берілген аймағын немесе кез–келген логикалық құрылғыны (пернетақта, дисплей, принтер, порт, т.б) файл деп атайды. Файлдың негізгі 3 сипаты бар:
• бір типті компонеттерден тұрады;
• ұзындығы (компоненттер саны) туралы алдын ала келісілмейді;
• бірнеше файлдармен бір мезгілде жұмыс жасауға болады.
Turbo Pascal-да файлдың 3 түрін пайдалануға болады:
▫ мәтіндік файлдар;
▫ типті файлдар;
▫ типсіз файлдар;
Олардың типі сәйкес 3 түрде сипатталады:
• <тип аты˃ = text;
• <тип аты˃ = file of <тип˃;
• <тип аты˃ = file;
Мұнда <тип˃ - файлдан өзге кез–келген берілгендер типі. Файл айнымалы–парын типі арқылы да, тікелей сипаттауға да болады. Мысалы:
type
TStudent = record
Fam:string[20];
Sex: boolean;
Date: string[8];
Kurs: byte;
Nom: Word;
end;
FTStudent = file of TStudent; {файл типтерін сипаттау}
FT1 = text;
FT2 = file;
var
FStudent: FTStudent; {файл айнымалыларын сипаттау}
F1:FT1;
F2:FT2;
F3:text;
F4:file of Word;
F5:file;
Pascal тілінде күні бұрын анықталған екі стандартты файл бар:
♦ Input – пернетақтадан берілгендерді оқу файлы;
♦ Output – экранға берілгендерді шығару файлы.
Pascal – дың бұрынғы версияларында бұл файлдарды программа тақырыбына төмендегідей етіп енгізу талап етіледі:
Program <аты˃ (input,output);
Turbo Pascal-да оларды көрсету міндетті емес, сондықтан программа тақырыбын жазбауға да болады. Файлды (логикалық құрылғыны) программада пайдалану үшін, ең әуелі файл айнымалысын оның атауымен байланыстыру керек. Оны жүзеге асыратын Assign процедурасы:
Assign (<файл айнымалысы˃,<файл не логикалық құрылғы атауы˃);