46.44K
Category: programmingprogramming

Исполнитель "Редактор". Готовимся к ЕГЭ по информатике. Задание №12

1.

ГОТОВИМСЯ к ЕГЭ по ИНФОРМАТИКЕ
Задание №12.
Исполнитель РЕДАКТОР

2.

С введением ЕГЭ по информатике в компьютерном
варианте появилась возможность решения задач для
исполнителя Редактор на компьютере. При этом в самих
задачах произошли изменения в сторону моделирования.
Например: определить, какую последовательность надо
подать на вход программе, чтобы на выходе получить
указанный ответ, или обработать полученную выходную
строку.
В этих случаях решение возможно только на
компьютере.
Предлагаю рассмотреть варианты задания №12. Условия я
взяла с сайта www.legion.ru, немного их изменив.

3.

Задание 1.
На вход программы поступает строка, состоящая из 73 цифр «9». В ответе надо
перевернуть получившуюся строку.
Вот сама программа:
НАЧАЛО
ПОКА нашлось (2929) ИЛИ нашлось (999)
ЕСЛИ нашлось (2929)
ТО заменить (2929,9)
ИНАЧЕ заменить (999,929)
ВСЕ
КОНЕЦ ПОКА
КОНЕЦ
Программа написана на языке программирования PascalABC.NET

4.

Var i
:Integer;
st
:String;
Begin
Var s:=StringOfChar('9',73);
Var p2:=Pos('2929',s);
Var p9:=Pos('999',s);
While (p2>0) or (p9>0) do begin
if p2>0 then begin
Delete(s,p2,4);
Insert('9',s,p2);
end
else begin
Delete(s,p9,3);
Insert('929',s,p9);
end;
p2:=Pos('2929',s);
p9:=Pos('999',s);
end;
writeln(s);
For i:=1 to length(s) do
st:=s[i]+st;
writeln(st);
End.

5.

Задание 2.
На вход программы поступает строка: Сначала идет символ «>», а затем 10 цифр «2»,
11 цифр «4», и в конце 12 цифр «7». Надо определить сумму числовых значений цифр
получившийся строки.
Вот сама программа:
НАЧАЛО
ПОКА нашлось (>2) ИЛИ нашлось (>4) ИЛИ нашлось (>4)
ЕСЛИ нашлось (>2)
ТО заменить (>2,72>)
ВСЕ
ЕСЛИ нашлось (>4)
ТО заменить (>4,4>22)
ВСЕ
ЕСЛИ нашлось (>7)
ТО заменить (>2,24>2)
ВСЕ
КОНЕЦ ПОКА
КОНЕЦ

6.

Var i
:integer;
Begin
Var s:='>'+StringOfChar('2',10)+StringOfChar('4',11)+StringOfChar('7',12);
Var p2:=Pos('>2',s);
Var p4:=Pos('>4',s);
Var p7:=Pos('>7',s);
While (p2>0) or (p4>0) or (p7>0) do begin
if p2>0 then begin
Delete(s,p2,2); Insert('72>',s,p2);
end;
if p4>0 then begin
Delete(s,p4,2);
Insert('4>22',s,p4);
end;
if p7>0 then begin
Delete(s,p7,2);
Insert('24>2',s,p7);
end;
p2:=Pos('>2',s);
p4:=Pos('>4',s);
p7:=Pos('>7',s);
end;
writeln(s);
Var sum:=0;
For i:=1 to length(s) do begin
if s[i] in ['0'..'9'] then sum:=sum + (ORD(s[i])- ORD('0’)); end;
writeln(' sum= ',sum);
end.

7.

Желаю успехов на ЕГЭ
учитель информатики
Смирнова Елена Александровна
English     Русский Rules