2.   Èíòåðâàë, íàïðèìåð: 1..5, 'a'..'z'.

3.   Ñïèñîê çíà÷åíèé èëè èíòåðâàëîâ, íàïðèìåð: 1,3,5..8,10,12.

Âûïîëíÿåòñÿ îïåðàòîð case ñëåäóþùèì îáðàçîì: âû÷èñëÿåòñÿ âûðàæåíèå ïîñëå ñëîâà case è ïî ïîðÿäêó ïðîâåðÿåòñÿ, ïîäõîäèò ïîëó÷åííîå çíà÷åíèå ïîä êàêîé-ëèáî âàðèàíò, èëè íåò. Åñëè ïîäõîäèò, òî âûïîëíÿåòñÿ ñîîòâåòñòâóþùèé ýòîìó âàðèàíòó îïåðàòîð, èíà÷å — åñòü äâà âàðèàíòà. Åñëè â îïåðàòîðå case çàïèñàíà ÷àñòü else, òî âûïîëíÿåòñÿ îïåðàòîð ïîñëå else, åñëè æå ýòîé ÷àñòè íåò, òî íå ïðîèñõîäèò âîîáùå íè÷åãî.

Ðàññìîòðèì ïðèìåð. Ïóñòü ïîëüçîâàòåëü ââîäèò öåëîå ÷èñëî îò 1 äî 10, ïðîãðàììà äîëæíà ïðèïèñàòü ê íåìó ñëîâî «ó÷åíèê» ñ íåîáõîäèìûì îêîí÷àíèåì (íóëåâîå, «à» èëè «îâ»).

program SchoolChildren;

var n: integer;

begin

write('×èñëî ó÷åíèêîâ --> '); readln(n);

write(n,' ó÷åíèê');

case n of

2..4: write('à');

5..10: write('îâ');

end;

readln;

end.

Ìîæíî òàêæå óñîâåðøåíñòâîâàòü ïðîãðàììó äëÿ ïðîèçâîëüíîãî íàòóðàëüíîãî n:

write(n,' ó÷åíèê');

case n mod 100 of

11..19: write('îâ');

else case n mod 10 of

2..4: write('à');

0,5..9: write('îâ');

end;

end;

Ëåêöèÿ 4. Îïåðàòîðû öèêëîâ â Ïàñêàëå

 ðåàëüíûõ çàäà÷àõ ÷àñòî òðåáóåòñÿ âûïîëíÿòü îäíè è òå æå îïåðàòîðû íåñêîëüêî ðàç. Âîçìîæíû ðàçëè÷íûå âàðèàíòû: âûïîëíÿòü ôðàãìåíò ïðîãðàììû ôèêñèðîâàííîå ÷èñëî ðàç, âûïîëíÿòü, ïîêà íåêîòîðîå óñëîâèå ÿâëÿåòñÿ èñòèííûì, è ò. ï.  ñâÿçè ñ íàëè÷èåì âàðèàíòîâ â Ïàñêàëå ñóùåñòâóåò 3 òèïà öèêëîâ.

1. Öèêë ñ ïîñòóñëîâèåì (Repeat)

Íà Ïàñêàëå çàïèñûâàåòñÿ ñëåäóþùèì îáðàçîì: repeat <îïåðàòîð> until <óñëîâèå>. (Ïî-ðóññêè: ïîâòîðÿòü ÷òî-òî ïîêà_íå_âûïîëíèëîñü óñëîâèå). Ïîä îáîçíà÷åíèåì <îïåðàòîð> çäåñü ïîíèìàåòñÿ ëèáî îäèíî÷íûé, ëèáî ïîñëåäîâàòåëüíîñòü îïåðàòîðîâ, ðàçäåë¸ííûõ òî÷êîé ñ çàïÿòîé. Öèêë ðàáîòàåò ñëåäóþùèì îáðàçîì: âûïîëíÿåòñÿ îïåðàòîð, çàòåì ïðîâåðÿåòñÿ óñëîâèå, åñëè îíî ïîêà åùå íå âûïîëíèëîñü, òî îïåðàòîð âûïîëíÿåòñÿ âíîâü, çàòåì ïðîâåðÿåòñÿ óñëîâèå, è ò. ä. Êîãäà óñëîâèå, íàêîíåö, ñòàíåò èñòèííûì âûïîëíåíèå îïåðàòîðà, ðàñïîëîæåííîãî âíóòðè öèêëà, ïðåêðàòèòñÿ, è äàëåå áóäåò âûïîëíÿòüñÿ ñëåäóþùèé çà öèêëîì îïåðàòîð. Ïîä óñëîâèåì, âîîáùå ãîâîðÿ, ïîíèìàåòñÿ âûðàæåíèå ëîãè÷åñêîãî òèïà.

