ESTRUCTURAS ALGORITMICAS

Documentos relacionados
3. TÉCNICAS DE DISEÑO

Materia Introducción a la Informática. Unidad 6. Diagramación Estructurada. Prof. Alejandro Bompensieri

3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuánto deberá pagar finalmente por su compra.

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

Servicio Nacional de Aprendizaje SENA. Regional Antioquia Nombre Centro de Formación GUIA DE APRENDIZAJE No. 2

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

Proceso de información en la computadora

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

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.

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

UNIDAD II: ESTRUCTURAS SECUENCIALES

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

Estructuras Secuénciales

Programación Estructurada

La resolución de un problema

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

ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.

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

Diseño estructurado de algoritmos. Sesión 8: Estructuras Algorítmicas

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

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

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

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

Estructuras Condicionales

UNIDAD II: ESTRUCTURAS SECUENCIALES

Algoritmos y estructuras de programación

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

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

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

CIENCIA DE LA COMPUTACION

1 Énfasis en sistemas. Módulo FUNDAMENTOS DE PROGRAMACION ESTRUCTURAS CONDICIONALES COMPUESTAS ( If anidados)

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

Diagramas de flujo. ISCT. Luis Antonio Mancilla Aguilar

APUNTES NOMBRE DE LA ASIGNATURA DISEÑO ESTRUCTURADO DE ALGORITMOS CARRERA LICENCIATURA EN INFORMATICA CLAVE DE LA ASIGNATURA IFB-9302

+ 8 = / 11 = * 9 = - 10 = 8

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

PRESENTACIÓN DEL ALGORITMO

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

Diseño Estructurado de Algoritmo

ASECOMPU. PORTAL DE REFUERZO ACADEMICO EN PROGRAMACIÓN LISTA DE EJERCICIOS. ESTRUCTURAS SECUENCIALES Fecha de impresión:

INTRODUCCION AL PROCESAMIENTO DE DATOS

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

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

LENGUAJE DE PROGRAMACION UNO.

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

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

PROGRAMACION DE COMPUTADORES I

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

APUNTES NOMBRE DE LA ASIGNATURA DISEÑO ESTRUCTURADO DE ALGORITMOS CARRERA LICENCIATURA EN INFORMATICA CLAVE DE LA ASIGNATURA IFB-9302

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

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

DISEÑO ESTRUCTURADO DE ALGORITMOS

INTRODUCCION CONCEPTOS BÁSICOS Y METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS POR MEDIO DE COMPUTADORES.

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

I. Algoritmos Secuenciales

APUNTES NOMBRE DE LA ASIGNATURA DISEÑO ESTRUCTURADO DE ALGORITMOS CARRERA LICENCIATURA EN INFORMATICA CLAVE DE LA ASIGNATURA IFB-9302

APUNTES NOMBRE DE LA ASIGNATURA

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

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

Programación en java. Estructuras algorítmicas

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

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

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

Proceso de información en el computador. Datos de Proceso Datos de entrada salida

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

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

MANUAL DE PRÁCTICAS PARA LA ASIGNATURA DE PROGRAMACION DE LA UPIBI

El algoritmo, una iniciación a la programación.

INSTITUTO TECNOLÓGICO

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

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

PRIMITIVAS ALGORITMICAS Y METODOS DE REPRESENTACIÓN DE ALGORITMOS

UNIVERSIDAD DEL PAPALOAPAN

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

Diagramas de flujo y pseudocódigos

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

INTRODUCCIÓN A LA ALGORITMIA

Adentrándonos a la Programación

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

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

Algoritmos I Lenguaje de Programación

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Introducción a la programación: Algoritmos

ESCUELA NACIONAL AUXILIARES DE ENFERMERÍA Manizales TECNOLOGÍA E INFORMÁTICA

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL (UNEFA) Algoritmos

ICM Fundamentos de Computación

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

Algoritmo. Programa. Lenguaje algorítmico

Lógica de programación 1

ALGORITMOS Y PROGRAMACIÓN ORIENTADA A OBJETOS JUAN DAVID REDONDO ROBLES SANDY ELENA ROMERO CUELLO DOCENTE

Lógica de programación

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

Conceptos. Generales ALGORITMOS

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

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).

UNIVERSIDAD AUTONOMA DE GUERRERO UNIDAD ACADÉMICA DE INGENIERÍA Sensacional Examen de Computación II M en C. Neftalí Antúnez H.

Transcripción:

