Introducción a los Algoritmos. Mtro. Manuel Suárez Gutiérrez

Documentos relacionados
Introducción a los Algoritmos. Mtro. Manuel Suárez Gutiérrez

Adentrándonos a la Programación


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

Conceptos. Generales ALGORITMOS

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

Formato para prácticas de laboratorio

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

Computación I (CI-2125) Clase 3. Prof. Mireya Morales Primera

Metodología para la solución de problemas programables

PRESENTACIÓN DEL ALGORITMO

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

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

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Algoritmo. Programa. Lenguaje algorítmico

Introducción a la programación: Algoritmos

Tema 5. Diagramas de flujo. Computacion - FA.CE.NA.

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

INTRODUCCIÓN. Diagrama de flujo:

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

Guía práctica de estudio 04: Diagramas de flujo

ALGORITMOS II PSEUDOCODIGOS INTRODUCCION AL PSEINT CORPODICES VICTOR ANDRES OCHOA CORREA

Diagramas. En computación existen básicamente dos tipos de diagramas: diagramas de entradaproceso salida

[ GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013

Introducción a PSeInt

Programación Estructurada

INFOTECH. CURSO Excel Advanced Macros MÓDULO 2. Fundamentos de programación

Estructuras Administrativas

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Guía práctica de estudio 05: Pseudocódigo

El diseño de un programa Jhon Jairo Padilla Aguilar, PhD.

CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman)

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

Guía práctica de estudio 05: Diagramas de flujo

1. Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos información total o parcial útil en la búsqueda de los objetos desconocido

DISEÑO ESTRUCTURADO. Herramientas de representación de algoritmos

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

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

BLOQUE 1 Diseñas y elaboras algoritmos para la solución de problemas

Etapas en la solución de un problema

Estructuras Administrativas. Sesión 7: Diagramas de Flujo

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

Tema 2. Concepto de Algoritmo

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

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

Ejemplo de análisis y diseño de un algoritmo: Cálculo del factorial de un número

Estructura Secuencial

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

En general, se considera válido un razonamiento cuando sus premisas ofrecen soporte suficiente a su conclusión.

A l g o r i t m o s. Seguridad en Internet ALGORITMOS.

Estructuras de Control Selección o Decisión

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

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

RECORDAR TIPOS DE DATOS

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

Razonamiento algorítmico. Analizar problemas y generar una solución algorítmica

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

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

UNIVERSIDAD DEL PAPALOAPAN

Centro Universitario UAEM Zumpango! Ingeniería en Computación! Programación estructurada

INFORMATICA- DE 1001 A 1006

INSTITUTO TECNOLÓGICO

Diseño Estructurado de Algoritmos

Qué es un Diagrama de Flujo?

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

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

Principios de Algoritmia

5. ESTRUCTURAS DE REPETICIÓN

INSTITUTO SUPERIOR DE EDUCACION RURAL ISER FUNDAMENTOS DE PROGRAMACION

Capítulo 1. Algoritmos, diagramas de flujo y programas.

Diagramas de flujo. Actividad de aprendizaje 9. Realiza la siguiente lectura:

Elaboro: Ing Jessica Verònica Munive Flores BLOQUE II FASE 5 PROGRAMACIÓN DE PÁGINAS WEB

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

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

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

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

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

Conocimientos previos

TEMÁTICA DE LAS UNIDADES DE LOGICA COMPUTACIONAL

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

Ejemplo de Palabras reservadas del lenguaje C

DIAGRAMA DE GANTT, DIAGRAMAS DE FLUJO Y DE PSEUDOCODIGO COMO HERRAMIENTAS PARA LA PROGRAMACION DEL JUEGO PEDAGOGICO PAULA DANIELA MORENO ESPINOSA

Capítulo 11 INTRODUCCIÓN A LA CODIFICACIÓN EN C. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.

Autoestudio 2: Variables y Operadores

Tema 02: Algoritmia y pseudocódigo

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

Diagramas de flujo. Ejemplo 1. Algoritmo para sumar dos números

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

SECUENCIA DIDÁCTICA. Módulo IV Competencia de Módulo: Competencia de curso:

n 6 Logro Conocimientos previos Tema: Datos y # Ficha de aprendizaje

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.

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

ESTRUCTURAS ALGORITMICAS

Introducción a la programación

ESTUDIANTE: COMPUTADOR: VALORACIÓN DEL PROCESO: 1. Conceptos y generalidades

Fundamentos de programación. Organización de una computadora

Transcripción:

Introducción a los Algoritmos Mtro. Manuel Suárez Gutiérrez

Desarrollo de lógica Algorítmica A lo largo de toda nuestra vida hemos aprendido a resolver problemas, y lo hacemos tan innatamente que no nos percatamos, sin embargo no siempre tenemos una metodología, si no que lo realizamos empíricamente

