Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/58: Рейтинг темы: голосов - 58, средняя оценка - 4.83
 Аватар для FunduxYura
1 / 1 / 0
Регистрация: 31.07.2012
Сообщений: 32

Ошибка в коде Pascal ABC, "ожидается оператор", как исправить?

14.09.2012, 09:10. Показов 11719. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите! Не могу завершить прогу на Pascal ABC (да-да, тот самый). Делаю что-то вроде клавиатурного тренажёра...
Код Паскаля АВС
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
uses Timers,Events;
var tickers: real;
 
function GiveErrorBad(lolikon:Boolean):boolean;
begin
writeLn('-----------------');
writeLn('Íåñîâïàäåíèå ñ òåêñòîì! Âîçìîæíûå ïðè÷èíû:');
writeLn(' - Åñòü ãðàììàòè÷åñêèå, ïóíêòóàöèîííûå îøèáêè (òîãäà âàø IQ íå âûøå êàìíÿ, èáî òåêñò áûë ïîä ãëàçàìè...)');
writeLn(' - Åñòü ëèøíèå ïðîáåëû (ñ êåì íå áûâàåò...)');
writeLn(' - Áûëà ïîïûòêà ïîñòàâèòü àáçàö. Ýòî íå àâòîð íåãðàìîòíûé, ýòî îñîáåííîñòü Pascal ABC...');
writeLn(' - Âû íå ââîäèëè íè÷åãî, èëè ââîäèëè, íî ñîâñåì íå òî');
writeLn('Çàêðîéòå ïðîãðàììó è íà÷èíàéòå ñíà÷àëà... :(');
readLn();
end;
 
procedure f;
begin
tickers:=tickers+0.5
end;
 
var t: Timer;
 
const
  tekst='не волнует';
var
 whaticrar:Text;
 
begin
  writeLn('Ââåäè òåêñò áåç îøèáîê!');
  writeLn('Òåêñò íàõîäèòñÿ â ðàñïå÷àòàííîì âèäå ïîä âàøèì íîñîì...');
  writeLn('Ïîåõàëè? Íàæìè Enter');
  readLn();
  writeLn('Âðåìÿ ïîøëî!');
  writeLn('--------------');
  t:=Timer.Create(500,f);
  readLn(whaticrar);
  t.Stop();
  
if whaticrar=tekst then
  writeLn('-----------------');
  writeLn('Âû ïðîøëè òåñò!');
  writeLn('------------------');
  writeLn('Âðåìÿ ïðîõîæäåíèÿ:');
  writeLn(tickers + ' ñåêóíä');
else GiveErrorBad();
end.

Те символы-кракозябры - результат копирования Win1251 в UTF-8 форму, которые пропали на предварительном просмотре
Компилятор PABC.NET(решил прогнать код через него) ругается:
Code
1
Program1.pas(46,1): Ожидался оператор
Помогите, пожалуйста!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2012, 09:10
Ответы с готовыми решениями:

Исправить ошибки в коде. Windows Forms Pascal ABC
WindowsForms. Только начинаю, не ругайте сильно. Я хочу сделать программу в Pascal на windows Forms. Мне нужно, чтобы по клику мыши...

Ошибка в коде Pascal ABC
При запуске кода,выходит ошибка Program1.pas(10) : Неизвестное имя 'ioresult' В чем проблема? program laba; procedure...

Оператор цикла Pascal ABC
Кто сможет помочь, кому не лень плз ! РЕШИТЕ.... Около стены наклонно стоит палка длиной х м. Один ее конец находится на расстоянии у м...

11
 Аватар для vi fail
4 / 4 / 2
Регистрация: 27.07.2012
Сообщений: 59
14.09.2012, 09:20
Поставь ; после закрытой скобки.
0
 Аватар для FunduxYura
1 / 1 / 0
Регистрация: 31.07.2012
Сообщений: 32
14.09.2012, 10:09  [ТС]
Цитата Сообщение от vi fail Посмотреть сообщение
Поставь ; после закрытой скобки.
Строчку в исправленном виде покажи, а то я тебя не понял
0
 Аватар для vi fail
4 / 4 / 2
Регистрация: 27.07.2012
Сообщений: 59
14.09.2012, 10:44
Pascal
1
Program1.pas(46,1);
0
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
14.09.2012, 13:03
FunduxYura, до else убери ;
0
 Аватар для FunduxYura
1 / 1 / 0
Регистрация: 31.07.2012
Сообщений: 32
14.09.2012, 15:19  [ТС]
Цитата Сообщение от Artem7 Посмотреть сообщение
FunduxYura, до else убери ;
Убрал, теперь этот кусок выглядит так:
Pascal
1
2
3
4
5
6
7
8
if whaticrar=tekst then
  writeLn('-----------------');
  writeLn('Вы прошли тест!');
  writeLn('------------------');
  writeLn('Время прохождения:');
  writeLn(tickers + ' секунд')
