Страница 1 из 1

Цикл FOR I:=1 TO N не считает до миллиона.

СообщениеДобавлено: 10.11.2022 22:34:47
dzeon
Здрпвствуйте. Решил я поучиться языку паскаль, дошол до изучения циклов и вот начал менять программу подставлять разные числа и обнаружил что паскаль не считает до миллиона. А на бейсике всё работает.
Код: Выделить всё
PROGRAM SUMMA (OUTPUT);
(*сумма первых N натуральных чисел*)
VAR I,N,S:INTEGER;
BEGIN
N:=1000000;
S:=0
FOR I:=1 TO N DO
         S:=S+1;
WRITE(S);
END.

Доходит до 16900 и останавливаеться.
Пробовал и в турбо паскале в дос боксе на телефоне и в программе PascalGUI на андроид. Одинаково
А на бейсике даже в эмуляторе бк0010 работает.
Помогите пожалуйста ато я незнаю как можно дальше осваивать язык если такие простые примеры не работают.

Re: Цикл FOR I:=1 TO N не считает до миллиона.

СообщениеДобавлено: 11.11.2022 01:31:47
zub
Добавь второй строкой
Код: Выделить всё
{$mode objfpc}

по умолчанию режим FPC, там integer 16битный

Re: Цикл FOR I:=1 TO N не считает до миллиона.

СообщениеДобавлено: 11.11.2022 09:28:06
dzeon
Спасибо разобрался в место Integer написал longint и всё заработало. Жаль что нигде об этом небыло сказано. Пришлось из книг по бэйсику вспомнить потом загуглить.

Re: Цикл FOR I:=1 TO N не считает до миллиона.

СообщениеДобавлено: 11.11.2022 10:21:24
zub