Библиотека программи�та
Пользователь

Добро пожаловать,

Реги�траци� или входРеги�траци� или вход
Потер�ли пароль?Потер�ли пароль?

�ик:
Пароль:

Меню �айта




Ваше мнение
Хотите ли вы �тать модератором раздела �айта или форума? (Желающие пишем админу.)

Да, конечно.
Только за большие деньги.
�ет, ни за что.
�у может в будущем...


Результаты
Другие опро�ы

В�его голо�ов: 651
Комментарии: 2


�аши партнеры



Стати�тика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Книги-online



Ëàáîðàòîðíàÿ ðàáîòà 8

Ëàáîðàòîðíàÿ ðàáîòà 8


Ïðîãðàììèðîâàíèå ñ èñïîëüçîâàíèåì ïðîöåäóð è ôóíêöèé

Òåîðåòè÷åñêèé ìàòåðèàë Ñïðàâî÷íèê ïî ïðîöåäóðàì è ôóíêöèÿì


Öåëü ðàáîòû: ïîçíàêîìèòüñÿ ñ ïîíÿòèÿìè "ïðîöåäóðà" è "ôóíêöèÿ" â ÿçûêå ïðîãðàììèðîâàíèÿ Pascal, ðàññìîòðåòü èõ ñõîäñòâà è ðàçëè÷èÿ, çàêðåïèòü ïðàêòè÷åñêèå íàâûêè ðàáîòû ñ ñèñòåìîé TURBO Pascal íà ïðèìåðå ðåàëèçàöèè àëãîðèòìîâ ïðè ïîìîùè ïðîöåäóð è ôóíêöèé, íàó÷èòüñÿ ïðèìåíÿòü ìåòîä ïîñëåäîâàòåëüíîé äåòàëèçàöèè â ïðàêòè÷åñêîì ïðîãðàììèðîâàíèè; ïðèìåíÿòü ïðîöåäóðû è ôóíêöèè ïðè ðåøåíèè çàäà÷.

Îáùèå ñâåäåíèÿ

×àñòî â ïðîãðàììå îáíàðóæèâàþòñÿ îäíîòèïíûå ó÷àñòêè, êîòîðûå âûïîëíÿþò îäíè è òå æå âû÷èñëåíèÿ, íî ñ ðàçëè÷íûìè äàííûìè. Òàêèå ÷àñòè ïðîãðàììû öåëåñîîáðàçíî îôîðìëÿòü â âèäå ïîäïðîãðàìì.  ÿçûêå Pascal ñóùåñòâóåò äâà âèäà ïîäïðîãðàìì: ïðîöåäóðû è ôóíêöèè.
Ïåðåä âûïîëíåíèåì äàííîé ðàáîòû íåîáõîäèìî èçó÷èòü ïðàâèëà îïèñàíèÿ ïðîöåäóð è ôóíêöèé, ìåõàíèçì ïåðåäà÷è ïàðàìåòðîâ, îçíàêîìèòüñÿ ñ ïîíÿòèåì ëîêàëüíîé è ãëîáàëüíîé ïåðåìåííîé.

Êîíòðîëüíûå âîïðîñû

  1. Äëÿ ÷åãî íóæíû â ïðîãðàììå ïðîöåäóðû è ôóíêöèè?
  2.  ÷åì îòëè÷èå ìåæäó ïðîöåäóðîé è ôóíêöèåé?
  3. ×åì îòëè÷àþòñÿ ôîðìàëüíûå è ôàêòè÷åñêèå ïàðàìåòðû?
  4. ×åì îòëè÷àþòñÿ ïàðàìåòðû-çíà÷åíèÿ è ïàðàìåòðû-ïåðåìåííûå?
  5. Êàê îáúÿâëÿþòñÿ ãëîáàëüíûå è ëîêàëüíûå ïåðåìåííûå? Êàêîâî ïðàâèëî âèäèìîñòè ýòèõ ïåðåìåííûõ?
  6. Ïî÷åìó ïðè îáðàùåíèè ê ïðîöåäóðå, àðãóìåíò, ïåðåäàâàåìûé ïàðàìåòðó-ïåðåìåííîé, ìîæåò áûòü òîëüêî ïåðåìåííîé, à íå êîíñòàíòîé èëè âûðàæåíèåì?