Ïðèìåð (ïîäñ÷åò ñóììû íàòóðàëüíûõ ÷èñåë îò 1 äî 100):

var i,sum: integer;

begin

sum:=0; i:=0;

repeat

i:=i+1;

sum:=sum+i;

until i=100;

writeln('Ñóììà ðàâíà: ',sum);

readln;

end.

Âàæíî çàìåòèòü, ÷òî îïåðàòîðû ñòîÿùèå âíóòðè öèêëà repeat (èíà÷å – â òåëå öèêëà) âûïîëíÿþòñÿ õîòÿ áû îäèí ðàç (òîëüêî ïîñëå ýòîãî ïðîâåðÿåòñÿ óñëîâèå âûõîäà).

2. Öèêë ñ ïðåäóñëîâèåì (While)

Ýòîò öèêë çàïèñûâàåòñÿ òàê: while <óñëîâèå> do <îïåðàòîð>. (Ïîêà óñëîâèå èñòèííî, âûïîëíÿòü îïåðàòîð). Ñóòü â ñëåäóþùåì: ïîêà óñëîâèå èñòèííî, âûïîëíÿåòñÿ îïåðàòîð (â ýòîì ñëó÷àå îïåðàòîð ìîæåò íå âûïîëíèòüñÿ íè ðàçó, ò.ê. óñëîâèå ïðîâåðÿåòñÿ äî âûïîëíåíèÿ). Ïîä îïåðàòîðîì çäåñü ïîíèìàåòñÿ ëèáî ïðîñòîé, ëèáî ñîñòàâíîé îïåðàòîð (ò.å. íåñêîëüêî îïåðàòîðîâ, çàêëþ÷¸íûõ â begin ... end).

Ðàññìîòðèì òîò æå ïðèìåð, âûïîëíåííûé ñ ïîìîùüþ while:

var i,sum: integer;

begin

sum:=0; i:=0;

while i<100 do begin

i:=i+1;

sum:=sum+i;

end;

writeln('Ñóììà ðàâíà: ',sum);

readln;

end.

3. Öèêë ñî ñ÷åò÷èêîì (For)

Çàïèñûâàåòñÿ òàê: for <ïåðåìåííàÿ>:=<íà÷> to <êîí> do <îïåðàòîð>. Âìåñòî to âîçìîæíî ñëîâî downto. Ðàññìîòðèì òàêîé ïðèìåð: òðåáóåòñÿ âûâåñòè íà ýêðàí òàáëèöó êâàäðàòîâ íàòóðàëüíûõ ÷èñåë îò 2 äî 20.

var i: integer;

begin for i:=2 to 20 do writeln(i,' ',sqr(i)); end.