else GiveErrorBad()
end.
Ошибка та же - 1 символ, строка 45, ожидается ;

Добавлено через 5 минут
Цитата Сообщение от vi fail Посмотреть сообщение
Pascal
1
Program1.pas(46,1);
Это сама ошибка, так что - nice joke
0
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
14.09.2012, 15:19
FunduxYura, Да потому что если вы хотите использовать в условие больше одного оператора то надо использовать операторные скобки Begin End
Pascal
1
2
3
4
5
6
7
8
9
10
if whaticrar=tekst then
 Begin
  writeLn('-----------------');
  writeLn('Вы прошли тест!');
  writeLn('------------------');
  writeLn('Время прохождения:');
  writeLn(tickers + ' секунд');
 End
else GiveErrorBad()
end.
0
 Аватар для FunduxYura
1 / 1 / 0
Регистрация: 31.07.2012
Сообщений: 32
14.09.2012, 15:27  [ТС]
Цитата Сообщение от Artem7 Посмотреть сообщение
FunduxYura, Да потому что если вы хотите использовать в условие больше одного оператора то надо использовать операторные скобки Begin End
Ой, совсем забыл про них, я просто раньше кодил на AS, JS, VB .NET, а с паскалем впервые встретился, вот и тупанул...

Но теперь ругается на
Pascal
1
2
3
4
5
6
7
8
9
10
if whaticrar=tekst then
begin
  writeLn('-----------------');
  writeLn('Вы прошли тест!');
  writeLn('------------------');
  writeLn('Время прохождения:');
  writeLn(tickers + ' секунд');
end;
else GiveErrorBad();
end.
Говорит, что ожидался оператор, но ругань идёт в самое начало строчки с else...
Код функции, которая не должна ничего возвращать, и нужна для удобства

Pascal
1
2
3
4
5
6
7
8
9
10
11
function GiveErrorBad(lolikon:Boolean):boolean;
begin
writeLn('-----------------');
writeLn('Несовпадение с текстом! Возможные причины:');
writeLn(' - Есть грамматические, пунктуационные ошибки (тогда ваш IQ не выше камня, ибо текст был под глазами...)');
writeLn(' - Есть лишние пробелы (с кем не бывает...)');
writeLn(' - Была попытка поставить абзац. Это не автор неграмотный, это особенность Pascal ABC...');
writeLn(' - Вы не вводили ничего, или вводили, но совсем не то');
writeLn('Закройте программу и начинайте сначала... :(');
readLn();
end;
0
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
14.09.2012, 15:29
FunduxYura, ты посмотри на мой код а теперь на свой...
0
 Аватар для FunduxYura
1 / 1 / 0
Регистрация: 31.07.2012
Сообщений: 32
14.09.2012, 15:42  [ТС]
Цитата Сообщение от Artem7 Посмотреть сообщение
FunduxYura, ты посмотри на мой код а теперь на свой...
Спасибо, просто я уже жестоко туплю, теперь у меня ещё одна проблема...

Не по теме:

Я безнадёжен, да?


Pascal
1
2
3
if whaticrar=tekst then
 Begin
  writeLn('-----------------');
говорит, что = нельзя юзать с Text и string, но как мне ещё сравнивать?
0
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
14.09.2012, 16:03
FunduxYura, так потому что ты пытаешься переменную типа текстовый файл сравнить с типом string а чтобы понять как сравнивать надо понимать что ты хочешь сделать в проге...
0
 Аватар для FunduxYura
1 / 1 / 0
Регистрация: 31.07.2012
Сообщений: 32
21.09.2012, 17:47  [ТС]
Хм... Я решил проблему, но почему-то код работает ПОЛНОСТЬЮ только на PascalABC не .NET... В NET версии таймер не считает ничего...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2012, 17:47
Помогаю со студенческими работами здесь

Оператор цикла Pascal ABC
Здравствуйте! Это моя задача помогите мне ее решить. Особенно не понял значение подчеркнутого слово, в условие было так написано это слово...

Условный оператор цикла и после него. Pascal ABC
1.Найти все целые числа из промежутка от А до В, у которых количество делителей равно К. Если таких чисел нет, то должно быть напечатано...

Внести правку в коде Pascal ABC
Нужно изменить код таким образом, чтобы значения матрицы вводились вручную. P.S желательно скинуть измененный код целиком var ...

Комбинаторика (исправить ошибку) / Pascal ABC
У продавца и покупателя имеется неограниченное кол-во монет достоинством (1,2,5,10,20,50,100,200,500 к примеру). Покупатель купил товар на...

Программа написана на Pascal ABC, но нужно её открыть в Pascal ABC NET
program pr; uses crt, graphABC; var i:integer; begin setwindowwidth(700); setwindowheight(400); for i:=1 to 10 do begin ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru