Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/179: Рейтинг темы: голосов - 179, средняя оценка - 4.98
4 / 4 / 2
Регистрация: 07.11.2010
Сообщений: 29

Error 39: Ordinal expression expected

07.11.2010, 18:41. Показов 35618. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
________________________________________ ______________
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Program lr3var21;
Var x,y:real;
Begin
Writeln('vvedite argument');
Readln(x);
Case x of 1..9999: y:=sqrt(x);
                      0: y:=sqrt(x);
           -9999..-1: begin x:=-x;
                                  y:=sqrt(x);
                          end;
Writeln(y);
Readln;
End.
________________________________________ _________________

Что не так??
Пишет:
Нужно выражение перечисляемого типа (Error 39: Ordinal expression expected.)

Что это значит?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.11.2010, 18:41
Ответы с готовыми решениями:

Ordinal expression expected
При компиляции спотыкается на этом выражении с ошибкой 39 Ordinal expression expected: if l=((ord(c^.s)<65)and(ord(c^.s)<90)) l...

Ошибка Ordinal expression expected
Найдите ошибку, данная функция расположена в модуле function perevod(Row:string):string; // перевод строчных букв в заглавные var...

Ordinal expression expected
Main.pas(7,5) Error: Ordinal expression expected Program zadacha340; var x,s,n:real; begin read(N); s:=0; for x:=1 to N do ...

12
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
07.11.2010, 18:44
Не знаю что ты пытаешься сделать но вот:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program lr3var21;
Var y:real;
x:integer;
Begin
Writeln('vvedite argument');
Readln(x);
Case x of
1..9999: y:=sqrt(x);
0: y:=sqrt(x);
-9999..-1:
begin
x:=-x;
y:=sqrt(x);
end;
end;
Writeln(y);
Readln;
End.
0
4 / 4 / 2
Регистрация: 07.11.2010
Сообщений: 29
08.11.2010, 02:23  [ТС]
Цитата Сообщение от SuPeR XaKer Посмотреть сообщение
Не знаю что ты пытаешься сделать но вот:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program lr3var21;
Var y:real;
x:integer;
Begin
Writeln('vvedite argument');
Readln(x);
Case x of
1..9999: y:=sqrt(x);
0: y:=sqrt(x);
-9999..-1:
begin
x:=-x;
y:=sqrt(x);
end;
end;
Writeln(y);
Readln;
End.
Как же может быть ошибка в фразе, наскоко я знаю там можно писать что угодно =\
Курсор то мигает перед of
Не знаю что ты пытаешься сделать...
Напишите программу, которая выводит сообщение о том, какое значение у квадратного корня в зависимости от значения аргумента (при отрицательном значении аргумента результат – комплексное число, если аргумент равен 0 (или 1), то результат также 0 (или 1), при положительном значении – результат положительный). В начале программы необходимо вывести список с вариантами значений аргумента с соответствующими номерами (аргумент меньше, больше или равен 0). Если введено число, не соответствующее номеру из списка, выведите сообщение об ошибке (используйте ветвь else).
0
 Аватар для Roof
155 / 155 / 44
Регистрация: 03.11.2010
Сообщений: 393
08.11.2010, 04:30
2 Oman:
1) погляди внимательно. x - может быть только целочисленного, если ты его используешь как case x of. И в примере, который дал SuPeR XaKer:
Pascal
1
2
3
...
x:integer;
...
2) после всего блока case - всегда ставится end; - у тебя end; только один, который завершает предыдущий begin, но не case.
1
Фрилансер
 Аватар для Mad_Dog
452 / 433 / 117
Регистрация: 01.06.2010
Сообщений: 1,314
08.11.2010, 10:15
А не проще ли вот все это

Pascal
1
2
3
4
5
6
7
8
9
Case x of
1..9999: y:=sqrt(x);
0: y:=sqrt(x);
-9999..-1:
begin
x:=-x;
y:=sqrt(x);
end;
end;
написать так
Pascal
1
y:=sqrt(abs(x));
0
6 / 6 / 5
Регистрация: 01.04.2010
Сообщений: 86
08.11.2010, 12:44
Первая строка с названием программы кагбе намекает на то, что это лабораторка, скорее всего на использование case of, исходя из текста задачи.
0
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 18
30.12.2010, 20:19
У меня такая же ошибка, только с integer не прокатывает.
В общем нужно определить, в зависимости от введенного знака, какое действие выполнять:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program lab6_2;
var s,x,y:integer; selektor,z:string;
begin
WriteLn('Введите первое число');
ReadLn (x);
WriteLn('Введите второе число');
ReadLn (y);
WriteLn(x,'?',y);
WriteLn('Введите один из знаков *,+,-');
ReadLn (z);
case selektor of
z:=*: s:=x*y;
z:=+: s:=x+y;
z:=-: s:=x-y;
    else WriteLn('Ошибка. Повторите еще раз.');
end;
WriteLn (s);
readln;
end.
добавил кавычки к знакам- не помогло
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
30.12.2010, 20:43
Pascal
1
2
3
4
5
6
case selektor of
'*': s:=x*y;
'+': s:=x+y;
'-': s:=x-y;
    else WriteLn('Îøèáêà. Ïîâòîðèòå åùå ðàç.');
