Conceptos. Generales ALGORITMOS

Documentos relacionados
Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.

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

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

RECORDAR TIPOS DE DATOS

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

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:

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

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

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

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Tema 3. Estructuras de Datos

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

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

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.

TEMA 1: Algoritmos y programas

LENGUAJE DE PSEUDOCÓDIGO

Capítulo 2 : ALGORITMOS

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

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

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

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

Introducción a la programación: Algoritmos

ESTRUCTURA DE ASIGNACIÓN

Tema 2. Concepto de Algoritmo

Introduccion a la Programacion. Pablo Sevilla Jarquin

Introducción a la programación

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

La resolución de un problema

Tema#2. Tipos de Datos 10

Programación Estructurada

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

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

Al igual que las instrucciones alternativas, las instrucciones repetitivas también se pueden anidar, permitiendo las siguientes combinaciones de

PRÁCTICA FUNDAMENTOS DE ALGORITMOS (Estructuras de Repetición II) Objetivos

Programación en java. Estructuras algorítmicas

Principios de Algoritmia

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

Programación Estructurada. Sesión 4:Estructuras de control

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

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

CLASIFICACION DE LAS ESTRUCTURAS DE CONTROL

Estructuras Repetitivas

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

Resolución de problemas mediante algoritmos

Introducción a los Computadores (CNM-130) Estructuras de control repetitivas en FreeMat

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

Tablas de decisión.

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

TEMA 4: Programación estructurada

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

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

UNIDAD I. ALGORITMOS

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

TEMA 4: ALGORITMOS Y PROGRAMAS

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

ESTRUCTURAS DE CONTROL

EJERCICIOS ALGORITMOS

Introducción a la programación: Contenido. Introducción

Informática PRÀCTICA 3 Curs Práctica Nº 3: Tipos de datos simples. Constantes y variables. Operadores aritméticos. Formato de salida.

TEMA 2: ALGORITMOS Y PROGRAMAS

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Departamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos

TEMA 4. ESTRUCTURAS DE CONTROL

Sentencias de Procesamiento Iterativo: while y do-while

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

Sintaxis de PSeInt Tutorial

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

Programación en Lenguaje C

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Taller de Resolución de Problemas Computacionales

Escuela Normal Superior N 40 Mariano Moreno. Cuadernillo Propedéutico 2017 Nivel Superior

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

Construcción de Expresiones Programación Estructurada. Semestre: A-2012

Estructuras de Control

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

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

NETBEANS 7.0 ESTRUCTURAS REPETITIVAS

TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Tema 4. Operadores y Expresiones

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

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

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

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Tipos de Esquema

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada

Control de Flujo II. Estructuras Repetitivas

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

Estructuras de control

Fundamentos de Programación Visual Basic

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

Estructuras de control

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para.

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

Tema: Estructuras de Repetición en C#.

Transcripción:

Conceptos 1 Generales ALGORITMOS

Que es un Algoritmo? 2 Es un conjunto preescrito 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. Conjunto finito de reglas que dan una secuencia de operaciones para resolver todos los problemas de un tipo dado. De forma más sencilla, podemos decir que un algoritmo es un conjunto de pasos que nos permite obtener un dato.

Un algoritmo debe cumplir: 3 Finitud: El algoritmo debe acabar tras un número finito de pasos. Definibilidad: El algoritmo debe definirse de forma precisa para cada paso, es decir hay que evitar toda ambigüedad. Entrada: El algoritmo tendrá cero o más entradas es decir, cantidades dadas antes de empezar el algoritmo.

Salida: El algoritmo tiene una o mas salidas en relación con las entradas. Efectividad: Se entiende por eso que una persona sea capaz de realizar el algoritmo de modo exacto y sin ayuda de una maquina en un lapso de tiempo finito. 4

Representación de un 5 Algoritmo Pseudocódigo: Significa escribir las instrucciones del algoritmo en lenguaje natural tal y como lo expresamos de manera cotidiana. Diagramas de Flujo: Son representaciones gráficas de los pasos necesarios que conllevan a la solución algorítmica de un problema. Se utilizan determinados símbolos o figuras que representan una acción.

6 Pseudocódigo. El pseudocódigo es una manera de escribir algoritmos de forma poco estricta (con una sintaxis relajada) o estructuras de datos poco detalladas, pero intentando acercar las ideas del algoritmos a estructuras y sintaxis parecidas a las de los lenguajes de alto nivel en los que vamos a programar el algoritmo. Es para ser leído por personas, por tanto no se preocupa en detalles sintácticos. Es un lenguaje de especificación de algoritmos, pero muy parecido a cualquier lenguaje de programación, por lo que luego su traducción al lenguaje de programación es muy sencillo, pero con la ventaja de que no se rige por las normas de un lenguaje en particular. Nos centramos más en la lógica del problema. El pseudocódigo también va a utilizar una serie de palabras claves o palabras especiales que va indicando lo que significa el algoritmo.