Desarrollo de lógica Algorítmica Lo mismo ocurre con los algoritmos, en donde casi inconscientemente (más de lo que podemos imaginarnos) realizamos: una serie de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema.

Desarrollo de lógica Algorítmica Para demostrar lo anterior basta con preguntarnos a nosotros mismos,! qué hacemos todas las mañanas al despertarnos?

Desarrollo de lógica Algorítmica seguramente la mayoría responderá: pararse de la cama, ir al baño, bañarse, arreglarse, desayunar y por último salir al trabajo o a la escuela.

Desarrollo de lógica Algorítmica Si optáramos por analizar la acción de pararse de la cama, debemos cuestionarnos cual sería su planteamiento del problema?, siendo que este podría ser: Un día cualquiera por la mañana, una persona debe levantarse de la cama, pero esta se encuentra tapada por una sabana y dos cobijas, indica cuáles son los pasos a seguir para lograr estar levantado y junto a la cama?. Para responder a este cuestionamiento, aplicamos lo que llamamos lógica algorítmica.

Ahora del problema anterior identifiquemos cuales serían sus variables de entrada Un día cualquiera por la mañana, una persona debe levantarse de la cama, pero esta se encuentra tapada por una sabana y dos cobijas Ejercicio de clase:! Identifica cuales son los pasos que haces por la mañana cuando te levantas Cómo llegas a la facultad? Cómo funciona un reloj?

Desarrollo de lógica Algorítmica Por lo tanto para desarrollar la lógica algorítmica lo primero que debemos hacer es percatarnos de cual es el problema al que nos enfrentamos, en otras palabras debemos definir claramente el planteamiento del problema.

Desarrollo de lógica Algorítmica Es un conjunto pre-escrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. En otras palabras un algoritmo consta de tres fases, una entrada, un proceso y una salida.

Desarrollo de lógica Algorítmica A estas fases también se les suele conocer como módulos en donde un algoritmo consta de tres módulos siendo: Módulo1: representa la operación o acción para ingresar los datos o variables al problema. Módulo2: representa a la operación o conjunto de operaciones secuenciales que permitan solucionar el problema. Módulo3: representa la operación para comunicar al exterior los resultados alcanzados.

Desarrollo de lógica Algorítmica

Desarrollo de lógica Algorítmica Las propiedades que presenta un algoritmo son: Finitud: Número finito de pasos. Definibilidad: Cada paso definido de un modo preciso. Conjunto de entradas: Datos iniciales del algoritmo. Conjunto de Salidas: Respuesta que obtenemos del algoritmo. Efectividad: Las operaciones a realizar deben ser lo más básicas posibles para que el procesador pueda realizarlas de modo exacto y en tiempo finito.

Desarrollo de lógica Algorítmica Por lo tanto llamamos algoritmo al conjunto finito y ordenado de acciones con las que podemos resolver un determinado problema. Llamamos problema a una situación que se nos presenta y que, mediante la aplicación de un algoritmo, pretendemos resolver.

Desarrollo de lógica Algorítmica Los algoritmos están presentes en nuestra vida cotidiana y, aún sin saberlo, aplicamos algoritmos cada vez que se nos presenta un problema sin importar cuál sea su grado de complejidad. Por ello los aplicamos de manera inadvertida, inconscientemente o automáticamente. Esto se da generalmente debido a que ese problema lo conocemos y lo hemos resuelto con anterioridad un gran número de veces.

Metodología para la solución de problemas Como hemos visto, muchas veces aplicamos un algoritmo de forma inadvertida porque son soluciones a problemas que hemos realizado con anterioridad en un sin número de veces, sin embargo, hay ocasiones en donde existe una gran cantidad y variedad de problemas que requieren de un análisis más profundo y de un pensamiento flexible y estructurado para lograr encontrar la posible solución del mismo.

No existen reglas especificas que nos permitan resolver un problema, Cada uno de ellos presenta un entorno, características, sujetos de intervención o otros elementos que afectan directamente o indirectamente a la solución de un problema, por lo que la mejor metodología para solucionarlos es mediante la aplicación de técnicas y herramientas que permitan flexibilizar y estructurar el razonamiento utilizado, provocando la construcción de algoritmos más eficientes.

Resulta evidente que, si vamos a diseñar un algoritmo para resolver un determinado problema, tenemos que tener totalmente estudiado y analizado el contexto de dicho problema, lo cual nos implica: Comprender el alcance. Identificar los datos o variables de entrada. Identificar los datos o variables de salida o resultados esperado.

Diagramas de Flujo

Es la representación gráficas de los algoritmos, usan símbolos conectados con flechas para indicar la secuencia de instrucciones Están regidos por la normatividad: ISO (International Organization for Standardization) y ANSI (American National Standards Institute).

Las reglas de los diagramas de flujo son: 1. Todo Diagrama de flujo debe tener n inicio y un fin. 2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas, verticales y horizontales. 3. Todas las líneas utilizadas para indicar la dirección del flujo del diagrama deben estar conectadas a un símbolo.

