Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)
docens
Chernev Dmitriy Alekseevich
Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)
Lépésenkénti finomítás egy egyszerű folyamat, Tételezzük-Ai-vezetőképes eredeti kifejezés modul logikája szempontjából hipotetikus-ches-on (feltételes) nyelv nagyon magas szintű, majd részletesen minden egyes mondat szempontjából egy alacsonyabb szintű nyelven, mindaddig, amíg végül nem érte el a szintet a program által használt nyelv-CIÓ. Érdemes felidézni: minél kisebb a nyelven tartalmazza a részleteket, annál magas szinten. Meg lehet tekinteni, mint a nyelv, a legmagasabb szintű közönséges emberi beszéd és nyelvi alacsony - gépi nyelv.
A folyamat során, lépésről lépésre részletesen a feldolgozó-áramkör által kifejezett alapvető strukturált programozási szerkezeteket.
Az előnye, hogy inkrementális tagoltságát, hogy lehetővé teszi a tervező, hogy megszervezzék a érveit. Minden lépésnél van dolgunk elemi feladat.
Úgy véljük, ez a módszer egy konkrét példát.
CÉL. Tekintettel mátrix mérete 10 x 10 elemeket. Minden i-edik oszlop elemei közül fekvő fölött az első nulla, és amelyek értéke a tartományba esnek [c, d], megtalálja a legnagyobb és a legkisebb elemek és számuk a húr. Ha a nulla elemet az oszlop nincs jelen, a teljes oszlop kerül feldolgozásra.
Terv, hogy megoldja a problémát
2. Az alap algoritmus (oszlop ciklus).
3. Processing oszlop (belső kör).
4. A feldolgozó elem a mátrix.
5. Keresse meg a legnagyobb és a legkisebb elem az oszlop.
6. feldolgozása első és a terminál üzemeltetői ciklus.
7. optimalizálás és visszatérő programot.
A (10, 10) - a kezdeti mátrix.
C és D - intervallum határát.
m ax (10) és min (10) - Arrays tartalmazó maximális és minimális értékek az egyes oszlopok az eredeti mátrix.
Imax (l 0), és Imin (l 0) - tömbök és a vonalak számát, amelyekben az eredmények találhatók, illetve, és a legnagyobb-Nai kisebb értékeket az oszlopban.
a) Az első lépés Detailing IO.
![Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztés) (részlet) Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)](http://images-on-off.com/images/40/poshagovayadetalizatsiyaprogrammirovanie-63965a90.jpg)
A: array [1..10,1..10] REAL; (* A kezdeti mátrix *)
C. D. REAL; (* Slot határok *)
I. J. egész; (* Nem sorok és oszlopok *)
MAX. MIN. Array [1..10] REAL; (* Értékek legnagyobb és *)
IMAX. Imin. Array [1..10] egész szám; (* És a sorszámok *)
Keresés a legnagyobb és a legkisebb elem az oszlop a mátrix, és számuk a sorban.
![Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztés) (lefelé irányuló) Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)](http://images-on-off.com/images/40/poshagovayadetalizatsiyaprogrammirovanie-97c57ac6.jpg)
HA [i, j]> = MAXT majd kezdődik MAXT: = A [i, j]; IMAXT: = I; END;
HA [i, j]<= MINT THEN BEGIN MINT:= A[I, J]; IMINT:= I; END;
Új változók kerültek bevezetésre: Macht, menta, IMAXT és IMINT. felveendő leírása a változók a feladat REAL típusú és egész volt.
e) A hatodik lépés. A kezdeti és végső nyilatkozatokat.
Haladunk belülről kifelé ciklusok, és mit kell dolgozni ciklus.
ez működéséhez szükséges a belső hurok a Macht MINT, és volt néhány érték, és mit kell tenni az első lépést annak hiányában az oszlop elemeit intervallumban (a, d)?
Azt feltételezzük, hogy ebben az esetben a kód értéke nulla és a maximális és minimális értékei tartozó elemek kimeneti tömbök lényegtelen.
Macht: = C; Mint: = D;
ChAT M: = 0; IMINT. = 0;
Az eredmények ebben a ciklusban, meg kell küldeni a J - e-al Eredő elemei tömbök, így a végső kimutatások a következők:
MAX [J]: = Macht; IMAX [J]: = M ChAT;
MIN [J]: = MINT; Imin [J]: = IMINT;
Ciklus az oszlopok nincsenek kezdeti és végső opera-tori nem szükséges.
Miután megkapta a programot, amit tehetünk, hogy javítani úgy, hogy még rövidebb, gyorsabban fusson.
használja MAX (J), MIN (J), IMAX (J), Imin (J)
ehelyett Macht. MINT, IMAXT, IMINT,
Az utolsó sor a gazdasági szereplők nem kötelező, de a program kerül sor hosszabb (bár annak szövegét csökkenni fog), mert INGATLAN-titsya művelet „Fellebbezés a tömb elem” - egy meglehetősen hosszú, a szempontból a számítógép, a műveletet.
Ön is optimalizálja lépéseket.
![Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztés) (lépésről lépésre) Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)](http://images-on-off.com/images/40/poshagovayadetalizatsiyaprogrammirovanie-c96c4984.jpg)
A: array [1..10, 1..10] REAL; (* A kezdeti mátrix *)
C. D. REAL; (* Slot határok *)
I. J. egész; (* Nem sorok és oszlopok a mátrix *)
MAX. MIN. Array [1..10] REAL; (* Értékek legnagyobb és *)
IMAX. Imin. Array [1..10] egész szám; (* És a sorszámok *)
MAXT. Menta. REAL; (* Ideiglenes változók, és a legtöbb *)
(* Legkisebb elemet értékek *)
IMAXT. IMINT. egész; (* És számuk az oszlop *)
WriteLn ( „Írja be a mátrix elemei:”);
Az I: = l TO 10 DO
J: = 1-től 10 DO READ (A [i, j]); writeln;
Write ( „Add meg a határ a tartomány”); READLN (C, D);
FOR J: = L-től 10 DO (* Feldolgozás mátrix oszlopait A *)
IMAXT: = 0; IMINT: = 0; Mint: = C; Mint: = D;
(* Feldolgozás oszlop mátrix elemeit A *)
Az I: = L-től 10 csinálni, miközben az A [i, j] # 0 DO
IF (C<=A[I, J]) AND (A[I, J]<= D) THEN
(* Matrix elem tartozik a CD szakaszt. *)
HA [i, j]> = MAXT (* legnagyobb eleme a mátrix. *)
Ezután kezdődik MAXT: = A [i, j]; IMAXT: = I; END;
IF [I. J]<= MINT (* Элемент матрицы наименьший? *)
Ezután kezdődik MINT: = A [i, j]; IMINT: = I; END;
MAX [J]: = MAXT; MIN [J]: = MINT;
IMAX [J]: = IMAXT; Imin [J]: = IMINT;
Az I: = L-től 10 DO WriteLn ( 'MIN =', MIN [I], 'annak a száma', Imin [I],
'MAX =' MAX [I] 'a szám', azt MAX | I]);
![Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztés) (lefelé irányuló) Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)](http://images-on-off.com/images/40/poshagovayadetalizatsiyaprogrammirovanie-61630665.jpg)
![Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztés) (részlet) Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)](http://images-on-off.com/images/40/poshagovayadetalizatsiyaprogrammirovanie-f3485ee9.jpg)
![Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztés) (lépésről lépésre) Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)](http://images-on-off.com/images/40/poshagovayadetalizatsiyaprogrammirovanie-cc5d85dd.jpg)
![Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztés) (lefelé irányuló) Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)](http://images-on-off.com/images/40/poshagovayadetalizatsiyaprogrammirovanie-8226a319.jpg)
Oldal anyag olyan elektronikus eszköz
a témában „Software Engineering”
hogy a tanulók TUIT.