Задание 1
program HelloMoney;
var
y, i: integer; // Объявим переменные для количества лет вклада и для счетчика цикла
p, s: real; //Объявим переменные для количества процентов и величины вклада
begin
write('Какая сумма вклада? ');
readln(s); // Указываем сколько составляет вклад
write('На сколько лет вклад? ');
readln(y); // Указываем на сколько лет вклад
write('Какая процентная ставка?');
readln(p); // Указываем процентную ставку
for i:=1 to y do
s := s + s*p/100; // Прибавляем к вкладу ежегодный процент
write('Сумма денег составит: ', s);
end.
Объяснение:
2. var
r: integer;
result: string;
begin
write('вводите число от 1 до 12: ');
readln(r);
case r of
1: Result := 'январь';
2: Result := 'февраль';
3: Result := 'март';
4: Result := 'апрель';
5: Result := 'май';
6: Result := 'июнь';
7: Result := 'июль';
8: Result := 'август';
9: Result := 'сентябрь';
10: Result := 'октябрь';
11: Result := 'ноябрь ';
12: Result := 'декабрь';
end;
writeln(' месяц : ',result);
end.
Объяснение:
я написал ответ только к 2 задаче
постарайся сам сделать 1 ую задачку.
1.
begin
write(ReadString.indexof(':'))
end.
Пример ввода: 1234:56
Пример вывода: 4
2.
begin
write(readString.ToWords.Select(x->x[1]).JoinIntoString)
end.
Пример ввода: Как любила язвить королева, собаки апплодировали
Пример вывода: Клякса
3.
begin
write(readString.ToWords.Select(s->Length(s)).Max)
end.
Пример ввода: Не хочу учиться хочу жениться
Пример вывода: 8
4.
Если там нет знаков препинания:
begin
write(readString.ToWords.Select(s->ReverseString(s)).JoinIntoString(' '))
end.
Если там есть знаки препинания, которые надо оставить на месте, то настолько же короткого решения мне не придумалось, можно так:
begin
var str := readString + ' ';
var m := '';
for var i := 1 to str.Length do
if str[i].IsLetter then
m += str[i]
else
begin
write(ReverseString(m), str[i]);
m := '';
end;
end.
Пример ввода: амар алым умам
Пример вывода: рама мыла маму