Algoritmos - Martin Nievas

Post on 16-Oct-2021

2 views 0 download

Transcript of Algoritmos - Martin Nievas

1/24

Algoritmos

Nievas Martin

11 de abril de 2018

Rev 2.0

2/24

Algoritmos

Algoritmo?

3/24

Algoritmos

“La solucion a cualquier problema de computo involucra unaserie de acciones ejecutadas en un orden especıfico” (Deitel)

“Informalmente, un algoritmo es un procedimiento de calculobien definido que toma un cierto valor, o conjunto de valores,como entrada y produce un cierto valor, o conjunto de valores,como salida. Un algoritmo es, entonces, una secuencia depasos computacionales que transforman la entrada en unasalida.”(Cormen)

4/24

Algoritmos

Entrada Proceso Salida

5/24

¿Como escribo un algoritmo si no se aun nada deprogramacion?

I Lenguaje natural,I pseudocodigo,I diagramas de flujo yI lenguajes de programacion.

5/24

¿Como escribo un algoritmo si no se aun nada deprogramacion?

I Lenguaje natural,

I pseudocodigo,I diagramas de flujo yI lenguajes de programacion.

5/24

¿Como escribo un algoritmo si no se aun nada deprogramacion?

I Lenguaje natural,I pseudocodigo,

I diagramas de flujo yI lenguajes de programacion.

5/24

¿Como escribo un algoritmo si no se aun nada deprogramacion?

I Lenguaje natural,I pseudocodigo,I diagramas de flujo y

I lenguajes de programacion.

5/24

¿Como escribo un algoritmo si no se aun nada deprogramacion?

I Lenguaje natural,I pseudocodigo,I diagramas de flujo yI lenguajes de programacion.

6/24

Lenguaje Natural

Pasos para cursar una materia

I Entrar a claseI Poner AtencionI Tomar notasI Estudiar notasI Hacer ejerciciosI Hacer parcialI Si no promociono, hacer finalI Terminar

6/24

Lenguaje Natural

Pasos para cursar una materiaI Entrar a clase

I Poner AtencionI Tomar notasI Estudiar notasI Hacer ejerciciosI Hacer parcialI Si no promociono, hacer finalI Terminar

6/24

Lenguaje Natural

Pasos para cursar una materiaI Entrar a claseI Poner Atencion

I Tomar notasI Estudiar notasI Hacer ejerciciosI Hacer parcialI Si no promociono, hacer finalI Terminar

6/24

Lenguaje Natural

Pasos para cursar una materiaI Entrar a claseI Poner AtencionI Tomar notas

I Estudiar notasI Hacer ejerciciosI Hacer parcialI Si no promociono, hacer finalI Terminar

6/24

Lenguaje Natural

Pasos para cursar una materiaI Entrar a claseI Poner AtencionI Tomar notasI Estudiar notas

I Hacer ejerciciosI Hacer parcialI Si no promociono, hacer finalI Terminar

6/24

Lenguaje Natural

Pasos para cursar una materiaI Entrar a claseI Poner AtencionI Tomar notasI Estudiar notasI Hacer ejercicios

I Hacer parcialI Si no promociono, hacer finalI Terminar

6/24

Lenguaje Natural

Pasos para cursar una materiaI Entrar a claseI Poner AtencionI Tomar notasI Estudiar notasI Hacer ejerciciosI Hacer parcial

I Si no promociono, hacer finalI Terminar

6/24

Lenguaje Natural

Pasos para cursar una materiaI Entrar a claseI Poner AtencionI Tomar notasI Estudiar notasI Hacer ejerciciosI Hacer parcialI Si no promociono, hacer final

I Terminar

6/24

Lenguaje Natural

Pasos para cursar una materiaI Entrar a claseI Poner AtencionI Tomar notasI Estudiar notasI Hacer ejerciciosI Hacer parcialI Si no promociono, hacer finalI Terminar

7/24

PseudocodigoAlgoritmo para determinar si un numero es par

Leer numeroSi el resto de la division entre numero y 2 = 0 entonces

resultado = parsi no

resultado = imparfin si

8/24

Diagrama de FlujoAlgoritmo para determinar si un numero es par

resultado = impar resultado = par

número %2 = 0 sino

Leer número

9/24

Pseudocodigo/Diagrama de flujoAsignaciones

altura = 10base = altura + 10superficie = base *altura

altura = 10base = altura +10superficie = base * altura

9/24

Pseudocodigo/Diagrama de flujoAsignaciones

altura = 10base = altura + 10superficie = base *altura

