IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Геометрическая задача с использованием функции
Jane
сообщение 28.12.2004 14:09
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Помогите,плиз,найти ошибку... unsure.gif Вот задача:
Составьте программу построения таблицы значений функции, состоящую из 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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



- Текстовая версия 22.06.2025 15:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"