![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
cruising |
![]()
Сообщение
#1
|
|||
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Иван Репутация: ![]() ![]() ![]() |
Помогите пожалуйста разобраться, задание на рисунке, вот что у меня получилось
Var x,x1,y,y1,y2:real;T:Boolean; Что мне нужно написать в строке if? ![]()
Сообщение отредактировано: Lapp - 12.04.2010 3:35 |
|||
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
If x>0 then writeln('')else ... Что мне нужно написать в строке if? Добавлено через 3 мин. Или, может, имются в виду вычислительные возможности компьютера?.. Тогда нужно проводить анализ, когда отдельные составляющие выражения испытывают переполнение или потерю значимости. Если действительно это нужно - скажи, подумаем, как это сделать. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
TarasBer |
![]()
Сообщение
#3
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> Или, может, имются в виду вычислительные возможности компьютера?..
Вы имели в виду ограничения стандартных вещественных типов? А то возможности компьютера по умножению чисел - они значительно превосходят то, что может понадобиться обычному пользователю. > y:=exp(1/3*ln(x-x*x))+exp(5*ln(x)); Такой записью вы себя ограничиваете. Возводить в целую степень и извлекать нечётные корни можно и из отрицательных чисел. И из нуля. -------------------- |
cruising |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Иван Репутация: ![]() ![]() ![]() |
Если я убираю строку с оператором if, запускаю программу, вставляю числло, у меня выдает: ошибка! вещественное деление на 0. А когда в формуле y:=exp(1/3*ln(x-x*x))+exp(5*ln(x)) меняю минус на плюс y:=exp(1/3*ln(x+x*x))+exp(5*ln(x)), всё считает верно, а с минусом ни как не хочет работать.
|
TarasBer |
![]()
Сообщение
#5
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Для извлечения кубического корня надо разбирать два случая (больше нуля или меньше). Даже три.
-------------------- |
cruising |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Иван Репутация: ![]() ![]() ![]() |
Для извлечения кубического корня надо разбирать два случая (больше нуля или меньше). Даже три.
После function выдаёт ошибка! ожидался оператор |
Ozzя |
![]()
Сообщение
#7
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата После function выдаёт ошибка! ожидался оператор Наверняка ошибка до, а не после. Проверь, стоит ли ; после оператора, стоящего перед function |
TarasBer |
![]()
Сообщение
#8
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Мой код надо вставить перед первым begin.
-------------------- |
cruising |
![]()
Сообщение
#9
|
|||
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Иван Репутация: ![]() ![]() ![]() |
Мой код надо вставить перед первым begin. вот что получилось, но сейчас выдает ошибка: неизвестное имя типа extended Var x,x1,y,y1,y2:real;T:Boolean;
|
|||
TarasBer |
![]()
Сообщение
#10
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
1. Вы эту функцию вставили в код, но никак не используете.
2. В Турбо Паскале по умолчанию пользоваться типом extended нельзя. Options->Compiler, там ищете галочку у надписи что-то вроде "8087", справа снизу окна где-то, ставите туда галочку, убираете галочку с "Emulation", как-то так. -------------------- |
cruising |
![]()
Сообщение
#11
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Иван Репутация: ![]() ![]() ![]() |
1. Вы эту функцию вставили в код, но никак не используете. 2. В Турбо Паскале по умолчанию пользоваться типом extended нельзя. Options->Compiler, там ищете галочку у надписи что-то вроде "8087", справа снизу окна где-то, ставите туда галочку, убираете галочку с "Emulation", как-то так. да я не в турбопаскале делаю, а в pascal abc, может в этом ещё причина |
Ozzя |
![]()
Сообщение
#12
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата да я не в турбопаскале делаю, а в pascal abc, может в этом ещё причина Да. Неужели трудно догадаться extended поменять на real? |
cruising |
![]()
Сообщение
#13
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Иван Репутация: ![]() ![]() ![]() |
Да. Неужели трудно догадаться extended поменять на real? Да я не волоку вообще в этом, я заочник, разбираться надо долго с этим, времени нет! Поменял extended на real, всё равно ошибка: вещественное деление на 0, что ещё может быть? Добавлено через 2 мин. Главное когда под корнем минус меняю на плюс, всё прекрасно работает, а с минусом ошибка и всё тут |
TarasBer |
![]()
Сообщение
#14
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> Да я не волоку вообще в этом, я заочник, разбираться надо долго с этим, времени нет!
Плохо. > Главное когда под корнем минус меняю на плюс, всё прекрасно работает, а с минусом ошибка и всё тут Да потому что ты тупо добавил в код новую функцию, но ваще её не используешь, ты считаешь по-старому (y:=exp(1/3*ln(x-x*x))+exp(5*ln(x));). Программа по-прежнему пытается делать то, что тут написано, то есть взять логарифм от отрицательного числа (ты, надеюсь, в курсе, что у отрицательного числа нельзя взять вещественный логарифм?). Как использовать функцию - вообще интуитивно очевидно должно быть, но раз ты не "волочешь" и не хочешь разбираться, то толку тебе помогать. -------------------- |
cruising |
![]()
Сообщение
#15
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Иван Репутация: ![]() ![]() ![]() |
TarasBer, ну да так то, руки дойдут, разбирусь как-нибудь, спасибо зо то что, хотя бы попытался мне помочь.
|
Гость |
![]()
Сообщение
#16
|
Гость ![]() |
program khorolets8; выбивает 26ой error, ошибка в строчке с if... в паскале я мало грамотен, помогите, а? |
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
Ah - двумерный массив, значит для обращения к нему требуется 2 индекса. В той строчке везде по два, как положено, но последнее обращение - с одним индексом. Куда второй потерялся?
|
Гость |
![]()
Сообщение
#18
|
Гость ![]() |
В блок схеме я писал в том месте ...Аh[1,n-1]
|
Tau |
![]()
Сообщение
#19
|
Гость ![]() |
Для извлечения кубического корня надо разбирать два случая (больше нуля или меньше). Даже три.
По правилам структурирования программ, функция должна иметь один выход, а у вас 3. ![]() |
volvo |
![]()
Сообщение
#20
|
Гость ![]() |
Цитата функция должна иметь один выход, а у вас 3 Научитесь сначала читать код, потом возьметесь за критику. Где 3 выхода? Я вижу только один выход из подпрограммы. Перед последним End-ом. Все остальное - не более чем запоминание результата, который функция может вернуть (а может и НЕ вернуть, как повезет).Кстати, ссылку на "правила структурирования программ" можно получить? (с указанием автора, желательно - не Васи Пупкина)... И заодно объяснение, чем подобная функция нарушает правила структурирования... Иначе - все, что я вижу в этом посте - это поднятие старой темы, причем необоснованное. Если ответа не последует в течении 12 часов - пост №18 будет просто удален. Как и все последующие. |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 8:01 |