Ïðèìåð

Ïðèìåð1. Íàéòè ñóììó ïîëîæèòåëüíûõ ýëåìåíòîâ â ìàññèâå.

Ýòàïû ðåøåíèÿ çàäà÷è:
  1. Àëãîðèòì ðåøåíèÿ äîâîëüíî ïðîñò - â öèêëå áóäåì "ïðîáåãàòü" ìàññèâ, ñðàâíèâàÿ åãî ÿ÷åéêè ñ 0 è ñóììèðîâàòü, åñëè îíè >0.
  2. Ñîñòàâèì áëîê-ñõåìó ïðîãðàììû

    Óòî÷íèì èç êàêèõ áëîêîâ ñîñòîèò áëîê"Ñóììèðîâàíèå ïîëîæèòåëüíûõ ÿ÷ååê"

    Ñîäåðæàíèå ýòèõ áëîêîâ ïðîñòîå, ïîýòîìó íå ñòîèò èõ óòî÷íÿòü.
  3. Íàïèøåì ïðîãðàììó íà ÿçûêå Ïàñêàëü
    program example; 
       type 
        Tarray = array[1..100] of integer; 
         Var v: Tarray; 
        N,i,s:integer; 
      Procedure vvod_data(var m:Tarray;n:integer); 
      Var i:integer; 
    Begin 
      Writeln('Ââåäèòå ',n,' ÷èñåë ÷åðåç ïðîáåë');
       For i:= 1 to n do read(m[i]); 
    End; 
      Function summ(m:TArray):integer; 
      Var s:integer; 
    Begin 
       S:=0; 
        For i:= 1 to n do if m[i]>0 then s:= s+m[i]; 
       Summ:=s; 
    End; 
    begin 
          write('Ââåäèòå ðàçìåðíîñòü ìàññèâà N= '); readln(n); 
         vvod_Data(v,n); 
        s:= summ(v); 
       writeln('Ñóììà= ',s); 
    end. 

