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

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

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

�ик:
Пароль:

Меню �айта




Ваше мнение
Как вы оцените наш �айт?

Замечательный
Хороший
Обычный
Плохой
Отвратительный


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

В�его голо�ов: 849
Комментарии: 10


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



Стати�тика




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




Книги-online



Ëàáîðàòîðíàÿ ðàáîòà ¹4

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


Ïðîãðàììèðîâàíèå ñ èñïîëüçîâàíèåì ìàññèâîâ

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



Öåëü ðàáîòû: íàó÷èòüñÿ ïðàâèëüíî îïèñûâàòü ðàçëè÷íûå ìàññèâû, óìåòü èíèöèàëèçèðîâàòü ìàññèâû, ðàñïå÷àòûâàòü ñîäåðæèìîå ìàññèâà; íàó÷èòñÿ ðåøàòü çàäà÷è íà èñïîëüçîâàíèå ìàññèâîâ.

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

Ìàññèâ - ýòî ñòðóêòóðèðîâàííûé òèï äàííûõ, êîòîðûé èñïîëüçóåòñÿ äëÿ îïèñàíèÿ óïîðÿäî÷åííîé ñîâîêóïíîñòè ôèêñèðîâàííîãî ÷èñëà ýëåìåíòîâ îäíîãî òèïà, èìåþùèõ îáùåå èìÿ. Äëÿ îáîçíà÷åíèÿ ýëåìåíòîâ ìàññèâà èñïîëüçóþòñÿ èìÿ ïåðåìåííîé-ìàññèâà è èíäåêñ.
Ïåðåä âûïîëíåíèåì ðàáîòû íåîáõîäèìî èçó÷èòü ïðàâèëà îïèñàíèÿ è èñïîëüçîâàíèÿ ïåðåìåííûõ òèïà ìàññèâ, òèïèçèðîâàííûõ êîíñòàíò òèïà ìàññèâ.

Ïðèìåðû:

Ïðèìåð1: Äàí äâóìåðíûé ìàññèâ.  êàæäîé ñòðîêå âñå åãî ýëåìåíòû, íå ðàâíûå íóëþ, ïåðåïèñàòü (ñîõðàíÿÿ ïîðÿäîê) â íà÷àëî ñòðîêè, à íóëåâûå ýëåìåíòû - â êîíåö ìàññèâà. Íîâûé ìàññèâ íå çàâîäèòü.

Ýòàïû ðåøåíèÿ çàäà÷è:
1. Ñóòü îäíîãî èç àëãîðèòìîâ ðåøåíèÿ äàííîé çàäà÷è ñîñòîèò â òîì ÷òîáû "ïðîñìàòðèâàòü" ìàññèâ ïîñòðî÷íî è íàõîäèòü â êàæäîé ñòðîêå ïàðó (0:÷èñëî), à çàòåì ìåíÿòü èõ ìåñòàìè ìåæäó ñîáîé è òàê äî òåõ ïîð ïîêà â ñòðîêå òàêèõ ïàð íå îêàæåòñÿ.
2. Íàïèøåì ïðîãðàììó íà ïñåâäî ïàñêàëå:
program example1; 
var 
V:array[1..100,1..100] of integer; 
   m,n, i,j, c: integer; 
     flag: boolean; 
begin 
     <ââîä ðàçìåðíîñòè ìàññèâà m*n> 
     <çàïîëíåíèå ÿ÷ååê ìàññèâà> 
for i:=1 to m do 
      repeat 
         flag:= true; 
            for j:=1 to n-1 do 
              if (v[i,j]=0) and (v[i,j+1]<>0) then begin 
                <ïîìåíÿòü èõ ìåñòàìè> 
                  flag:= false; 
                end; 
             until flag; 
         <Ïå÷àòü ìàññèâà> 
      readln; 
   end. 


3.Ñîñòàâèì áëîê ñõåìó àëãîðèòìà

Äåòàëèçèðóåì áëîê "Óïîðÿäî÷èâàåì 1-þ ñòðîêó"

Áëîê ñõåìà àëãîðèòìà öåëèêîì:

4.Ïðèâåäåì ïðîãðàììó íà ÿçûêå Ïàñêàëü:

program example1; 
  var 
    V:array[1..100,1..100] of integer; 
      m,n, i,j, c: integer; 
         flag: boolean; 
begin 
       write('Ââåäèòå ðàçìåðíîñòü ìàññèâà m-n> '); readln(m,n); 
         for i:= 1 to m do 
            for j:= 1 to n do begin 
               write('V[',i,',',j,']= '); readln(V[i,j]); 
  end; 
    for i:=1 to m do 
      repeat 
          flag:= true; 
              for j:=1 to n-1 do 
           if (v[i,j]=0) and (v[i,j+1]<>0) then begin 
         c:=v[i,j]; v[i,j]:=v[i,j+1]; v[i,j+1]:=c; 
      flag:= false; 
  end; 
     until flag; 
      for i:= 1 to m do begin 
         for j:= 1 to n do write(V[i,j]:2);
         writeln
     end; 
  readln; 