ESTRUCTURAS ALGORITMICAS El proceso de resolución de problemas en un ordenador conduce a la escritura de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente forma: Definición del Problema Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. Análisis del Problema Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cual es la información que se desea producir (salida) Los métodos y fórmulas que se necesitan para procesar los datos. Una recomendación muy práctica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados. Diseño del Algoritmo Las características de un buen algoritmo son: Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. Debe ser finito en tamaño y tiempo de ejecución. Representaci on de algoritmos Las dos herramientas más utilizadas comúnmente para describir algoritmos son: Diagramas de flujo: son representaciones gráficas de secuencias de pasos a realizar. Cada operación se representa mediante un sí³mbolo normalizado el Instituto Norteamericano de Normalización. (ANSI - American National Standars Institute). Las lineas de flujo indican el orden de ejecución. Algunos de los símbolos principales se muestran en la Figura abajo, como son: / del algoritmo, Lectura/Escritura de datos que el programa necesita o genera (por ejemplo, lectura de datos que se teclean o escritura de datos en un fichero); Proceso : conjunto de instrucciones secuenciales; Decisión es una bifurcación en el flujo del algoritmo en base a que se verifique o no sea cierta la condición. Los diagramas de flujo suelen ser usados solo para representar algoritmos pequeños, ya que abarcan mucho espacio. Salida Proceso Entrada

Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programación pero sin su rigidez, de forma mas parecida al lenguaje natural. Presentan la ventaja de ser mas compactos que los diagramas de flujo, mas fáciles de escribir para las instrucciones complejas y sencillez de transferir a un lenguaje de programación. El pseudocódigo no está regido por ningun estandar. En estos apuntes usaremos las palabras LEER/IMPRIMIR para representar las acciones de lectura de datos (el programa recibe datos desde algun sitio) y salida de datos (el programa escribe información en algun medio) El Algoritmo y la Figura abajo muestran respectivamente el pseudocodigo y el diagrama de flujo del algoritmo para calcular la altura de una persona en pulgadas y pies a partir de la altura en centímetros introducida por el teclado. ESTRUCTURAS ALGORITMICAS Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en: - Asignación - Secuenciales - Entrada - Salida - Simples Estructuras Condicionales - Múltiples Estructura Condicionales - Hacer para -Hacer mientras - Repetir hasta

Estructuras Secuenciales La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma: Accion1 Accion2.. AccionN - Asignación: La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma: Simples: Consiste en pasar un valor constate a una variable (a=15) Contador: Consiste en usarla como un verificador del número de veces que se realiza un proceso (a=a+1) Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b) De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a=c+b*2/4). Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación se representa en un pseudocodigo como sigue: Leer a, b Donde a y b son las variables que recibirán los valores Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocodigo como sigue: Escribe El resultado es:, R Donde El resultado es: es un mensaje que se desea aparezca y R es una variable que contiene un valor. Ejemplos Secuenciales 1) Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto dinero ganara después de un mes si el banco paga a razón de 2% mensual. Leer cap_inv gan = cap_inv * 0.02 Imprimir gan 2) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. Leer tc d = tc * 0.15 tp = tc - d Imprimir tp 3) Un alumno desea saber cual será su calificación final en la materia de Algoritmos.

Dicha calificación se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales. 30% de la calificación del examen final. 15% de la calificación de un trabajo final. Leer c1, c2, c3, ef, tf prom = (c1 + c2 + c3)/3 ppar = prom * 0.55 pef = ef * 0.30 ptf = tf * 0.15 cf = ppar + pef + ptf Imprimir cf 4) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. Leer nh, nm ta = nh + nm ph = nh * 100 / ta pm = nm * 100 / ta Imprimir ph, pm Estructuras de Condicionales Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en 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 dos tipos básicos, las simples 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: Si <condición> entonces -si Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma: Si <condición> entonces -si Donde: Si Indica el comando de comparación Condición Indica la condición a evaluar entonces.. Precede a las acciones a realizar cuando se cumple la condición acción(es) Son las acciones a realizar cuando se cumple o no la condición

Precede a las acciones a realizar cuando no se cumple la condición Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones. 1) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario. Leer calif1, calif2, calif3 prom = (calif1 + calif2 + calif3)/3 Si prom >= 70 entonces Imprimir alumno aprobado Imprimir alumno reprobado -si 2) En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 Cual será la cantidad que pagara una persona por su compra? Leer compra Si compra > 1000 entonces desc = compra * 0.20 desc = 0 fin-si tot_pag = compra - desc imprimir tot_pag fin.