Обобщающее повторение по теме «Основы алгоритмизации и программирования»
Часто для решения задачи удобно построить новую строку, добавляя в строку символы с использованием операции конкатенации.
s:=''; {Переменной s присваивается значение «пустая строка»}
s:=s+'a'; {Символ 'a' присоединяется к строке s справа}
s:='b'+s; {Символ 'b' присоединяется к строке s слева}
Задание 1. Разберите, затем выполните на компьютере программу, которая позволяет ввести строку s, затем после каждой буквы «а» вставляет пробел.
Program prim1;
Var s, t:string;
i:integer;
Begin writeln('Введите строку');
readln(s); t:='';
for i:=1 to length(s) do
if s[i]='а'
then t:=t+s[i]+''
else t:=t+s[i];
writeln('Результат:');
writeln(t);
End.
Задание 2. Разберите программу, которая позволяет «перевернуть» строку.
Пример ввода: Тут как тут
Пример вывода: тут как туТ
1-й способ.
Program prim1;
Var s, t:string; i:integer;
Begin writeln('Введите строку');
readln(s); t:='';
for i:=1 to length(s) do
t:=s[i]+t;
writeln('Результат:');
writeln(t);
End.
2-й способ.
Program prim1;
Var s, t:string;
i:integer;
Begin
writeln('Введите строку');
readln(s); t:='';
for i:=length(s) downto 1 do
t:=t+s[i];
writeln('Результат:');
writeln(t);
End.
Задание 3. Составьте программу, позволяющую удвоить все буквы «а» в строке.
Пример ввода: математика
Пример вывода: маатемаатикаа
Задание 4. Составьте программу, позволяющую вставить слово t после первого слова исходной строки s. Cтроку s и слово t введите с клавиатуры.
s:=''; {Переменной s присваивается значение «пустая строка»}
s:=s+'a'; {Символ 'a' присоединяется к строке s справа}
s:='b'+s; {Символ 'b' присоединяется к строке s слева}
Задание 1. Разберите, затем выполните на компьютере программу, которая позволяет ввести строку s, затем после каждой буквы «а» вставляет пробел.
Program prim1;
Var s, t:string;
i:integer;
Begin writeln('Введите строку');
readln(s); t:='';
for i:=1 to length(s) do
if s[i]='а'
then t:=t+s[i]+''
else t:=t+s[i];
writeln('Результат:');
writeln(t);
End.
Задание 2. Разберите программу, которая позволяет «перевернуть» строку.
Пример ввода: Тут как тут
Пример вывода: тут как туТ
1-й способ.
Program prim1;
Var s, t:string; i:integer;
Begin writeln('Введите строку');
readln(s); t:='';
for i:=1 to length(s) do
t:=s[i]+t;
writeln('Результат:');
writeln(t);
End.
2-й способ.
Program prim1;
Var s, t:string;
i:integer;
Begin
writeln('Введите строку');
readln(s); t:='';
for i:=length(s) downto 1 do
t:=t+s[i];
writeln('Результат:');
writeln(t);
End.
Задание 3. Составьте программу, позволяющую удвоить все буквы «а» в строке.
Пример ввода: математика
Пример вывода: маатемаатикаа
Задание 4. Составьте программу, позволяющую вставить слово t после первого слова исходной строки s. Cтроку s и слово t введите с клавиатуры.
Пример ввода: Наступила осень. {строка s}
золотая {слово t, которое надо вставить после первого слова}
Пример вывода: Наступила золотая осень.
Задание 5. Составьте программу, которая позволяет найти количество цифр во введенном с клавиатуры целом числе.
Указание. Введите число, преобразуйте число в строку, вычислите длину строки и выведите результат.
Пример ввода: 1234567 ъ
Пример вывода: Количество цифр в числе = 7
Задание 6. Разберите, затем выполните на компьютере программу, которая позволяет найти сумму цифр введенного натурального числа.
Program Str5;
Var s:string;
i, x, a, code:integer;
Begin writeln('Введите натуральное число');
readln(s); {Число вводится в строковую переменную s}
a:=0;
for i:=1 to length(s) do
begin
Val(s[i], x, code); {Символ переводится в число х}
a:=a+x {Цифры суммируются} end; writeln('Сумма цифр равна', a)
End.
Задание 7. Составьте программу, позволяющую ввести фамилию, имя и отчество учащегося, разделенные пробелом, и вывести фамилию и инициалы.
Пример ввода: Иванов Сергей Михайлович {строка s}
Пример вывода: Иванов С.М.
Задание 8. Составьте программу, позволяющую найти количество цифр во введенной строке s.
Пример ввода: 3 июля 2015 года {строка s}
Пример вывода: Количество цифр в строке = 5
Задание 9. Составьте программу, позволяющую выяснить, сколько раз встречается каждая буква алфавита во введенной строке s.
Пример ввода: август {строка s}
Пример вывода: Количество букв а = 1
Количество букв б = 0
Количество букв в = 1 …
Количество букв я = 0
Задание 10*. Задайте пользователю вопрос, требующий однозначного ответа. Проверьте правильность ответа. Дайте пользователю несколько подсказок и попыток. Если он угадал, то спросите его имя и выведите на экран поздравление, являющееся конкатенацией нескольких строк, дважды употребив его имя.
Задание 5. Составьте программу, позволяющую найти долю согласных букв в строке, не содержащей знаков препинания. Указание. Предварительно удалите пробелы.
Пример ввода: поздравляем с праздником
Пример вывода: Всего букв — 22
Согласных букв – 15
Доля согласных в тексте — 0,68
Комментарии
Отправить комментарий