Issuu on Google+

ALGORITMOS Y

PROGRAMACIÓN ¿Qué son algoritmos?

Un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Método y notación en las distintas fórmulas del cálculo. El algoritmo constituye un método para resolver un problema mediante una secuencia de pasos a seguir.

Ana María Duque Vargas 16/05/2014


16-5-2014

ALGORITMOS Y PROGRAMACIÓN ¿Qué son algoritmos? Un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Método y notación en las distintas fórmulas del cálculo. El algoritmo constituye un método para resolver un problema mediante una secuencia de pasos a seguir. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema. Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación. Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador. CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos: • Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x. • Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido. • Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro. • Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.

CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes características: • 1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer. 2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos. 3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada. 4. Puede tener cero o más elementos de entrada. 5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.

PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:

· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado. · Proceso, es la secuencia de pasos para ejecutar el algoritmo. · Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo. TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son: diagramación libre (Diagramas de flujo), diagramas Nassi-Shneiderman, Pseudocódigo, lenguaje natural (español, inglés, etc.), fórmulas matemáticas. 1


16-5-2014

Sección N° 1

1. Algoritmos Secuenciales 1.1 Simples

Ejemplo N° 1 Crear un algoritmo que me diga los números del 1 al 10. DIAGRAMA DE FLUJO

ALGORITMO

2


16-5-2014

Secci贸n N掳 1

1. Algoritmos Secuenciales 1.1 Simples

Ejemplo N掳 2 haga un algoritmo para construir u avi贸n de papel. DIAGRAMA DE FLUJO

ALGORITMO

3


16-5-2014

Sección N° 1

1. Algoritmos Secuenciales 1.1 Simples

Ejemplo N° 3 algoritmo para hallar el volumen y el área de un cilindro. DIAGRAMA DE FLUJO

ALGORITMO

4


16-5-2014

Secci처n N째 1

1. Algoritmos Secuenciales 1.1 Simples

Ejemplo N째 4

se desea pedir un libro en una biblioteca.

DIAGRAMA DE FLUJO

ALGORITMO

5


16-5-2014

Sección N° 1

1. Algoritmos Secuenciales 1.1 Simples

Ejemplo N° 5 suma de dos números cualquiera. DIAGRAMA DE FLUJO

ALGORITMO

6


16-5-2014

Sección N° 2

1. Algoritmos Secuenciales 1.2 Condicionales

Ejemplo N° 1 se desea conocer si eres mayor de edad. DIAGRAMA DE FLUJO

ALGORITMO

Inicio Edad  entero Escriba “cuál es tu edad” Leer edad Si edad >=18 entonces Escriba “eres mayor de edad” Fin si Escriba “fin del algoritmo” Finproceso

7


16-5-2014

Sección N° 2

1. Algoritmos Secuenciales 1.3 Condicionales

Ejemplo N° 2

Se desea saber si ganó o perdió. Se gana si la definitiva es mayor o igual a 3.0.

DIAGRAMA DE FLUJO

ALGORITMO

Proceso Gano_Perdio Escribir "ENTRE LA NOTA DE TALLER" Leer N1 Escribir "ENTRE LA NOTA DE EXPOSICION" Leer N2 Escribir "ENTRE LA NOTA DE EXAMEN" Leer N2 DEF<-(N1+N2+N3)/3 Si DEF>=3.0 Entonces Escribir "GANO" Sino Escribir "PERDIO" Fin Si FinProceso

8


16-5-2014

Sección N° 2

1. Algoritmos Secuenciales 1.2 Condicionales

Ejemplo N° 3 se desea saber si un número es par o impar. DIAGRAMA DE FLUJO

ALGORITMO

Proceso Par_Impar Escribir "ESCRIBA UN NUMERO" Leer A Si A MOD 2 = 0 Entonces Escribir "EL NUMERO QUE ESCRIBIO ES PAR" Sino Escribir "EL NUMERO QUE ESCRIBIO ES IMPAR" Fin Si FinProceso

9


16-5-2014

Sección N° 2

1. Algoritmos Secuenciales 1.3 Condicionales

Ejemplo N° 4 se desea saber si una persona es: niño (<18); joven(<25); mayores(>25). DIAGRAMA DE FLUJO

ALGORITMO

