introduccion algoritmos

21
INTRODUCCIÓN A LOS INTRODUCCIÓN A LOS ALGORITMOS. FUNDAMENTOS ALGORITMOS. FUNDAMENTOS Tema fundamental en el diseño de Tema fundamental en el diseño de programas o soluciones. Por la cual, programas o soluciones. Por la cual, se debe tener buenas bases que le se debe tener buenas bases que le sirvan para poder crear de manera sirvan para poder crear de manera fácil y rápida sus programas. fácil y rápida sus programas. ¿QUÉ ES ALGORITMO? ¿QUÉ ES ALGORITMO? Un algoritmo es una serie de pasos Un algoritmo es una serie de pasos organizados que describe el organizados que describe el proceso que se debe seguir, para proceso que se debe seguir, para dar solución a un problema dar solución a un problema específico específico

Upload: dunkherz

Post on 24-Jun-2015

2.628 views

Category:

News & Politics


0 download

DESCRIPTION

Introducción a los algoritmos parte 1

TRANSCRIPT

Page 1: Introduccion algoritmos

INTRODUCCIÓN A LOS ALGORITMOS. INTRODUCCIÓN A LOS ALGORITMOS. FUNDAMENTOSFUNDAMENTOSTema fundamental en el diseño de programas o Tema fundamental en el diseño de programas o soluciones. Por la cual, se debe tener buenas bases soluciones. Por la cual, se debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida que le sirvan para poder crear de manera fácil y rápida sus programas.sus programas.

¿QUÉ ES ALGORITMO?¿QUÉ ES ALGORITMO?

Un algoritmo es una serie de pasos organizados Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para que describe el proceso que se debe seguir, para dar solución a un problema específicodar solución a un problema específico

Page 2: Introduccion algoritmos

PARTES DE UN ALGORITMO: PARTES DE UN ALGORITMO: Todo algoritmo debe obedecer a Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir:la estructura básica de un sistema, es decir:

Donde:Donde:ENTRADAENTRADACorresponde al insumo, a los datos necesarios que requiere elCorresponde al insumo, a los datos necesarios que requiere elproceso para ofrecer los resultados esperados.proceso para ofrecer los resultados esperados.PROCESOPROCESOPasos necesarios para obtener la solución del problema o laPasos necesarios para obtener la solución del problema o lasituación planteada.situación planteada.SALIDASALIDAResultados arrojados por el proceso como solución. Resultados arrojados por el proceso como solución.

Page 3: Introduccion algoritmos

CARACTERÍSTICAS DE LOS ALGORITMOSCARACTERÍSTICAS DE LOS ALGORITMOSLas características fundamentales que debe cumplir un Las características fundamentales que debe cumplir un algoritmo son:algoritmo son:PRECISIÓNPRECISIÓNIndica el orden de realización de cada paso dentro del Indica el orden de realización de cada paso dentro del proceso.proceso.DEFINICIONDEFINICIONIndica la exactitud y consistencia de los pasos descritos en Indica la exactitud y consistencia de los pasos descritos en el proceso, si el algoritmo se prueba dos veces, en estas el proceso, si el algoritmo se prueba dos veces, en estas dos pruebas, se debe obtener el mismo resultado.dos pruebas, se debe obtener el mismo resultado.FINITUDFINITUDIndica el número razonable de pasos, los cuales deben Indica el número razonable de pasos, los cuales deben conllevar a la finalización del proceso y producir un conllevar a la finalización del proceso y producir un resultado en un tiempo finitoresultado en un tiempo finito

Page 4: Introduccion algoritmos

Al diseñar un algoritmo se debe tener presente las Al diseñar un algoritmo se debe tener presente las características de precisión, definición y finitud.características de precisión, definición y finitud.Visualicemos estas características a través del siguiente Visualicemos estas características a través del siguiente ejemplo:ejemplo:

