26.10.2011, 18:47 | #1 (permalink) |
Member
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помощь в Паскале
Пытался написать программу,но вторая функция отказывается принимать отрицательную переменную.Очень нуждаюсь в помощи! Program Work_1; uses crt; Const Title='Работа №1,Вар.77,гр.ГБ-10-01 Иванов'; Var x,y,z:real; O,b:real; Begin clrscr; Write('Введите x=>'); Readln(x); Write('Введите y=>'); Readln(y); Write('Введите z=>'); Readln(z); Writeln; Writeln(Title); Writeln('Исходные данные:'); Writeln('x=',x:6:2); Writeln('y=',y:6:2); Writeln('z=',z:6:2); O:=y+(x/(y+((x*x)/(y+((x*x*x)/(y*z)))))); b:=exp((sqrt(abs(y)))*ln(O+(exp(2*ln(sin(z/2)/cos(z/2)))))); Writeln; Writeln('Результаты расчета:'); Write('O=',O:7:4,' b=',x:8:4); Readln; End. |
26.10.2011, 18:47 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Интернет сейчас популярная штука много похожего создается Требуется помощь в Паскале Помощь в Паскале Помощь в Паскале |
26.10.2011, 19:27 | #2 (permalink) |
Member
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Перед логарифмом ставил модуль, пытаясь решить данную проМблему,но результаты не сходятся с результатами ручного счета. При вводе x=1, y=1, z=1 получается О=1.6667 и b=0.0100 (хотя b должно быть около 2)
|
26.10.2011, 20:18 | #3 (permalink) | ||
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Для проверки я несколько упростил Ваш код: 1. Убрал кириллицу (я пользуюсь DOS-кодировкой). 2. Задал параметры в виде констант. 3. Упростил вычисление квадрата тангенса. На кой пёс тут-то действовать через экспоненты-логарифмы, когда есть простой оператор SQR? 4. Исправил ошибку, о которой речь ниже. Получилось вот так: Код:
Uses CRT; Const x={0.01}1.0; y={-8.7}1.0; z={0.76}1.0; Var O,b:real; Begin clrscr; O:=y+(x/(y+((x*x)/(y+((x*x*x)/(y*z)))))); b:=exp((sqrt(abs(y)))*ln(O+sqr((sin(z/2)/cos(z/2))))); Writeln; Writeln('Result:'); Write('O=',O:7:4,' b=',b:8:4); Readln; End. Цитата:
Наверное, больше ничем помочь не могу. Уточняйте условия задачи: вид формул и значения параметров. Где-то, повторяю, брёх. |
||
09.11.2011, 17:20 | #4 (permalink) |
Member
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|