Proceso NIÑO_JOVEN_MAYOR Escribir "ESCRIBA UNA EDAD" Leer EDAD Si EDAD<18 Entonces Escribir "NIÑO, NIÑA" Sino Si EDAD<25 Entonces Escribir "JOVEN" Sino Escribir "MAYOR" Fin Si Fin Si FinProceso

10


16-5-2014

Secci처n N째 2

1. Algoritmos Secuenciales 1.2 Condicionales

Ejemplo N째 5

se desea saber si una persona puede votar o no.

DIAGRAMA DE FLUJO

ALGORITMO

Proceso PUEDE_VOTAR_O_NO Escribir "ESCRIBA UNA EDAD" Leer EDAD Si EDAD>=18 Entonces Escribir "PUEDE VOTAR" Sino Escribir "NO PUEDE VOTAR" Fin Si FinProceso

11


16-5-2014

Secci처n N째 3

1. Algoritmos Secuenciales 1.3 Simples

Ejemplo N째 1 este algoritmos es un simulador de una calculadora DIAGRAMA DE FLUJO

ALGORITMO Proceso calculator Escribir "que quieres hacer"; Escribir " 1 sumar"; Escribir "2 restar"; Escribir " 3 multiplicar"; Escribir " 4 dividir"; Leer a; Si a=1 Entonces Escribir "digite un valor"; Leer b; Escribir "ingresa el segundo valor"; Leer c; suma<- (b+C); Escribir "la suma de", b, "+" ,c, "=",suma Sino Si a=2 Entonces Escribir "digite un valor" Leer b; Escribir "ingresa el segundo valor"; Leer c; resta<- (b-c); Escribir "la resta de" ,b, "-" ,c, "=",resta Sino Si a=3 Entonces Escribir "digite un valor"; Leer b; Escribir "ingresa el segundo valor"; Leer c; multiplicar<-(b*c); Escribir "la multiplicacion de" ,b, "*" ,c, "=",multiplicar Sino Si a=4 Entonces Escribir "digite un valor"; Leer b; Escribir "ingresa el segundo valor"; Leer c; multiplicar<- (b/c); Escribir "la division de" ,b, "/" ,c, "=",dividir Sino FinSi FinSi FinSi FinSi FinProceso

12


16-5-2014

Secci처n N째 3

1. Algoritmos Secuenciales 1.3 Simples

Ejemplo N째 2 este algoritmo sirve para escribir su nombre DIAGRAMA DE FLUJO

ALGORITMO

Proceso Nombre escribir "programa para saludar"; escribir "escribe tu nombre"; leer a; escribir "hola!tu nombre es:", "****", a ,"****"; FinProceso

13


16-5-2014

Sección N° 3

1. Algoritmos Secuenciales 1.3 Simples

Ejemplo N° 3 escribe dos números cualquiera y nos muestra el resultado de la suma A + B

DIAGRAMA DE FLUJO

ALGORITMO

Proceso sumarAyB Escribir "INGRESA A:"; Leer A; Escribir "INGRESA B:"; Leer B; Suma<-(A+B); Escribir "LA SUMA DE A+ B ES:" , SUMA; FinProceso

14


16-5-2014

Sección N° 3

1. Algoritmos Secuenciales 1.3 Simples

Ejemplo N° 4 escribe números cualquiera y nos muestra el resultado de la resta. DIAGRAMA DE FLUJO

ALGORITMO

Proceso resta Escribir "Escriba el Primer numero a restar" Leer numero1 Escribir "Escriba el segundo numero a restar" Leer numero2 R <- numero1 - numero2 Escribir "La resta de los dos numeros es ", R FinProceso

15


16-5-2014

Sección N° 4

1. Algoritmos Secuenciales 1.4 Con “SI __ ENTONCES”

Ejemplo N° 1 escribe dos números cualquiera y nos halla el cuadrado y el cubo DIAGRAMA DE FLUJO

ALGORITMO

Proceso cubo_cuadrado Escribir "Escriba el PRIMER numero" Leer n1 Escribir "Escriba el SEGUNDO numero" Leer n2 c1<-n1*n1 cu1<-n2*n2*n2 Si c1>cu1 Entonces Escribir "El CUADRADO del PRIMER numero es ",c1 Escribir "El CUBO del SEGUNDO numero es ",cu1 Escribir "El CUADRADO DEL PRIMER NUMERO SI es MAYOR que el CUBO DEL SEGUNDO" Sino Escribir "El CUADRADO del PRIMER NUMERO NO es MAYOR que el CUBO DEL SEGUNDO" Fin Si FinProceso