Ïðè âûïîëíåíèè öèêëà ïðîèñõîäèò ñëåäóþùåå: ïåðåìåííîé i ïðèñâàèâàåòñÿ íà÷àëüíîå çíà÷åíèå (2), çàòåì âûïîëíÿåòñÿ îïåðàòîð (ïðîñòîé èëè ñîñòàâíîé), ïîñëå ýòîãî ê i ïðèáàâëÿåòñÿ 1, è ïðîâåðÿåòñÿ, íå ñòàëî ëè çíà÷åíèå i ðàâíî êîíå÷íîìó (20). Åñëè íåò, òî âíîâü âûïîëíÿåòñÿ îïåðàòîð, äîáàâëÿåòñÿ 1, è ò. ä.  ñëó÷àå, êîãäà âìåñòî to èñïîëüçóåòñÿ downto, âñå ïðîèñõîäèò íàîáîðîò: åäèíèöà íå ïðèáàâëÿåòñÿ, à âû÷èòàåòñÿ. Íàïðèìåð, ñëåäóþùèé öèêë âûâåäåò òó æå òàáëèöó, íî â îáðàòíîì ïîðÿäêå:

for i:=20 downto 2 do writeln(i,' ',sqr(i));

 çàâåðøåíèå çàïèøåì ïðîãðàììó î ïîäñ÷åòå ñóììû ÷èñåë îò 1 äî 100 ñ ïîìîùüþ for:

var i, sum: integer;

begin

sum:=0;

for i:=1 to 100 do sum:=sum+i;

writeln(sum);

end.

Ëåêöèÿ 5. Ñèìâîëüíûå è ñòðîêîâûå ïåðåìåííûå

 ìàòåìàòèêå ïîä ïåðåìåííîé îáû÷íî ïîíèìàþò íåêóþ âåëè÷èíó, çíà÷åíèÿ êîòîðîé ìîãóò áûòü òîëüêî ÷èñëàìè.  ÿçûêàõ ïðîãðàììèðîâàíèÿ ïî÷òè âñå äàííûå, ñ êîòîðûìè ðàáîòàþò ïðîãðàììû, õðàíÿòñÿ â âèäå ïåðåìåííûõ.  ÷àñòíîñòè, áûâàþò ïåðåìåííûå äëÿ õðàíåíèÿ òåêñòîâûõ äàííûõ: ïðåäëîæåíèé, ñëîâ è îòäåëüíûõ ñèìâîëîâ.

1. Ñèìâîëüíûé òèï

Òèï äàííûõ, ïåðåìåííûå êîòîðîãî õðàíÿò ðîâíî îäèí ñèìâîë (áóêâó, öèôðó, çíàê ïðåïèíàíèÿ è ò.ï.) íàçûâàåòñÿ ñèìâîëüíûì, à â Ïàñêàëå — char. Îáúÿâèòü ïåðåìåííóþ òàêîãî òèïà ìîæíî òàê: var ch: char;. Äëÿ òîãî ÷òîáû ïîëîæèòü â ýòó ïåðåìåííóþ ñèìâîë, íóæíî èñïîëüçîâàòü îïåðàòîð ïðèñâàèâàíèÿ, à ñèìâîë çàïèñûâàòü â àïîñòðîôàõ, íàïðèìåð: ch:='R';. Äëÿ ñèìâîëüíûõ ïåðåìåííûõ âîçìîæíî òàêæå èñïîëüçîâàíèå ïðîöåäóðû readln, íàïðèìåð:

write(‘Âûéòè èç èãðû? (Äà/Íåò)’); readln(ch);

if ch=’Ä’ then ...{âûõîäèòü}...

else ...{ïðîäîëæàòü}...;