end.

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

  1. Êàêèì îáðàçîì îïðåäåëÿþòñÿ ïåðåìåííûå òèïà ìàññèâ (îäíîìåðíûé è äâóìåðíûé)?
  2. Êàê îñóùåñòâëÿåòñÿ äîñòóï ê îòäåëüíîìó ýëåìåíòó îäíîìåðíîãî è äâóìåðíîãî ìàññèâà?
  3. Êàêèì îáðàçîì âûâîäÿòñÿ ýëåìåíòû ìàññèâà íà ýêðàí?
  4. Ïðèâåäèòå ïðèìåð ôðàãìåíòà ïðîãðàììû, êîòîðûé âûâîäèò íà ýêðàí äâóìåðíûé ìàññèâ â âèäå ìàòðèöû.
  5. Ñêîëüêî ÷èñåë ìîæíî çàïèñàòü â øåñòèìåðíûé ìàññèâ X : Array[0..1, 0..1, 0..1, 0..1, 0..1, 0..1] of Integer?
    Çàäàíèÿ
  1. Äàíû öåëûå ÷èñëà à1, à2, à3. Ïîëó÷èòü öåëî÷èñëåííóþ ìàòðèöó [bij]i,j=1,2,3, äëÿ êîòîðîé bij=ai-3aj.
  2. Ïîëó÷èòü [aij]i=1,…10; j=1,…12 - öåëî÷èñëåííóþ ìàòðèöó, äëÿ êîòîðîé aij=i+2j.
  3. Äàíî íàòóðàëüíîå ÷èñëî n. Ïîëó÷èòü äåéñòâèòåëüíóþ ìàòðèöó [aij]i, j=1,…n, äëÿ êîòîðîé aij= .
    Äàíà äåéñòâèòåëüíàÿ êâàäðàòíàÿ ìàòðèöà ïîðÿäêà n. Íàéòè íàèáîëüøåå èç çíà÷åíèé ýëåìåíòîâ, ðàñïîëîæåííûõ â çàøòðèõîâàííîé ÷àñòè ìàòðèöû.
    à)   á)   â)   ã)

  4. Äàíà êâàäðàòíàÿ âåùåñòâåííàÿ ìàòðèöà ðàçìåðíîñòè n. Íàéòè êîëè÷åñòâî íóëåâûõ ýëåìåíòîâ, ñòîÿùèõ: âûøå ãëàâíîé äèàãîíàëè; íèæå ãëàâíîé äèàãîíàëè; âûøå è íèæå ïîáî÷íîé.
  5. Äàíà âåùåñòâåííàÿ ìàòðèöà ðàçìåðíîñòè n * m. Ïî ìàòðèöå ïîëó÷èòü ëîãè÷åñêèé âåêòîð, ïðèñâîèâ åãî k-îìó ýëåìåíòó çíà÷åíèå True , åñëè âûïîëíåíî óêàçàííîå óñëîâèå è çíà÷åíèå False èíà÷å: - âñå ýëåìåíòû k ñòîëáöà íóëåâûå; - ýëåìåíòû k ñòðîêè ìàòðèöû óïîðÿäî÷åíû ïî óáûâàíèþ; - k ñòðîêà ìàññèâà ñèììåòðè÷íà.
  6. Äàíà âåùåñòâåííàÿ ìàòðèöà ðàçìåðíîñòè n * m. Ñôîðìèðîâàòü âåêòîð b, â êîòîðîì ýëåìåíòû âû÷èñëÿþòñÿ êàê: - ïðîèçâåäåíèå ýëåìåíòîâ ñîîòâåòñòâóþùèõ ñòðîê; - ñðåäíåå àðèôìåòè÷åñêîå ñîîòâåòñòâóþùèõ ñòîëáöîâ; - ðàçíîñòü íàèáîëüøèõ è íàèìåíüøèõ ýëåìåíòîâ ñîîòâåòñòâóþùèõ ñòðîê; - çíà÷åíèÿ ïåðâûõ îòðèöàòåëüíûõ ýëåìåíòîâ â ñòîëáöå.
  7. Äàí äâóõìåðíûé ìàññèâ A[1..m,1..n]. Íàïèñàòü ïðîãðàììó ïîñòðîåíèÿ îäíîìåðíîãî ìàññèâà B[1..m], ýëåìåíòû êîòîðîãî ñîîòâåòñòâåííî ðàâíû à) ñóììàì ýëåìåíòîâ ñòðîê, á) ïðîèçâåäåíèÿì ýëåìåíòîâ ñòðîê, â) íàèìåíüøèì ñðåäíèõ àðèôìåòè÷åñêèõ ýëåìåíòîâ ñòðîê.
  8. Ðàñïîëîæèòü ýëåìåíòû äàííîãî ìàññèâà â îáðàòíîì ïîðÿäêå (ïåðâûé ýëåìåíò ìåíÿåòñÿ ñ ïîñëåäíèì, âòîðîé - ñ ïðåäïîñëåäíèì è ò.ä. äî ñåðåäèíû; åñëè ìàññèâ ñîäåðæèò íå÷åòíîå êîëè÷åñòâî ýëåìåíòîâ, òî ñðåäíèé îñòàåòñÿ áåç èçìåíåíèÿ).
  9.  äàííîì ìàññèâå ïîìåíÿòü ìåñòàìè ýëåìåíòû, ñòîÿùèå íà íå÷åòíûõ ìåñòàõ, ñ ýëåìåíòàìè, ñòîÿùèìè íà ÷åòíûõ ìåñòàõ.
