• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Составил программу на Паскале, но что то не так. Посмотрите, пожалуйста

  • Автор темы Автор темы Salavat
  • Дата начала Дата начала

Salavat

Ученик
Регистрация
9 Ноя 2014
Сообщения
6
Реакции
0
Баллы
0
Составил программу на Паскале, но что то не так. Посмотрите, пожалуйста

program h;
//uses crt;
var x,y,a,b:real;
begin
write('a,b=');
readln(a,b);
x:=sqrt(2)/10;
if abs(sqr(a)-sqr(b))<10*x
then y:=power(a,x)-exp(x)+exp(3*ln(b))*cos(4*X-0.2)
else y:=sin(4.5*x)/cos(4.5*x)+x/sin(0.5*x);
write('y=',y:5:2);
end.
а=234.56 в=2123.78*10^-2
 
Вряд ли мы сможем Вам помочь, пока Вы не скажете, что именно "не так".
 
Пишет что вводная строка имела не верный формат .я не знаю что делать.все перепробовал
Я тоже не знаю: в моём нормальном Паскале ошибок нет. А что у Вас за Паскаль? Поди, АВС?
 
Я тоже не знаю: в моём нормальном Паскале ошибок нет. А что у Вас за Паскаль? Поди, АВС?
да ABC, программа запускается ,но когда ввожу а и в выходит ошибка :tehno015Ошибка времени выполнения: Входная строка имела неверный формат.
 
Увы, ничем помочь не могу: эту глючную мерзопакость (АВС) не держу.
Так, умозрительно, попробуйте вместо
write('a,b=');
readln(a,b);
записать
write('a,b= ');
readln(a,b);
т.е. после знака равенства поставить пробел.
Или так:
writeln('a,b=');
readln(a,b);
т.е. ввод перенести в отдельную строку.
Авось сожрет.
И кстати, как Вы числа вводите? Напишите точно. Надеюсь, при вводе Вы символ "^" не ставите?
 
Что это у вас за функция POWER()?
Откуда вы взяли ваш листинг?
 
Что это у вас за функция POWER()?
Лёш, в каких-то модификациях Паскаля, сколь мне известно, это самое возведение в степень добавлено. Возможно, и в АВС, точно не знаю. Я, поскольку пользуюсь DOS-Free, при тестировании заменил на Exp(x*Ln(a)).
 
Эта функция из объектного паскаля, для Delphi. Имеет тип Extended. Может,именно это и вызывает ошибку.
И неизвестно, при каких a, b ошибка проявляется. Может, топикстартер оба нуля вводил, тогда ничего удивительного нет.

Попробуйте перед основной программой вставить эту функцию, по идее, после этого все должно заработать
Код:
[FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3]Function Power(a1,b1:Real):[/SIZE][/FONT][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3]Real; [/SIZE][/FONT] 
 [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3] begin  {Power} [/SIZE][/FONT] 
 [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3] if a1>0 then[/SIZE][/FONT]   [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3]Power:=exp(b1*ln(a1)) [/SIZE][/FONT] 
 [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3] else if a1<0 then[/SIZE][/FONT]   [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3]Power:=exp(b1*ln(abs(a1))) [/SIZE][/FONT] 
 [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3] else if b1=0 then[/SIZE][/FONT]   [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3]Power:=1 [/SIZE][/FONT] 
 [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3] else[/SIZE][/FONT]   [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3]Power:=0 [/SIZE][/FONT] 
 [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=3] end  {Power} ;[/SIZE][/FONT]
 
Эта функция из объектного паскаля, для Delphi.
Черт ее знает, а народ в Сети пишет, что вроде и в АВС есть. Или надо модуль Math присобачить?
Ну да это и не важно - товарищ, похоже, не намерен больше у нас появляться.
 
Программка вроде как рабочая, вот скрин ввожу данные она что то вычисляет и выводит.

У меня вопрос а что именно вы пытаетесь вводить?
 

Вложения

  • 10.webp
    10.webp
    21.4 KB · Просмотры: 1,639
Назад
Сверху