Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 273
от 15.12.2006, 21:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 227, Экспертов: 47
В номере:Вопросов: 3, Ответов: 4


Вопрос № 66313: Добрый день, уважаемые эксперты! Помогите понять суть задания: Построить таблицу разбора и программу для описания типов переменных языка Pascal. Спасибо за ответы. ..
Вопрос № 66346: Уважаемые эксперты, помогите найти ошибку: В программе существует процедура print (u), которая выводит список на экран. Если использовать её один раз, то она работает. Но если использовать 2, как представленно в программе, конечный список будет п...
Вопрос № 66391: Здравствуйте,необходимо вычислить функцию y=(|X|-10) и все это в 57-ой степени.При x < -16. Я попробовал решить следующим оброзом: program exm_1; Uses CRT; Const a=57; Var i:integer; x,y:real; Begin ClrScr...

Вопрос № 66.313
Добрый день, уважаемые эксперты!
Помогите понять суть задания:

Построить таблицу разбора и программу для описания типов переменных языка Pascal.

Спасибо за ответы.
Отправлен: 10.12.2006, 05:23
Вопрос задала: Вахрамеева Оксана (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Nightman
Здравствуйте, Вахрамеева Оксана!
У меня на ету тему бил курсовой проект:)Дайте мне свой мейл и я закину вам на него код.
vito-ua@bk.ru
Удачи!
(Просто он здесь не помещаетса:))
Ответ отправил: Nightman (статус: 1-ый класс)
Ответ отправлен: 10.12.2006, 13:53


Вопрос № 66.346
Уважаемые эксперты, помогите найти ошибку:
В программе существует процедура print (u), которая выводит список на экран. Если использовать её один раз, то она работает. Но если использовать 2, как представленно в программе, конечный список будет пустым. Почему?

Приложение:

Отправлен: 10.12.2006, 13:59
Вопрос задала: MariaErohina (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: John Paramol
Здравствуйте, MariaErohina!
В процедуру print указатель u передается по ссылке (var).
В ней он изменяется, поэтому при втором вызове print,
он будет другим (будет указывать в конец списка).
Нужно передавать его по значению:
procedure print (u :list);
Удачи!
---------
1=2, at values 1 large enough
Ответ отправил: John Paramol (статус: 5-ый класс)
Ответ отправлен: 10.12.2006, 16:12


Вопрос № 66.391
Здравствуйте,необходимо вычислить функцию y=(|X|-10) и все это в 57-ой степени.При x < -16.
Я попробовал решить следующим оброзом:

program exm_1;
Uses CRT;
Const a=57;
Var
i:integer;
x,y:real;
Begin
ClrScr;
y:=1;
writeln ('Введите X');
readln(X);
If X<-16 then
For i=1 do a
y:=y*(abs(X))-10);
writeln ('при X=',X:5:2);
write ('y=',y:5:2);
readln
End.

но когда ввожу х=-17 ,то появляется ошибка 205 "переполнение вещественного числа".
Еще один вопрос. Если я хочу ограничить при расчетах 3-им или 5-ым знаком посое десятичной запятой,как это реализовать в паскале.

С уважением,Oleg.
Отправлен: 10.12.2006, 19:57
Вопрос задал: Kulikov_Oleg_Viktorovich (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sarymian
Здравствуйте, Kulikov_Oleg_Viktorovich!
Попробуйте так (в приложении):
В разработке програм в следующем можете использовать перевод степени на язык программирования. если имеется выражение (х-234) в 157 степени то надо: Экспоненту от степени умножить на натуральный логарифм от показателя степени, т.е. выглядит это так:

exp(157)*ln(x-234)

Приложение:

Ответ отправил: Sarymian (статус: 4-ый класс)
Ответ отправлен: 11.12.2006, 05:32

Отвечает: sir henry
Здравствуйте, Kulikov_Oleg_Viktorovich!
1. Забудьте про вещественный тип REAL. Его придумали в то время, когда математические сопроцессоры были ужасно дороги. Теперь же они сидят в каждом компе. :) Используйте либо тип SINGLE, если ожидаемое значение не выходит за диапазон 1.5 x 10^–45 .. 3.4 x 10^38, в противном же случае пользуйтесь типом DOUBLE, у него значения лежат в диапазоне 5.0 x 10^–324 .. 1.7 x 10^308 , т.е. степень 57 туда как раз входит. У REAL диапазон ограничен 2.9 x 10^–39 .. 1.7 x 10^38.
2. При расчетах Вы, к сожалению, не сможете ограничится каким либо знаком после запятой, однако Вы это можете сделать при выводе результата:
WriteLn(Число:N:M);
Здесь:
N - это общее количество выводимых знаков,
M - число знаков после запятой.
Таким образом если задать:
a:=1,375E-3;
WriteLn(a:10:5);
то в результате выведется число 0,00137. Впереди дополнится пробелами до 10 знаков. Очень удобно при выводе на экран табличек.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 11.12.2006, 06:37


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное