Нужно решить на языке паскаль. изучаем string. 1.дан текст. найдите самое длинное слова и подсчитайте количество букв в найденном слове. 2.дан текст.вам нужно подсчитать количество заглавных букв в тексте.
Var s,maxs:string; i,max,j,len:integer; begin max:=-1; readln(s); var ars:=s.Split; for i:=0 to ars.length-1 do begin len:=0; for j:=1 to ars[i].length do if (lowcase(ars[i][j])>='a') and (lowcase(ars[i][j])<='z') then inc(len); if ars[i].length=max then maxs+=chr(13)+ars[i]+' '+len; if ars[i].length>max then begin maxs:=ars[i]+' '+len; max:=ars[i].length; end; end; write(maxs); end.
Пример ввода: Steins;Gate is fine VN, 12345678910 Пример вывода: Steins;Gate 10 12345678910 0
//2
Var s:string; i,counter:integer; begin readln(s); for i:=1 to length(s) do if (s[i]=upcase(s[i])) and (lowcase(s[i])>='a') and (lowcase(s[i])<='z') then inc(counter); writeln(counter); end.
Var s:string; m,pk:real; a:array[1..20] of real; i,k,n:integer; begin Write('Введите число в системе счисления с основанием [2;16]: '); Readln(s); n:=Length(s); for i:=1 to n do begin if s[i] in ['0'..'9'] then a[i]:=Ord(s[i])-Ord('0') else if s[i] in ['A'..'F'] then a[i]:=Ord(s[i])-Ord('A')+10 else if s[i] in ['a'..'f'] then a[i]:=Ord(s[i])-Ord('a')+10 else begin Writeln('Символ ',s[i],' недопустим!'); Exit end end; Write('Введите основание системы счисления: '); Read(k); if (k<2) or (k>16) then begin Writeln('Такое значение недопустимо!'); Exit end; m:=a[n]; pk:=k; for i:=n-1 downto 1 do begin m:=m+a[i]*pk; pk:=pk*k end; Writeln('Десятичный эквивалент введенного числа равен ',m) end.
Тестовое решение Введите число в системе счисления с основанием [2;16]: 4e32Ca Введите основание системы счисления: 16 Десятичный эквивалент введенного числа равен 5124810
//1
Var
s,maxs:string;
i,max,j,len:integer;
begin
max:=-1;
readln(s);
var ars:=s.Split;
for i:=0 to ars.length-1 do
begin
len:=0;
for j:=1 to ars[i].length do
if (lowcase(ars[i][j])>='a') and (lowcase(ars[i][j])<='z') then
inc(len);
if ars[i].length=max then
maxs+=chr(13)+ars[i]+' '+len;
if ars[i].length>max then
begin
maxs:=ars[i]+' '+len;
max:=ars[i].length;
end;
end;
write(maxs);
end.
Пример ввода:
Steins;Gate is fine VN, 12345678910
Пример вывода:
Steins;Gate 10
12345678910 0
//2
Var
s:string;
i,counter:integer;
begin
readln(s);
for i:=1 to length(s) do
if (s[i]=upcase(s[i])) and (lowcase(s[i])>='a') and (lowcase(s[i])<='z') then
inc(counter);
writeln(counter);
end.
Пример ввода:
SiMple TeXt
Пример вывода:
4