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.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "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."

Transcripción

1 CAPITULO UNO CONCEPTOS BASICOS QUÉ ES UN ALGORITMO? La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. 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. TIPOS DE ALGORITMOS? Existen dos tipos y son llamados así por su naturaleza: Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Lenguajes Algorítmicos Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Tipos de Lenguajes Algorítmicos Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

2 INICIO Edad: Entero ESCRIBA cual es tu edad? Lea Edad SI Edad >=18 entonces ESCRIBA Eres mayor de Edad FINSI ESCRIBA fin del algoritmo FIN Metodología para la solución de un problema mediante un computador. Creación de un algoritmo. El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores. La parte que corresponde a este manual es la de: Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!. Metodología para la solución de problemas por medio de la computadora 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: o o Los datos de entrada. Cual es la información que se desea producir (salida) o Los métodos y fórmulas que se necesitan para procesar los datos. Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.

3 DISEÑO DEL ALGORITMO Las características de un buen algoritmo son: o o o o o 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. Diseño del Algoritmo o Prueba de escritorio o Depuración Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes. Para el proceso de Algoritmos es necesario aprender a desarrollar un conjunto de elementos. Todos estos elementos con los cuales se construyen dichos algoritmos se basan en una disciplina llamada: Programación Estructurada. Empecemos por conocer las reglas para cambiar fórmulas matemáticas a expresiones válidas para la computadora, además de diferenciar constantes e identificadores y tipos de datos simples. Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable. Tipos de Datos Simples

4 Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes. Datos lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos). Datos alfanuméricos (string): Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas. Identificadores Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que permite acceder a su contenido. Ejemplo:» Nombre» Num_hrs» Calif2 Reglas para formar un identificador Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco. Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter. La longitud de identificadores puede ser de varios caracteres. Pero es recomendable una longitud promedio de 8 caracteres. El nombre del identificador debe dar una idea del valor que contiene.

5 Qué son las constantes, las variables y las expresiones en la programación así como su clasificación. Constantes Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = Variable Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: area = pi * radio ^ 2 Las variables son : el radio, el area y la constate es pi Clasificación de las Variables Por su contenido Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo: iva = 0.15 pi = costo = 2500 Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos. Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales).

6 Por su uso Ejemplo: letra = a apellido = lopez direccion = Av. Libertad #190 Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo: Suma = a + b /c Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno. Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente. Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en: Aritméticas Relacionales Lógicas Qué son los operadores y los operando, sus tipos y las prioridades de ejecución de los mismos. Operadores Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

7 Operadores Aritméticos Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes). Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. Operadores Aritméticos + Suma - Resta * Multiplicación / División mod Modulo (residuo de la división entera) Ejemplos: Expresión Resultado 7 / mod * 5 14 Prioridad de los Operadores Aritméticos Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden: 1. ^ Exponenciación 2. *, /, mod Multiplicación, división, modulo. 3. +, - Suma y resta.

8 Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha. Ejemplos: * 5 = * 2 / 5 = * (10 - (2 + 4)) = * ( ) = 2.1 * 13.8 = Operadores Relacionales Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluación. Los operadores relaciónales tiene menor prioridad que los aritméticos. Tipos de operadores Relacionales > Mayor que < Menor que > = Mayor o igual que < = Menor o igual que < > Diferente = Igual Ejemplos: Si a = 10, b = 20, c = 30 a + b > c a - b < c a - b = c a * b < > c Falso Verdadero Falso Verdadero Ejemplos no lógicos: a < b < c 10 < 20 < 30 T > 5 < 30 (no es lógico porque tiene diferentes operandos)

9 Operadores Lógicos Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional. Tipos de operadores Lógicos And Y Or O Not Negación Ejemplo: Para los siguientes ejemplos T significa verdadero y F falso. Operador Not Operador Not Operando T F Resultado F T Operador And Operador And Operando1 Operador Operando2 Resultado T AND T T T F F F T F F F F Operador Or Operador Or Operando1 Operador Operando2 Resultado T Or T T T F T F T T F F F

10 Prioridad de los Operadores Lógicos 1. Not 2. And 3. Or Prioridad de los Operadores en General 1. ( ) 2. ^ 3. *, /, Mod, Not 4. +, -, And 5. >, <, > =, < =, < >, =, Or Ejemplos: Sea: a = 10 b = 12 c = 13 d =10 Existen dos principales tecnicas de diseño de algoritmos de programación, el Top Down y el Bottom Up. Top Down También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información. Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa.

11 La utilización de la técnica de diseño Top-Down tiene los siguientes objetivos básicos: Simplificación del problema y de los subprogramas de cada descomposición. Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas. El programa final queda estructurado en forma de bloque o módulos lo que hace mas sencilla su lectura y mantenimiento. Bottom Up El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato. Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido. Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programación alcanza la fecha límite para la integración total del sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente. Uno de ellos es la duplicación de esfuerzos para acceder el software y mas aún al introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez el mas serio inconveniente del enfoque ascendente, es que los objetivos globales de la organización no fueron considerados y en consecuencia no se satisfacen. Entonces La diferencia entre estas dos técnicas de programación se fundamenta en el resultado que presentan frente a un problema dado. Imagine una empresa, la cual se compone de varios departamentos (contabilidad, mercadeo, ), en cada uno de ellos se fueron presentando problemas a los cuales se le dieron una solución basados en un enfoque ascendente (Bottom Up): creando programas que satisfacían sólo el problema que se presentaba. Cuando la empresa decidió integrar un sistema global para suplir todas las necesidades de todos los departamentos se dio cuenta que cada una de las soluciones presentadas no era compatible la una con la otra, no representaba una globalidad, característica principal de los sistemas. Como no hubo un previo análisis, diseño de una solución a nivel global en todos sus departamentos, centralización de información, que son características propias de un diseño Descendente (Top Down) y características fundamentales de los sistemas; la empresa no pudo satisfacer su necesidad a nivel global.

12 La creación de algoritmos es basado sobre la técnica descendente, la cual brinda el diseño ideal para la solución de un problema. Una de las dos herramientas más comunes en el diseño de algoritmos es el diagrama de flujo. Diagrama de Flujo Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de como deben realizarse los pasos en la computadora para producir resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI): Símbolo Descripción Indica el inicio y el final de nuestro diagrama de flujo. Indica la entrada y salida de datos. Símbolo de proceso y nos indica la asignación de un valor en la memoria y/o la ejecución de una operación aritmética. Indica la salida de información por impresora. Conector dentro de página. Representa la continuidad del diagrama dentro de la misma página. Conector fuera de página. Representa la continuidad del diagrama en otra página. Indica la salida de información en la pantalla o monitor.

13 Símbolo de decisión. Indica la realización de una comparación de valores. Símbolo del Mientras. Dada una expresión al principio de la iteración esta es evaluada; si la condición es verdadera realizará el ciclo, si es falsa la repetición cesará. Símbolo del Para. Esta estructura de control repetitiva se usa generalmente cuando se conoce de antemano el número de iteraciones. Símbolo Repita Hasta. Funciona igual que la estructura Mientras, con la diferencia que al menos una vez hará el grupo de instrucciones y