4. El diagrama se construye de arriba hacia abajo. 5. La notación utilizada debe ser independiente al lenguaje de programación. 6. Es conveniente poner comentarios que ayuden a comprender lo realizado. 7. Si el diagrama es muy extenso, se debe usar conectores para cambiar de pagina y enumerar las hojas. 8. No puede llegar más de una línea a un símbolo.

Diseño base de todo diagráma de flujo

Qué es un pseudocódigo? Es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como: asignaciones, ciclos y condicionales, No está regido por ningún estándar.

Qué es un pseudocódigo? es una descripción informal de alto nivel de un algoritmo! compacto e informal usa lenguaje natural con una estructura de programación omite detalles que no esenciales para la comprensión humana del algoritmo se usa por su facilidad de comprensión

Qué es un pseudocódigo? Estructura a seguir en su realización: Cabecera. Nombre del Programa. Métodos o clases. Tipos de datos. Constantes. Variables. Cuerpo. Inicio. Instrucciones. Fin

Qué es un pseudocódigo? Definición de variables: int x = 0; Entero x = 0; x = 0; x <- 0 nombre = Juan Principales tipos de variables: Enteros Flotantes Char String Boolean

Qué es un pseudocódigo? Estructuras de control Secuenciales: instrucción 1 instrucción 2 instrucción 3 instrucción n Selectiva Si condición Entonces instrucción Si no Entonces Instrucción Fin Si

Entero X = 0; Int X = 0; Int Y =2; Int Suma = 0; Etiqueta A If (X < 5); Entonces Suma = X + Y; X = X +1; Regresa a Etiqueta A Entero Y =2; Entero Suma = 0; Retorno A Si (X es menor que 5); Entonces Suma = X + Y; X = X +1; Retornamos a A Sino Terminamos

Ejercicio 1 Realizar durante la clase de forma individual el diagrama de flujo y el pseudocódigo para los siguientes ejercicios: 1. Mostrar en pantalla el mensaje de hola mundo 2. Mostrar en pantalla tu nombre (solo imprimirlo). 3. Mostrar en pantalla un número (solo imprimirlo). 4. Mostrar en pantalla la suma de dos números estáticos.

Tarea 1:! 1. Hacer un resumen sobre los diagramas de flujo y pseudocodigo, respondiendo: qué son? para qué sirven? cómo declaramos variables? y pon ejemplos Para qué sirven las variables?! 2. Dá tu definición propia de un algoritmo?! 3. Elabora el diagrama de flujo y el pseudocodigo, de una actividad que realices todos los días en tu casa.

Prueba de escritorio Es la simulación de un algoritmo Muy utilizado para conocer su comportamiento y determinar su validez Permite detectar errores, omisiones o bien optimizarlo

Prueba de escritorio Consiste en: Una tabla que contenga el mismo número de columnas que variables debe contener tantas filas como instrucciones. La tabla se va llenando poniendo el valor correspondiente en cada celda de acuerdo a las instrucciones.

Prueba de escritorio Dependiendo de la complejidad del problema, se recomienda hacer 3 o más corridas. esto es 3 o más pruebas de escritorio, en donde se someta cada una de ellas a diferentes escenarios. Se recomienda usar un escenario normal, optimo y el peor de los casos como mínimo.

Ejemplo: Imprime tu nombre Instrucciones Entrada Nombre! Pantalla Escribir: Dame tu nombre: Manuel Dame tu nombre: Nombre = Entrada Manuel Escribir: Tu nombre es: Tu nombre es: Escribir: Nombre Manuel

Ejemplo: Suma de dos números Instrucciones Entrada N1! N2 Suma Pantalla Leer: Entrada 5 N1 = Entrada 5 Leer: Entrada 4 N2 = Entrada 4 Suma = N1 + N2 9 Escribir: Suma = Suma = Escribir: Suma 9

Ejercicios 1:! 1) Terminar las pruebas de escritorio de los ejercicios que hemos hecho en clase. 2) Realizar los siguientes ejercicios teniendo en cuenta que deben elaborar: Diagrama de Flujo, Pseudocódigo y Prueba de Escritorio (con 3 escenarios). 1) Solicitar dos números al usuario, que el algoritmo diga cual de los dos es menor e imprimir el resultado en pantalla. 2) Solicitar dos números al usuario y obtener la división de N1 / N2, e imprimir el resultado en pantalla. 3) Solicitar que el usuario introduzca datos personales tales como Nombre, Apellidos, Matrícula, Nombre de la E.E., Sección, (cada uno de estos valores es una variable), y al final imprima en pantalla un mensaje con coherente con todas estas variables (Ojo ustedes pueden agregar texto para darle sentido al párrafo). 4) Hacer un programa que solicite el nombre de una persona y el algoritmo le responde con una frase acorde al día que estamos celebrando.