Помощь - Поиск - Пользователи - Календарь
Полная версия: Решения в паскале > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
smile51
Помогите найти ошибку в задаче!!! Паскль изучаю всего лишь день и самостоятельно, так что прошу не грузить меня заумными словами!!
Задача: Радиус окружности равен 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
Но площадь совсем не такая!!! Что не так???? sad.gif
smile51
Она что такая сложная что ни кто не знает?????
граф Монте-Кристо
Ну,видимо,Вы вышли за пределы использования типа,вот он и выдал Вам чепуху.Попробуйте объявить переменную s типа double.
Виктор
НУ в принципе ты написал все правильно,за исключением,того,что радиус нужно было объявлять не интеджер,а реалои,и тогда все нормально:)

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

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


объявлять переменную s типом double нельзя будет 116 ошибка:)
граф Монте-Кристо
Цитата(Виктор @ 9.11.2009, 12:13) *

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

Даа,была вначале мыслишка,но потом что-то забыл про неё.
А у меня s и с double'ом работает неплохо smile.gif
Виктор
Цитата(граф Монте-Кристо @ 9.11.2009, 14:07) *

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

Если переменная rad:=integer тогда и с double'ом прокатывает,а по дрглму ни как:)
граф Монте-Кристо
У меня по-всякому работает smile.gif
Виктор
Цитата(Виктор @ 9.11.2009, 14:18) *

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

странно, а не должен бы,да и вообще зачем 3 переменных делать разного тип?,хотя это скорее всего может моя версия паскаля на что-то ругается вот текст ошибки:"must be in 8087 mode to compile"
это при s double'ом? аж самому стало интересно почему?
smile51
Спасибо всем за пояснение, сделал как сказал Виктор и всё получилось!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.