14 luego evaluará una condición. Si la condición evaluada es falsa continua dentro del ciclo y si es verdadera termina la iteración. Líneas de flujo o dirección. Indican la secuencia en que se realizan las operaciones. Recomendaciones para el diseño de Diagramas de Flujo Se deben usar solamente líneas de flujos horizontales y/o verticales. Se debe evitar el cruce de líneas utilizando los conectores. Se deben usar conectores sólo cuando sea necesario. No deben quedar líneas de flujo sin conectar. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras. Qué es el pseudocódigo y sus ventajas frente a los diagramas de flujos y las definiciones de los diagramas estructurados y las estructuras algorítmicas. Pseudocódigo Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El Pseudocódigo utiliza palabras que indican el proceso a realizar. Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo Ocupa menos espacio en una hoja de papel Permite representar en forma fácil operaciones repetitivas complejas Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.

15 Diagramas estructurados (Nassi-Schneiderman) El diagrama estructurado N-S también conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la siguiente forma: Estructuras Algorítmicas 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:

16 a) Descripción Narrada b) Pseudocódigo c) Diagramas de Flujo d) Diagramas N- S (Nassi-Schneiderman o de Chapin) 1 Descripción Narrada Este algoritmo es caracterizado porque sigue un proceso de ejecución común y lógico, describiendo textualmente paso a paso cada una de las actividades a realizar dentro de una actividad determinada. Ejemplo 1 Algoritmo para asistir a clases: 1. Levantarse 2. Bañarse 3. Vestirse 4. Desayunar 5. Cepillarse los dientes 6. Salir de casa 7. Tomar el autobús 8. Llegar a la Universidad 9. Buscar el aula 10. Ubicarse en un asiento 2. Descripción en Pseudocódigo Pseudo = falso. El pseudo código no es realmente un código sino una imitación y una versión abreviada de instrucciones reales para las computadoras. Es una técnica para diseño de programas que permite definir las estructuras de datos, las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de computadora para solucionar un determinado problema. Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programación. Se concibió para superar las dos principales desventajas de los flujogramas: lento de crear y difícil de modificar sin un nuevo dibujo. Ejemplo 1 Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética.

17 inicio leer (a, b, c, d) producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- (a + b + c + d) / 4 escribir (producto, suma, media) fin 3. Diagramas N-S Son una herramienta que favorece la programación estructurada y reúne características gráficas propias de diagramas de flujo y lingüísticas propias de pseudocódigos. Constan de una serie de cajas contiguas que se leerán siempre de arriba-abajo y sus estructuras lógicas son las siguientes: Estructura Secuencial

18

19 4. Diagramas de Flujo. Son la representación gráfica de 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. Utilizan unos símbolos normalizados, con los

20 pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados. Para su elaboración se siguen ciertas reglas: Se escribe de arriba hacia abajo y de izquierda a derecha Siempre se usan flechas verticales u horizontales, jamás curvas Evitar cruce de flujos. En cada paso expresar una acción concreta Secuencia de flujo normal en una solución de problema Tiene un inicio Una lectura o entrada de datos El proceso de datos Una salida de información Un final Simbología para diseñar flujogramas. VENTAJAS DE USAR FLUJOGRAMAS

21 Rápida comprensión de las relaciones Análisis efectivo de las diferentes secciones del programa Pueden usarse como modelos de trabajo en el diseño de nuevos programas o sistemas Comunicación con el usuario Documentación adecuada de los programas Codificación eficaz de los programas Depuración y pruebas ordenadas de programas DESVENTAJAS DE LOS FLUJOGRAMAS Diagramas complejos y detallados suelen ser laboriosos en su planteamiento y diseño Acciones a seguir tras la salida de un símbolo de decisión, pueden ser difíciles de seguir si existen diferentes caminos No existen normas fijas para la elaboración de los diagramas de flujo que permitan incluir todos los detalles que el usuario desee introducir. Representando el ejemplo como flujograma tenemos:

22 Un problema se puede dividir en acciones elementales o instrucciones, usando un número limitado de estructuras de control (básicas) y sus combinaciones que pueden servir para resolver dicho problema. Las Estructuras Básicas pueden ser: Secuenciales: cuando una instrucción del programa sigue a otra. Selección o decisión: acciones en las que la ejecución de alguna dependerá de que se cumplan una o varias condiciones. Repetición, Iteración: cuando un proceso se repite en tanto cierta condición sea establecida para finalizar ese proceso. ESTRUCTURAS BÁSICAS. Estructura Secuencial. 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, sumatoria, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa: Definición de variables (Declaración) Inicialización de variables. Lectura de datos Cálculo Salida Ejemplo 1. Se desea encontrar la longitud y el área de un círculo de radio 5.

23 Solución. El objetivo del ejercicio es encontrar la longitud y el área de un círculo con un radio conocido y de valor 5. Las salidas serán entonces la longitud y el área. (Fase 5 del algoritmo) Sabemos que la longitud de un círculo viene dada por la fórmula 2 * pi * radio y que el área viene dada por pi * radio al cuadrado. (Fase 4 del algoritmo) Si definimos las variables como: (fase 1 del algoritmo) L = Longitud A = área R = radio pi = hagamos el algoritmo: Inicio Pi (definición de un valor constante) R 5 (radio constante ya que es conocido su valor) A pi * R ^ ² (asignación del valor del área) L 2 * pi * R (asignación del valor de la longitud) Escribir (A, L) (salida del algoritmo) Fin Representación en Diagrama de Flujo para el ejemplo: Representación en Diagrama Nassi Schneiderman: Los problemas secuenciales en diagramas N-S se representan solamente por cajas con líneas horizontales

24 En este ejercicio no existen datos de entrada ya que para calcular el área y la longitud necesitamos únicamente el radio y el valor de Pi los cuales ya son dados en el problema Modificar el problema anterior para que sea capaz de calcular el área y la longitud de un círculo de cualquier radio requerido. Solución. El problema es el mismo con la variante de que ahora ya existe un dato de entrada, puesto que el radio puede ser cualquiera y será necesario que el usuario sea quien lo introduzca de teclado. Usando la misma definición de variables tenemos: Algoritmo: Inicio Pi (fase de inicialización) Leer (R) (fase de lectura) Area pi * R ^ ² (fase de cálculos) L 2 * pi * R Escribir ( A, L ) (fase de salida) Fin Note que la instrucción de asignación fue cambiada por la instrucción leer. En el flujograma deberán cambiarse también los símbolos que los representan: Ejemplo 3. Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Desplegar el resultado. Salidas: Sueldos finales Entradas: Salarios de los empleados Datos adicionales: aumentos del 10, 12 y 15%

25 Cálculos: Sueldo final = sueldo inicial + aumento Aumento = sueldo inicial * porcentaje/100 Definición de variables: Sf1, Sf2, Sf3 = los sueldos finales S1, S2, S3 = salarios de los empleados Aum1, aum2, aum3 = aumentos ALGORITMO Inicio Leer (S1,S2,S3) Aum1 S1 * 0.10 Aum2 S2 * 0.12 Aum3 S3 * 0.15 Sf1 S1 + Aum1 Sf2 S2 + Aum2 Sf3 S3 + Aum3 Escribir (SF1,SF2,SF3) Fin FLUJOGRAMA