Çàäàíèÿ

  1. Äàíû äåéñòâèòåëüíûå ÷èñëà õ1, ó1, õ2, ó2, …,õ10, ó10. Íàéòè ïåðèìåòð äåñÿòèóãîëüíèêà, âåðøèíû êîòîðîãî èìåþò ñîîòâåòñòâåííî êîîðäèíàòû (õ1, ó1), (õ2, ó2), …, (õ10, ó10). (Îïðåäåëèòü ïðîöåäóðó âû÷èñëåíèÿ ðàññòîÿíèÿ ìåæäó äâóìÿ òî÷êàìè, çàäàííûìè ñâîèìè êîîðäèíàòàìè.)
  2. Äàíû äåéñòâèòåëüíûå ÷èñëà a, b, c, d, e - ñòîðîíû ïÿòèóãîëüíèêà. Íàéòè ïëîùàäü ïÿòèóãîëüíèêà. (Îïðåäåëèòü ïðîöåäóðó âû÷èñëåíèÿ ïëîùàäè òðåóãîëüíèêà ïî åãî ñòîðîíàì.)
  3. Äàíû òðè ñèìâîëüíûå ìàòðèöû.
    a) òó ìàòðèöó, ãäå åñòü õîòÿ áû îäíà ãëàñíàÿ - òðàíñïîíèðîâàòü;
    b) â òîé ìàòðèöå, íà ãëàâíîé äèàãîíàëè êîòîðîé âñå öèôðû, íàéòè íàèìåíüøóþ è óäàëèòü ñîîòâåòñòâóþùóþ ñòðîêó.
  4. Íàïèñàòü ïðîãðàììó âû÷èñëåíèÿ P ïî ôîðìóëå: ãäå n - çàäàííîå íàòóðàëüíîå ÷èñëî.
  5. Îïèñàòü ôóíêöèþ Stepen (x,n) îò âåùåñòâåííîãî x è öåëîãî n, âû÷èñëÿþùóþ (ïîñðåäñòâîì óìíîæåíèÿ) âåëè÷èíó xn, è èñïîëüçîâàòü ee äëÿ âû÷èñëåíèÿ b=2.7k+(a+1)-5.
  6. Äàíû îòðåçêè a,b,c è d. Äëÿ êàæäîé òðîéêè ýòèõ îòðåçêîâ, èç êîòîðûõ ìîæíî ïîñòðîèòü òðåóãîëüíèê, íàïå÷àòàòü ïëîùàäü äàííîãî òðåóãîëüíèêà. Îïðåäåëèòü ïðîöåäóðó Plo(x,y,z), ïå÷àòàþùóþ ïëîùàäü òðåóãîëüíèêà ñî ñòîðîíàìè x,y è z, åñëè òàêîé òðåóãîëüíèê ñóùåñòâóåò.
  7. Ïóñòü ïðîöåäóðà Socr(a,b,p,q) îò öåëûõ ïàðàìåòðîâ (b¹0)ïðèâîäèò äðîáü ê íåñîêðàòèìîìó âèäó Îïèñàòü äàííóþ ïðîöåäóðó è èñïîëüçîâàòü åå äëÿ ïðèâåäåíèÿ äðîáè ê íåñîêðàòèìîìó âèäó
  8. Äàíû äëèíû a,b è c ñòîðîí íåêîòîðîãî òðåóãîëüíèêà. Íàéòè ìåäèàíû òðåóãîëüíèêà, ñòîðîíàìè êîòîðîãî ÿâëÿþòñÿ ìåäèàíû èñõîäíîãî òðåóãîëüíèêà. Äëèíà ìåäèàíû, ïðîâåäåííîé ê ñòîðîíå a, ðàâíà
  9. Äàíû êîîðäèíàòû âåðøèí äâóõ òðåóãîëüíèêîâ. Îïðåäåëèòü, êàêîé èç íèõ èìååò áîëüøóþ ïëîùàäü.
  10. Äàíû êîîðäèíàòû âåðøèí òðåóãîëüíèêà è êîîðäèíàòû íåêîòîðîé òî÷êè âíóòðè íåãî. Íàéòè ðàññòîÿíèå îò äàííîé òî÷êè äî áëèæàéøåé ñòîðîíû òðåóãîëüíèêà. (Ïðè îïðåäåëåíèè ðàññòîÿíèé ó÷åñòü, ÷òî ïëîùàäü òðåóãîëüíèêà âû÷èñëÿåòñÿ è ÷åðåç òðè åãî ñòîðîíû, è ÷åðåç îñíîâàíèå è âûñîòó.).
    Çàäà÷è íà ñìåêàëêó
  11. Òðè ïðÿìûå íà ïëîñêîñòè çàäàíû óðàâíåíèÿìè akx+bky=ck, k=1,2,3. Åñëè ýòè ïðÿìûå ïîïàðíî ïåðåñåêàþòñÿ è îáðàçóþò òðåóãîëüíèê, òîãäà íàéòè åãî ïëîùàäü.
  12. Äâà íàòóðàëüíûõ ÷èñëà íàçûâàþòñÿ "äðóæåñòâåííûìè", åñëè êàæäîå èç íèõ ðàâíî ñóììå âñåõ äåëèòåëåé äðóãîãî, çà èñêëþ÷åíèåì åãî ñàìîãî (òàêîâû, íàïðèìåð, ÷èñëà 220 è 284). Íàïå÷àòàòü âñå ïàðû "äðóæåñòâåííûõ" ÷èñåë, íå ïðåâîñõîäÿùèõ çàäàííîãî íàòóðàëüíîãî ÷èñëà.
  13. Äàíî ÷åòíîå ÷èñëî n > 2. Ïðîâåðèòü äëÿ ýòîãî ÷èñëà ãèïîòåçó Ãîëüäáàõà. Ýòà ãèïîòåçà (ïî ñåãîäíÿøíèé äåíü íå îïðîâåðãíóòàÿ è ïîëíîñòüþ íå äîêàçàííàÿ) çàêëþ÷àåòñÿ â òîì, ÷òî êàæäîå ÷åòíîå n, áîëüøåå äâóõ, ïðåäñòàâëÿåòñÿ â âèäå ñóììû äâóõ ïðîñòûõ ÷èñåë. Âîñïîëüçîâàòüñÿ ôóíêöèåé ðàñïîçíàâàíèÿ ïðîñòûõ ÷èñåë.
  14. Äàíî íàòóðàëüíîå ÷èñëî n. Âûÿñíèòü, ÿâëÿåòñÿ ëè îíî ïîëíûì êâàäðàòîì. Îïðåäåëèòü ôóíêöèþ, ïîçâîëÿþùóþ ðàñïîçíàâàòü ïîëíûå êâàäðàòû.
  15. Äàí ìàññèâ A[1..50], ýëåìåíòû êîòîðîãî îòëè÷íû îò íóëÿ. Ðàñïîëîæèòü èõ â òàêîì ïîðÿäêå, ÷òîáû ïåðâûìè áûëè âñå ïîëîæèòåëüíûå ýëåìåíòû, à çàòåì - âñå îòðèöàòåëüíûå, ïðè÷åì ïîðÿäîê ñëåäîâàíèÿ êàê ïîëîæèòåëüíûõ, òàê è îòðèöàòåëüíûõ ýëåìåíòîâ äîëæåí ñîõðàíèòüñÿ (ïðè ðåøåíèè çàäà÷è íîâûé ìàññèâ íå çàâîäèòü!).
  16. Ïðåîáðàçîâàòü ìàññèâ S, "ïîâîðà÷èâàÿ" åãî âîêðóã öåíòðà íà 90, 180, 270 ãðàäóñîâ ïðîòèâ ÷àñîâîé ñòðåëêè.
  17. Ðàññìàòðèâàÿ ìàññèâû X, Y è Z êàê ïðåäñòàâëåíèå íåêîòîðûõ ìíîæåñòâ èç îáúåêòîâ òèïà èíäåêñ (X[k]=TRUE, åñëè ýëåìåíò k ïðèíàäëåæèò ìíîæåñòâó X, è X[k]=FALSE èíà÷å, è ò.ï.), ðåàëèçîâàòü ñëåäóþùóþ îïåðàöèþ íàä ýòèìè ìàññèâàìè-ìíîæåñòâàìè: ïåðåìåííîé t ïðèñâîèòü çíà÷åíèå TRUE, åñëè ìíîæåñòâî X ÿâëÿåòñÿ ïîäìíîæåñòâîì ìíîæåñòâà Y, è çíà÷åíèå FALSE èíà÷å.
  18. Ýëåìåíò äâóõìåðíîãî ìàññèâà íàçûâàåòñÿ ëîêàëüíûì ìèíèìóìîì, åñëè îí ñòðîãî ìåíüøå âñåõ èìåþùèõñÿ ó íåãî ñîñåäåé. Ïîäñ÷èòàòü êîëè÷åñòâî ëîêàëüíûõ ìèíèìóìîâ çàäàííîé ìàòðèöû ðàçìåðîì NxN íàéòè ìàêñèìóì ñðåäè âñåõ ëîêàëüíûõ ìèíèìóìîâ.
  19. Ñîñòàâèòü ôóíêöèþ äëÿ íàõîæäåíèÿ òî÷íîãî çíà÷åíèÿ ñóììû íàòóðàëüíûõ ÷èñåë, â äåñÿòè÷íîé çàïèñè êîòîðûõ áîëåå 20 çíàêîâ. Óêàçàíèå. Èñõîäíûå äàííûå è îòâåò ïðåäñòàâèòü â âèäå ìàññèâîâ öèôð.
  20. Äàíû äâå ñòðîêè ñèìâîëîâ. Ñèìâîë áóäåì íàçûâàòü îáùèì, åñëè îí âñòðå÷àåòñÿ è â ïåðâîé, è âî âòîðîé ñòðîêå. Ïóñòü K1 - ÷èñëî âõîæäåíèé â ïåðâóþ ñòðîêó îáùåãî ñèìâîëà, à K2 - âî âòîðóþ. Ìèíèìàëüíîå èç ÷èñåë K1, K2 áóäåì íàçûâàòü ÷èñëîì îáùíîñòè. Âûâåñòè âñå îáùèå ñèìâîëû ñ óêàçàíèåì äëÿ íèõ ÷èñëà îáùíîñòè.
