TEOREMA BOHM-JACOPPINI
TEOREMA BOHM-JACOPPINI
Importanţa acestei teoreme pentru programarea structurată este majoră deoarece ea stabileşte setul minim de instrucţiuni necesare pentru implementarea corectă a structurilor de bază ale algoritmilor.
Pentru descrierea oricărui algoritm sunt necesare următoarele instrucţiuni:
1. atribuire
2. decizie completă (structura alternativă cu două ramuri)
3. structura repetitivă cu test iniţial (CÂT_TIMP <>WHILE)
Importanţa acestei teoreme nu ne permită să o lăsăm nedemonstrată. Vom da o demonstraţie prin prezentarea modului de descriere a celorlalte structuri din aceeaşi categorie prin structurile menţionate în enunţ, renunţând la rigurozitatea matematică în favoarea conciziei.
Este important de reţinut că operaţiile I/O nu sunt esenţiale în descrierea algoritmului de rezolvare a unei probleme, rolul lor fiind de a asigura interacţiunea cu utilizatorul.
1. Pentru structura liniară, afirmaţia este evidentă.
2. Decizia simplă este un caz particular (trunchiat al deciziei complete).
Structura de selecţie cu n cazuri se poate descrie printr-o succesiune de n-1 decizii complete, fiecare testând în condiţia ei dacă valoarea evaluată a expresiei ordinale din capul structurii este sau nu egală cu una dintre constantele prezente în lista cazului respectiv. Dacă da (ramura THEN), atunci se execută instrucţiunea asociată, dacă nu (ramura ELSE) se face selectarea unui nou caz dintre cele rămase:
(A se vedea şi observaţia de la prezentarea schemelor logice pentru acest tip de structură alternativă).
3. Structura repetitivă cu test final se comută rapid la cea cu test iniţial prin utilizarea secvenţei înainte de intrarea în bucla cu test iniţial şi apoi implementarea buclei cu test iniţial care conţine condiţia negată.
Reprezentarea structurii cu număr determinat de paşi (PENTRU<>FOR) este chiar mai evidentă. O prezentăm în cele ce urmează;
var_c:=Li;
CÂT_TIMP var_c<>Lf EXECUTĂ
Secvenţa din FOR
var_c:=var_c+Pas
SFÂRŞIT_CÂT_TIMP.
Importanţa acestei teoreme pentru programarea structurată este majoră deoarece ea stabileşte setul minim de instrucţiuni necesare pentru implementarea corectă a structurilor de bază ale algoritmilor.
Pentru descrierea oricărui algoritm sunt necesare următoarele instrucţiuni:
1. atribuire
2. decizie completă (structura alternativă cu două ramuri)
3. structura repetitivă cu test iniţial (CÂT_TIMP <>WHILE)
Importanţa acestei teoreme nu ne permită să o lăsăm nedemonstrată. Vom da o demonstraţie prin prezentarea modului de descriere a celorlalte structuri din aceeaşi categorie prin structurile menţionate în enunţ, renunţând la rigurozitatea matematică în favoarea conciziei.
Este important de reţinut că operaţiile I/O nu sunt esenţiale în descrierea algoritmului de rezolvare a unei probleme, rolul lor fiind de a asigura interacţiunea cu utilizatorul.
1. Pentru structura liniară, afirmaţia este evidentă.
2. Decizia simplă este un caz particular (trunchiat al deciziei complete).
Structura de selecţie cu n cazuri se poate descrie printr-o succesiune de n-1 decizii complete, fiecare testând în condiţia ei dacă valoarea evaluată a expresiei ordinale din capul structurii este sau nu egală cu una dintre constantele prezente în lista cazului respectiv. Dacă da (ramura THEN), atunci se execută instrucţiunea asociată, dacă nu (ramura ELSE) se face selectarea unui nou caz dintre cele rămase:
(A se vedea şi observaţia de la prezentarea schemelor logice pentru acest tip de structură alternativă).
3. Structura repetitivă cu test final se comută rapid la cea cu test iniţial prin utilizarea secvenţei înainte de intrarea în bucla cu test iniţial şi apoi implementarea buclei cu test iniţial care conţine condiţia negată.
Reprezentarea structurii cu număr determinat de paşi (PENTRU<>FOR) este chiar mai evidentă. O prezentăm în cele ce urmează;
var_c:=Li;
CÂT_TIMP var_c<>Lf EXECUTĂ
Secvenţa din FOR
var_c:=var_c+Pas
SFÂRŞIT_CÂT_TIMP.
Comentarii
Trimiteți un comentariu