Ñèìâîëüíûå ïåðåìåííûå â ïàìÿòè êîìïüþòåðà õðàíÿòñÿ â âèäå ÷èñëîâûõ êîäîâ, èíà÷å ãîâîðÿ, ó êàæäîãî ñèìâîëà åñòü ïîðÿäêîâûé íîìåð. Ê ïðèìåðó, êîä ïðîáåëà ðàâåí 32, êîä ‘A’ — 65, ‘B’ — 66, ‘C’ — 67, êîä ñèìâîëà ‘1’ — 48, ‘2’ — 49, ‘.’ — 46 è ò. ï. Íåêîòîðûå ñèìâîëû (ñ êîäàìè, ìåíüøèìè 32) ÿâëÿþòñÿ óïðàâëÿþùèìè, ïðè âûâîäå òàêèõ ñèìâîëîâ íà ýêðàí ïðîèñõîäèò êàêîå ëèáî äåéñòâèå, íàïðèìåð, ñèìâîë ñ êîäîì 10 ïåðåíîñèò êóðñîð íà íîâóþ ñòðîêó, ñ êîäîì 7 — âûçûâàåò çâóêîâîé ñèãíàë, ñ êîäîì 8 — ñäâèãàåò êóðñîð íà îäíó ïîçèöèþ âëåâî. Ïîä õðàíåíèå ñèìâîëà âûäåëÿåòñÿ 1 áàéò (áàéò ñîñòîèò èç 8 áèò, à áèò ìîæåò ïðèíèìàòü çíà÷åíèÿ 0 èëè 1), ïîýòîìó âñåãî ìîæíî çàêîäèðîâàòü 28=256 ðàçëè÷íûõ ñèìâîëîâ. Êîäèðîâêà ñèìâîëîâ, êîòîðàÿ èñïîëüçóåòñÿ Òóðáî-Ïàñêàëå, íàçûâàåòñÿ ASCII (American Standard Code for Information Interchange — àìåðèêàíñêèé ñòàíäàðòíûé êîä äëÿ îáìåíà èíôîðìàöèåé).

Äëÿ òîãî ÷òîáû ïîëó÷èòü â ïðîãðàììå êîä ñèìâîëà íóæíî èñïîëüçîâàòü ôóíêöèþ chr, íàïðèìåð:

var i: byte; {÷èñëî, çàíèìàþùåå 1 áàéò, çíà÷åíèÿ — îò 0 äî 255}

ch: char;

...

readln(i); writeln('ñèìâîë ñ êîäîì ',i,' — ýòî ',chr(i));

Åñëè â êà÷åñòâå êîäà èñïîëüçóåòñÿ êîíêðåòíîå ÷èñëî, à íå âûðàæåíèå è íå ïåðåìåííàÿ, òî ìîæíî èñïîëüçîâàòü ñèìâîë «#», ñêàæåì òàê: ch:=#7;. Äëÿ òîãî ïåðåõîäà îò êîäà ê ñèìâîëó èñïîëüçóåòñÿ ôóíêöèÿ ord (îò ñëîâà ordinal — ïîðÿäêîâûé). Èìåþùèåñÿ çíàíèÿ ïîçâîëÿþò íàì íàïèñàòü ïðîãðàììó, êîòîðàÿ âûäà¸ò íà ýêðàí òàáëèöó ñ êîäàìè ñèìâîëîâ:

program ASCII;

var ch: char;

begin

for ch:=#32 to #255 do write(ord(ch),'—>',ch,' ');

readln;

end.

 ýòîé ïðîãðàììå â êà÷åñòâå ñ÷¸ò÷èêà öèêëà áûëà èñïîëüçîâàíà ñèìâîëüíàÿ ïåðåìåííàÿ, ýòî ðàçðåøàåòñÿ, ïîñêîëüêó öèêë for ìîæåò èñïîëüçîâàòü â êà÷åñòâå ñ÷¸ò÷èêà ïåðåìåííûå ëþáîãî òèïà, çíà÷åíèÿ êîòîðîãî õðàíÿòñÿ â âèäå öåëûõ ÷èñåë.

Ñ èñïîëüçîâàíèåì êîäîâ ðàáîòàþò åù¸ äâå ôóíêöèè, çíà÷åíèÿ êîòîðûõ ñèìâîëüíûå:


Èíôîðìàöèÿ î ðàáîòå «Ïðîãðàììèðîâàíèå íà ÿçûêå Òóðáî Ïàñêàëü»
Ðàçäåë: Èíôîðìàòèêà, ïðîãðàììèðîâàíèå
Êîëè÷åñòâî çíàêîâ ñ ïðîáåëàìè: 100912
Êîëè÷åñòâî òàáëèö: 12
Êîëè÷åñòâî èçîáðàæåíèé: 2

Ïîõîæèå ðàáîòû

Ñêà÷àòü
47594
1
0