Pseudocódigo - Sintaxis Utilizada. 1. INICIO y FIN: Por donde empieza y acaba el algoritmo. 2. DATOS: Aquí se declaran e inicializan las variables que utilizará el algoritmo. 3. ALGORITMO: En esta sección se escribe el algoritmo. Pseudocódigo de un algoritmo genérico: INICIO. FIN. DATOS: ** esto es un comentario ** entero a ; ** declaración de una variable entera ** real b = 0 ; ** declaración e inicialización de una variable ** ALGORITMO: leer a ; b = a + 5 ; escribir b ;

Estructuras de Control Selectivas. Si: Si la Condición es Verdadera, se ejecuta la Acción, sino el algoritmo continua con su ejecución. Condici ón Verdad era? Si No Si < Condición > <Acción> Fin_Si Acción

Estructuras de Control Selectivas. Si Sino: Si la Condición es Verdadera, se ejecuta la Acción 1, sino el algoritmo ejecuta la Acción 2. Luego el algoritmo continua con su ejecución. Condici ón Verdad era? Si No Si < Condición > < Acción 1 > Sino < Acción 2 > Acción 1 Acción 2 Fin_Si

Estructuras de Control Selectivas. Si Sino Si: Si la Condición 1 es Verdadera, se ejecuta la Acción 1, sino el algoritmo evalúa la Condición 2. Si es Verdadera, ejecuta laacción 2 y sino laacción 3. Cond. 1 Verdad era? Si Acción 1 No Cond. 2 Verdad era? Si No Si < Condición 1 > < Acción 1 > Sino_Si < Condición 2 > < Acción 2 > Sino < Acción 3 > Acción 2 Acción 3 Fin_Si

Estructuras de Control Selectivas. Según (alternativa múltiple): Se evalúa una condición o expresión que puede tomar n valores. Según el valor que la expresión tenga en cada momento se ejecutan las acciones correspondientes al valor. El valor con el que se compara la expresión, va a depender de los lenguajes, de lo que sea ese valor. En general ese valor puede ser un valor constante, un rango de valores o incluso otra condición. Juan Ignacio Talpone Expresió n o Condici ón Según <expresión> < Valor 1 >: < Acción 1 > < Valor 2 >: < Acción 2 > < Otro >: < Acciones > Acción 1 Acción 2 Acción n Fin_Según

Estructuras de Control Repetitivas. Mientras: Se evalúa la Condición. Si es Verdadera, se ejecuta la Acción y se evalúa nuevamente la Condición. En el momento en el que la Condición sea Falsa se sale del bucle y se continua con la ejecución del algoritmo. Al evaluarse la Condición, al principio, antes de entrar en el bucle, si la condición es Falsa, nunca se entrará en el bucle. Por lo tanto se utiliza obligatoriamente este tipo de bucle en el caso de que exista la posibilidad de que el bucle pueda ejecutarse 0 veces. Condici ón Verdad era? No Mientras < Condición > < Acción > Fin_Mientras Si Acción

Estructuras de Control Repetitivas. Hacer - Mientras: En primera instancia se ejecuta la Acción. Posteriormente, se evalúa la Condición. Si es Verdadera, se ejecuta nuevamente la Acción. Si es Falsa, se continúa con la ejecución del algoritmo. Se repite el bucle mientras la condición sea Verdadera. La Condición se evalúa siempre al final del bucle, si es Verdadera se ejecuta nuevamente la Acción, si es Falsa se sale del bucle. Como la Condición se evalúa al final, incluso aunque la primera vez ya sea Falsa, el bucle (laacción) se habrá ejecutado al menos una vez. Acción Hacer < Acción > Mientras < Condición > Condici ón Verdad era? No Si

Estructuras de Control Repetitivas. Desde - Hasta: Se utiliza cuando se sabe el número exacto de veces que hay que iterar. Para ello el bucle llevará asociado una variable índice, a la que se le asigna un valor inicial y se determina cual va a ser su valor final y además se va a incrementar (o decrementar) en cada iteración de bucle en un valor constante. Inicio Variable = Inicio ; Condición? ; Inc. n Si Acción No Condici ón Verdad era? Si Acción No Para variable = Vi, variable < Vf, Inc n <Acción> Fin_Para Acción 2

