Äàíà ñòðîêà ñèìâîëîâ. Óäàëèòü èç íåå ïåðâûé çíàê ïðåïèíàíèÿ.
Äëÿ ðåøåíèÿ äàííîé çàäà÷è íàì ïîíàäîáèòñÿ îáúÿâèòü ìíîæåñòâî çíàêîâ ïðåïèíàíèÿ Ì. Çàòåì, ïîñëåäîâàòåëüíî ïðîâåðÿÿ êàæäûé ñèìâîë ñòðîêè íà ïðèíàäëåæíîñòü ýòîìó ìíîæåñòâó, íàéäåì ïåðâûé çíàê ïðåïèíàíèÿ. Íàéäÿ çíàê, íåîáõîäèìî äîñðî÷íî âûéòè èç öèêëà ïðîâåðêè, íàïðèìåð ñ ïîìîùüþ îïåðàòîðà BREAK.
PROGRAM PRG3_1;
VAR STR : STRING;
L, I, J : INTEGER; M : SET OF CHAR;
BEGIN
WRITELN('BBEÄÈTE ÒÅÊÑÒ');
READLN(STR);
L := LENGTH(STR);
FOR I := 1 TO L DO
IF NOT(STR[l] IN M) THEN
WRITE(STR[I])
ELSE
BREAK;
FOR J := 1+1 TO L DO
WRITE(STR[J]);
WRITELN
END.
Äëÿ ðåøåíèÿ çàäà÷è:
- ôîðìèðóåì òåëî ïðîãðàììû è îïèñûâàåì ïåðåìåííûå;
- çàäàåì çíà÷åíèå ìíîæåñòâà Ì - ìíîæåñòâà çíàêîâ ïðåïèíàíèÿ;
- öèêë FOR I := 1 ÒÎ L DO îñóùåñòâëÿåò âûâîä ñòðîêè äî ïåðâîãî çíàêà ïðåïèíàíèÿ;
- öèêë FOR J := 1+1 ÒÎ L DO âûâîäèò ñòðîêó ïîñëå ïåðâîãî çíàêà ïðåïèíàíèÿ;
- ïîñëå âûâîäà çàêðûâàåì ñòðîêó îïåðàòîðîì WRITELN.
Ïåðåìåííûå:
I, J - ïåðåìåííûå öèêëîâ;
L - äëèíà ñòðîêè;
STR - ñòðîêà òåêñòà;
Ì - ìíîæåñòâî çíàêîâ ïðåïèíàíèÿ.
|