IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Решения в паскале
smile51
сообщение 7.11.2009, 19:23
Сообщение #1


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 7.11.2009
Город: Мурманск
Учебное заведение: МГТУ г. Мурманск



Помогите найти ошибку в задаче!!! Паскль изучаю всего лишь день и самостоятельно, так что прошу не грузить меня заумными словами!!
Задача: Радиус окружности равен 800. Вычеслить длину и площадь окружности. Результаты печатать с 5 знаками после десятичной точки.
Вот мой пример решения задачи:

var Rad: integer;
s,l: real;
begin
Rad:=800;
L:=2*Pi*Rad;
S:=Pi*sqr(Rad);
writeln(L :20:5);
writeln(S :20:5)
end.

Ответ выдаваемый паскалем
5026.54825
-48254.86316
Но площадь совсем не такая!!! Что не так???? (IMG:style_emoticons/default/sad.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
smile51
сообщение 8.11.2009, 17:50
Сообщение #2


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 7.11.2009
Город: Мурманск
Учебное заведение: МГТУ г. Мурманск



Она что такая сложная что ни кто не знает?????
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 9.11.2009, 8:52
Сообщение #3


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



Ну,видимо,Вы вышли за пределы использования типа,вот он и выдал Вам чепуху.Попробуйте объявить переменную s типа double.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 9.11.2009, 9:13
Сообщение #4


Школьник
*

Группа: Продвинутые
Сообщений: 11
Регистрация: 9.11.2009
Из: Казань
Город: Казань
Учебное заведение: КГТУ(КАИ)



НУ в принципе ты написал все правильно,за исключением,того,что радиус нужно было объявлять не интеджер,а реалои,и тогда все нормально:)

Цитата(граф Монте-Кристо @ 9.11.2009, 8:52) *

Ну,видимо,Вы вышли за пределы использования типа,вот он и выдал Вам чепуху.Попробуйте объявить переменную s типа double.


объявлять переменную s типом double нельзя будет 116 ошибка:)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 9.11.2009, 14:07
Сообщение #5


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



Цитата(Виктор @ 9.11.2009, 12:13) *

НУ в принципе ты написал все правильно,за исключением,того,что радиус нужно было объявлять не интеджер,а реалои,и тогда все нормально:)
объявлять переменную s типом double нельзя будет 116 ошибка:)

Даа,была вначале мыслишка,но потом что-то забыл про неё.
А у меня s и с double'ом работает неплохо (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 9.11.2009, 14:18
Сообщение #6


Школьник
*

Группа: Продвинутые
Сообщений: 11
Регистрация: 9.11.2009
Из: Казань
Город: Казань
Учебное заведение: КГТУ(КАИ)



Цитата(граф Монте-Кристо @ 9.11.2009, 14:07) *

Даа,была вначале мыслишка,но потом что-то забыл про неё.
А у меня s и с double'ом работает неплохо (IMG:style_emoticons/default/smile.gif)

Если переменная rad:=integer тогда и с double'ом прокатывает,а по дрглму ни как:)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
граф Монте-Кристо
сообщение 9.11.2009, 14:27
Сообщение #7


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



У меня по-всякому работает (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 9.11.2009, 14:41
Сообщение #8


Школьник
*

Группа: Продвинутые
Сообщений: 11
Регистрация: 9.11.2009
Из: Казань
Город: Казань
Учебное заведение: КГТУ(КАИ)



Цитата(Виктор @ 9.11.2009, 14:18) *

Если переменная rad:=integer тогда и с double'ом прокатывает,а по дрглму ни как:)

странно, а не должен бы,да и вообще зачем 3 переменных делать разного тип?,хотя это скорее всего может моя версия паскаля на что-то ругается вот текст ошибки:"must be in 8087 mode to compile"
это при s double'ом? аж самому стало интересно почему?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
smile51
сообщение 10.11.2009, 17:38
Сообщение #9


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 7.11.2009
Город: Мурманск
Учебное заведение: МГТУ г. Мурманск



Спасибо всем за пояснение, сделал как сказал Виктор и всё получилось!!!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 2.5.2024, 7:57

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru