В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Рожок400000
Рожок400000
08.04.2021 14:23 •  Информатика

Ошибка с синусом! ! program calculator; uses crt; label beg,znak,mem,okr; var a,b,m: real; i,y,r,n: integer; c,o,f,h: char; cos,sin,tan: string; begin okr: writeln('округлять ответ? если да введите 2, иначе 1.'); readln(o); while not((o='1')or(o='2'))do begin writeln('неправильное значение. введите правильное.'); readln(o); end; if o='2'then begin writeln('до скольки знаков после запятой округлять? '); readln(n); end; if c='n' then goto znak; mem: writeln('|памятка: cначала вводите первое число,потом знак,потом по необходимости второе число(калькулятор зациклен,можно вводить знак и второе число много раз),всегда читайте заданный программой вопрос прежде чем вводить! '); writeln('|доступные знаки: +*,/,cos,sin,tan; а также: 1-корень,2-степень,3-остаток от деления,c-поменять знак числа,n-опции округления результата,r-округление числа,t-отбрасывание дробной части,a-ввод первого числа заново,b-вызвать памятку,0-конец программы: памятка|'); if c='b' then goto znak; beg: writeln('первое число? '); readln(a); znak: for i: =0 to 999999999 do begin writeln('знак? '); readln(c); if c='n' then goto okr; if c='0' then break; if c='a' then goto beg; if c='b' then goto mem; while not(c in['+','-','*','/','1','2','3','r','t','c','sin','cos','tan'])do begin writeln('знак не поддерживается! введите правильный знак! '); readln(c); end; if c='c'then a: =-a; if c='r'then a: =round(a); if c='t'then a: =trunc(a); if c in['1','2']then begin if c='2'then begin writeln('в какую степень возвеcти желаете? '); readln(m); a: =power(a,m); end else a: =sqrt(a) end; if c in['sin','cos','tan']then begin writeln('радианы(r)или градусы(g)? введите '); readln(h); if c='sin' then begin if h='r' then a: =sin(a); if h='g' then a: =sin(a*pi/180) end; if c='cos' then begin if h='r' then a: =cos(a); if h='g' then a: =cos(a*pi/180) end; if c='tan' then begin if h='r' then a: =tan(a); if h='g' then a: =tan(a*pi/180) end; end; if not(c in['r','t','c','sin','cos','tan','1','2'])then begin writeln('второе число? '); readln(b); if c='3'then begin while b< > trunc(b)do begin writeln('второе число должно быть целым! введите заново! '); readln(b) end; if a< > trunc(a)then begin writeln('округлить a(введите r) или оставить целую часть от a(введите t)? '); readln(f); case f of 'r': a: =round(a); 't': a: =trunc(a); end; end; r: =trunc(b); y: =trunc(a); y: =y mod r; a: =y end; case c of '+': a: =a+b; '-': a: =a-b; '*': a: =a*b; '/': a: =a/b; end; end; writeln('[{< : ответ: > }]'); case o of '2': writeln('=',a: 0: n); '1': writeln('=',a); end; end; end. паскаль abc. в строке 49(if h='r' then a: ={место ошибки}sin(a); ) выдает ошибку: ожидалось имя процедуры или функции. чем ему синус не нравится? !

Показать ответ
Ответ:
виктория1332
виктория1332
22.07.2020 22:05
Могу Вас обрадовать (или огорчить): программе не понравится также cos(a); и tan(a);
Вы сначала объявляете посредством
var a,b,m:real;i,y,r,n:integer;c,o,f,h:char;cos,sin,tan:string;
имена sin, cos, tan, как строки, а потом пытаетесь обратиться к ним, как к функциям, употребляя запись объявленных переменных в формате вызова функций с параметром.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота