1 / 14

Estructures iteratives o repetitives

Estructures iteratives o repetitives. mentre expressió booleana fer sentències fmentre expressió booleana : mentre s’avalua a cert -> s’executen les sentències si s’avalua a fals -> s’acaba l’execució del mentre conté una variable tal que: - Inicialment té un valor

sen
Download Presentation

Estructures iteratives o repetitives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Estructures iteratives o repetitives • mentre expressió booleana fer • sentències • fmentre • expressió booleana : • mentre s’avalua a cert -> s’executen les sentències • si s’avalua a fals -> s’acaba l’execució del mentre • conté una variable tal que: • - Inicialment té un valor • - Es modificada per les sentències del mentre

  2. Estructures iteratives o repetitives pernomvariableenteraen [inicirang..firang] fer sentències fper inicirang valor inicial de la variable entera firang valor final de la variable entera Les sentències es repeteixen firang-inicirang vegades

  3. Estructures iteratives o repetitives Exemple: Escriure els números entre 1 i 10 per n en [1..10] fer EscriureEnter(n) fper Pas 1: n val 1 EscriureEnter(1) Pas 2: n val 2 EscriureEnter(2) Pas 3: n val 3 EscriureEnter(3) ... Pas 10: n val 10 EscriureEnter(10)

  4. Estructures iteratives o repetitives pernomvariableenteraen [inicirang..firang] pasincrement fer sentències fper Si no és posa pasincrement, l’increment és 1 Exemple: Escriure els 10 primers múltiples de 3 per n en [3..30] pas +3fer EscriureEnter(n) fper

  5. Estructures iteratives o repetitives Qualsevol estructura per es pot substituir per un mentre Una estructura mentrenomés es pot substituir per un per si - L’expressió consisteix en comparar la variable entera amb un valor n:= 1 mentre n <=10 ferper n en [1..10] fer EscriureEnter(n) EscriureEnter(n) n:= n+1 fmentrefper

  6. Estructura per. Traducció a C per nomvar en [inicirang..firang] fer sentències fper for (nomvar = inicirang; nomvar<= firang; nomvar++;){ sentències }

  7. Estructura per. Traducció a C per k en [a..b] fer for (k = a; k <= b; k = k+1) { sentències sentències fper } Exemples: per k en [20..50] ferfor (k = 20; k <= 50; k = k+1) { EscriureEnter(K) cout<< k; fper } per k en [20..50] pas +2 ferfor (k = 20; k <= 50; k = k+2) { EscriureEnter(K) cout<< k; fper }

  8. Escriure tots els nombres parells entre el 1 i el 20(Múltiples de 2) • Solució: Repetir les sentències • EscriureEnter • k := k +2 (Obtenir el següent parell) • fins que k > 20 (expressió k <= 20) • algorisme parells del 1 al 20 • var k: enterfvar • k := 2 • mentre k <= 20 fer • EscriureEnter(k) • k := k + 2 • fmentre • falgorisme

  9. Escriure tots els nombres parells entre el 1 i el 20(Múltiples de 2) El perrealitza automàticament l’increment k := k +2 des de 2 a 20 (per k en [2.. 20 ]pas +2 fer) algorisme parells del 1 al 20 var k: enterfvar per k en [2.. 20 ]pas +2 fer EscriureEnter(k) fper falgorisme

  10. Escriure parells entre 1 i 20 (En C) /* Programa que llista tots els nombres múltiples de 2 entre 1 i 20 */ #include <stdio.h> #include <stdlib.h> #include <iostream.h> void main (void) { int k; cout << "Llistat dels nombres enters parells entre 1 i 20” << endl; for (k = 1; k<= 20; k= k+2) { cout << k << endl ; } system(“pause”); }

  11. Calcular el factorial d’un enter • Factorial: n! = 1*2*3...*n-2*n-1*n • Solució: Repetir • Obtenir les diferents unitats de n (per i en [1..n]fer) • Multiplicar-les resultat := resultat *i • Algoritme factorial • var n, i, resultat : enter fvar • resultat := 1 • n := LlegirEnter() • si n>0 llavors • per i en [1..n]fer • resultat := resultat *i • fper • EscriureEnter(resultat) • fsi • falgoritme

  12. Calcular el factorial d’un enter (en C) #include <stdio.h> #include <stdlib.h> #include <iostream.h> void main(void) { int n, i, resultado; cout << "Introduzca un numero positivo: " << endl; cin >> n; resultado=1; if (n>1) { for (i=1;i<=n;i++) { resultado*=i; /* resultado = resultado * i; */ } } cout << "El factorial de " << n << " es " << resultado << endl; system("pause"); }

  13. Calcular la suma dels 10 reals que s’entren • Solució: Repetir 10 vegades: • Llegir el real que entren LlegirReal() • Sumar-lo suma := suma + numero • Algoritme suma_llista_10 • var i: enter ; numero,suma: realfvar • suma := 0.0 • per i en [1..10 ]fer • numero := LlegirReal() • suma := suma + numero • fper • EscriureReal(suma) • falgoritme

  14. Calcular la suma dels 10 reals que s’entren (C) /* Este programa lee 10 números y calcula su suma.*/ #include <stdio.h> #include <stdlib.h> #include <iostream.h> void main(void) { float numero_actual, suma=0.0; int i; for (i=0;i<10;i++) { cout << "Introduzca un numero real: "; cin >> numero_actual; cout << endl << endl; suma+=numero_actual; /* Abreviatura de suma=suma+numero_actual */ } cout << "La suma de los numeros introducidos es " << suma << endl; system("pause"); }

More Related