Principios de Algoritmia

Documentos relacionados
SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Conceptos. Generales ALGORITMOS

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

La forma general que tiene un condicional (una pregunta) es la siguiente:

1. FUNDAMENTOS DE ALGORITMO

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

PRESENTACIÓN DEL ALGORITMO

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).

Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.

Lenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

Universidad Autónoma del Estado de México Facultad de Medicina

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Instituto José Manuel Estrada - Villa de Soto. Asignatura: Desarrollo de Soluciones Informáticas. Curso: 5to I. Docente: Contreras, María Elena

Introducción a la programación: Algoritmos

Prof. María Alejandra Quintero. Informática Año

Algoritmo. Programa. Lenguaje algorítmico

Lenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017

Iniciación a La Programación Prof. Carolina Cols

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

M.S.C. Elvia Cristina Márquez Salgado. Unidad 1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Introducción a la programación

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas

INTRODUCCIÓN A LA ALGORITMIA

LÓGICA DE PROGRAMACIÓN M.C. SANTIAGO GÓMEZ CARPIZO ELEMENTOS DE PROGRAMACIÓN

Lógica de programación 1

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

ALGORITMOS y DIAGRAMAS DE FLUJO Programa Desarrolladoras de Software. ING. CIP EDGAR CRUZ

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

Y alternativamente se presentarán soluciones de problemas donde se utilicen:

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

CIF 2452 Fundamentos de Programación

Introducción a la Informática Estructuras de control repetitivas

Las características fundamentales que debe cumplir todo algoritmo son:

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16

Programación Estructurada

Introduccion a la Programacion. Pablo Sevilla Jarquin

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

CIENCIA DE LA COMPUTACION

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

Conceptos básicos de algoritmia

Conceptos básicos de algoritmia

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

Tema 3: Resolución de problemas con computadoras 2014

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

Profesor(a): Ing. Miriam Cerón Brito

5. ESTRUCTURAS DE REPETICIÓN

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

Pseudocódigo. Se puede ejecutar en un computador, por medio de un IDE (pie de página: Entorno de desarrollo integrado).

Lógica de programación

Estructuras de Repetición

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

UNIVERSIDAD LUTERANA SALVADOREÑA. Docente: ANA LISSETTE GIRÓN

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD I. ALGORITMOS Y PROGRAMAS. Características y elementos para construir un algoritmo

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

Titulo de hoy 25/09/2017 COLEGIO SAN ANTONIO MARIA CLARET 1

Estructuras repetitivas o de ciclo

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Metodología de Desarrollo de Programas

7/1/18. Algoritmos RESOLVIENDO PROBLEMAS. Libro en línea. Cuál es el objetivo del libro? Ing. Roberto Martínez Román -

TEMA 1: Algoritmos y programas

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

FACULTAD DE INGENIERIA

GUÍA DE TRABAJO Tecnología en Sistemas de Información

Estructuras de Control Selección o Decisión

Tema#2. Tipos de Datos 10

[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.]

I.S.F.T. Nº 38 Programación I página 1

ETAPA Cómo se llaman los profesionales que escriben el código de los programas? Programadores.

INSTITUTO TECNOLÓGICO

Tema 3. Estructuras de Datos

ALUMNA: GRADO: MODALIDAD-10. PROFESOR: Hugo Nelson Ramírez Cárdenas

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

RECORDAR TIPOS DE DATOS

ESTRUCTURA DE ASIGNACIÓN

La resolución de un problema

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros

INICIACIÓN A LA PROGRAMACIÓN 1ª parte

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

Algoritmos. Libro en línea 3/8/18. Ing. Roberto Martínez Román - 1 RESOLVIENDO PROBLEMAS. Cuál es el objetivo del libro?

Transcripción:

Formación de Desarrolladores Revolucionarios Principios de Algoritmia preparando los programadores que la patria necesita prietost@gmail.com

Fundamentos de Algoritmia Concepto de Algoritmo Tipos de Algoritmo Partes de un Algoritmo Características Elementos para su construcción

Algoritmo La palabra "algoritmo" proviene del gran matemático árabe Mohamed Al Kho Warizmi. Mohamed Al Kho Warizmi escribió entre los años 800 y 825 la obra Quitab Al Jabr Al Mugabala, donde se recogía el sistema de numeración hindú y el concepto del cero, alcanzó gran reputación por el enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir números decimales. La traducción al latín del apellido Al Kho Warizmi en algorismus derivó posteriormente en algoritmo. Al Kho Warizmi Algorismus Algoritmo

file:///home/tifo/desktop/programador/todo/mslogo.jpg Principios de Algoritmia Concepto de Algoritmo es sencillamente un conjunto de reglas para efectuar algún cálculo, bien sea a mano o, más frecuentemente, en una máquina Brassard y Bratley (2000) es un método para resolver problemas Joyanes (2003) un algoritmo es una descripción de los pasos básicos a seguir para cumplir determinada tarea... para que una computadora realice una tarea es necesario definir previamente un algoritmo Torrealba(2004)