Algoritmo para hacer una tortaAlgoritmo para hacer una tortaENTRADA:ENTRADA: Harina de trigo, mantequilla, huevos, sal, azúcar Harina de trigo, mantequilla, huevos, sal, azúcarPROCESO:PROCESO: 1.- Unir la mantequilla con el azúcar1.- Unir la mantequilla con el azúcar2.- Batir hasta lograr consistencia cremosa2.- Batir hasta lograr consistencia cremosa3.- Agregar harina de trigo, huevos, sal y azúcar3.- Agregar harina de trigo, huevos, sal y azúcar4.- Batir hasta que esponje4.- Batir hasta que esponje5.- Precalentar el horno, en 250 °, y enmantequillar tortera5.- Precalentar el horno, en 250 °, y enmantequillar tortera6.- Una vez logre la consistencia de esponjado, colocar en la 6.- Una vez logre la consistencia de esponjado, colocar en la torteratortera7.- Introducir en el horno por espacio de 45 minutos7.- Introducir en el horno por espacio de 45 minutosSALIDA: SALIDA: TortaTorta

Page 5: Introduccion algoritmos

INSTRUCCIÓN O SENTENCIAINSTRUCCIÓN O SENTENCIAUna instrucción esta compuesta por uno o más comandos Una instrucción esta compuesta por uno o más comandos (acción), datos, símbolos, variables o constantes y (acción), datos, símbolos, variables o constantes y expresiones, que en conjunto representan una instrucción expresiones, que en conjunto representan una instrucción o sentencia.o sentencia.

Ejemplo. Ejemplo. En la construcción de los programas se utiliza una En la construcción de los programas se utiliza una instrucción por línea. Así mismo, se utiliza la alineación de instrucción por línea. Así mismo, se utiliza la alineación de aquellas instrucciones dentro de las estructuras que las aquellas instrucciones dentro de las estructuras que las contienen de manera ordenada que permita visualizar el contienen de manera ordenada que permita visualizar el inicio y fin de cada bloque de instrucciones.inicio y fin de cada bloque de instrucciones.

Page 6: Introduccion algoritmos

Si ASISTIO = ”SI” EntoncesSi ASISTIO = ”SI” EntoncesLeer Sueldo,Leer Sueldo,Asignar Sueldo = Sueldo + HoraExtraAsignar Sueldo = Sueldo + HoraExtraFin SiFin Si

Donde:Donde:SI: SI: Representa una estructura condicional utilizada para Representa una estructura condicional utilizada para establecer preguntas o programar ciertas condicionesestablecer preguntas o programar ciertas condiciones

ASISTIOASISTIO: : Nombre de una Variable lógica que puede Nombre de una Variable lógica que puede obtener sólo dos valores “SI” o “NO”. En el ejemplo se obtener sólo dos valores “SI” o “NO”. En el ejemplo se programa la condición de la variables cuando es “SI”programa la condición de la variables cuando es “SI”

Page 7: Introduccion algoritmos

ENTONCESENTONCES: : Parte de la instrucción o estructura condicional.Parte de la instrucción o estructura condicional.

LEER LEER SUELDO: InstrucciónSUELDO: Instrucción utilizando el comando cuya utilizando el comando cuya acción es la lectura de un campo o dato.acción es la lectura de un campo o dato.

Asignar SUELDO= SUELDO + HORAEXTRAAsignar SUELDO= SUELDO + HORAEXTRA: : Instrucción de Instrucción de asignación, permite asignar o calcular el valor que adquirirá asignación, permite asignar o calcular el valor que adquirirá una variable.una variable.

Fin SI:Fin SI: Cierra la estructura condicional Cierra la estructura condicional Si – Entonces – Fin SiSi – Entonces – Fin Si

Page 8: Introduccion algoritmos

COMANDOS O PALABRAS RESERVADAS.COMANDOS O PALABRAS RESERVADAS.

Los comandos no son más que acciones que debe Los comandos no son más que acciones que debe interpretar y ejecutar el computador. Cada comando interpretar y ejecutar el computador. Cada comando conserva una sintaxis determinada, es decir la forma deconserva una sintaxis determinada, es decir la forma deutilizarlo. Los lenguajes computacionales tienen en su utilizarlo. Los lenguajes computacionales tienen en su repertorio comandos dirigidos al procesamiento de repertorio comandos dirigidos al procesamiento de archivos y datos, entre ellos: Leer, Calcular, Asignar, archivos y datos, entre ellos: Leer, Calcular, Asignar, Clasificar, Imprimir.Clasificar, Imprimir.