end;
Pascal
1
selector:char;
Может стоит книжку открыть?
WriteLn('Введите один из знаков *,+,-');
ReadLn (z);
на
Pascal
1
2
WriteLn('Введите один из знаков *,+,-');
ReadLn (selector);
1
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 18
30.12.2010, 21:21
Спасибо, что мне помогаете. Если говорить про книжку, то я читаю о php и js, а паскаль - это просто надо сделать и больше не возвращаться )) хотя 4 года назад я тоже так думал, а вот вернулся
0
isq123
23.11.2011, 22:11
у меня такая же ошибка
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var s:string;i,a,b:integer;
begin
writeln('Введите формулу');
readln(s);
for i:=1 to length(s) do
 if not(s[i] in ['0'..'9','a'..'z','A'..'Z','/','*','+','-','(',')'])
  then begin writeln('error');readln;halt;end
 else
  if s[i]='(' then a:=a+1
   else
    if s[i]=')' then b:=b+1;
 if a<>b then begin writeln('error');readln;halt;end
  else
for i:=1 to length(s) do
if s[i] in ['+)','-)','*)','/)','(/','(*','(+','(-','-+']  
then begin writeln('error');
else writeln('Формула правильная',s)
end.
Задание: вводится формула нужно проверить её на правильность(количиство скобок правильность символов и т.п)
ошибку выбивает тут
Pascal
1
['+)',
на запятой
110 / 110 / 72
Регистрация: 13.10.2011
Сообщений: 227
23.11.2011, 22:39
Цитата Сообщение от isq123 Посмотреть сообщение
у меня такая же ошибка
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var s:string;i,a,b:integer;
begin
writeln('Введите формулу');
readln(s);
for i:=1 to length(s) do
 if not(s[i] in ['0'..'9','a'..'z','A'..'Z','/','*','+','-','(',')'])
  then begin writeln('error');readln;halt;end
 else
  if s[i]='(' then a:=a+1
   else
    if s[i]=')' then b:=b+1;
 if a<>b then begin writeln('error');readln;halt;end
  else
for i:=1 to length(s) do
if s[i] in ['+)','-)','*)','/)','(/','(*','(+','(-','-+']  
then begin writeln('error');
else writeln('Формула правильная',s)
end.
Задание: вводится формула нужно проверить её на правильность(количиство скобок правильность символов и т.п)
ошибку выбивает тут
Pascal
1
['+)',
на запятой
Запустил в Pascal ABC .Net , исправил , работает.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var s:string;i,a,b:integer;
begin
writeln('Введите формулу');
readln(s);
for i:=1 to length(s) do
 if not(s[i] in ['0'..'9','a'..'z','A'..'Z','/','*','+','-','(',')'])
  then begin writeln('error');readln;halt;end
 else
  if s[i]='(' then a:=a+1
   else
    if s[i]=')' then b:=b+1;
 if a<>b then begin writeln('error');readln;halt;end
  else
for i:=1 to length(s) do
if s[i] in ['+)','-)','*)','/)','(/','(*','(+','(-','-+']  
then begin writeln('error'); end
  else writeln('Формула правильная ',s) 
end.
1
isq123
23.11.2011, 23:00
Цитата Сообщение от log(n) Посмотреть сообщение
Запустил в Pascal ABC .Net , исправил , работает.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var s:string;i,a,b:integer;
begin
writeln('Введите формулу');
readln(s);
for i:=1 to length(s) do
 if not(s[i] in ['0'..'9','a'..'z','A'..'Z','/','*','+','-','(',')'])
  then begin writeln('error');readln;halt;end
 else
  if s[i]='(' then a:=a+1
   else
    if s[i]=')' then b:=b+1;
 if a<>b then begin writeln('error');readln;halt;end
  else
for i:=1 to length(s) do
if s[i] in ['+)','-)','*)','/)','(/','(*','(+','(-','-+']  
then begin writeln('error'); end
  else writeln('Формула правильная ',s) 
end.
запускаю в своем тп7 не работает никак

Добавлено через 11 минут
Скачал Pascal ABC 3.0 всеравно не работает
110 / 110 / 72
Регистрация: 13.10.2011
Сообщений: 227
23.11.2011, 23:05
Цитата Сообщение от isq123 Посмотреть сообщение
запускаю в своем тп7 не работает никак

Добавлено через 11 минут
Скачал Pascal ABC 3.0 всеравно не работает
в тп7 и не будет работать ведь в качестве значений нетипизированных констант можно использовать только числа и строки. А паскаль нужен "Pascal ABC .Net" 1.7 отсюда : http://pascalabc.net/downloads/P_ABCNETSetup17.exe
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2011, 23:05
Помогаю со студенческими работами здесь

ordinal expression expected
Нужно вычислить сколько высокосных лет было в ХХ ст, если значения высокосного года делиться на 4, не делиться на 100, и делиться на 400. ...

Error: Ordinal expression
procedure pr1(var mas:PTable; ns1,ns2:integer); var y,u:integer; c:TMas; begin for y:=1 to ns1 do ...

Оператор Case. Error: Ordinal expression expected
Столкнулась с проблемой, суть которой не пойму. Почему одна и та же процедура, одного и того же проекта в одном случае проходит компилятор,...

Ошибка: Ordinal expression expected
Здравствуйте , прошу помощи , в в моей программе имеется строчка сс:integer; ///... cc:=ord(UTF8copy(word2,i-1,1))+1; и при...

Ошибка: "Ordinal expression expected"
Здравствуйте, помогите пожалуйста исправить код... в Lazarus IDE 1.6 выдает ошибку в 82-й строке: Ordinal expression expected, так же в...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru