Конечно! Давайте решим задания на языке Паскаль по порядку.
Задание 4
a) Программа, которая удаляет все знаки тире и пробелы из введенной строки:
program RemoveDashesAndSpaces;
var
v, result: string;
i: integer;
begin
writeln('Введите строку:');
readln(v);
result := '';
for i := 1 to length(v) do
begin
if (v[i] <> '-') and (v[i] <> ' ') then
result := result + v[i];
end;
writeln('Результат: ', result);
end.
б) Программа, которая удаляет указанное слово из введенной строки:
program RemoveWord;
var
v, word, result: string;
pos: integer;
begin
writeln('Введите строку:');
readln(v);
writeln('Введите слово для удаления:');
readln(word);
result := v;
while Pos(word, result) > 0 do
begin
pos := Pos(word, result);
Delete(result, pos, Length(word));
end;
writeln('Результат: ', result);
end.
Задание 5
Программа, которая кодирует строку, заменяя звонкие согласные на глухие и мягкие гласные на твердые:
program EncodeString;
var
v, result: string;
i: integer;
begin
writeln('Введите строку:');
readln(v);
result := '';
for i := 1 to length(v) do
begin
case v[i] of
'б': result := result + 'п';
'в': result := result + 'ф';
'г': result := result + 'к';
'д': result := result + 'т';
'ж': result := result + 'ш';
'з': result := result + 'с';
'й': result := result + 'й'; // 'й' остается без изменений
'я': result := result + 'а';
'ё': result := result + 'о';
'ю': result := result + 'у';
'и': result := result + 'ы';
'е': result := result + 'э'; // например, заменяем только 'е' для примера
else
result := result + v[i];
end;
end;
writeln('Результат: ', result);
end.
Задание 6
a) Программа, которая переворачивает строку:
program ReverseString;
var
v, reversed: string;
i: integer;
begin
writeln('Введите строку:');
readln(v);
reversed := '';
for i := length(v) downto 1 do
begin
reversed := reversed + v[i];
end;
writeln('Перевернутая строка: ', reversed);
end.
б) Программа, которая определяет, является ли строка «перевершем» после удаления пробелов:
program IsPalindrome;
var
v, cleaned: string;
i: integer;
isPalindrome: boolean;
begin
writeln('Введите строку:');
readln(v);
cleaned := '';
// Убираем пробелы
for i := 1 to length(v) do
begin
if v[i] <> ' ' then
cleaned := cleaned + v[i];
end;
// Проверяем, является ли строка палиндромом
isPalindrome := true;
for i := 1 to length(cleaned) div 2 do
begin
if cleaned[i] <> cleaned[length(cleaned) - i + 1] then
begin
isPalindrome := false;
break;
end;
end;
if isPalindrome then
writeln('Да')
else
writeln('Нет');
end.
Эти программы помогут вам выполнить задания, используя язык Паскаль. Если у вас есть дополнительные вопросы или нужно разъяснить какие-либо моменты, не стесняйтесь спрашивать!