Page 9: Introduccion algoritmos

DATOS.DATOS.

Los datos son símbolos que se convierten en condiciones, Los datos son símbolos que se convierten en condiciones, hechos, situaciones o valores. Un dato puede significar un hechos, situaciones o valores. Un dato puede significar un número, una letra, un signo ortográfico o cualquier número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una símbolo que represente una cantidad, una medida, una palabra o una descripción. La importancia de los datos está palabra o una descripción. La importancia de los datos está en su capacidad de asociarse dentro de un contexto para en su capacidad de asociarse dentro de un contexto para convertirse en información.convertirse en información.

Page 10: Introduccion algoritmos

TIPOS DE DATOSTIPOS DE DATOSComo se describió anteriormente, un dato es un campo Como se describió anteriormente, un dato es un campo que puede convertirse en información. Existen datos que puede convertirse en información. Existen datos simples (sin estructura) y compuestos (estructurados).simples (sin estructura) y compuestos (estructurados).

Los datos simples son los siguientes:Los datos simples son los siguientes:

- Numéricos (Reales, Enteros).- Numéricos (Reales, Enteros).- Lógicos.- Lógicos.- Carácter (Char, String).- Carácter (Char, String).

Page 11: Introduccion algoritmos

Ejemplo.Ejemplo. EJEMPLOS DE TIPOS DE DATOS SIMPLESEJEMPLOS DE TIPOS DE DATOS SIMPLES

Tipo de datosTipo de datos CaracterísticasCaracterísticas EjemplosEjemplos

Numéricos Enteros

Los números enteros son los números naturales positivos y negativos que conocemos.

1225146-456

Numéricos Reales

Los números reales, son los números que tienen parte decimal.

0.561.0025.13148.45-456.23

Lógicos o boléanos

Son aquellos datos cuyos únicos valores sólo pueden ser: Verdadero (V) o Falso (F), puede encontrarse,Verdadero (True) o Falso (False). Se utiliza para representar las opciones (si/no) a determinadas condiciones.

Nacionalidad = “Venezolano”(S/N)?

Page 12: Introduccion algoritmos

Ejemplo. Ejemplo. EJEMPLOS DE TIPOS DE DATOS SIMPLESEJEMPLOS DE TIPOS DE DATOS SIMPLES

Tipo de datosTipo de datos CaracterísticasCaracterísticas EjemplosEjemplos

Carácter o Char Su valor lo comprenden todos los caracteres alfabéticos,

mayúsculas y minúsculas (A – Z), numéricos (0 – 9) y símbolos

especiales (#,@,%,&).

Carácter String ocadena

Su valor esta representado por un conjunto de caracteres.

“Abril” “Reporte Anual de Fallas

Técnicas”“1º de mayo, Día del

Trabajador”

Page 13: Introduccion algoritmos

VARIABLES Y CONSTANTES.VARIABLES Y CONSTANTES.Son espacios de memoria creados para contener valores Son espacios de memoria creados para contener valores que de acuerdo a su naturaleza deseen mantenerse que de acuerdo a su naturaleza deseen mantenerse (Constantes) o que puedan variar (Variables).(Constantes) o que puedan variar (Variables).

CONSTANTE.CONSTANTE.Es un dato que permanece con un valor, sin cambios, es Es un dato que permanece con un valor, sin cambios, es decir constante, a lo largo del desarrollo del algoritmo o a decir constante, a lo largo del desarrollo del algoritmo o a lo largo de la ejecución del programa.lo largo de la ejecución del programa.

Se utiliza cuando necesitamos que el valor de determinada Se utiliza cuando necesitamos que el valor de determinada variable se mantenga durante la ejecución del programa o variable se mantenga durante la ejecución del programa o hasta tanto se requiera su cambio.hasta tanto se requiera su cambio.

Page 14: Introduccion algoritmos

VARIABLE.VARIABLE.Es un dato cuyo valor puede variar a lo largo del desarrollo Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en el transcurso de la ejecución del del algoritmo o en el transcurso de la ejecución del programa.programa.

Una variable descrita o declarada de un tipo determinado, Una variable descrita o declarada de un tipo determinado, sólo podrá contener, valores de ese tipo.sólo podrá contener, valores de ese tipo.

Una variable declarada numérica entera, no podrá Una variable declarada numérica entera, no podrá contener números reales.contener números reales.

Se utiliza cuando el dato que contiene sufrirá cambios o Se utiliza cuando el dato que contiene sufrirá cambios o variará en la medida que cambien los valores que maneje.variará en la medida que cambien los valores que maneje.

Page 15: Introduccion algoritmos

Los algoritmos se Representa en forma descriptiva las Los algoritmos se Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo) operaciones que debe realizar un algoritmo (pseudocódigo) por ejemplo.por ejemplo.Escriba un algoritmo para distinguirEscriba un algoritmo para distinguir si es mayor o menor de edad: si es mayor o menor de edad:

INICIO INICIO Edad: Entero Edad: Entero ESCRIBA “cual es tu edad?” ESCRIBA “cual es tu edad?” Lea Edad Lea Edad SI Edad >=18 entonces SI Edad >=18 entonces ESCRIBA “Eres mayor de Edad” ESCRIBA “Eres mayor de Edad” FINSI FINSI ESCRIBA “fin del algoritmo” ESCRIBA “fin del algoritmo” FIN FIN

Page 16: Introduccion algoritmos

Sumar dos números.Sumar dos números.

InicioInicioDeclarar variable Suma=0Declarar variable Suma=0Leer Primer NúmeroLeer Primer NúmeroAsignarlo a la variable AAsignarlo a la variable ALeer Segundo NúmeroLeer Segundo NúmeroAsignarlo a la variable BAsignarlo a la variable BAsignar el valor de A + B a la variable SumaAsignar el valor de A + B a la variable SumaSuma= A + BSuma= A + BImprimir valor de SumaImprimir valor de Suma

Page 17: Introduccion algoritmos

Las estructuras condicionales comparan una variable contra otro (s) valor (es), para que con base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples.

Simples:

Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma:

Pseudocódigo: Diagrama de flujo:

ESTRUCTURAS CONDICIONALES

Page 18: Introduccion algoritmos

Las estructuras condicionales simples se les conoce como “Tomas Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma: de decisión”. Estas tomas de decisión tienen la siguiente forma:

Dobles:Dobles: Las estructuras condicionales dobles permiten elegir entre dos Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o opciones o alternativas posibles en función del cumplimiento o no de una determinada condición.no de una determinada condición.

Page 19: Introduccion algoritmos

SiSi::Indica el comando de comparación. Indica el comando de comparación. CondiciónCondición : :Indica la condición a evaluar.Indica la condición a evaluar.EntoncesEntonces : :Precede a las acciones a realizar cuando se cumple la Precede a las acciones a realizar cuando se cumple la

condición.condición.Instrucción (es)Instrucción (es)::Son las acciones a realizar cuando se cumple o no la Son las acciones a realizar cuando se cumple o no la

condición.condición.si nosi no : :Precede a las acciones a realizar cuando no se cumple la Precede a las acciones a realizar cuando no se cumple la

condición.condición.Dependiendo de si la comparación es cierta o falsa, se Dependiendo de si la comparación es cierta o falsa, se

pueden realizar una o más acciones. pueden realizar una o más acciones.

Page 20: Introduccion algoritmos

• Múltiples:Múltiples: Las estructuras de comparación múltiples, son tomas de Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma común caso una serie de instrucciones especificas. La forma común es la siguiente: es la siguiente:

Page 21: Introduccion algoritmos

• DEFINICIÓN DE WHILE.

(Mientras). Una de las estructuras de repetición empleada en la programación de algoritmos. While permite al programador especificar las veces que se repita una acción (una o más sentencias de programación) mientras una condición se mantenga verdadera.

Mientras la condición se mantenga verdadera, el bloque de instrucciones dentro de las llaves se ejecutará "x" cantidad de veces. Es necesario que alguna vez la condición se haga falsa, pues de lo contrario se entraría en un ciclo infinito de repeticiones (bucle infinito) y el programa se consideraría bloqueado. Por lo tanto es necesario que en el bloque de instrucciones dentro de la estructura while, se ejecute alguna acción que en algún momento haga que la condición .