16


16-5-2014

Sección N° 4

1. Algoritmos Secuenciales 1.4 Con “SI __ ENTONCES”

Ejemplo N° 2 escribe dos horas cualquiera y te calcula las horas y minutos que pasaron en ese lapso de tiempo.

DIAGRAMA DE FLUJO

ALGORITMO Proceso calcula_tiempo_entre_dos_horas Escribir "CALCULA EL TIEMPO TRANSCURRIDO ENTRE DOS HORAS" Escribir "ESCRIBA LA PRIMER HORA" Leer h1 Escribir "ESCRIBA LOS MINUTOS DE LA PRIMER HORA" Leer m1 Escribir "ESCRIBA LA SEGUNDA HORA" Leer h2 Escribir "ESCRIBA LOS MINUTOS DE LA SEGUNDA HORA" Leer m2 difehora <- h2 - h1 difeminu <- m2 - m1 Si difehora < 0 Entonces difehora <- (-1 * difehora) Sino difehora <- difehora Fin Si Si difeminu < 0 Entonces difeminu <- (-1 * difeminu) Sino difeminu <- difeminu Fin Si Escribir "El tiempo transcurrido entre LA HORA1, MINUTOS1 Y la HORA2, MINUTOS2 ES: ",difehora," HORAS ",difeminu," MINUTOS " FinProceso

17


16-5-2014

Sección N° 4

1. Algoritmos Secuenciales 1.4Con “SI __ ENTONCES”

Ejemplo N° 3 escribe números cualquiera y nos indica cuál es el mayor y menor DIAGRAMA DE FLUJO

ALGORITMO

Proceso Mayor Escribir "Entre un Numero Cualquiera" Leer nu1 Escribir "Entre otro Numero Cualquiera" Leer nu2 Si nu1>nu2 Entonces Escribir "El numero MAYOR es ",nu1 Escribir "El numero MENOR es ",nu2 Sino Escribir "El numero MAYOR es ",nu2 Escribir "El numero MENOR es ",nu1 Fin Si FinProceso

18


16-5-2014

Sección N° 4

1. Algoritmos Secuenciales 1.3 Con “SI __ ENTONCES”

Ejemplo N° 4º escribe tres números cualquiera y los ordena números de forma ascendente. DIAGRAMA DE FLUJO

ALGORITMO Proceso orden Escribir "MUESTRA NUMEROS EN ORDEN" Escribir "Escriba el PRIMER numero" Leer n1 Escribir "Escriba el SEGUNDO numero" Leer n2 Escribir "Escriba el TERCER numero" Leer n3 Si n1 > n3 Entonces Temp<-n1; n1<-n3; n3<-Temp; Si n2 > n3 Entonces Temp<-n2; n2<-n3; n3<-Temp; FinSi Si n1 > n2 Entonces Temp<-n1; n1<-n2; n2<-Temp; FinSi Sino Si n2 > n3 Entonces Temp<-n2; n2<-n3; n3<-Temp; FinSi FinSi Escribir "----------------------------------------"; Escribir "Numeros ordenados de forma ascendente: ", n1, ", ", n2, ", ", n3; Escribir "----------------------------------------"; FinProceso 19


16-5-2014

Sección N° 4

1. Algoritmos Secuenciales 1.4 Con “SI __ ENTONCES”

Ejemplo N° 6 escribe cualquier suma de salario que desees pagar a un trabajador y te calcula cuanto es el salario semanal

DIAGRAMA DE FLUJO

ALGORITMO

Proceso salario Escribir "Escriba el NOMBRE" Leer Nom Escribir "Escriba el Salario Mensual" Leer Sal hora <- Sal / 240 sem <- hora * 45 Escribir "NOMBRE ",Nom Escribir "Su SALARIO SEMANAL ES DE ",sem FinProceso

20


16-5-2014

Sección N° 5

1. Algoritmos Secuenciales 1.5 Con “MIENTRAS”

Ejemplo N° 1 escribe números cualquiera positivos y negativos y nos indicará cuantos son ceros – positivos - negativos