... , òåì íå ìåíåå, èñïîëüçîâàíèå ïðîãðàìì ñ ïåðåêðûòèÿìè ñíèìàåò ýòî îãðàíè÷åíèå. Äâà áèáëèîòå÷íûõ ìîäóëÿ TURBO3 è GRAPH3 ââåäåíû äëÿ ñîâìåñòèìîñòè ñ ðàííåé âåðñèåé 3.0 ñèñòåìû Òóðáî Ïàñêàëü. 2 Îáúåêòû Áàçîâûì â îáúåêòíî-îðèåíòèðîâàííîì ïðîãðàììèðîâàíèè ÿâëÿåòñÿ ïîíÿòèå îáúåêòà. Îáúåêò èìååò îïðåäåë¸ííûå ñâîéñòâà. ...

Ñêà÷àòü
17572
2
0

... âûáðàòü ðåæèì Quit <Alt>-<X>, ïîñëå ÷åãî íàæàòü ëèáî <Enter>, ëèáî êîìáèíàöèþ <Alt>-<X>. ÔÓÍÊÖÈÎÍÀËÜÍÛÅ ÊËÀÂÈØÈ Ôóíêöèîíàëüíûå êëàâèøè èñïîëüçóþòñÿ äëÿ óïðàâëåíèÿ ñðåäîé Òóðáî Ïàñêàëÿ. Îíè îáîçíà÷àþòñÿ F1, F2,..., F12 è ðàñïîëàãàþòñÿ â ñàìîì âåðõíåì ðÿäó êëàâèàòóðû. Ñ êàæäîé èç ýòèõ êëàâèø ñâÿçûâàåòñÿ íåêîòîðàÿ êîìàíäà ìåíþ. Äåéñòâèå ïî÷òè âñåõ ôóíêöèîíàëüíûõ ...

Ñêà÷àòü
74717
3
0

... X. Ïðè óñïåøíîì ðåçóëüòàòå e=0. ÏÐÎÖÅÄÓÐÛ È ÔÓÍÊÖÈÈ Òóðáî Ïàñêàëü ïîçâîëÿåò âûäåëÿòü ôðàãìåíòû ïðîãðàììû âî âñïîìîãàòåëüíûå àëãîðèòìû (ÂÀ). Ýòî ïîçâîëÿåò ïèñàòü õîðîøî ñòðóêòóðèðîâàííûå ïðîãðàììû. ßçûêè ïðîãðàììèðîâàíèÿ, â êîòîðûõ ïðåäóñìîòðåíû ÂÀ, íàçûâàþòñÿ ïðîöåäóðíî-îðèåíòèðîâàííûìè. Ñòðóêòóðèðîâàííûå ïðîãðàììû îáû÷íî ïðîùå â ïîíèìàíèè è îòëàäêå. Íàëè÷èå ÂÀ â ÿçûêå ïðîãðàììèðîâàíèÿ ...

Ñêà÷àòü
12936
3
0

... ïðîãðàììû íåîáõîäèìî ðàñïîëàãàòü åå ñïåöèôèêàöèþ – êîììåíòàðèé â ôèãóðíûõ ñêîáêàõ, ñîäåðæàùèé íàçíà÷åíèå ïðîãðàììû, äàííûå î ïðîãðàììèñòå, äàòó ñîçäàíèÿ ïðîãðàììû. ßçûê ïðîãðàììèðîâàíèÿ Ïàñêàëü ÿâëÿåòñÿ ÿçûêîì ñòðóêòóðíîãî ïðîãðàììèðîâàíèÿ.  íåì åñòü âñå íåîáõîäèìûå óïðàâëÿþùèå êîíñòðóêöèè äëÿ ñòðóêòóðíîãî ïîñòðîåíèÿ ïðîãðàììû. Íàãëÿäíîñòü òàêîìó ïîñòðîåíèþ ïðèäàåò ñòðóêòóðèçàöèÿ âíåøíåãî âèäà ...

0 êîììåíòàðèåâ


Íàâåðõ