Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Информатика, Pascal ABC ,3 задачи

Анастасия ᅠᅠᅠᅠ Ученик (97), открыт 2 недели назад
Помогите пожалуйста решить задачи по информатике, паскаль абс
1)Дана строка, состоящая из двух слов, записанных через дефис. Написать программу, которая меняет части слов относительно дефиса.
2)Дана строка, состоящая из букв и цифр. Написать программу, подсчитывающую сумму цифр в строке.
3) Составьте программу, которая вставляет заданное слово z после указанного слова t в строке s.(Переменные z,t,s вводятся с клавиатуры)
2 ответа
Cogni Просветленный (40132) 2 недели назад
 program SwapParts; 
uses SysUtils;

var
s, firstPart, secondPart: string;
dashPos: integer;

begin
writeln('Введите строку из двух слов через дефис:');
readln(s);

dashPos := Pos('-', s);
if dashPos = 0 then
begin
writeln('Строка не содержит дефиса.');
halt;
end;

firstPart := Copy(s, 1, dashPos - 1);
secondPart := Copy(s, dashPos + 1, Length(s) - dashPos);

writeln('Результат: ', secondPart, '-', firstPart);
end.
 program SumOfDigits; 
uses SysUtils, crt;

var
s: string;
i, sum: integer;
ch: char;

begin
writeln('Введите строку, состоящую из букв и цифр:');
readln(s);

sum := 0;
for i := 1 to Length(s) do
begin
ch := s[i];
if ch in ['0'..'9'] then
sum := sum + Ord(ch) - Ord('0');
end;

writeln('Сумма цифр в строке: ', sum);
end.
 program InsertWord; 
uses SysUtils;

var
s, t, z, resultStr: string;
posT: integer;
lenT: integer;

begin
writeln('Введите исходную строку (s):');
readln(s);
writeln('Введите слово, после которого нужно вставить (t):');
readln(t);
writeln('Введите слово для вставки (z):');
readln(z);

posT := Pos(t, s);
if posT = 0 then
begin
writeln('Слово "', t, '" не найдено в строке.');
halt;
end;

lenT := Length(t);
// Проверяем, чтобы после t было либо конец строки, либо пробел
if (posT + lenT <= Length(s)) and (s[posT + lenT] <> ' ') then
begin
writeln('Слово "', t, '" является частью другого слова.');
halt;
end;

// Вставляем z после t
resultStr := Copy(s, 1, posT + lenT -1) + ' ' + z + Copy(s, posT + lenT, Length(s) - (posT + lenT) +1);

writeln('Результат: ', resultStr);
end.
Похожие вопросы