Çàäà÷è ïîâûøåííîé ñëîæíîñòè

  1. Ðàññìîòðèì ïðîèçâîëüíîå íàòóðàëüíîå ÷èñëî è íàéäåì ñóììó åãî öèôð, çàòåì ñóììó öèôð ïîëó÷åííîãî ÷èñëà è òàê äàëåå, ïîêà íå ïîëó÷èì îäíîçíà÷íîå ÷èñëî. Íàçîâåì ýòî ÷èñëî öèôðîâûì êîðíåì. Òðåáóåòñÿ íàïèñàòü ïðîãðàììó, êîòîðàÿ äëÿ çàäàííîãî N (N<10100) íàõîäèò åãî öèôðîâîé êîðåíü.
  2. Çàäàíî N íàòóðàëüíûõ ÷èñåë a1,a2,…,aN (1£ N £ 20), êàæäîå èç êîòîðûõ íàõîäèòñÿ â èíòåðâàëå îò 1 äî 10000. Íåîáõîäèìî îïðåäåëèòü êîëè÷åñòâî íàòóðàëüíûõ äåëèòåëåé ïðîèçâåäåíèÿ a1*a2*…*aN.
  3. Íàïèñàòü ôóíêöèþ ïîèñêà êîðíåé ïîëèíîìà ñòåïåíè n. Èñõîäíûìè ïàðàìåòðàìè áóäóò ÷èñëà a1, a2,…,an. Êîìïëåêñíûå êîðíè ó÷èòûâàòü.
  4. Òðåáóåòñÿ íàïèñàòü ïðîãðàììó, êîòîðàÿ âûâîäèò â ïîðÿäêå âîçðàñòàíèÿ âñå ïðàâèëüíûå íåñîêðàòèìûå äðîáè, çíàìåíàòåëè êîòîðûõ íå ïðåâîñõîäÿò N (2<=N<=500).
  5. Íà ýêðàíå êîìïüþòåðà, ðàáîòàþùåãî â îïåðàöèîííîé ñèñòåìå Windows, áûëî îòêðûòî N (N <= 20) îêîí, ïîëîæåíèå êàæäîãî èç êîòîðûõ îäíîçíà÷íî îïðåäåëÿåòñÿ ÷åòâåðêîé íàòóðàëüíûõ ÷èñåë - X1 Y1 X2 Y2 - êîîðäèíàòàìè ëåâîãî âåðõíåãî è ïðàâîãî íèæíåãî óãëà îêíà. Î÷åâèäíî, ÷òî îêíà, îòêðûòûå ïîçæå, ìîãóò ÷àñòè÷íî èëè ïîëíîñòüþ ïåðåêðûâàòü îòêðûòûå ðàíåå. Îêíî ñ÷èòàåòñÿ âèäèìûì, åñëè âèäåí õîòÿ áû îäèí îáðàçóþùèé åãî ïèêñåë.
    Íàçàä
    Íà ãëàâíóþ
        Ó÷åáíèê ïî ÿçûêó Pascal          Ëàáîðàòîðíûå ðàáîòû ïî ïðîãðàììèðîâàíèþ          Ñïðàâî÷íèê


Внимание! Е�ли у ва� не получило�ь найти нужную информацию, и�пользуйте рубрикатор или во�пользуйте�ь пои�ком


.


книги по программированию и�ходники компоненты шаблоны �айтов C++ PHP Delphi �качать