Çàäà÷è ïîâûøåííîé ñëîæíîñòè
  1.  ìàññèâå À[1..N,1..N] îïðåäåëèòü íîìåðà ñòðîêè è ñòîëáöà êàêîé-íèáóäü ñåäëîâîé òî÷êè. Íåêîòîðûé ýëåìåíò ìàññèâà íàçûâàåòñÿ ñåäëîâîé òî÷êîé, åñëè îí ÿâëÿåòñÿ îäíîâðåìåííî íàèìåíüøèì â ñâîåé ñòðîêå è íàèáîëüøèì â ñâîåì ñòîëáöå.
  2. Ìàññèâ À[1..5,1..7] ñîäåðæèò âåùåñòâåííûå ÷èñëà. Òðåáóåòñÿ ââåñòè öåëîå ÷èñëî K è âû÷èñëèòü ñóììó ýëåìåíòîâ À[I,J], äëÿ êîòîðûõ I+J=Ê. Ïðåæäå, îäíàêî ñëåäóåò óáåäèòüñÿ, ÷òî çíà÷åíèå Ê ïîçâîëÿåò íàéòè ðåøåíèå, â ïðîòèâíîì ñëó÷àå íóæíî íàïå÷àòàòü ñîîáùåíèå îá îøèáêå.
  3. Äàí ìàññèâ A[1..N,1..N]. Ñîñòàâèòü ïðîãðàììó, êîòîðàÿ ïðèáàâèëà áû êàæäîìó ýëåìåíòó äàííîé ñòðîêè ýëåìåíò, ïðèíàäëåæàùèé ýòîé ñòðîêå è ãëàâíîé äèàãîíàëè.
  4. Äàíà ìàòðèöà NxM. Ïåðåñòàâëÿÿ åå ñòðîêè è ñòîëáöû, ïåðåìåñòèòü íàèáîëüøèé ýëåìåíò â âåðõíèé ëåâûé óãîë. Îïðåäåëèòü ìîæíî ëè òàêèì æå îáðàçîì ïîìåñòèòü ìèíèìàëüíûé ýëåìåíò â íèæíèé ïðàâûé óãîë.
  5. Çàïîëíèòü äâóõìåðíûé ìàññèâ Ò[1..n,1..n] ïîñëåäîâàòåëüíûìè öåëûìè ÷èñëàìè îò 1 äî n 52 0, ðàñïîëîæåííûìè ïî ñïèðàëè, íà÷èíàÿ ñ ëåâîãî âåðõíåãî óãëà è ïðîäâèãàÿñü ïî ÷àñîâîé ñòðåëêå:
      
      1   2   3   4   5   6 
      20   21   22   23   24   7 
      19   32   33   34   25   8 
      18   31   36   35   26   9 
      30   29   28   27   10 
      15   14   13   12   11 

  • Ýëåìåíò äâóõìåðíîãî ìàññèâà íàçûâàåòñÿ ëîêàëüíûì ìèíèìóìîì, åñëè îí ñòðîãî ìåíüøå âñåõ èìåþùèõñÿ ó íåãî ñîñåäåé. Ïîäñ÷èòàòü êîëè÷åñòâî ëîêàëüíûõ ìèíèìóìîâ çàäàííîé ìàòðèöû ðàçìåðîì NxN íàéòè ìàêñèìóì ñðåäè âñåõ ëîêàëüíûõ ìèíèìóìîâ.

  • Íàçàä
    Íà ãëàâíóþ
        Ó÷åáíèê ïî ÿçûêó Pascal          Ëàáîðàòîðíûå ðàáîòû ïî ïðîãðàììèðîâàíèþ          Ñïðàâî÷íèê


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


    .


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