|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Member
Регистрация: 10.11.2011
Сообщений: 65
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 9
|
![]() Что я не так сделал, что нужно исправить чтобы в екселе получился график 2). Пока он мне рисует только правую часть 1) program lab1 real a,b,h,x,y integer i,N open(10,file='lab1.txt') a=-7 b=1 N=31 h=(b-a)/(N-1) do i=1,N f=a+h*i r=sin(f/2) x=r*cos(f) y=r*sin(f) print*,x,y write(10,*)x,y end do end |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Наверняка в этих темах есть интересующий вас ответ Найти площадь выпуклого многоугольника, если даны координаты вершин многоугольника DElphi массивы и табулирование Функции на Pascal. C# массивы и функции Процедуры и функции |
![]() |
#2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
А почему Вы берёте такие странные пределы? Ведь справа указано: от 0 до 4π, т.е от 0 до где-то 12.57. Такие и надо брать.
Переписал Вашу программу с VF на Паскаль, практически ничего в ней не меняя: Код:
var a,b,h,x,y,r,f:real; i,N:integer; ff:TEXT; begin Assign(ff,'D:\lab1.dat'); ReWrite(ff); a:=0; b:=Pi*4; N:=100; h:=(b-a)/N; for i:=0 to N do begin f:=a+h*i; r:=sin(f/2); x:=r*cos(f); y:=r*sin(f); writeln(ff,x:8:5,' ',y:8:5); end; Close(ff); end. ![]() Так что всё дело только в правильной установке пределов. |
![]() |
![]() |
![]() |
#3 (permalink) |
Member
Регистрация: 10.11.2011
Сообщений: 65
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 9
|
![]()
Можно еще вопрос? То же самое надо сделать с р=(phi)^2. Ведь должна получиться парабола? Тогда надо писать:
program lab1 real a,b,h,x,y integer i,N open(10,file='lab1.txt') a=-1 b=1 N=31 h=(b-a)/(N-1) do i=1,N f=a+h*i r=f**2 x=r*cos(f) y=r*sin(f) print*,x,y write(10,*)x,y end do end Что не так? ![]() |
![]() |
![]() |
![]() |
#4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|