QReferate - referate pentru educatia ta.
Cercetarile noastre - sursa ta de inspiratie! Te ajutam gratuit, documente cu imagini si grafice. Fiecare document sau comentariu il poti downloada rapid si il poti folosi pentru temele tale de acasa.



AdministratieAlimentatieArta culturaAsistenta socialaAstronomie
BiologieChimieComunicareConstructiiCosmetica
DesenDiverseDreptEconomieEngleza
FilozofieFizicaFrancezaGeografieGermana
InformaticaIstorieLatinaManagementMarketing
MatematicaMecanicaMedicinaPedagogiePsihologie
RomanaStiinte politiceTransporturiTurism
Esti aici: Qreferat » Documente informatica

INSTRUCŢIUNEA REPEAT



INSTRUCTIUNEA REPEAT

Aceasta instructiune reproduce structura repeat until si are forma generala:
REPEAT
i1;
i2;
. . .
in
UNTIL expresie logica
Aici , i1, . ,in reprezinta instructiuni.
Principiul de executare este urmatorul:
 Se executa secventa de instructiuni;
 Se evalueaza expresia logica;


 Daca aceasta ia valoarea FALSE se executa din nou secventa de instructiuni, contrar se trece mai departe.
Iata cum arata instructiunea REPEAT prezentata cu ajutorul diagramei de sintaxa:


INSTRUCTIUNE

INSTRUCTIUNEA
REPEAT






Observatie: secventa se executa cel putin odata, dupa care se pune problema daca sa se repete sau nu (prin evaluarea expresiei logice).
Regula instructiunii REPEAT
Are forma:
{P} A {Q}, (Q and not b) <= P

{P} repeat A until b {Q and b}

Formula P se numeste specificatie invarianta.
Pentru simplitate, aplicarea acestor reguli in demonstratii se va nota prin:
repeat repeat
{P} {P}
A sau A
{Q} {Q}
until b until b
{Q and b}
Observatie: din prezentarea neformalizata a semanticii, se stie ca instructiumea:
repeat A until b
este echivalenta cu instructiunea compusa:
begin A;
while not b do
A
End
Se poate arata acum, in termenii semanticii axiomantice, ca regula instructiunii repeat poate fi dedusa din regula instructiunii while, regula consecintelor si regula instructiunii compuse. Intr- adevar, in ipostazele {P} A {Q} si (Q and not b) <= P poate fi construita urmatoarea demonstratie:
{P}
begin A;
{Q}
while not b do
{Q}
A
end
{Q and b}.
Regula consecintelor a fost aplicata pentru a demonstra ca specificatia Q este invarianta pentru instructiunea while:
{Q and not b}
{P}
A
{Q}.
Exemplu. Notatia:

Program R1;
Type natural =0..maxint;
Var x, y, z, u : natural
{(x = a) and (y = b) and (a >= 0) and (b >= 0)}
{(x * y = x * y) and (x > 0)}
begin
z := 0;
{(z + x * y = x * y) and (x > 0)}
u := x;
repeat
{(z + u * y = x * y) and (x > 0)}
z := z + y;
{(z + (u - 1) * y = x * y) and (u >= 1)}
u := u - 1
{(z + u * y = x * y) and (u >= 0)}
until u = 0
{(z + u * y = x * y) and (u >= 0) and (u = 0)}
end.
{{(z = a * b)}

este o demonstratie a corectitudinii partiale a unui algoritm de inmultire a doua numere naturale prin adunare repetata.
Pentru instructiunea repeat . until u=0, specificatia invarianta este (z+u*y=x*y) and (u>0).

Exemplu. Notatia:

{Program R2}
type natural = 0..maxinit;
var x, y : natural;
{(a > 0) and (b > 0) and (x = a) and (y = b)}
begin
repeat
{(x > 0) and (b > 0) and (x > a) and (y > b)}
while x > y do
{(x > 0) and (y > 0) and ((a, b) = (x, y))}
x := x - y;
while y > x do
{(x > 0) and (y > 0) and ((x, y) and (a, b))}
y := y - x;
{(0 < y <= x) and ((a, b) = (x, y))}
until x = y
{(0 < y <= x) and ((a, b) = (x, y)) and (x = y)}
end.
{x = (a, b)}

Descarca referat

E posibil sa te intereseze alte documente despre:


Copyright © 2024 - Toate drepturile rezervate QReferat.com Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site.
{ Home } { Contact } { Termeni si conditii }