Çàî÷íîå äèñòàíöèîííîå îáðàçîâàíèå ñ ïîëó÷åíèåì ãîñóäàðñòâåííîãî äèïëîìà ÷åðåç Internet










Ïîëó÷èòü èíôîðìàöèþ î ïîñòóïëåíèè
 
Ãëàâíàÿ Íîâîñòè Êàðòà ñàéòà Ôîòîàëüáîì Ãîñòåâàÿ êíèãà Êîíòàêòû

 

Óïðàæíåíèå 3

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

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

Âûâîä íà ýêðàí ðåçóëüòàòîâ îðãàíèçóåì ñ ïîìîùüþ ñòàíäàðòíûõ ïðîöåäóð âûâîäà Writeln, à äëÿ ââîäà ñòðîê è ïðåîáðàçîâàíèÿ èõ â ÷èñëà ñîçäàäèì ïðîöåäóðó Inp_Str. Äëÿ ïåðåäà÷è äàííûõ ìåæäó ïðîöåäóðîé è îñíîâíîé ïðîãðàììîé ââåäåì ôîðìàëüíûå ïàðàìåòðû-ïåðåìåííûå S òèïà string è X òèïà integer.

Äëÿ ïðåîáðàçîâàíèÿ ââåäåííîé ñòðîêè â ÷èñëî ïðèìåíèì ñòàíäàðòíóþ ôóíêöèþ Val, à äëÿ àíàëèçà îïåðàöèè ïðåîáðàçîâàíèÿ ñòðîêè â ÷èñëî ââåäåì ëîêàëüíóþ ïåðåìåííóþ Code öåëîãî òèïà. Ïîñëå ïðåîáðàçîâàíèÿ ñòðîêè â ÷èñëî ïðîâåðèì çíà÷åíèå ïåðåìåííîé Code, åñëè îíî íå ðàâíî 0, òî çíà÷èò â ñòðîêå íå âñå ñèìâîëû ÿâëÿþòñÿ öèôðàìè. Çíà÷åíèå Code óêàæåò ïîçèöèþ ïåðâîãî ñèìâîëà â ñòðîêå, íå ÿâëÿþùåãîñÿ öèôðîé.  ýòîì ñëó÷àå íàïå÷àòàåì íà ýêðàíå ñîîáùåíèå îá îøèáêå è óêàæåì ïîçèöèþ íåâåðíî ââåäåííîãî ñèìâîëà â ñòðîêå, ïîñëå ÷åãî ïðåðâåì ðàáîòó ïðîãðàììû, èñïîëüçóÿ ñòàíäàðòíóþ ïðîöåäóðó Halt. Òåêñò ïðîöåäóðû Inp_Str áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì:

procedure Inp_Str(var S: string: var X:integer);

{Ïðîöåäóðà ââîäà ñòðîêè öèôð è ïðåîáðàçîâàíèÿ ñòðîêè â ÷èñëî}

var

Cod: integer; {Ðåçóëüòàò ïðåîáðàçîâàíèÿ ñòðîêè â ÷èñëî}

begin

Write('Ââåäèòå ñòðîêó öèôð');

Readln(S);

VAR(S, X, Cod); {Ïðåîáðàçîâàíèå ñòðîêè S â öåëîå ÷èñëî X}

if Cod <> 0 then {Åñëè íå âñå ñèìâîëû â ñòðîêå ÿâëÿþòñÿ öèôðàìè}

begin

Writeln('Îøèáêà! Â ïîçèöèè '.Cod.' ââåäåííîé ñòðîêè íå öèôðà');

Halt(l); {Ïðåðûâàíèå ïðîãðàììû}

end;

end;

Ñ ó÷åòîì âûøåñêàçàííîãî ïîëíûé òåêñò ïðîãðàììû ðåøåíèÿ çàäà÷è áóäåò çàïèñàí ñëåäóþùèì îáðàçîì:

program Demo_Val_Str;

var SI. S2 : string:

XI, X2 : integer;

procedure Inp_Str(var S; string; var X:integer);

{Ïðîöåäóðà ââîäà ñòðîêè öèôð è ïðåîáðàçîâàíèÿ ñòðîêè â ÷èñëî}

var

Cod: integer; {Ðåçóëüòàò ïðåîáðàçîâàíèÿ ñòðîêè â ÷èñëî}

begin

Write('Ââåäèòå ñòðîêó öèôð');

Readln(S):

VaR(S, X, Cod); {Ïðåîáðàçîâàíèå ñòðîêè S â öåëîå ÷èñëî X}

if Cod <> 0 then {Åñëè íå âñå ñèìâîëû â ñòðîêå ÿâëÿþòñÿ öèôðàìè}

begin

Writeln('Îøèáêà! Â ïîçèöèè '.Cod,' ââåäåííîé ñòðîêè íå öèôðà');

Halt(l); {Ïðåðûâàíèå ïðîãðàììû}

end;

end;

begin {Íà÷àëî îñíîâíîé ïðîãðàììû}

Inp_Str(Sl,Xl); {Âûçîâ ïðîöåäóðû ââîäà ñòðîêè ñ ôàêòè÷åñêèìè ïàðàìåòðàìè-ïåðåìåííûìè S1.X1}

Inp_Str(S2,X2); {Âûçîâ ïðîöåäóðû ââîäà ñòðîêè ñ ôàêòè÷åñêèìè ïàðàìåòðàìè-ïåðåìåííûìè S2,X2}

Writeln('Ðåçóëüòàò ñêëåèâàíèÿ ñòðîê -> ',Concat(Sl.S2));

Writelï('Ñóììà ââåäåííûõ ÷èñåë= '.Õ1+Õ2);

end.

Çàïóñòèòå èíòåãðèðîâàííóþ ñðåäó ïðîãðàììèðîâàíèÿ. Ââåäèòå òåêñò ïðîãðàììû Demo_Val_Str è çàïèøèòå ôàéë íà äèñê ïîä ñîîòâåòñòâóþùèì èìåíåì, à çàòåì îòêîìïèëèðóéòå åãî. Ïîñëå óñïåøíîãî çàâåðøåíèÿ êîìïèëÿöèè ïðîâåðüòå ðàáîòó ïðîãðàììû ñ îòëàäêîé â ïîøàãîâîì ðåæèìå, îòñëåæèâàÿ çíà÷åíèÿ ïåðåìåííûõ SI, S2, XI, Õ2.



 
     
   
 


Ïðèãëàøàåì ïðèíÿòü ó÷àñòèå â êðóãëîì ñòîëå!
ïîäðîáíåå   >>>
 

Èíñòèòóò Ìåíåäæìåíòà, Ýêîíîìèêè è Èííîâàöèé íà÷èíàåò íàáîð íà êóðñû ïîâûøåíèÿ êâàëèôèêàöèè!
ïîäðîáíåå   >>>
 

Óâàæåìûå ñòóäåíòû ÀÍÎ ÂÏÎ ÈÌÝèÈ!
ïîäðîáíåå   >>>
 

Íà÷èíàåòñÿ íàáîð íà êóðñû ïîâûøåíèÿ êâàëèôèêàöèè!
ïîäðîáíåå   >>>
 

Ïðèãëàøàåì ïðèíÿòü ó÷àñòèå â êîíôåðåíöèÿõ!
ïîäðîáíåå   >>>
 


âñå íîâîñòè...

 


Ðàññûëêè Subscribe.Ru
Ñîâðåìåííîå îáðàçîâàíèå
Ïîäïèñàòüñÿ ïèñüìîì