DIAGRAMA DE FLUJO

ALGORITMO

Proceso POSITIVOS_NEGATIVOS_CEROS CNEG<-0 CPOS<-0 CCEROS<-0 Escribir 'CUANTOS NUMEROS DESEA ESCRIBIR' Leer N Mientras CONT<N Hacer Escribir 'ESCRIBA UN NUMERO ' Leer NUM Si NUM=0 Entonces CCEROS<-CCEROS+1 Sino Si NUM>0 Entonces CPOS<-CPOS+1 Sino CNEG<-CNEG+1 FinSi FinSi CONT<-CONT+1 FinMientras Escribir 'LA CANTIDAD DE CEROS ESCDRITA FUE ',CCEROS Escribir 'LA CANTIDAD DE NUMEROS POSITIVOS FUE ',CPOS Escribir 'LA CANTIDAD DE NUMEROS NEGATIVOS FUE ',CNEG FinProceso

21


Sección N° 5

16-5-2014

1. Algoritmos Secuenciales 1.5 Con “MIENTRAS”

Ejemplo N° 2 escribir un número cualquiera y te halla el cubo y su cuarta. DIAGRAMA DE FLUJO ALGORITMO

Proceso CUBO_CUARTA Escribir 'ESCRIBA UN NUMERO' Leer NUM Mientras NUM<>0 Hacer CUBO<-NUM*NUM*NUM CUARTA<-CUBO*NUM Escribir 'EL CUBO ES ',CUBO,' LA CUARTA ES ',CUARTA Escribir 'ESCRIBIR NUMERO' Leer NUM FinMientras FinProceso

22


16-5-2014

Sección N° 5

1. Algoritmos Secuenciales 1.5 Con “MIENTRAS”

Ejemplo N° 3 escribe números positivos y negativos e imprime sólo los positivos. DIAGRAMA DE FLUJO

ALGORITMO

Proceso IMPRIMIR_POSITIVOS CN<-0 Escribir 'ESCRIBA LA CANTIDAD DE NUMEROS QUE DESEA ESCRIBIR ' Leer N Mientras CN<N Hacer Escribir 'ESCRIBA UN NUMERO POSITIVO O NEGATIVO' Leer NUM Si NUM>0 Entonces Escribir 'EL NUMERO ES POSITIVO ',NUM FinSi CN<-CN+1 FinMientras FinProceso

23


16-5-2014

Sección N° 5

1. Algoritmos Secuenciales 1.5 Con “MIENTRAS”

Ejemplo N° 4 nos indica cuántos números son positivos, cuántos negativos y cuantos son ceros.

DIAGRAMA DE FLUJO

ALGORITMO Proceso POSITIVOS_NEGATIVOS_CEROS CNEG<-0 CPOS<-0 CCEROS<-0 Escribir 'CUANTOS NUMEROS DESEA ESCRIBIR' Leer N Mientras CONT<N Hacer Escribir 'ESCRIBA UN NUMERO ' Leer NUM Si NUM=0 Entonces CCEROS<-CCEROS+1 Sino Si NUM>0 Entonces CPOS<-CPOS+1 Sino CNEG<-CNEG+1 FinSi FinSi CONT<-CONT+1 FinMientras Escribir 'LA CANTIDAD DE CEROS ESCRITA FUE ',CCEROS Escribir 'LA CANTIDAD DE NUMEROS POSITIVOS FUE ',CPOS Escribir 'LA CANTIDAD DE NUMEROS NEGATIVOS FUE ',CNEG FinProceso

24


16-5-2014

25


16-5-2014

Sección N° 5

1. Algoritmos Secuenciales 1.5 Con “MIENTRAS”

Ejemplo N° 5 pasa de números negativos a positivos. DIAGRAMA DE FLUJO

ALGORITMO

Proceso NEGATIVOS_POSITIVOS Escribir 'ESCRIBA 15 NUMEROS' Mientras X<15 Hacer CONTADOR<-CONTADOR+1 Escribir ' ' Escribir 'ESCRIBA EL ',CONTADOR,' NUMERO NEGATIVO ' Leer NUMERO POSITIVO<-NUMERO*(-1) Escribir 'EL NUMERO NEGATIVO ES ',NUMERO Escribir 'EL NUMERO POSITIVO ES ',POSITIVO FinMientras FinProceso

