1. Напишите программу, которая бы подсчитала количество цифр в строке символов (вводимые символы могут быть любые). Ввод строки завершается точкой.
2. Напишите программу, которая бы подсчитывала количество слов в строке. Слова разделяются пробелом, ввод строки завершается точкой.
3. Напишите программу, которая бы подсчитывала в строке количество символов в словах и выводила длину самого длинного слова. Слова разделяются пробелом, ввод строки завершается точкой.
4. Напишите программу расшифровки 4-буквенного однословного сообщения.
Для получения 4 букв нужно ввести 3 строки:
- из первой строки прочесть только первую букву;
- из второй строки прочесть только первую букву;
- из третьей строки прочесть первую и вторую буквы.
Далее расшифровать полученные четыре буквы по такому алгоритму: вместо первой и третьей букв подставить соответственно буквы, отстоящие от них по алфавиту на две буквы назад, а вторую и четвертую буквы оставить без изменения.
Для проверки возьмите пример, приведенный ниже.
Ввод:
FINISHED
OR
PENDING?
На выводе должно быть слово DONE.
Домашние задания: Информатика
Напишите программы в PascalABC.
упс...
ща все всё бросят и будут тебе прогу писать, тестировать и задорма высылать...
наивняк...
ща все всё бросят и будут тебе прогу писать, тестировать и задорма высылать...
наивняк...

1.1)
var i, k: integer;
s: string;
begin
write ('строка символов = ');
readln (s);
s:=s+'.';
s:= copy (s, 1, pos ('.',s));
k:=0;
for i:=1 to length(s) do
if s[i] in ['0'..'9'] then inc(k);
writeln (k);
end.
1.2)
var i, k: integer;
s: string;
begin
write ('строка символов = ');
readln (s);
s:=s+'.';
s:= copy (s, 1, pos ('.',s));
k:=0;
for i:=1 to length(s) do inc(k, ord(s[i] in ['0'..'9']));
writeln (k);
end.
2)
var n: integer;
s: string;
begin
write ('строка символов = ');
readln (s);
s:=s+'.';
s:= copy (s, 1, pos ('.',s));
s:=s+' ';
n:=0;
while length(s) > 0 do
begin
inc(n);
delete (s, 1, pos (' ', s,1));
end;
writeln (n);
end.
3)
var k: integer;
s: string;
begin
write ('строка символов = ');
readln (s);
s:=s+'.';
s:= copy (s, 1, pos ('.',s)-1);
s:=s+' ';
k:=0;
while length(s) > 0 do
begin
if length(copy (s, 1, pos (' ', s, 1))) > k then k:=length(copy (s, 1, pos (' ', s, 1)));
delete (s, 1, pos (' ', s,1));
end;
writeln ('Количество символов самого длинного слова = ', k-1);
end.
4)
var s, sn: string;
begin
readln (s);
if ord(s[1])-2 < ord('A') then sn:=chr(ord('Z')-1-(-ord(s[1])+ord('A')))
else sn := chr(ord(s[1])-2);
readln (s);
sn:=sn + s[1];
readln (s);
if ord(s[1])-2 < ord('A') then sn:=sn+chr(ord('Z')-1-(-ord(s[1])+ord('A')))
else sn :=sn+ chr(ord(s[1])-2);
sn:=sn+s[2];
writeln (sn);
end.
var i, k: integer;
s: string;
begin
write ('строка символов = ');
readln (s);
s:=s+'.';
s:= copy (s, 1, pos ('.',s));
k:=0;
for i:=1 to length(s) do
if s[i] in ['0'..'9'] then inc(k);
writeln (k);
end.
1.2)
var i, k: integer;
s: string;
begin
write ('строка символов = ');
readln (s);
s:=s+'.';
s:= copy (s, 1, pos ('.',s));
k:=0;
for i:=1 to length(s) do inc(k, ord(s[i] in ['0'..'9']));
writeln (k);
end.
2)
var n: integer;
s: string;
begin
write ('строка символов = ');
readln (s);
s:=s+'.';
s:= copy (s, 1, pos ('.',s));
s:=s+' ';
n:=0;
while length(s) > 0 do
begin
inc(n);
delete (s, 1, pos (' ', s,1));
end;
writeln (n);
end.
3)
var k: integer;
s: string;
begin
write ('строка символов = ');
readln (s);
s:=s+'.';
s:= copy (s, 1, pos ('.',s)-1);
s:=s+' ';
k:=0;
while length(s) > 0 do
begin
if length(copy (s, 1, pos (' ', s, 1))) > k then k:=length(copy (s, 1, pos (' ', s, 1)));
delete (s, 1, pos (' ', s,1));
end;
writeln ('Количество символов самого длинного слова = ', k-1);
end.
4)
var s, sn: string;
begin
readln (s);
if ord(s[1])-2 < ord('A') then sn:=chr(ord('Z')-1-(-ord(s[1])+ord('A')))
else sn := chr(ord(s[1])-2);
readln (s);
sn:=sn + s[1];
readln (s);
if ord(s[1])-2 < ord('A') then sn:=sn+chr(ord('Z')-1-(-ord(s[1])+ord('A')))
else sn :=sn+ chr(ord(s[1])-2);
sn:=sn+s[2];
writeln (sn);
end.
Я сейчас без компа, да и строки плохо помню, но +- подскажу
Var sr:string;
C:char;
K,i:integer;
Begin
Read(st);
For i:=1 to lenght(st) do begin c:=st[i];
Тут нужно с помощью функции (вроде, Val) преобразовать в число, глянуть в инете какие значения для цифр и сделать ограничение типа if c<10 then k:=k+1;
После этого завершаем цикл end;
И выводим значение write(k); end.
2. Аналогично, находишь значение пробела и точки, подсчитываешь их количество и выводишь его.
3.циклом от пробела до пробела и присваивать после цикла в переменную максимальное значение
4.берешь строки st1, st2,...
И из каждой выбираешь нужные тебе элементы st1[i], st2[i],...
Затем переводишь в числа для поиска разницы между буквами в алфавите ибо в кодировке буквы по алфавитц расставлены
Var sr:string;
C:char;
K,i:integer;
Begin
Read(st);
For i:=1 to lenght(st) do begin c:=st[i];
Тут нужно с помощью функции (вроде, Val) преобразовать в число, глянуть в инете какие значения для цифр и сделать ограничение типа if c<10 then k:=k+1;
После этого завершаем цикл end;
И выводим значение write(k); end.
2. Аналогично, находишь значение пробела и точки, подсчитываешь их количество и выводишь его.
3.циклом от пробела до пробела и присваивать после цикла в переменную максимальное значение
4.берешь строки st1, st2,...
И из каждой выбираешь нужные тебе элементы st1[i], st2[i],...
Затем переводишь в числа для поиска разницы между буквами в алфавите ибо в кодировке буквы по алфавитц расставлены
Рома Дюканов
Спасибо!
Похожие вопросы
- Срочно Помогите написать программу по задаче (на любом языке программирования)
- 1) Напишите программу для подсчета произведения чисел введённых пользователем.
- Помогите пожалуйста нужно написать программу в паскале.
- Напишите программу которая с помощью цикла For-NEXT выводит на экран рисунок «Крылья»
- Короче, помогите написать программу на языке паскаля где нужно--->
- (Паскаль) Написать программу для вычисления функции y= x+1 при x<6 ; 2*x-1 при x>=0
- Помогите нужно написать программу буду благодарен
- Помогите пожалуйста написать программу на Си (максимально просто по возможности)
- Диф зачет по инфе написать программу
- Написать программы с помощью паскаля. Срочно помогите!