![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Jane |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Женский Репутация: ![]() ![]() ![]() |
Помогите,плиз,найти ошибку...
![]() Составьте программу построения таблицы значений функции, состоящую из N строк, при изменении аргумента от L до R (значения вводятся пользователем).Во время построения таблицы найти и напечатать в конце таблицы отдельной строкой сумму таких значений функции, которые имеют целую часть,кратную Z. Проблема вот в чём: Надо написать функцию, опpеделяющую, сколько точек c кооpди- натами (X,Y) из полученной pанее таблицы попадает внутpь области, огpаниченной окружностью... Код program Tabl; var x,y, {argument, znachenie funkcii} L, {minimal'noe znachenie argumenta} R, {maximal'noe znachenie argumenta} T, {T-shag tablici} S:real; {summa znach. funkcii,kotorie imeiut celuiu chast',kratnuiu Z} N, {kol-vo strok v tablice} I, {tekusthii nomer stroki} Z, {chislo,na kotoroe delyatsya x} Kol:integer; {kol-vo tochek vnutri okruzhnosti-vspomogatel'naya perem.} rad:real; {radius ocruzhnosti} Function Fn(x:real):real; {funkciya,vichislauschaya zadannuyu funktciu} begin Fn:=1.4*x-0.3*x*x+ln(x+1)+3; end; Function Kolvo(rad:real):integer; {funkciya,opredelyauschaya skol'ko tochek s koord.(x,y) iz poluchennoi} var {tablici popadet vnutr' oblasti,ogranichennoi okruzhnost'iyu} arg, {koordinata centra okruzhnosti po x} ord:real; {koordinata centra okruzhnosti po y} begin write('koordinata tcentra po OX arg='); {vivod soobscheniya na ekran} read(arg); {vvod znacheniya arg s klaviaturi} write('koordinata tcentra po OY ord='); read(ord); {vvod znacheniya ord s klaviaturi} write('radius okruzhnosti rad='); read(rad); {vvod znacheniya rad s klaviaturi} Kol:=0; {prisvaevaem Kol nachal'noe znachenie 0} for I:=1 to N do begin {povtorit' N raz} if rad>=(sqrt(sqr(x-arg)+sqr(y-ord))) {uslovie nahozhdeniya tochek vnutri okruzhnosti} then inc(Kol); {podschet kol-va tochek} end; Kolvo:=Kol; {prisvaivaem znachenie Kol funkcii} end; begin {nachalo osnovnoi programmi postroeniya tablitci} s:=0; {prisvaivaem s nachal;noe znachenie 0} write('min znachenie argumenta L='); read(L); write('max znachenie argumenta R='); read(R); write('chislo strok N=');read(N); write('Z=');read(Z); T:=(R-L)/(N-1); {schitaet shag tablici} for I:=1 to N do begin x:=L+T*I; {schitaet znachenie x} y:=Fn(x); {schitaet znachenie y} writeln('x=',x:6:4,' ','y=',y:6:4); {vivod tablitci} if trunc(x) mod Z = 0 then s:=s+x; {summa znachenii funkcii,imeiuustchih} end; {celuiy chast',kratnuiy Z} writeln('summa znacheniy kratnih Z s=',s:6:4); Kol:=Kolvo(rad); writeln('chislo tochek vnutri okruzhnosti: ',Kol); {vivod chisla tochek vnutri okruzhnosti} end. |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата из полученной pанее таблицы попадает внутpь области, огpаниченной окружностью... окружность как задается ? 3 точками? тогда вычисление центра окружности так: Код Type TELEM=extended; Point = record x,y:TELEM end; Procedure GetCenterCircle(a1,a2,a3:point; Var kX:telem; var ky:telem; var f:boolean); var ma,mb:real; begin ma:=(a2.y-a1.y)/(a2.x-a1.x); mb:=(a3.y-a2.y)/(a3.x-a2.x); kx:=(ma*mb*(a1.y-a3.y)+mb*(a1.x+a2.x)-ma*(a2.x+a3.x))/ (2*(mb-ma)); If mb<>0 then ky:=(-1/mb)*(kx-(a2.x+a3.x)/2)+ (a2.y+a3.y)/2 else begin If ma<>0 then begin ky:=(-1/ma)*(kx-(a1.x+a2.x)/2)+(a1.y+a2.y)/2 end; end end; -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 11:20 |