Другие языки программирования и технологии

Напечатал программу но немогу понять в чем заключается моя ошибка..

1. Где цикл в котором будут вводится числа?
2. Про тип переменной для среднего уже сказано.
3. Что за присваивания между секцией var и begin ?
4. Почему вводится значение в переменную N, а на ноль анализируется M ?
5. Где обработка ТРЕХ ПОДРЯД введенных нулей?
6. Странно среднее вы вычисляете... .

Фу-у.... Надоело.. .
M := 0; {накопитель суммы}
K := 0; {счетчик нулей}
L := 0; {счетчик ненулевых чисел}
while K < 3 do begin
ReadLn(N); {очередное число}
if N = 0 then Inc(K)
else begin
K := 0; {очистили счетчик нулей}
M := M + N; {накапливаем сумму}
Inc(L); {наращиваем счетчик отличных от нуля чисел}
WriteLn('Mid=', M / L); { выводим среднее (для красивого вывода можно поиграться форматом) }
end;

Как-то так.. .

> курсор остается в том месте где выелено красным овалом

Правильно остается! Деление возвращает вещественный тип!

Кода вы уже буквари с прописями читать начнете?

apprico +5! Но если бы проблема была только в этом.. .
Anton Sk
Anton Sk
59 614
Лучший ответ
среднее арифметическое может и не быть целым числом:

var k,m,n:integer;

это что ?

M:=M+N/2;

вот так, наверное:

M:=(M+N)/2;
K:=0;
M:=N;
begin

Угу.. . Конечно. Область объявления переменных - еще открыта, а мы начинаем шкодить.
begin
K:=0;
M:=N;
- вот так уже будет компилироваться.
readln может добавить? в чем ошибка то заключается?
--
AK
Arystan Kuttybaev
1 840
Проблема здесь:
M:=M+N/2;
Следует поставить скобки.