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

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
dzeon
незнакомец
Сообщения: 2
Зарегистрирован: 10.11.2022 21:21:34

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

Сообщение 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 работает.
Помогите пожалуйста ато я незнаю как можно дальше осваивать язык если такие простые примеры не работают.
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

Добавь второй строкой

Код: Выделить всё

{$mode objfpc}
по умолчанию режим FPC, там integer 16битный
dzeon
незнакомец
Сообщения: 2
Зарегистрирован: 10.11.2022 21:21:34

Сообщение dzeon »

Спасибо разобрался в место Integer написал longint и всё заработало. Жаль что нигде об этом небыло сказано. Пришлось из книг по бэйсику вспомнить потом загуглить.
Ответить