Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » sql
Secventa sau structura liniara

Secventa sau structura liniara


Secventa sau structura liniara

Reprezinta o succesiune de comenzi care contine o "transformare de date". Structura liniara este alcatuita din operatii de citire/scriere, operatii de atribuire sau apelurile unor functii definite anterior. A1, A2, ., An reprezinta diverse operatii ce vor fi executate in aceasta ordine, bine determinata, ca de exemplu:

Figura 2.13

Exemplul 2.2

Se citesc doua numere intregi a si b. Sa se interschimbe continutul celor doua variabile si sa se afiseze noile lor valori.

La prima vedere am fi tentati sa scriem secventa urmatoare:

Aceasta secventa este gresita. Atunci cand variabilei a i se atribuie valoarea variabilei b, continutul variabilei a se pierde. Sa presupunem ca am citit a = 3 si b = 4. Prin atribuirea a ← b , continutul lui a va fi 4, iar a lui b va fi tot 4. Prin atribuirea b ← a continutul celor doua variabile va fi acelasi. Din acest motiv, in urma executiei acestui algoritm se va tipari 4 si 4.

Pentru a corecta aceasta greseala, trebuie folosita o variabila auxiliara, aux, de acelasi tip ca a si b, care va permite interschimbarea corecta a valorilor celor doua variabile. Secventa corecta de atribuiri este urmatoarea:

aux ← a

a ← b

b ← aux

In acest mod, continutul variabilei a se salveaza in variabila auxiliara aux, deci nu se pierde la a doua atribuire. Pentru valorile 3 si 4 presupuse ca citite pentru a si b, vom avea in ordine:

lui aux I se atribuie valoarea 3;



lui a i se atribuie valoarea 4;

lui b i se atribuie valoarea 3;

In continuare este prezentat algoritmul sub forma de schema logica si pseudocod ( Figura 2.14

Aceeasi problema poate fi rezolvata si fara a folosi o variabila auxiliara, dar numai in cazul interschimbarii de valori numerice, deoarece se vor folosi operatiile de adunare si scadere.

Pentru valorile citite ale lui a si b algoritmul functioneaza astfel:

lui a i se atribuie valoarea 3+4=7;

lui b i se atribuie valoarea 7-4=3;

lui a i se atribuie valoarea 7-3=4;

se tipareste a=4 si b=3, rezultat corect.

Test de autoevaluare 2.2

Scrieti algoritmul de rezolvare a urmatoarelor probleme; puteti folosi reprezentarea algoritmilor prin scheme logice sau pseudocod. Rezolvarea fiecarei probleme valoreaza 20 de puncte.

1. Un melc se deplaseaza cu viteza v km/saptamana. De cat timp (in ore) are nevoie melcul pentru a strabate distanta d data in metri.

2. Perimetrul unui patrat este egal cu latura altui patrat. Stiind ca suma perimetrelor este x, sa se calculeze ariile celor doua patrate.

3. Fiind date trei numere intregi a, b ,c, sa se interschimbe valorile celor trei numere, astfel:

b, c, a (a primeste valoarea lui b, b pe a lui c si c ia valoarea lui a);

c, a, b (a primeste valoarea lui c, b pe a lui a si c ia valoarea lui b);

c, b, a (se inverseaza ordinea variabilelor).

4. Se dau patru numere a, b, c, d reale. Sa se permute valorile acestor variabile astfel incat la tiparire ele sa aiba valorile rezultate din permutarile lor circulare , la stanga, respectiv la dreapta, cu o pozitie:

b, c, d, a

d, a, b, c

5. Sa se calculeze aria unui triunghi, cunoscandu-se una din laturile sale si inaltimea corespunzatoare.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.