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ési)

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ési)

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ési)

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ési)
Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)
Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)
Lépésről lépésre részletesen (programozási lefelé vagy csökkenő fejlesztési)

Oldal anyag olyan elektronikus eszköz
a témában „Software Engineering”
hogy a tanulók TUIT.

Kapcsolódó cikkek