26 La especificación formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una descripción más complicada que una lista sencilla de instrucciones. Este es el caso cuando existen un número de posibles alternativas resultantes de la evaluación de una determinada condición. Estas estructuras se identifican porque en la fase de solución del problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones deben realizarse o no. Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if - then - else o en español si - entonces - sino) y en flujograma con una figura geométrica en forma de rombo. Las estructuras selectivas o alternativas se clasifican en:

27 a) Simples b) Dobles c) Compuestas d) Múltiples ESTRUCTURAS SELECTIVAS SIMPLES. Se identifican porque están compuestos únicamente de una condición. La estructura si - entonces evalúa la condición y en tal caso: Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son varias). Si la condición es falsa, entonces no se hace nada. Español Si <condición> Entonces <acción Si> fin_si Inglés If <condición> then <acción Si> endif Ejemplo 1. Construir un algoritmo tal, que dado como dato la calificación de un alumno en un examen, escriba "Aprobado" en caso que esa calificación fuese mayor que 8. Salidas: mensaje de aprobado si se cumple la condición. Entradas: calificación Datos adicionales: un alumno aprueba si la calificación es mayor que 8 Variables: Cal = calificación

28 Algoritmo: Inicio Leer (cal) Si cal > 8 entonces Escribir ("aprobado") Fin_si Fin CAPITULO DOS Estructuras selectivas compuestas. Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes. Representación pseudocodificada. Español Inglés Si <condición> entonces If <condición> then <acción S1> <acción S1> sino else <acción S2> <acción S2> Fin_Si End_if

29 Entonces, si una condición C es verdadera, se ejecuta la acción S1 y si es falsa, se ejecuta la acción S2. Ejemplo 1 Dado como dato la calificación de un alumno en un examen, escriba "aprobado" si su calificación es mayor que 8 y "Reprobado" en caso contrario. Algoritmo: Inicio Leer (cal) Si cal > 8 entonces Escribir ("aprobado") Sino Escribir ("reprobado") Fin_si Fin

30 Ejemplo 2. Dado como dato el sueldo de un trabajador, aplicar un aumento del 15% si su sueldo es inferior a $1000 y 12% en caso contrario, luego imprimir el nuevo sueldo del trabajador. EXPRESIONES LÓGICAS Sirven para plantear condiciones o comparaciones y dan como resultado un valor booleano verdadero o falso, es decir, se cumple o no se cumple la condición. Se pueden clasificar en simples y complejas. Las simples son las que usan operadores relacionales y las complejas las que usan operadores lógicos. Ejemplos: Un ejemplo en el cual usamos el operador lógico AND sería: Una escuela aplica dos exámenes a sus aspirantes, por lo que cada uno de ellos obtiene dos calificaciones denotadas como C1 y C2. El aspirante que obtenga calificaciones mayores que 80 en ambos exámenes es aceptado; en caso contrario es rechazado. En este ejemplo se dan las condiciones siguientes: Si (C1 >= 80) y (C2 >= 80) entonces Escribir ("aceptado") Sino Escribir ("rechazado") Fin_si Note que también usa operadores relacionales. Por lo general cuando hay operadores lógicos, éstos van acompañados de operadores relacionales. Un ejemplo usando el operador lógico OR sería: Una escuela aplica dos exámenes a sus aspirantes, por lo que cada uno de ellos obtiene dos calificaciones denotadas como C1 y C2. El aspirante que obtenga una

31 calificación mayor que 90 en cualquiera de los exámenes es aceptado; en caso contrario es rechazado. En este caso se dan las condiciones siguientes: Si (C1 >=90) or (C2 >=90) entonces Escribir ("aceptado") Sino Escribir ("rechazado") Fin_si La instrucción equivale a OR ya que nos dice que puede ser en cualquiera de los exámenes no necesariamente en los dos. En el ejemplo 1 la palabra ambos equivalía a seleccionar la instrucción AND. Si la instrucción nos dijera que obtenga una nota en cualquiera de los exámenes pero no en ambos, nos estaría indicando una instrucción XOR que es un tipo de OR pero exclusivo. Es decir, no puede considerarse el caso en que tenga la misma nota en los dos exámenes, solo en uno de los dos. En la solución de problemas encontramos numerosos casos en los que luego de tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra decisión. Dicho proceso puede repetirse numerosas veces. En aquellos problemas en donde un bloque condicional incluye otro bloque condicional se dice que un bloque está anidado dentro del otro. Ejemplo 1. Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que éstas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora normal y el resto al triple. Solución. Lo primero que hay que determinar es si el trabajador trabajó horas extras o no. Encontrar las horas extras de la siguiente forma: Horas extras = horas trabajadas - 40 En caso que sí trabajó horas extras: Si horas extras > 8 entonces a horas extras excedentes de 8 = horas extras -8 y pago por horas extras = pago por hora normal * 2 * 8 + pago por hora normal * 3 * horas extras excedentes de 8 De otra forma (solo horas al doble) pago por horas extras = pago por hora normal * 2 * horas extras. Finalmente, pago total que recibirá el trabajador será: Pago = pago * hora normal * 40 + pago por horas extras. Si no trabajó horas extras tendremos: Pago = pago por hora normal * horas trabajadas.

32 Datos de salida: Pago. Datos de entrada: número de horas trabajadas y pago por hora normal. Definición de variables: ht = horas trabajadas het = horas extras que exceden de 8 ph = pago por hora normal phe = pago por horas extras he = horas extras pt = pago que recibe el trabajador Algoritmo: Inicio Leer (ht, ph) Si ht >40 entonces He=ht - 40 Si he > 8 entonces Het=he - 8 Phe=ph * 2 * 8 + ph * 3 * het Sino Phe=ph * 2 * he Fin_si Pt=ph * 40 + phe Sino Pt=ph * ht Fin_si Escribir (pt) Fin Ejemplo 2. Dados los datos A, B y C que representan números enteros diferentes, construir un algoritmo para escribir estos números en forma descendente. Este es un ejemplo de los algoritmos conocidos como de Lógica Pura, ya que poseen muchas decisiones y muchas bifurcaciones. Salida: A, B y C ordenados descendentemente. Entradas: A, B y C. La dinámica del problema es comparar dos números a la vez para conocer cuál es el mayor.

33 Con frecuencia es necesario que existan más de dos elecciones posibles. Este problema se podría resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el número de alternativas es grande puede plantear serios problemas de escritura y de legibilidad. Usando la estructura de decisión múltiple se evaluará una expresión que podrá tomar n valores distintos, 1, 2, 3,...,n y según que elija uno de estos valores en la condición, se realizará una de las n acciones o lo que es igual, el flujo del algoritmo seguirá sólo un determinado camino entre los n posibles. Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la acción 1, si toma el valor 2 ejecutará la acción 2, si toma el valor N realizará la acción N. Ejemplo 1:

34 Diseñar un algoritmo tal que dados como datos dos variables de tipo entero, obtenga el resultado de la siguiente función:

35 Ejemplo 2. Dados como datos la categoría y el sueldo de un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla. Imprimir la categoría del trabajador y el nuevo sueldo. Definición de variables: Cate = categoría Sue = sueldo Nsue = nuevo sueldo ALGORITMO Inicio Leer (cate, sue) En caso que cate sea 1: hacer nsue = sue * : hacer nsue = sue * : hacer nsue = sue * : hacer nsue = sue * 1.07

36 Fin_caso_que Escribir (cate, nsue) Fin Son operaciones que se deben ejecutar un número repetido de veces. El conjunto de instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo, Bucle o Lazo. Iteración es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el bucle. Fases de un Programa Cíclico: 1. Entrada de datos e instrucciones previas 2. Lazo o bucle 3. Instrucciones finales o resto del proceso 4. Salida de resultado Ejemplo de bucle infinito: En el flujograma anterior, observa que la flecha que se regresa hacia arriba nos está indicando que hay que volver a evaluar la expresión. En ese caso como el bucle es infinito, no se tiene una condición para terminar y se estará haciendo siempre. En el siguiente ejemplo, ya se agregó una condición, la cual nos permitirá finalizar la ejecución del bucle en el caso en que la condición se cumpla. Ejemplo de bucle finito:

37 Bucles Repetitivos: A continuación, te muestro tres diseños de estructuras cíclicas: las independientes son cuando los bucles se realiza uno primero hasta que se cumple la condición y solo en ese caso se entra al bucle B. En los ciclos anidados, al entrar a una estructura de repetición, dentro de ella se encuentra otra. La más interna se termina de realizar y se continúa con la externa hasta que la condición se cumple. En los bucles cruzados, los cuales no son convenientes de utilizar, se tiene que iniciamos un bucle y no se ha terminado cuando empezamos otro, luego utilizamos estructuras goto (saltos) para pasar al bucle externo y se quedan entrelazados. Esto puede ocasionar que el programa pierda el control de cuál proceso se está ejecutando y podamos obtener resultados erróneos. Veamos gráficamente el diseño de estas tres formas cíclicas:

38 Durante las siguientes lecciones estaremos estudiando tres estructuras básicas que son: Estructura Desde/Para Estructura Mientras Estructura Repetir En esta lección estudiaremos la forma general de la estructura Desde/Para, su uso y ejemplos. Estructura Desde/Para: Se usa frecuentemente cuando se conoce de antemano el número de veces que se ejecutarán las acciones de un bucle. Esta es una de sus características.

39 Representación pseudocodificada: Español Desde var = valor inicial hasta valor final hacer final do Acciones Fin_desde Inglés For var=valor inicial to valor acciones end_for A la estructura Desde/Para se le conoce como Repetitiva. Para utilizar esta estructura en algoritmos, debemos hacer uso de contadores y algunas veces de acumuladores, cuyos conceptos se describen a continuación: CONTADOR: Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del bucle. Representación: <nombre del contador> = nombre del contador> + <valor constante> Si en vez de incremento es decremento se coloca un menos en lugar del más. Ejemplo: i = i + 1 ACUMULADOR O TOTALIZADOR: Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable. Representación: <Nombre del acumulador> = <nombre del acumulador> + <valor variable>

40 Ejemplo: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado. Se desea resolver el problema usando estructura Desde, Mientras y luego Repetir. Ejemplo 2. Elaborar un flujograma para encontrar la suma de los K primeros números enteros.

41 En este ejemplo hemos utilizado un bucle repetir, el cual estudiaremos en otra lección. Lo que queremos hacer notar por el momento, es cómo funcionan el contador y el acumulador. Nota que N es el contador, el cual se inicializa en este caso, con cero, antes de entrar al bucle. Dentro del bucle podrás notar que N se incrementa en 1. También observa la variable suma, la cual es un acumulador que lleva la suma de los números generados. También debe inicializarse con cero, ya que para sumar valores debemos partir de cero, es decir, que al inicio no tenemos nada. Dentro del bucle, suma se incrementa en un número N, pero la diferencia con el contador N, es que a suma le sumamos N más ella misma. EJERCICIO: Trata de elaborar un flujograma para encontrar el cuadrado de los primeros 25 números naturales, usando la estructura Desde/Para. Qué necesitas para resolver el problema contadores o acumuladores? Modifica el flujograma del ejercicio anterior para que también te muestre la suma de dichos cuadrados. Qué necesitas agregar ahora? RESUMEN

42 En esta lección aprendimos un poco del uso de contadores y acumuladores. También aprendimos a elaborar flujogramas o algoritmos usando la estructura Desde. Hay un número importante de reglas que deben seguirse cuando se utilizan instrucciones Desde: Los valores inicial y final de la variable de control se determinan antes de que empiece la repetición y no pueden cambiarse durante la ejecución de la instrucción Desde. Dentro del cuerpo del bucle Desde, los valores de las variables que especifican los valores inicial y final pueden cambiar, pero esto no va a afectar al número de repeticiones. La instrucción del cuerpo del bucle de una instrucción Desde puede utilizar el valor de la variable de control, pero no debe modificar este valor. Esta estructura se puede usar únicamente en aquellos casos en que conocemos el número de veces que se va a realizar el ciclo. Esta estructura hace el incremento automáticamente y se inicializa en la instrucción desde. Se llama Mientras a la estructura algorítmica que se ejecuta mientras la condición evaluada resulte verdadera. Se evalúa la expresión booleana y, si es cierta, se ejecuta la instrucción especificada, llamada el cuerpo del bucle. Entonces se vuelve a evaluar la expresión booleana, y si todavía es cierta se ejecuta de nuevo el cuerpo. Este proceso de evaluación de la expresión booleana y ejecución del cuerpo se repite mientras la expresión sea cierta. Cuando se hace falsa, finaliza la repetición. En la lección anterior iniciamos con las estructuras repetitivas. La estructura While y la estructura Repeat, se conocen como Iterativas. Se usan cuando no se conoce con anticipación el número de veces que se ejecutará la acción. La diferencia entre ambas es que la condición se sitúa al principio (Mientras) o al final (Repetir) de la secuencia de instrucciones. Entonces, en el primero, el bucle continúa mientras la condición es verdadera (la cual se comprueba antes de ejecutar la acción) y en el segundo, el bucle continúa hasta que la condición se hace verdadera (la condición se comprueba después de ejecutar la acción, es decir, se ejecutará al menos una vez). La estructura Desde/Para suele utilizarse cuando se conoce con anterioridad el número de veces que se ejecutará la acción y se le conoce como Estructura Repetitiva en lugar de iterativa, para diferenciarla de las dos anteriores. Las estructuras Mientras y Para/Desde suelen en ciertos casos, no realizar ninguna iteración en el bucle, mientras que Repetir ejecutará el bucle al menos una vez.

43 Existe otro caso de estructura conocida como Salto (Goto), la cual no es muy recomendable de usar ya que su uso dificulta la legibilidad de un programa y tiende a confundir por el hecho de recurrir a numerosas etiquetas o números de línea. Observa en el flujograma, que se necesita una variable contadora (un índice), para llevar la cuenta de las veces que entramos al cuerpo del ciclo. También es importante notar que esta variable se inicializa antes de entrar al cuerpo del ciclo y dentro del cuerpo se incrementa en una cantidad constante, por lo general en uno. Esta variable a la vez, nos sirve para compararla con el valor dado en la condición, cuando se cumple la condición, se sale del ciclo. Representación pseudocodificada: Español Mientras <condición> Acciones Fin_mientras Inglés While <condición> do Acciones end_while EJEMPLO: Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado. Solución. Como recordarás, resolvimos este ejercicio en la lección anterior pero utilizando la estructura Desde. Hoy lo haremos con la estructura Mientras. Que tendremos de diferente?

44 CENTINELAS Y BANDERAS. Cuando no se conoce a priori el número de iteraciones que se van a realizar, el ciclo puede ser controlado por centinelas. CENTINELAS. En un ciclo While controlado por tarea, la condición de While especifica que el cuerpo del ciclo debe continuar ejecutándose mientras la tarea no haya sido completada. En un ciclo controlado por centinela el usuario puede suspender la introducción de datos cuando lo desee, introduciendo una señal adecuada llamada centinela. Un ciclo Repetir controlado por centinela es cuando el usuario digita una letra para salir como por ejemplo S o N para indicar si desea continuar o no. El bucle debe repetirse hasta que la respuesta del usuario sea "n" o "N". Cuando una decisión toma los valores de -1 o algún posible valor que no esté dentro del rango válido en un momento determinado, se le denomina centinela y

45 su función primordial es detener el proceso de entrada de datos en una corrida de programa. Por ejemplo, si se tienen las calificaciones de un test (comprendida entre 0 y 100); un valor centinela en esta lista puede ser -999, ya que nunca será una calificación válida y cuando aparezca este valor se terminará de ejecutar el bucle. Si la lista de datos son números positivos, un valor centinela puede ser un número negativo. Los centinelas solamente pueden usarse con las estructuras Mientras y Repetir, no con estructuras Desde/Para. PODRÍAS DECIR POR QUÉ? Ejemplo: Suponga que debemos obtener la suma de los gastos que hicimos en nuestro último viaje, pero no sabemos exactamente cuántos fueron. Si definimos gasto1, gasto2, gasto3,..., -1 donde gastoi: real es el gasto número i y sumgas: real es el acumulador de gastos efectuados. -1 es el centinela de fin de datos. Algoritmo: Inicio Sumgas. 0 Leer (gasto) Mientras gasto <> -1 hacer Sumgas. sumgas + gasto Leer (gasto) Fin_mientras Escribir (sumgas) Fin BANDERAS. Conocidas también como interruptores, switch, flags o conmutadores, son variables que pueden tomar solamente dos valores durante la ejecución del programa, los cuales pueden ser 0 ó 1, o bien los valores booleanos True o False. Se les suele llamar interruptores porque cuando toman los valores 0 ó 1 están simulando un interruptor abierto/cerrado o encendido/apagado. Ejemplo 1: Leer un número entero N y calcular el resultado de la siguiente serie: 1-1/2+ 1/3-1/ /- 1/N. Algoritmo: Inicio Serie. 0 I. 1 Leer (N)

46 Band. "T" Mientras I <= N hacer Si band = "T" entonces Serie. serie + (1/I) Band. "F" Sino Serie. serie - (1/I) Band. "T" Fin_si I I + 1 Fin_mientras Escribir (serie) Fin Ejemplo 2. Obtener suma de los términos de la serie: 2, 5, 7, 10, 12, 15, 17, Sumser de tipo entero, es el acumulador de términos de la serie Band de tipo carácter, es variable auxiliar que indica si al siguiente término de la serie hay que sumarle 3 ó 2. Algoritmo: Inicio I 2 Sumser 0 Band T" Mientras (I <= 1800) hacer Sumser sumser + I Escribir (I) Si band = "T" entonces I I + 3 Band F" Sino I I + 2 Band T" Fin_si Fin_mientras Escribir (sumser) Fin RESUMEN Hemos estudiado en esta lección que la estructura Mientras tiene una pequeña variante a la estructura Desde en cuanto a la representación algorítmica. Recuerda que la estructura Desde, se inicializa automáticamente en su sintaxis y el incremento también es automático. En cambio, la estructura Mientras usa un contador que es inicializado antes de entrar al ciclo y dentro del ciclo es

47 incrementado. También estudiamos que los centinelas son valores que le damos a la condición para forzar a que un ciclo pueda terminar. También decíamos que los centinelas solamente los podemos usar en estructuras Mientras y Repetir, ya que sirven para finalizar el ciclo cuando no sabemos las veces que lo vamos a realizar, y la estructura Desde es usada cuando ya conocemos a priori el número de veces que se va a realizar el ciclo. Se llama Repetir a la estructura algorítmica que se ejecuta un número definido de veces hasta que la condición se torna verdadera: Representación pseudocodificada : Español Repetir Acciones Hasta que <condición> Inglés Repeat Acciones until <condición> EJEMPLO: Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado. Solución. Nuevamente resolveremos el ejercicio de las dos lecciones anteriores, ahora utilizando la estructura Repetir. Podrás decir cuál será ahora la diferencia? Las

48 reglas para construcción de esta estructura usando Repetir, nos dicen que debemos declarar una variable contador que debe inicializarse antes del ciclo e incrementarse dentro del ciclo. A diferencia de la estructura Mientras, la condición ahora estará colocada al final del bucle para que primero ejecutemos la instrucción y luego preguntamos si la condición se cumple. Esto quiere decir, que en esta estructura el bucle se realizará por lo menos una vez. También podrás observar que la condición está al revés, porque el bucle se repite hasta que la condición se cumpla. En el bucle Mientras, la condición se evaluaba mientras era cierta.

49 ACTIVIDAD PARA DESARROLLAR EN CLASE. El ejercicio que resolvimos en la lección anterior: Obtener suma de los términos de la serie: 2, 5, 7, 10, 12, 15, 17, Resuélvelo usando la estructura Repetir. Elabora una tabla de seguimiento para unos cuantos datos. Escribe las características de cada una de las estructuras. Escribe semejanzas y diferencias entre las estructuras: Desde - Mientras y Repetir. CAPITULO TRES Matrices y cadenas de caracteres. Introducción Todas las variables que se han considerado hasta ahora son de tipo simple. Una variable de tipo simple consiste de una sola caja de memoria y sólo puede contener un valor cada vez. Una variable de tipo estructurado consiste en toda una colección de casillas de memoria. Los tipos de datos estudiados: entero, real, alfabético son considerados como datos de tipo

