Var i:integer; n:boolean; str:string; begin readln(str); n:=false; for i:=1 to length(str) do begin if (i mod 2 <> 0) and (str[i] = 'н') then begin writeln('Буква н ', 'стоит на месте ', i); n:=true; end; end; if n = false then writeln('Букв "н", стоящих на нечетных местах, в предложении не обнаружено!'); end.
1. Оператор цикла предназначен для выполнения большого количества однотипных вычислений, отличающихся только значениями переменных, входящих в формулу. Например, вычисление значений формулы y=sin(x) для х=1..10 с шагом 1. 2. В языке Паскаль существуют циклы: с параметром (FOR), с предусловием (WHILE..DO), с постусловием (REPEAT...UNTIL). 3. Оператор FOR для примера п.1 имеет вид: FOR K:= 1 TO 10 DO Y[K]:=SIN(K). Если в теле цикла будет несколько операторов, то они заключаются в операторных скобки BEGIN...END. 4. Во время исполнения этого оператора переменной Y[K] (элементам маccива Y) последовательно присваиваются значения SIN(K). 5. Оператор FOR применяется в тех случаях, когда число повторений заранее известно (К=1..10). 6-9. Циклы WHILE и REPEAT применяются, когда число повторений заранее неизвестно, например, для вычисления суммы ряда с заданной точностью, но их можно применять и для расчета по предыдущему примеру. K:=0; WHILE K<11 DO BEGIN K:=K+1; Y[K]:=SIN(K) END; или для цикла REPEAT: K:=0; REPEAT K:=K+1; Y[K]:=SIN(K} UNTIL K>10; Для вычислений эти циклы равносильны, но есть одно (иногда решающее) отличие - цикл WHILE не будет выполнен ни разу, если условие сразу ложно, а цикл REPEAT сначала выполнит одну операцию, а потом, если условие окажется ложным, остановится.
Программа. var q,s:integer; begin s:=1; for q:=1 to 365 do s:=s+q; Writeln(s); end.
Описание программы. var q,s:integer; // Объявление переменных, где q - цикл от 1 до 365, s - сумма результата. begin // Начало выполнение программы. s:=1; // Присваиваем переменной s значение 1, т.к. по условию 1 рубль. for q:=1 to 365 do // Цикл от 1 до 365 s:=s+q; // Сумма цикла. То есть - Сумма = Сумма + Цикл с шагом 1. Начальное значение s равно 1, поэтому сумма считывается больше суммы предыдущего дня. Writeln(s); // Вывод результата. end. // Конец выполнение программы.
Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString;
Range(1,s.Length,2).Select(i->s[i]).Where(c->LowCase(c)='н').PrintLines
end.
Пример
Нелли нечаянно надорвала наволочку и Нестор немного нахмурился
Н
н
н
н
н