altura = 10base = altura +10superficie = base * altura

10/24

Pseudocodigo/Diagrama de flujoBloque si simple

si fin > incio entoncesdelta = fin - inicio

fin si

delta = fin - inicio

fin > inicio si

10/24

Pseudocodigo/Diagrama de flujoBloque si simple

si fin > incio entoncesdelta = fin - inicio

fin sidelta = fin - inicio

fin > inicio si

11/24

Pseudocodigo/Diagrama de flujoBloque si doble

si fin > incio entoncesdelta = fin - inicio

si nodelta = inicio - fin

fin si

delta = fin - inicio

fin > inicio si

delta = inicio - fin

no

11/24

Pseudocodigo/Diagrama de flujoBloque si doble

si fin > incio entoncesdelta = fin - inicio

si nodelta = inicio - fin

fin sidelta = fin - inicio

fin > inicio si

delta = inicio - fin

no

12/24

Pseudocodigo/Diagrama de flujoComo determino quien es el mayor y menor?

si edad n > edad c entoncesmayor = edad nmenor = edad c

si no, si edad n < edad centonces

mayor = edad cmenor = edad n

si nomayor = edad nmenor = edad n

fin si

edad_n >edad_c sino

edad_n < edad_c

mayor = edad_nmenor = edad_csino

mayor = edad_cmenor = edad_n

mayor = edad_nmenor = edad_n

12/24

Pseudocodigo/Diagrama de flujoComo determino quien es el mayor y menor?

si edad n > edad c entoncesmayor = edad nmenor = edad c

si no, si edad n < edad centonces

mayor = edad cmenor = edad n

si nomayor = edad nmenor = edad n

fin si

edad_n >edad_c sino

edad_n < edad_c

mayor = edad_nmenor = edad_csino

mayor = edad_cmenor = edad_n

mayor = edad_nmenor = edad_n

13/24

Pseudocodigo/Diagramas de flujo

edad_n >edad_c sino

edad_n < edad_c

mayor = edad_nmenor = edad_csino

mayor = edad_cmenor = edad_n

mayor = edad_nmenor = edad_n

14/24

Estructuras repetitivas

15/24

Estructuras repetitivasMientras

16/24

Estructuras repetitivasMientras

contador = 0mientras contador ≤ 10hacer

imprimir contadorcontador = contador + 1

fin mientras

contador = contador +1

contador ≤ 10 si

SPOILER ALERT

16/24

Estructuras repetitivasMientras

contador = 0mientras contador ≤ 10hacer

imprimir contadorcontador = contador + 1

fin mientras

contador = contador +1

contador ≤ 10 si

SPOILER ALERT

17/24

Estructuras repetitivasMientras

contador = 0mientras contador ≤ 10hacer

imprimir contadorcontador = contador + 1

fin mientras

contador = contador +1

contador ≤ 10 si

contadoro

18/24

Estructuras repetitivasHacer Mientras

19/24

Estructuras repetitivasHacer Mientras

contador = 0hacer

contador = contador + 1mientras que contador ≤ 10

contador = contador +1

contador ≤ 10 si

19/24

Estructuras repetitivasHacer Mientras

contador = 0hacer

contador = contador + 1mientras que contador ≤ 10

contador = contador +1

contador ≤ 10 si

20/24

Estructuras repetitivasHacer Mientras

contador = 0hacer

contador = contador ∗ contador + 10mientras que contador ≤ 100

21/24

Estructuras repetitivasBloque iterativo para

22/24

Estructuras repetitivasBloque iterativo para

acumulador = 0para contador desde 0 hasta 100 hacer

acumulador = acumulador + 1

fin para

contador = 0; contador ≤ 100; contador +1

acumulador = acumulador + 1

acumulador = 0

22/24

Estructuras repetitivasBloque iterativo para

acumulador = 0para contador desde 0 hasta 100 hacer

acumulador = acumulador + 1

fin para

contador = 0; contador ≤ 100; contador +1

acumulador = acumulador + 1

acumulador = 0

23/24

Extras

Entrada y salida de datos

24/24

Entrada y salida de datosEntrada de datos

imprimir: Ingrese la cantidad de materias

leer: cantidad materias

cantidad_materiasi

Ingrese cantidad de materiaso

24/24

Entrada y salida de datosEntrada de datos

imprimir: Ingrese la cantidad de materias

leer: cantidad materias

cantidad_materiasi

Ingrese cantidad de materiaso

25/24

Consultas:mnievas@frc.utn.edu.ar