50 simple, puesto que una variable que se define con alguno de estos tipos sólo puede almacenar un valor a la vez, es decir, existe una relación de uno a uno entre la variable y el número de elementos (valores) que es capaz de almacenar. En cambio un dato de tipo estructurado, como el arreglo, puede almacenar más de un elemento (valor) a la vez, con la condición de que todos los elementos deben ser del mismo tipo, es decir, que se puede tener un conjunto de datos enteros, reales, etc. Datos estructurados: Estructura de Datos es una colección de datos que se caracterizan por su organización y las operaciones que se definen en ella. Los datos de tipo estándar pueden ser organizados en diferentes estructuras de datos: estáticas y dinámicas. Estructura de Datos estáticas: Son aquellas en las que el espacio ocupado en memoria se define en tiempo de compilación y no puede ser modificado durante la ejecución del programa. Corresponden a este tipo los arrays y registros Estructuras de Datos Dinámicas: Son aquellas en las que el espacio ocupado en memoria puede ser modificado en tiempo de ejecución. Corresponden a este tipo las listas, árboles y grafos. Estas estructuras no son soportadas en todos los lenguajes. La elección de la estructura de datos idónea dependerá de la naturaleza del problema a resolver y, en menor medida, del lenguaje. Las estructuras de datos tienen en común que un identificador, nombre, puede representar a múltiples datos individuales. Arrays: Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Para referirse a un determinado elemento de un array se deberá utilizar un índice, que especifique su posición relativa en el array. Un arreglo es una colección finita, homogénea y ordenada de elementos. Finita: Todo arreglo tiene un límite; es decir, debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo. Homogénea: Todos los elementos del arreglo deben ser del mismo tipo. Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,... y el n-ésimo elemento. Los arreglos se clasifican de acuerdo con el número de dimensiones que tienen. Así se tienen los: - Unidimensionales (vectores) - Bidimensionales (tablas o matrices) - Multidimensionales (tres o más dimensiones)

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

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de

Más detalles

PRESENTACIÓN DEL ALGORITMO

PRESENTACIÓN DEL ALGORITMO PRESENTACIÓN DEL ALGORITMO Puede ser en distintas formas, analizaremos cuatro: a) Descripción Narrada b) Pseudocódigo c) Diagramas de Flujo d) Diagramas N- S (Nassi-Schneiderman o de Chapin) Descripción

Más detalles

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

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que

Más detalles

3. TÉCNICAS DE DISEÑO

3. TÉCNICAS DE DISEÑO 3. TÉCNICAS DE DISEÑO 3.1 Top Down También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste

Más detalles

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.

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 desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas.

Más detalles

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

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). PLANTEMAIENTO DEL PROBLEMA Identificación de entradas y salidas Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y

Más detalles

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

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Constantes y variables Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. pi = 3.1416 Variable: Es un espacio en la memoria de la computadora que

Más detalles

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

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

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

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA CONTENIDOS: 1. TIPOS DE DATOS 2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIICADORES COMO LOCALIDADES DE MEMORIA OBJETIO EDUCACIONAL: El alumno conocerá las reglas para cambiar fórmulas matemáticas

Más detalles

UNIVERSIDAD MODULAR ABIERTA FACULTAD DE CIENCIAS ECONOMICAS

UNIVERSIDAD MODULAR ABIERTA FACULTAD DE CIENCIAS ECONOMICAS UNIVERSIDAD MODULAR ABIERTA FACULTAD DE CIENCIAS ECONOMICAS TITLE DOCENTE: ING. Mirna Lorena Blanco de Magaña DATO Información en bruto, sin ningún significado Dado un enunciado, evento o acción, los datos:

Más detalles

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

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.4 NOMBRE DE LA PRÁCTICA Operaciones con Escalares y Conceptos Básicos de Programación 4.1 OBJETIVO GENERAL El alumno conocerá el funcionamiento

Más detalles

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.

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. ALGORITMIA 1 Definición de Programa (Algoritmo) 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. 2 Tipos

Más detalles

Conceptos. Generales ALGORITMOS

Conceptos. Generales ALGORITMOS 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

Más detalles

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

CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman) CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman) Las dos herramientas utilizadas comúnmente para diseñar algoritmos son: Diagrama de Flujo Pseuducodigo 1 Diagrama

Más detalles

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

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL (UNEFA) Algoritmos REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL (UNEFA) Algoritmos Adaptación del Manual El algoritmo, una iniciación a la programación realizado por

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles

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

El algoritmo, una iniciación a la programación. Página 1 de 24 El algoritmo, una iniciación a la programación. Manual por: DesarrolloWeb.com [http://www.desarrolloweb.com/] Versión on-line: "Tu mejor ayuda para aprender a hacer webs" http://www.desarrolloweb.com/manuales/67

Más detalles

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

Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora. Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora. La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,

Más detalles

UNIDAD I. ALGORITMOS

UNIDAD I. ALGORITMOS UNIDAD I. ALGORITMOS 1.1 Definición 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. 1.2 Tipos Cualitativos: Son aquellos

Más detalles

INTRODUCCION AL PROCESAMIENTO DE DATOS

INTRODUCCION AL PROCESAMIENTO DE DATOS INTRODUCCION AL PROCESAMIENTO DE DATOS La computadora no solamente es una maquina que puede realizar procesos para darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza para

Más detalles

La resolución de un problema

La resolución de un problema CAP. 2. ALGORITMOS Y PROGRAMAS 2.1. Solución de problemas por computadora La resolución de problemas por computadora, es importante para que las personas o usuarios aprendan a programar de manera general,

Más detalles

INTRODUCCIÓN A LA ALGORITMIA

INTRODUCCIÓN A LA ALGORITMIA INTRODUCCIÓN A LA ALGORITMIA 1/20 Índice de contenido 1 INTRODUCCIÓN A LOS ALGORITMOS... 3 1.1 Qué es algoritmo?... 3 1.2 Lenguajes Algorítmicos... 4 1.3 Proceso de programación... 5 1.4 Metodología para

Más detalles

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

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente: Pseudocódigo El pseudocódigo o pseudolenguaje, son una serie de instrucciones en nuestro lenguaje natural (español, ingles, etc.) y expresiones que representan cada uno de los pasos que resuelven un problema

Más detalles

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

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica. Guía No: 2 Subdirección de Educación Departamento de Educación Contratada Colegio CAFAM Bellavista CED GUIA DE APRENDIZAJE Docente: Luz del Carmen Barrera Área: INFORMÁTICA Fecha: II BIMESTRE 2014 Grado:

Más detalles

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO ALGORITMO: Es el conjunto de pasos, operaciones y procedimientos que deben seguirse para resolver o solucionar un problema. Características de un algoritmo: 1.

Más detalles

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

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y

Más detalles

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS Tipos de datos Expresiones Operadores y operandos Identificadores como localidades de memoria

ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS Tipos de datos Expresiones Operadores y operandos Identificadores como localidades de memoria ENIDADES PRIMIIVAS PARA EL DESARROLLO DE ALGORIMOS ipos de datos Expresiones Operadores y operandos Identificadores como localidades de memoria ipos De Datos odos los datos tienen un tipo asociado con

Más detalles

CAPITULO II. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

CAPITULO II. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS CAPIULO II. ENIDADES PRIMIIVAS PARA EL DESARROLLO DE ALGORIMOS 2.1 ipos de datos 2.2 Expresiones 2.3 Operadores y operandos 2.4 Identificadores como localidades de memoria OBJEIVO EDUCACIONAL: El alumno:

Más detalles

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

DISEÑO ESTRUCTURADO. Herramientas de representación de algoritmos DISEÑO ESTRUCTURADO Herramientas de representación de algoritmos DISEÑO ESTRUCTURADO Técnica para desarrollar algoritmos Fáciles de escribir Leer Verificar Modificar ALGORITMO ESTRUCTURADO Tiene un solo

Más detalles

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS 2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS 2.1 Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como

Más detalles

ESTRUCTURAS ALGORITMICAS

ESTRUCTURAS ALGORITMICAS 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

Más detalles

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

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION DIIAGRAMAS DE FLUJO Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes

Más detalles

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS 2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y su ejecución en la misma. Aunque el proceso de diseñar

Más detalles

Introducción a la programación

Introducción a la programación Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una

Más detalles

INSTITUTO TECNOLÓGICO

INSTITUTO TECNOLÓGICO INSTITUTO TECNOLÓGICO DE NUEVO LAREDO Con la Ciencia por la Humanidad Introducción a la Ingeniería en Sistemas Computacionales y al Diseño de Algoritmos Curso propedéutico Instructor: Bruno López Takeyas

Más detalles

Tema 3. Estructuras de control

Tema 3. Estructuras de control Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)

Más detalles

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

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características

Más detalles

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

ESCUELA NACIONAL AUXILIARES DE ENFERMERÍA Manizales TECNOLOGÍA E INFORMÁTICA ALUMNA: GRADO: MODALIDAD-10 FECHA: PROFESOR: Hugo Nelson Ramírez Cárdenas LOGROS 1. Comprende qué son identificadores, variables y constantes, además de otros conceptos utilizados en programación. 2. Conoce

Más detalles

5. ESTRUCTURAS DE REPETICIÓN

5. ESTRUCTURAS DE REPETICIÓN 5. ESTRUCTURAS DE REPETICIÓN Las estructuras de repetición, permiten la ejecución de una lista o secuencia de instrucciones () en varias ocasiones. El número de veces que el bloque

Más detalles

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

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características

Más detalles

Programa Nacional de Formación de Informática Material Educativo Computarizado de Algorítmica y Programación

Programa Nacional de Formación de Informática Material Educativo Computarizado de Algorítmica y Programación UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD III. DATOS Y ENTIDADES PRIMITIVAS CONTENIDO: Concepto y diferencia entre dato e información, tipos de datos. Los operadores: concepto y tipos La expresión:

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

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

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

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

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación. ALGORITMOS 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

Más detalles

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 Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas Dpto. de ATC - Página 1 de 16 CONCEPTO DE ALGORITMO (1) Fundamentos de Informática E.U.P. Universidad de Sevilla Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por

Más detalles

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

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco

Más detalles

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

Prof. María Alejandra Quintero. Informática Año Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle

Más detalles

Proceso de información en la computadora

Proceso de información en la computadora 1.1 Introducción La computadora no solamente es una maquina que puede realizar procesos para darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza para llegar a esos resultados.

Más detalles

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

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS  GONZALO VAZQUEZ VELA INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA " GUIA DE ESTUDIOS DE ANALISIS Y DISEÑO DE ALGORITMOS. 1. Qué es un algoritmo? 2. Qué es un Pseudocódigo?

Más detalles

Introducción a la programación: Algoritmos

Introducción a la programación: Algoritmos Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,

Más detalles

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

Tema 5. Diagramas de flujo. Computacion - FA.CE.NA. Tema 5 Diagramas de flujo D i ag ram a d e F l u j o TEMA5 Diagramas de Flujo. Representación simbólica. Símbolos utilizados. Convenciones. Técnicas de construcción de diagramas. Estructuras básicas. Normas

Más detalles

Estructuras de Repetición

Estructuras de Repetición 1 Estructuras de Repetición 2013 Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas 2 Objetivos Aprender a construir grandes y complejos problemas a través de la ejecución

Más detalles

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

Profesor(a): Ing. Miriam Cerón Brito Área Académica: Informática Tema: Algoritmos Profesor(a): Ing. Miriam Cerón Brito Periodo: Enero Junio 2014 Abstract: In this presentation you ll find algorithm s definition and flowcharts definition,

Más detalles

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

Guía práctica de estudio 05: Pseudocódigo Guía práctica de estudio 05: Pseudocódigo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Autorizado por: M.C. Alejandro Velázquez Mena Guía

Más detalles

Tema 2. Concepto de Algoritmo

Tema 2. Concepto de Algoritmo Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos

Más detalles

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:

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: Cuestionario Modulo 1.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: 1001 0110. 2. qué es Dato? Definición: Es toda

Más detalles

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas

Más detalles

Tema#2. Tipos de Datos 10

Tema#2. Tipos de Datos 10 2.1 DEFINICIÓN DE DATOS. Los datos son los objetos sobre los que opera una computadora. El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera

Más detalles

Principios de Algoritmia

Principios de Algoritmia 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

Más detalles

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

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados. Pseudocódigo Introducción La importancia de sistematizar procesos y crear programas de cómputo radica esencialmente en que estos se puedan utilizar como resolución de problemas similares en muchos casos,

Más detalles

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

Iniciación a La Programación Prof. Carolina Cols REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA INSTITUTO UNIVERSITARIO DE TECNOLOGÍA ANTONIO JOSE DE SUCRE EXTENSIÓN MÉRIDA Iniciación a La Programación

Más detalles

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

UNIVERSIDAD LUTERANA SALVADOREÑA. Docente: ANA LISSETTE GIRÓN UNIVERSIDAD LUTERANA SALVADOREÑA CARRERA: LIC. EN CIENCIAS DE LA COMPUTACIÓN PROYECTO: PORTAFOLIO ALGORTIMO I Docente: ANA LISSETTE GIRÓN INTEGRANTES: VERÓNICA SUSANA CRUZ MARTÍNEZ HEBER ERNESTO MIJANGO

Más detalles

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos Objetivos El alumno conocerá las estructuras básicas para el diseño de algoritmos 1. Conocerá las estructuras secuenciales y de decisión para construir algoritmos 2. Diseñará algoritmos utilizando las

Más detalles

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

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para. ESTRUCTURAS ITERATIVAS 1 ESTRUCTURAS ITERATIVAS OBJETIVOS Aprender a resolver problemas mediante la ejecución repetida de una secuencia de proposiciones llamados bucle o estructuras repetitivas o iterativas.

Más detalles

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1 ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1 Estructuras de repetición Repetir: Ejecutar una instrucción o conjunto de instrucciones y luego regresar y ejecutarla (s) una y otra vez hasta terminar la

Más detalles

1. Detalle de los Comandos:

1. Detalle de los Comandos: 1. Detalle de los Comandos: Este es un resumen puede servir como guía rápida para consultas, para mas detalles remitirse a la Ayuda de PSeInt. Observar que cada línea que termina una sentencia debe tener

Más detalles

Programa de Formación: Diseño, desarrollo e implementación de Software de procesos institucionales. Fase del proyecto: Análisis

Programa de Formación: Diseño, desarrollo e implementación de Software de procesos institucionales. Fase del proyecto: Análisis Programa de Formación: Diseño, desarrollo e implementación de Software de procesos institucionales. Fase del proyecto: Análisis Código: 496614 Versión: 102 Algoritmos y programas Resultados de Aprendizaje:

Más detalles

Capítulo 2 : ALGORITMOS

Capítulo 2 : ALGORITMOS Capítulo 2 : ALGORITMOS La primera fase en la construcción de programas la determina el algoritmo a utilizar, que nos indica una serie de pasos ordenados y lógicos para resolver un problema dado. 2.1 REQUISITOS,

Más detalles

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

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript Algoritmo

Más detalles

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

Lenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing. Primera Parte Resolución de Problemas y Algoritmos Ing. En Informática e Ing. En Computación Primer Cuatrimestre 2017 1 Lenguajes Algorítmicos Los algoritmos pueden describirse, en mayor o menor detalle,

Más detalles

2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS 2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS Características de los algoritmos Las características fundamentales que debe cumplir todo algoritmo son: Un algoritmo debe ser preciso e indicar el orden de realización

Más detalles

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

Universidad Autónoma del Estado de México Facultad de Medicina Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en

Más detalles

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

Centro Universitario UAEM Zumpango! Ingeniería en Computación! Programación estructurada Centro Universitario UAEM Zumpango!! Agosto 2015 Identificación de la Unidad de Aprendizaje (UA) Nombre UA: Programación esctructurada (L41012) Total de horas a la semana: 6 Créditos: 9 Carácter de la

Más detalles

Lic. Edinson Cuero Ramos Página 1

Lic. Edinson Cuero Ramos Página 1 INTRODUCCIÓN A LA PROGRAMACIÓN LOS DATOS Y LAS OPERACIONES BÁSICAS LOS DATOS. Un dato es la unidad básica de información y es el objeto sobre el que opera un computador. Los tipos de datos que manipulan

Más detalles

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

Dpto. de ATC, Universidad de Sevilla - Página 1 de 16 Dpto. de ATC, Universidad de Sevilla - Página 1 de 16 2 ÍNDICE Fundamentos de Informática E.U.P. Universidad de Sevilla 1 Concepto de Algoritmo Datos: Variables y Constantes Tipo de datos: Vectores Representación

Más detalles

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

La forma general que tiene un condicional (una pregunta) es la siguiente: Clase teórica 3 Algoritmos en C Página 1 de 6 CONDICIONAL En los lenguajes de programación es común el uso de condicionales que sirven para denotar diferentes alternativas que pueden llevarse a cabo dado

Más detalles

INDICE. Prólogo de la Segunda Edición

INDICE. Prólogo de la Segunda Edición INDICE Prólogo de la Segunda Edición XIII Capitulo 1. Algoritmos y Programas 1 1.1. Los sistemas de procesamiento de la información 2 1.2. Concepto de algoritmo 4 1.2.1. Características de los algoritmos

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

Lógica de programación

Lógica de programación Universidad Nacional Autónoma de Nicaragua - León Facultad de Ciencias y Tecnología Departamento de Computación Lógica de programación Elaborado por: Lic. Luis Ernesto Díaz Beteta Sentencias Repetitivas

Más detalles

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL 1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto

Más detalles

UNIVERSIDAD DEL PAPALOAPAN

UNIVERSIDAD DEL PAPALOAPAN UNIVERSIDD DEL PPLOPN Campus Tuxtepec Loma Bonita Cuadernillo INTRODUCCIÓN L PROGRMCIÓN ESTRUCTURD M. C. Bertha López zamar Profesor-Investigador Tuxtepec, Oaxaca 3 Estructura general de un programa Un

Más detalles

Programación Web Tema 3.2 Java Script Estructura del Lenguaje. Ramón Alcarria ETSI en Topografía, Geodesia y Cartografía - UPM

Programación Web Tema 3.2 Java Script Estructura del Lenguaje. Ramón Alcarria ETSI en Topografía, Geodesia y Cartografía - UPM Programación Web Tema 3.2 Java Script Estructura del Lenguaje Miguel Ángel Manso Emerson Castañeda Ramón Alcarria ETSI en Topografía, Geodesia y Cartografía - UPM Contenido Variables Operadores Estructuras

Más detalles

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

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

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

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS 1 OBJETIVOS Conocer las

Más detalles

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

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Lógica: Algoritmo: Archivo: Base de datos: Bit:

Lógica: Algoritmo: Archivo: Base de datos: Bit: Lógica: Algoritmo: Archivo: Base de datos: Bit: 1 LÓGICA: Es una secuencia de operaciones realizadas por el hardware o por el software. Lógica del hardware, Son los circuitos y Chips que realizan las operaciones

Más detalles

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al

Más detalles

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

Lenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017 Primera Parte Fund. de la Informática Int. a la Programación Int. a la Computación Resolución de Problemas y Algoritmos Segundo Cuatrimestre 2017 1 Etapas en el proceso de resolver un problema: 1- Comprender

Más detalles

Diseño Estructurado de Algoritmos

Diseño Estructurado de Algoritmos Diseño Estructurado de Algoritmos 1 Sesión No. 12 Nombre: Arreglos Objetivo de la sesión: Al concluir la sesión el estudiante identificará la utilidad y ventaja de las estructuras de datos unidimensionales

Más detalles

Métodos con Parámetros

Métodos con Parámetros Métodos con Parámetros Hasta ahora, nuestra clase RobotInspector todavía no es muy útil. Ejemplo para colocar dos conos hicimos esto en la clase anterior. Lo que lográbamos es que el robot coloque dos

Más detalles

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

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada Conceptos Programa Se le llama programa a la serie de instrucciones escritas en alguno de los lenguajes, por medio de los cuales se logra que la computadora realice todas las operaciones o decisiones señaladas

Más detalles

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

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 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 Programación Básica Bioingeniería Médica Facultad de

Más detalles

Algoritmo. Programa. Lenguaje algorítmico

Algoritmo. Programa. Lenguaje algorítmico ESCUELA DE EDUCACION SECUNDARIA TECNICA N 3 LENGUAJE ELECTRONICO PROFESOR: PAOLO, MARCOS GERMAN TEMA: ALGORITMOS Algoritmo Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y

Más detalles

Tema 2. Algoritmos y programas. Informática Grado en Física Universitat de València.

Tema 2. Algoritmos y programas. Informática Grado en Física Universitat de València. Francisco Grimaldo Moreno Ariadna Fuertes Seder Tema 2 Algoritmos y programas Informática Grado en Física Universitat de València Ariadna.Fuertes@uv.es Francisco.Grimaldo@uv.es 1 Concepto de algoritmo

Más detalles

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

Guía práctica de estudio 04: Diagramas de flujo Página 63/214 Guía práctica de estudio 04: Diagramas de flujo 63 Página 64/214 Guía práctica de estudio 04: Diagramas de flujo Objetivo: Elaborar diagramas de flujo que representen soluciones algorítmicas

Más detalles