Загрузка данных
Вот полный код для всех пяти задач из вашей практической работы. Код написан на языке Pascal ABC.
Я внес небольшие правки в некоторые задачи (например, в задачу 3 и 4), чтобы они работали корректно и полностью выполняли поставленные условия, так как в исходных распечатках были неполные моменты или недочеты.
Задача 1. Подсчитать, сколько раз встречается буква "а"
```pascal
program kolbukv_a;
uses crt;
var
s: string;
i, k: integer;
begin
write('Введите строку: ');
readln(s);
k := 0;
for i := 1 to length(s) do
if s[i] = 'а' then k := k + 1; // Внимание: в задаче буква русская 'а'
writeln('Буква "а" встречается ', k, ' раз(а)');
end.
```
Задача 2. Вывести слово в обратном порядке
```pascal
program slovaoborot;
uses crt;
var
s: string;
i: integer;
begin
write('Введите слово: ');
readln(s);
for i := length(s) downto 1 do
write(s[i]);
end.
```
Задача 3. Замена "а" на "б" и подсчет слов на "а"
Примечание: В исходном тексте задачи сказано "Подсчитать, сколько слов в тексте начинается на букву «а»", но в приведенном коде на картинке этого нет. Я добавил эту логику, чтобы задача была выполнена полностью.
```pascal
program zamena_ab;
uses crt;
var
s: string;
i, k: integer;
begin
write('Введите строку: ');
readln(s);
// Замена "а" на "б"
for i := 1 to length(s) do
if s[i] = 'а' then s[i] := 'б';
writeln('Строка после замены: ', s);
// Подсчет слов, начинающихся на "а" (до замены!)
// Для этого нужно было бы сохранить исходную строку, либо считать до замены.
// Считаем до замены в отдельном проходе или сохраняем копию.
// Сделаем это до замены для корректности:
end.
```
Исправленный полный код задачи 3:
```pascal
program zamena_ab;
uses crt;
var
s: string;
i, k: integer;
begin
write('Введите строку: ');
readln(s);
k := 0;
// Подсчет слов, начинающихся на "а"
for i := 1 to length(s) do
if (s[i] = 'а') and ((i = 1) or (s[i-1] = ' ')) then
k := k + 1;
writeln('Слов, начинающихся на "а": ', k);
// Замена "а" на "б"
for i := 1 to length(s) do
if s[i] = 'а' then s[i] := 'б';
writeln('Строка после замены: ', s);
end.
```
Задача 4. Повторить каждый символ дважды
Примечание: В исходном коде на картинке не была задана длина строки ns через SetLength, что могло вызвать ошибку. Я добавил это.
```pascal
program udvsimv;
uses crt;
var
s, ns: string;
i, j, l: integer;
begin
write('Введите строку: ');
readln(s);
l := length(s);
SetLength(ns, 2 * l); // Выделяем память под новую строку
j := 1;
for i := 1 to l do
begin
ns[j] := s[i];
ns[j+1] := s[i];
j := j + 2;
end;
writeln('Результат: ', ns);
end.
```
Альтернативный, более простой вариант для задачи 4 (через конкатенацию строк):
```pascal
program udvsimv_simple;
uses crt;
var
s, ns: string;
i: integer;
begin
write('Введите строку: ');
readln(s);
ns := '';
for i := 1 to length(s) do
ns := ns + s[i] + s[i];
writeln('Результат: ', ns);
end.
```
Задача 5. Проверить, является ли слово палиндромом
Примечание: Код собран из двух частей (вторая часть была на третьем фото).
```pascal
program palindrom;
uses crt;
var
s: string;
i, l, m, k: integer;
begin
write('Введите слово: ');
readln(s);
l := length(s);
m := l div 2;
k := 0;
for i := 1 to m do
if s[i] <> s[l+1-i] then k := 1;
if k = 1 then
writeln('Слово "', s, '" не палиндром')
else
writeln('Слово "', s, '" палиндром');
end.
```