Concepto de Algoritmo Del estudio anterior de los autores descritos podemos decir, que un algoritmo es un conjunto de pasos precisos, definidos y finitos que conducen a la solución de un problema. Por ejemplo: El desarrollo de las actividades diarias en nuestra vida cotidiana, corresponde a un algoritmo. Así como también: La realización del cálculo de la ecuación de segundo grado. La emisión de una nómina de pago de empleados. El cálculo de promedios de notas de Estudiantes de Misión Sucre. Entre otros.

Ejemplo de Algoritmo Algoritmo para comprar los boleto de entrada al cine. 1. Inicio 2. Seleccionar la película 3. Llegar al lugar de proyección de la película 4. Revisar la cartelera 5. Hacer la cola de pago 6. Esperar el turno 7. Solicitar la película Si la hay 8. Entregar el dinero 9. Esperar por los boletos y la diferencia de pago 10. Retirarse Si no hay la película 11. Escoger otra película o retirarse 12. Fin

Tipos de Algoritmo Toda actividad que realiza el ser humano, responde a un algoritmo. Existen dos tipos de algoritmos: Algoritmos computacionales. Algoritmos no computacionales. Los que se realizan para ser ejecutados por una computadora son llamados algoritmos computacionales y los que son ejecutados por el ser humano se denominan algoritmos no computacionales (como el ejemplo de la compra de boletos del cine).

De Algoritmo a Programa Cuando un algoritmo deba ser ejecutado por una computadora, se necesita expresar el algoritmo en instrucciones comprensibles por la computadora; para esto se utilizan los lenguajes de programación. Al algoritmo expresado en un determinado lenguaje de programación, se le denomina programa. Esto índica que de un determinado problema o situación dada, se elabora un algoritmo con los pasos necesarios para su solución, y si se requiere sea ejecutado por un computador, se traduce el algoritmo a instrucciones editadas en un lenguaje de programación. Veámoslo a través del presente ejemplo: Algoritmo para resolver la sumatoria de dos números.

Partes de un Algoritmo Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida. Donde: ENTRADA PROCESO SALIDA Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados. Pasos necesarios para obtener la solución del problema o la situación planteada. Resultados arrojados por el proceso como solución.

Partes de un Algoritmo Tomando como ejemplo el algoritmo de la sumatoria de los dos números Inicio Leer A Leer B Suma= A + B Escribir Suma Fin Tenemos que: ENTRADA Valores de las variables A y B. PROCESO Asignar a la variable Suma, el valor de A mas el valor de B. SALIDA Impresión del valor de la variable Suma, que contiene la sumatoria de los valores de A y B.

Características de los Algoritmos Precisión Indica el orden de realización de cada paso dentro del proceso. Definición Indica la exactitud y consistencia de los pasos descritos en el proceso, si el algoritmo se prueba dos veces, en estas dos pruebas, se debe obtener el mismo resultado. Finitud Indica el número razonable de pasos, los cuales deben conllevar a la finalización del proceso y producir un resultado en un tiempo finito.

Elementos para la construcción de Algoritmos Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad de resolver un problema, los elementos que se utilizan en la construcción de algoritmos son los siguientes: Comandos. Datos. Variables y contantes. Operadores.

Elementos para la construcción de Algoritmos Comandos o Palabras reservadas: Todos los lenguajes, naturales o computacionales, tienen palabras que denotan una acción. Los comandos no son más que acciones que debe interpretar y ejecutar el computador. Cada comando conserva una sintaxis determinada, es decir la forma de utilizarlo. Los lenguajes computacionales tienen en su repertorio comandos dirigidos al procesamiento de archivos y datos, entre ellos: Inicio, Leer, Imprimir.

Elementos para la construcción de Algoritmos Datos: Un dato es un campo que puede convertirse en información. Los datos simples pueden ser: Numéricos (Reales, Enteros) Lógicos Carácter (Char, String)

Elementos para la construcción de Algoritmos Variables y Constantes: Son espacios de memoria creados para contener valores que de acuerdo a su naturaleza deseen mantenerse (Constantes) o que puedan variar (Variables). Constante Es un dato que permanece con un valor, sin cambios, es decir constante, a lo largo del desarrollo del algoritmo o a lo largo de la ejecución del programa. Se utiliza cuando necesitamos que el valor de determinada variable se mantenga durante la ejecución del programa o hasta tanto se requiera su cambio. Variable Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en el transcurso de la ejecución del programa. Una variable descrita o declarada de un tipo determinado, sólo podrá contener, valores de ese tipo. Una variable declarada numérica entera, no podrá contener números reales. Se utiliza cuando el dato que contiene sufrirá cambios o variará en la medida que cambien los valores que maneje.

Elementos para la construcción de Algoritmos Operadores aritméticos: Son utilizadas para construir formulas matemáticas. Las variables y constantes utilizadas son de naturaleza numérica, es decir números enteros o reales, y las operaciones a efectuar son de orden aritmético. +Suma Resta * Multiplicación / División

