Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2019, 12:33   #1
marryyapplepie
Новичок
Джуниор
 
Регистрация: 21.05.2019
Сообщений: 2
Вопрос [РЕШЕНО][Pascal] Помогите найти ошибку в коде

Добрый день! нужно найти значение выражения y = (3b-4)/2x-(4x+a)/(a-1), a и x - вводятся с клавиатуры, b=12a-xc, c =[2,5,8...20]
пишет ошибку: source.pas(11,11) Error: Operator is not overloaded: "ShortInt" or "Real"
source.pas(11,18) Error: Operator is not overloaded: "ShortInt" or "Real"
source.pas(11,25) Error: Operator is not overloaded: "ShortInt" or "Real"
source.pas(11,33) Error: Operator is not overloaded: "ShortInt" or "Real"
source.pas(11,41) Error: Operator is not overloaded: "ShortInt" or "Real"
source.pas(11,49) Error: Operator is not overloaded: "ShortInt" or "Real"
source.pas(15,4) Fatal: There were 6 errors compiling module, stopping
Error: /usr/bin/ppcx64 returned an error exitcode


Код:
program bbbb;
var y,x,a,b,c: real;
begin
   readln(x);
   readln(a);
   readln(c);
   if x=0 then exit;
   if a=1 then exit;
   if c=2 or c=5 or c=8 or c=11 or c=14 or c=17 or c=20 then b:=12*a-x*c
   else exit;
   y:=(3*b-4)/(2*x)-(4*x+a)/(a-1);
       writeln(y);
end.
marryyapplepie вне форума Ответить с цитированием
Старый 21.05.2019, 12:39   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от marryyapplepie Посмотреть сообщение
if c=2 or c=5 or c=8 or c=11 or c=14 or c=17 or c=20 then b:=12*a-x*c
Заключайте в скобки операнды логических операций. Например:
Код:
if (a > 8) or (x < 6) or (h >= 3.14159)
Кстати, ваше выражение можно записать короче:
Код:
if c in [2, 5, 8, 11, 14, 17, 20]
но, если вы пока не проходили множества, тогда не надо.
Вадим Мошев вне форума Ответить с цитированием
Старый 21.05.2019, 12:40   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Объяви c как Integer
Код:
if (c=2) or (c=5) or (c=8) or (c=11) or (c=14) or (c=17) or (c=20) then b:=12*a-x*c
//или
if c in [2,5,8,11,14,17,20] then ...
//или 
if ((с+1) mod 3 = 0) and (c>=2) and (c<=20) then ...
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.05.2019, 12:43   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
if ((с+1) mod 3 = 0) and (c>=2) and (c<=20) then ...
Код:
if ((с+1) mod 3 = 0) and (c in [2..20])

Последний раз редактировалось Вадим Мошев; 21.05.2019 в 12:58.
Вадим Мошев вне форума Ответить с цитированием
Старый 21.05.2019, 12:48   #5
marryyapplepie
Новичок
Джуниор
 
Регистрация: 21.05.2019
Сообщений: 2
По умолчанию

все работает, большое спасибо!))
marryyapplepie вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, найти ошибку в коде (найти сумму факториалов чётных чисел в заданном диапазоне) kris14 Паскаль, Turbo Pascal, PascalABC.NET 8 25.10.2017 15:42
[Pascal] Помогите найти ошибку в коде JamperPro Паскаль, Turbo Pascal, PascalABC.NET 5 19.10.2017 17:20
Помогите найти ошибку в коде timcryt Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 13.03.2016 18:23
Помогите найти ошибку в коде Pascal (оиска несобственного интеграла по методу Эрмита с помощью таблицы Эрмита) Guzik Помощь студентам 1 05.04.2015 15:43
Помогите найти ошибку в коде! Igrohim Общие вопросы Delphi 10 29.12.2014 00:01