Ejemplo: Mostrar el producto de números enteros positivos entrados por teclado hasta el ingreso de un número negativo. Pseudocódigo: INICIO Módulo: Principal Entero P, num P = 1 INICIO DATOS: P, num: entero Leer num ALGORITMO: No Num >= 0? P 1 Leer num Escribir num FIN Si P = P * num Leer num FIN Mientras num >= 0 P p * num Leer num Fin_mientras Escribir p

Ejemplo. Ciclo Para 16 Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos neutros. Inicio cn = 0 cp = 0 cneg = 0 Para x = 1 hasta 20 hacer Leer num Sin num = 0 entonces cn = cn + 1 si no Si num > 0 entonces cp = cp + 1 si no cneg = cneg + 1 Fin-si Fin-si Fin-para Imprimir cn, cp, cneg Fin.

Ejemplo 2. Ciclo Para 17 El problema es calcular la suma de los números naturales desde 1 hasta n. Inicio Entero i, n, Suma Leer( n) i=1 Suma =0 PARA i=1 hasta n hacer Suma=Suma+i Fin_para Escribir (Suma) Fin

Traducción de Estructuras Repetitivas 18

Simbología para los DFD Diagrama de Flujo 19

Variables 20 Son estructuras de datos que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador pudiendo ser de longitud fija y variable.

TIPOS DE VARIABLES UTILES EN REPETICIÓN 21 Variables contadoras Como su nombre lo indica estas variables se usan fundamentalmente para contar, por lo tanto deben ser de tipo entero. Un ejemplo de este tipo de variables es la variable de control en un ciclo para. Una variable contadora se incrementa (o decrementa) en un valor constante en cada iteración del ciclo. Ejemplo. Desarrollar un algoritmo que imprima los números impares en orden descendente que hay entre 1 y 100.

Variables acumuladoras 22 La función de una variable acumuladora es almacenar valores numéricos que generalmente se suman (o multiplican) en cada iteración, por lo tanto la variable debe ser de tipo entero o real. Por ejemplo, en los diferentes algoritmos presentados para solucionar el problema de calcular la suma de los números naturales desde 1 hasta n, la variable suma es una variable acumuladora. Ejemplo. Calcular las suma de los cuadrados de los números entre 1 y 100.

Variables acumuladoras 23 Es una variable cuyo valor se incrementa o decrementa en un valor que no tiene por qué ser fijo (en cada iteración de un bucle). Un acumulador suele utilizarse para acumular resultados producidos en las iteraciones de un bucle.

Variables bandera 24 Una variable bandera es utilizada dentro de la condición del ciclo, ya sea sin negar, negada o conectada con una expresión booleana, para determinar cuándo un ciclo se sigue iterando o cuándo no. De esta manera una variable bandera debe ser de tipo booleano. (El lenguaje C estándar no tiene tipos booleanos, C++ si)

Variables bandera 25 Ejemplo. Realizar un programa que lea una serie de números reales y los sume. El programa debe preguntar al usuario cuándo desea ingresar un siguiente dato y si el usuario responde que no desea ingresar más datos el programa debe confirmar la respuesta. Si el usuario desea continuar ingresando datos se debe seguir solicitando datos y si el usuario confirma su deseo de salir, el programa debe mostrar la suma de los datos leídos y terminar.

Variables bandera 26 Es una variable cuyo valor se incrementa o decrementa en un valor fijo (en cada iteración de un bucle). Un contador suele utilizarse para contar el número de veces que itera un bucle. Pero, a veces, se utiliza para contar, solamente, aquellas iteraciones de un bucle en las que se cumpla una determinada condición.

Traducción de Estructuras Repetitivas 27

Constante 28 Es un valor que no puede ser alterado durante la ejecución de un programa. Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.

Expresiones 29 Se definen como una combinación de constantes, variables, símbolos de operación, paréntesis, y nombres de funciones especiales. Una expresión consta de operandos y operadores. Las expresiones se clasifican en aritméticas, lógicas y comparación.

Expresiones aritméticas 30 Operador significado + Suma - Resta * Multiplicación / División Div Mod Cociente Modulo (Residuo)

Expresiones Lógicas 31 Operador lógico Not Expresión lógica Significado Negación And P y Q Conjunción Or P o Q disyunción

Expresiones Comparación 32 Operador < > = <= >= <> Significado Menor Mayor Igual Menor o igual Mayor o igual Distinto

Reglas de prioridad 33 Operador Paréntesis Gráfo ( ) Multiplicación, divide Div y mod *, / Div, mod Más y menos +, -

Operación de Asignación 34 Es la forma de darle valores tanto a variables como constantes, se representa con los símbolos

Estructura Secuencial 35 Se caracteriza porque una acción se ejecuta detrás de otra. El flujo del programa coincide con el orden físico en el que se han ido poniendo las instrucciones. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, suma, etc.