26


16-5-2014

Sección N° 5

1. Algoritmos Secuenciales 1.5 Con “MIENTRAS”

Ejemplo N° 6suponga que se tiene la nota de una materia de un grupo de 40 alumnos. Calcular la nota promedio y la nota más baja de todo el grupo.

DIAGRAMA DE FLUJO

ALGORITMO

Proceso PROMEDIO SUM<-0 CC<-0 Escribir "NOMBRE" Leer NOMBRE Mientras CC<7 Hacer Leer CALIF SUM<-SUM+CALIF CC<-CC+1 PROM<- SUM/7 Fin Mientras Escribir "EL PROMEDIO ES : ",PROM FinProceso

27


16-5-2014

Sección N° 5

1. Algoritmos Secuenciales 1.5 Con “MIENTRAS”

Ejemplo N° 7Calcular e imprimir la tabla de multiplicar de un número cualquiera de 1 hasta 10; imprimir el: multiplicando, multiplicador y el producto.

DIAGRAMA DE FLUJO

ALGORITMO

Proceso TABLA_DE_MULTIPLICAR X<-1 Escribir ' QUE TABLA DESEA IMPRIMIR DEL 1 AL 3' Leer NUM Mientras X<=3 Hacer RESUL<-NUM*X Escribir NUM,' * ',X,' = ',RESUL X<-X+1 FinMientras FinProceso

28


16-5-2014

Sección N° 5

1. Algoritmos Secuenciales 1.5 Con “MIENTRAS”

Ejemplo N° 8 Simulador de un reloj digital. DIAGRAMA DE FLUJO

ALGORITMO

Proceso RELOJ_DIGITAL H<-0 Mientras H<12 Hacer M<-0 Mientras M<60 Hacer S<-0 Mientras S<60 Hacer Escribir H,' : ',M,' : ',S S<-S+1 FinMientras M<-M+1 FinMientras H<-H+1 FinMientras FinProceso

29


16-5-2014

Sección N° 6

1. Algoritmos Secuenciales 1.6 Con “PARA”

Ejemplo N° 1 Escribe los números pares del 2 al 20. DIAGRAMA DE FLUJO

ALGORITMO

Proceso PARA3 Escribir "ESCRIBE LOS NUMEROS PARES DEL 2 AL 20" Escribir " " Para EMPIEZA<-2 Hasta 20 Con Paso 2 Hacer Escribir "LOS NUMEROS PARES DEL 2 AL 20 SON ", EMPIEZA Fin Para FinProceso

30


Sección N° 6

16-5-2014

1. Algoritmos Secuenciales 1.6 Con “PARA”

Ejemplo N° 2Escribe los números empezando y terminando donde se desea. DIAGRAMA DE FLUJO ALGORITMO

Proceso EJERCICIO_PARA1 INICIO<-0 EMPIEZA<-0 Escribir "CUANTOS NUMEROS QUIERE ESCRIBIR" Escribir "ESCRIBA EL NUMERO DONDE DESEA COMENZAR" Leer INICIO Escribir "ESCRIBA EL NUMERO DONDE DESEA TERMINAR" Leer TEERMINA Para EMPIEZA<-INICIO Hasta TERMINA Hacer Escribir "LA LISTA DE NUMEROS A IMPRIMIR ES " ,EMPIEZA Fin Para FinProceso

31


Sección N° 6

16-5-2014

1. Algoritmos Secuenciales 1.6 Con “PARA”

Ejemplo N°3Escribe los números desde el 1 hasta el número que uno desee. DIAGRAMA DE FLUJO ALGORITMO

Proceso EJERCICIO_PARA2 INICIO<-0 EMPIEZA<-0 Escribir 'CUANTOS NUMEROS QUIERE ESCRIBIR' Escribir 'ESCRIBA EL NUMERO DONDE DESEA COMENZAR' Leer INICIO Escribir 'ESCRIBA EL NUMERO DONDE DESEA TERMINAR' Leer TERMINA Para EMPIEZA<-INICIO Hasta TERMINA Hacer Escribir 'LA LISTA DE NUMEROS A IMPRIMIR ES ',EMPIEZA FinPara FinProceso

32


Revista ana maria duque tge diurno copia