Elementos para la construcción de Algoritmos Operadores relacionales: Los operadores relacionales sirven para expresar las condiciones en los algoritmos. Las variables y constantes utilizadas son de distinta naturaleza, el resultado de una expresión lógica y relacional es de tipo lógico. > Mayor que < Menor que = Igual >= Mayor igual <= Menor igual <> Diferente

Elementos para la construcción de Algoritmos Operadores lógicos: Se utilizan en los programas cuando se requiere conocer o evaluar si los valores de variables o constantes determinadas cumplen con ciertas condiciones. De cumplirse o no, permiten un conjunto de instrucciones que pueden o no ejecutarse. Una expresión lógica puede ser verdadera o falsa.. AND y OR o NOT no

Elementos para la construcción de Algoritmos Operadores lógicos: Se utilizan en los programas cuando se requiere conocer o evaluar si los valores de variables o constantes determinadas cumplen con ciertas condiciones. De cumplirse o no, permiten un conjunto de instrucciones que pueden o no ejecutarse. Una expresión lógica puede ser verdadera o falsa.. AND y OR o NOT no

Representación de Algoritmos Pseudocódigos Diagramas de Flujo

Formas de representar Algoritmos Un algoritmo se puede representar por medio de dos formas: Pseudocódigo. Diagramas de Flujo.

Formas de representar Algoritmos Pseudocódigo: Es una serie de palabras léxicas y gramaticales referidos a los lenguajes de programación, pero sin llegar a la rigidez de la sintaxis de estos ni a la fluidez del lenguaje coloquial. El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema. Ejemplo: Inicio Leer A Leer B Suma= A + B Escribir Suma Fin

Formas de representar Algoritmos Diagrama de Flujo: Son representaciones gráficas de los pasos necesarios que conllevan a la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Estos símbolos se han normalizado o estandarizado para representar los pasos del algoritmo. Cada paso se representa a través del símbolo adecuado, que se van uniendo con flechas, denominadas líneas de flujo, que a su vez indican el orden en que los pasos deben ser ejecutados.

Formas de representar Algoritmos Símbolos para diseñar flujogramas: Entre los mas utilizados tenemos los siguientes.

Estructuras básicas Entrada y Salida Secuenciales Selección o Decisión Repetición e Iteración

Estructuras básicas Instrucciones de Entrada y Salida: Antes de adentrarnos en las estructuras básicas vamos a definir primeramente dos instucciones primordiales: Leer Lee una(s) variable(s) del teclado Escribir Despliega texto(s) o el valor de una(s) variable(s) en pantalla. Ejemplo: Inicio Leer A Leer B Suma= A + B Escribir Suma Fin

Estructuras básicas En la elaboración de algoritmos nos vamos a encontrar con estructuras básicas o de control ya prediseñadas para el tratamiento de información, estas estructuras básicas traducen acciones que se realizan de acuerdo al requerimiento o al proceso necesario al cual deba someterse la información. Estas estructuras son: Secuenciales: cuando se requiere que una instrucción siga después de otra. Selección o decisión: se utiliza cuando se requiere tomar decisiones lógicas, la ejecución de las instrucciones dependerá de que se cumplan o no, una o varias condiciones. Repetición o Iteración: se utiliza cuando un proceso debe repetirse un número determinado o no de veces, una vez se haya establecido cierta condición para finalizar el proceso de repetición.

Estructuras básicas Estructuras Secuenciales: En esta estructura una acción o instrucción se ejecuta detrás de otra en orden y secuencia. Las tareas se realizan de tal manera que debe cumplirse en estricto orden secuencial, porque la salida de una, es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Estas estructuras contienen operaciones de Asignación, Calculo y Sumarización. Inicio Leer A Leer B Suma= A + B Escribir Suma Fin

Estructuras básicas Selección o Decisión: Un algoritmo se realiza para resolver un problema. Por ello, al elaborar la solución de un problema se trazan ciertas condiciones. Estas condiciones se describen a través de una estructura selectiva, también llamada de decisión o condición. Una estructura selectiva esta compuesta por una expresión lógica, si al evaluar esta expresión lógica, el resultado es Verdadero, es decir se cumple la condición, se realizará una secuencia de instrucciones; pero si el resultado es falso, se ejecutará otra secuencia de instrucciones. Inicio Leer Edad Si (Edad>=18) entonces Escribir Mayor de Edad Fin Si Fin

Estructuras básicas Repetición o Iteración.: Esta estructura se utiliza cuando se debe ejecutar un conjunto de instrucciones un número repetido de veces. Al conjunto de instrucciones que se ejecutan repetidamente, un número de veces, se le llama también ciclo, bucle o lazo. El número de veces que se ejecuta se denomina Iteraciones; por consiguiente, una iteración, es una de las veces en las cuales se efectúan todas las instrucciones contenidas en el ciclo. Inicio Mientras (X<=10) hacer Escribir X X=X+1 Fin Mientras Fin

Bibliografía Para Profundizar mas sobre estos temas le recomendamos la lectura del Libro Introducción a la Programación de Misión Sucre. Gracias por su Atención