Var S, C, Cmax: string; i, j, k, max: integer; Begin Write('Введите предложение: ');ReadLn(S); S := UpperCase(S) + '.'; max := 0; i := 1; while (i <= Length(S)) do begin C := ''; while (S[i] in ['А'..'Я']) do begin C := C + S[i]; i += 1; end; k := 0; For j := 1 to Length(C) do if (C[j] in ['А','Е','Ё','И','О','У','Э','Ю','Я']) then k := k + 1; if (k > max) then begin max := k; Cmax := C; end; i += 1; end; WriteLn('Слово с наибольшим количеством гласных: ',Cmax); 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 сначала выполнит одну операцию, а потом, если условие окажется ложным, остановится.
Количество информации в сообщении обычно равно количеству бит (округляемому до ближайшего целого с избытком) , которое необходимо для воспроизведения текста сообщения. то есть в сообщении 10101010 информации - 8 бит, в сообщении "погода сегодня будет зимняя, снег не растает, солнце взойдет утром и сядет вечером" - 350 бит (если считать, для простоты, что в языке 32 буквы) . в сообщении e=hν информации, если кодировку ситать юникодом, - 8 байт (64 битa) информации. но вот ценность этих сообщений несопоставима. но ценность информации не есть величина неизбывная и строго измеряемая для данного сообщения. она всегда зависит от того, кому эта информация предназначена, и от того, что путного можно извлечь из неё, а значит - слабо формализуема. в конце концов, запросто можно представить себе (путь и фантастическую)
S, C, Cmax: string;
i, j, k, max: integer;
Begin
Write('Введите предложение: ');ReadLn(S);
S := UpperCase(S) + '.';
max := 0;
i := 1;
while (i <= Length(S)) do
begin
C := '';
while (S[i] in ['А'..'Я']) do
begin
C := C + S[i];
i += 1;
end;
k := 0;
For j := 1 to Length(C) do
if (C[j] in ['А','Е','Ё','И','О','У','Э','Ю','Я']) then
k := k + 1;
if (k > max) then
begin
max := k;
Cmax := C;
end;
i += 1;
end;
WriteLn('Слово с наибольшим количеством гласных: ',Cmax);
End.
Пример:
Введите предложение: Написать алгоритм,что указывает в данному предложении слово, в котором количество гласных максимальное
Слово с наибольшим количеством гласных: ПРЕДЛОЖЕНИИ