Обычно предполагается, что нам известны какие-либо начальные данные. Тогда для простоты, буду считать что нам известно основание и высота к этому основанию. В таком случае
S = основание * высоту / 2
Что нужно сделать?
1) Запросить у пользователя ввод длины основания
2) Запросить у пользователя ввод длины высоты
3) Вычислить площадь
4) Вывести площадь на экран
Определимся с данными. У нас будет переменная S, основания и высоты. Все будут real, ведь пользователь может ввести и не целое число.
program ploshad;
var S, osnovanie, visota:real;
begin
writeln('Вычисление площадь треугольника по основанию и высоте');
writeln('Введите длину основания ');
read(osnovanie);
writeln('Введите длину высоты ');
read(visota);
S:=osnovanie*visota/2;
writeln('Площадь треугольника = ',S);
end.
Задача нелогичная, получается, что он должен обучиться 5 операциям (4 действия и числа), на все эо дано 3 месяца.
1. Пусть за 1й мес он выучит числа - то есть 1 операцию.
2. За 2й мес он выучит + или -, то есть 1 операцию.
3. За 3й мес он выучит или -, или *, или : ЛИБО или +, или *, или : - то есть 1 операцию.
Всего за 3 месяца он может выучит 3 операции из желаемых 5 независимо от того, в какой последовательности он будет осваивать их.
ответ: не успеет, ему необходимо 5 месяцев либо увеличить количество операций, изучаемыз в месяц.
Как-то так я думаю
Const A = 65; Z = 90; N = 20;
Var b: Array[A..Z] of Integer;
i, j, max: Byte;
s: Array[1..N] of String;
Begin
WriteLn('Введите ', N, ' строчек большими буквами на английском языке');
For i := 1 To N Do
ReadLn(s[i]);
For i := 1 To N Do
For j := 1 To Length(s[N]) Do
If (Ord(s[i][j]) >= A) And (Ord(s[i][j]) <= Z) Then
b[Ord(s[i][j])] := b[Ord(s[i][j])] + 1;
max := A;
WriteLn('В данных предложениях присутствовали такие буквы:');
For i := A To Z Do
Begin
If b[i] > 0 Then
Begin
Write(Chr(i), ' ');
If b[i] > b[max] Then
max := i;
End;
End;
WriteLn;
WriteLn('Наиболее встречалась буква ', chr(max));
ReadLn;
End.