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

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

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

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

Сообщение dzeon » 10.11.2022 22:34:47

Здрпвствуйте. Решил я поучиться языку паскаль, дошол до изучения циклов и вот начал менять программу подставлять разные числа и обнаружил что паскаль не считает до миллиона. А на бейсике всё работает.
Код: Выделить всё
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 работает.
Помогите пожалуйста ато я незнаю как можно дальше осваивать язык если такие простые примеры не работают.
dzeon
незнакомец
 
Сообщения: 2
Зарегистрирован: 10.11.2022 22:21:34

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

Сообщение zub » 11.11.2022 01:31:47

Добавь второй строкой
Код: Выделить всё
{$mode objfpc}

по умолчанию режим FPC, там integer 16битный
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

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

Сообщение dzeon » 11.11.2022 09:28:06

Спасибо разобрался в место Integer написал longint и всё заработало. Жаль что нигде об этом небыло сказано. Пришлось из книг по бэйсику вспомнить потом загуглить.
dzeon
незнакомец
 
Сообщения: 2
Зарегистрирован: 10.11.2022 22:21:34

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

Сообщение zub » 11.11.2022 10:21:24

zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru