La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso Básico de Algoritmos

Presentaciones similares


Presentación del tema: "Curso Básico de Algoritmos"— Transcripción de la presentación:

1 Curso Básico de Algoritmos
Exponente: Ing. Dulmar Tovar 1º PARTE

2 CONTENIDO Algoritmo Pseudocódigo Tipos de Datos Identificadores
Estructura Comentarios Tipos de Datos Identificadores Variables y Constantes Palabras Reservadas Operadores y Expresiones Precedencia de Operadores Instrucciones Primitivas Diagramas de Flujos Simbología Reglas para su Construcción Ejercicio

3 ALGORITMO Se define como un conjunto finito de instrucciones o reglas bien definidas y ordenadas que permiten realizar una actividad mediante pasos sucesivos, no ambiguos y, de ser posibles, muy eficientes, que no generan duda a quien deba realizar dicha actividad. También puede definirse como una secuencia de instrucciones e indicaciones destinadas a resolver algún problema abstracto, utilizadas directa e indirectamente en un sistema informático para realizar una función o una tarea o para obtener un resultado determinado, lo que le permite ser calificado como programa de ordenador.

4 PSEUDOCÓDIGO El pseudocódigo (falso lenguaje) es una descripción de un algoritmo informático de programación de alto nivel compacto e informal que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura en máquina, y con independencia de cualquier otro lenguaje de programación. algoritmo Sumar variables entero a, b, c inicio escribir( "Introduzca el primer número (entero): " ) leer( a ) escribir( "Introduzca el segundo número (entero): " ) leer( b ) c ← a + b escribir( "La suma es: ", c ) fin

5 Estructura de un Pseudocódigo
En la actualidad, el pseudocódigo no obedece a las reglas de sintaxis de ningún idioma en particular, no es de forma estándar sistemática pero en caso de que se quiera ejecutar se debe llevar a forma tipo para que no genere ningún mensaje de error. Por lo general se omiten las declaraciones de variables, a veces las llamadas a funciones, e incluso los bloques de códigos (o código contenido dentro de un ciclo) pueden ser reemplazados por una sentencia de una línea en lenguaje natural. Dependiendo del escritor, el pseudocódigo puede variar mucho en su estilo, yendo desde una imitación casi exacta de un lenguaje de programación real, en un extremo, hasta al acercarse a una descripción en prosa del formato.

6 Estructura de un Pseudocódigo
Para este curso se ha optado por utilizar el siguiente esquema: algoritmo <nombre_del_algoritmo> [ constantes <declaraciones_de_constantes> ] [ tipos_de_datos <declaraciones_de_tipos_de_datos> ] [ variables <declaraciones_de_variables> ] inicio <bloque_de_instrucciones> fin

7 Estructura de un Pseudocódigo
Cabecera: En la cabecera de un algoritmo se debe indicar el nombre (identificador) asignado al mismo. La sintaxis es: algoritmo <nombre_del_algoritmo> Declaraciones: En la sección de declaraciones de un algoritmo se declaran las constantes, los tipos de datos y las variables que se usan en el algoritmo. La sintaxis es: [ constantes <declaraciones_de_constantes> ] [ tipos_de_datos <declaraciones_de_tipos_de_datos> ] [ variables <declaraciones_de_variables> ]

8 Estructura de un Pseudocódigo
Cuerpo: En el cuerpo de un algoritmo se escriben todas las instrucciones del algoritmo. La sintaxis es: inicio <instrucción_1> <instrucción_2> ... <instrucción_n> fin inicio y fin son palabras reservadas que marcan el principio y final de la sección cuerpo, que es donde está el bloque de instrucciones principal del algoritmo.

9 Comentarios en un Pseudocódigo
En los algoritmos es muy conveniente escribir comentarios para explicar el diseño y/o funcionamiento del mismo. Para delimitarlos se pueden utilizar los siguientes caracteres: ( [ ) y ( ] ) ( { ) y ( } ) ( /* ) y ( */ ) Ejemplo: /************************************************/ /* Programa: Ejemplo de uso de comentarios */ /* Descripción: Programa que muestra el uso */ /* de los comentarios */ /* Autor: Ing. Dulmar Tovar | Fecha: 27/06/13 */

10 TIPOS DE DATOS Se define como un conjunto de valores y operaciones definidas para las variables de ese tipo en particular. Pueden ser: Simple: Dato indivisible (o atómico) que no se puede descomponer – Entero, Real, Lógico, Carácter, etc. Compuesto: Está compuesto por otros datos – Vector, Cadena, Estructura, etc.

11 TIPOS DE DATOS Entero: Es aquel que puede tomar por valor un número perteneciente al conjunto de los números enteros (Z), el cual está formado por los números naturales, su opuestos (números negativos) y el cero. Como el ordenador no puede representar todos los enteros, sólo puede tomar por valor un número perteneciente a un subconjunto de Z. Los valores máximo y mínimo de dicho subconjunto varían según las características de cada ordenador y del compilador que se utilice.

12 TIPOS DE DATOS Real: Es aquel que puede tomar por valor un número perteneciente al conjunto de los números reales (R), el cual está formado por los números racionales e irracionales. Como el ordenador no puede representar todos los números R, un dato de tipo real sólo puede tomar por valor un número perteneciente a un subconjunto de R. Los valores de dicho subconjunto varían según las características de cada ordenador y del compilador que se utilice.

13 TIPOS DE DATOS Lógico: En programación, un dato de tipo lógico es aquel que puede tomar por valor sólo uno de los dos siguientes: { verdadero, falso } Los valores "verdadero" y "falso" son contrapuestos, de manera que, un dato de tipo lógico siempre está asociado a que algo se cumpla o no se cumpla.

14 TIPOS DE DATOS Carácter: Es aquel que puede tomar por valor un carácter perteneciente al conjunto de los caracteres que puede representar el ordenador. Cadena: Un dato de tipo cadena es aquel que pueden tomar por valor una secuencia de caracteres. En pseudocódigo, el valor de este tipo de datos se puede representar entre comillas simples (') o dobles ("). Para este curso, se utilizarán las simples para caracteres individuales, y las dobles para cadenas.

15 IDENTIFICADORES Un identificador es el nombre que se le da a un elemento de un algoritmo (o programa). Por ejemplo, el tipo de dato entero hace referencia a un tipo de dato que es distinto a todos los demás tipos de datos, es decir, los valores que puede tomar un dato de tipo entero, no son los mismos que los que puede tomar un dato de otro tipo. No obstante, en un algoritmo también pueden existir identificadores definidos por el programador. Por ejemplo, un algoritmo puede utilizar variables y constantes definidas por el programador.

16 Variables y Constantes
Variable: Es una posición de memoria donde se puede almacenar un valor para uso de un programa, ya sea entero, número real, caracteres, etc. La manera de informar a la computadora que n es una variable es a través de una sentencia de declaración, la cual ayuda a definir lo que se puede almacenar en un nombre de variable. Constante: En programación, una constante representa a un valor (dato almacenado en memoria) que no puede cambiar durante la ejecución de un programa.

17 Palabras Reservadas Son identificadores predefinidos (tienen un significado especial). En todos los lenguajes de programación existe un conjunto de palabras reservadas. Algunas de ellas son: cadena caracter entero falso logico real Verdadero Inicio fin En otras palabras, este tipo de Identificadores NO pueden ser usados como nombre de variable o constante

18 OPERADORES Y EXPRESIONES
En programación, de la evaluación de una expresión siempre se obtiene un valor. Dicho valor puede ser de tipo: entero, real, lógico, carácter o cadena. Por consiguiente, una expresión puede ser: Aritmética (devuelve un número entero o real). Lógico-Relacional (devuelve un valor lógico). Un operador siempre forma parte de una expresión, en la cual, el operador siempre actúa sobre al menos un operando. Por el contrario, un operando sí puede aparecer solo en una expresión.

19 OPERADORES Y EXPRESIONES
Expresión Aritmética: En ella se utilizan los siguientes operadores: +, -, *, /, ^, div, mod. El operador / se utiliza para división real, mientras div para división entera. Tal diferencia radica en el simple hecho de que la división de enteros da como resultado también un entero. Por ejemplo, la expresión 7 div 4 da como resultado 1, y la expresión 17 div 5 da como resultado 3. En cuanto a mod se trata de un operador que proporciona el residuo después de una división de enteros, por lo tanto, 7 mod 4 da como resultado 3, y 17 mod 5 da como resultado 2.

20 OPERADORES Y EXPRESIONES
Expresión Lógico-Relacional: Es aquella que se forma con una combinación de identificadores, constantes y expresiones aritméticas, todas enlazadas a través de un conjunto de operadores lógicos o relacionales. Operadores Lógicos: Actúan exclusivamente sobre valores de expresiones lógicas. Ellos son Y, O, NO Operadores Relacionales: Se utiliza para comparar los valores de dos expresiones. Éstas deben ser del mismo tipo (aritméticas, lógicas, de carácter o de cadena). Ellos son: Mayor que, mayor o igual a, menor que, menor o igual a, igual a, diferente a.

21 Precedencia de Operadores
Las reglas de precedencia de operadores son guías de acción que permiten al algoritmo calcular expresiones en una secuencia precisa, es decir, permite establecer qué operaciones se ejecutan primero, qué otras operaciones se ejecutan posteriormente. En la siguiente tabla se observa la prioridad basada en el lenguaje C. Categoría Operadores Paréntesis ( ) Unarios + - (signo) no (lógico) Aritméticos ^ * / div mod + - Concatenación + Relacionales < <= > >= = <> AND Lógico y OR Lógico o Asignación

22 INSTRUCCIONES PRIMITIVAS
Asignación: Consiste en asignar el resultado de la evaluación de una expresión a una variable. En pseudocódigo, la sintaxis para escribir una asignación es: <nombre_de_la_variable> ← <expresión> El valor (dato) que se obtiene al evaluar la <expresión> es almacenado en la variable que se indique. Un error frecuente que suelen cometer programadores principiantes, es incluir en una expresión, una variable que no tenga ningún valor (dato) almacenado, es decir, una variable a la que previamente no se le haya asignado ningún valor.

23 INSTRUCCIONES PRIMITIVAS
Ejemplo: real n1, n2 n1 ← n2 * 72 la expresión n2 * 72 no se puede evaluar, ya que, ¿cuál es valor de n2? Tiene un valor indeterminado y, en consecuencia, la instrucción se ejecutará mal. las siguientes asignaciones también son incorrectas: n1 + 1 ← n2 /* ERROR de sintaxis */ neg ← n3 < 0 /* ¿cuál es el valor de n3? */ real n1 n1 ← 5 > 3 /* ¿dato lógico en variable real?

24 INSTRUCCIONES PRIMITIVAS
Entrada: Consiste en asignar a una o más variables, uno o más valores (datos) recibidos desde el exterior. Normalmente, los datos son recogidos desde la entrada estándar (el teclado), pero, también existen otros dispositivos de entrada (el ratón, el escáner,...). En pseudocódigo, la sintaxis de una instrucción de entrada es: leer( <nombre_de_la_variable_1>, <nombre_de_la_variable_2>, ..., <nombre_de_la_variable_n> ) También se puede escribir como: leer( <lista_de_variables> )

25 INSTRUCCIONES PRIMITIVAS
Salida: Consiste en llevar hacia el exterior los valores (datos) obtenidos de la evaluación de una lista de expresiones. Normalmente, los datos son enviados a la salida estándar (la pantalla), pero, también existen otros dispositivos de salida (la impresora, el plotter,...). En pseudocódigo, la sintaxis de una instrucción de salida es: escribir( <expresión_1>, ..., <expresión_n> ) También se puede escribir como: escribir( <lista_de_expresiones> )

26 DIAGRAMAS DE FLUJO Es un esquema para representar gráficamente un algoritmo. Se basa en la utilización de diversos símbolos para representar operaciones específicas, los cuales se conectan por medio de flechas para indicar la secuencia de operación, y éstos se someten a una normalización para la elaboración de un diagrama que debe ajustarse a un patrón definido previamente. Los diagramas de flujo se pueden utilizar con otros fines, no obstante, a los diagramas de flujo que representan algoritmos también se les conoce como ordinogramas.

27 Simbología SÍMBOLO NOMBRE DESCRIPCIÓN Indicador de Flujo
Indica el sentido de la ejecución de operaciones. Terminal Inicio y Fin de un Programa. También puede representar una parada o interrupción programada que sea necesaria realizar dentro del mismo. Entrada/Salida Cualquier tipo de instrucción de datos en la memoria desde los periféricos o registro de información procesada en los mismos (se usa comúnmente como entrada de datos). Salida Impresa Es utilizado para representar la salida de información por medio de la impresora. Salida en Pantalla Es utilizado para representar la salida o mostrar la información por medio del monitor o pantalla. Proceso Cualquier tipo de operación que pueda originar cambios en el valor de una variable.

28 Simbología SÍMBOLO NOMBRE DESCRIPCIÓN Decisión
Son operaciones lógicas o comparaciones de datos, es decir, formula una pregunta o cuestión. Conector Representa el enlace de actividades con otras dentro de un procedimiento. A veces se utiliza para la unión de varios flujos. Página Siguiente Es utilizado para enlazar dos partes de un diagrama de flujo que no se encuentren en la misma página. Archivo Temporal Almacena temporalmente un documento por un breve período de tiempo. Archivo Permanente Guarda un documento de forma permanente. Subprograma Representa la llamada a funciones o procesos predefinidos.

29 Reglas para la construcción de un Diagrama de Flujo
Debe indicar claramente dónde inicia y dónde culmina el programa. Cualquier camino de un diagrama debe llevar a la terminal o fin. Organizar los símbolos de tal forma que deben seguir visualmente el flujo de arriba abajo e izquierda a derecha (como la lectura de un libro). En la medida de lo posible, colocar el diagrama en el centro de la hoja. Los símbolos dentro del diagrama de flujo se unen con flechas que indican la dirección del flujo. Las líneas de flujo solamente pueden ser horizontales y verticales, nunca diagonales. No se deben cruzar las líneas de flujo, en tal caso se utilizarían conectores.

30 Reglas para la construcción de un Diagrama de Flujo
No deben quedar líneas de flujo sin conectar. No fraccionar el diagrama de flujo. Todo texto escrito dentro de un símbolo debe ser legible y preciso, evitando el uso de muchas palabras. No usar lenguaje de programación dentro de los símbolos. Puede existir más de un flujo de entrada en un símbolo, a excepción del símbolo final (algunos autores sugieren que sólo exista un flujo de entrada en los símbolos, a excepción de un conector). Sólo puede haber una salida de los símbolos, excepto las decisiones, las cuales deben tener como mínimo 2 salidas.

31 EJERCICIO Diseñe el algoritmo de un programa que: 1º) Pida por teclado la base (dato real) de un triángulo. 2º) Pida por teclado la altura (dato real) de un triángulo. 3º) Calcule el área del triángulo. 4º) Muestre por pantalla el resultado (dato real). En pantalla: Introduzca base: 1.2 Introduzca altura: 4.5 El área del triángulo es: 2.7 Área de un triángulo: base * altura / 2

32 Solución (pseudocódigo)
algoritmo Area_de_un_triangulo variables real altura, area, base inicio escribir( "Introduzca base: " ) leer( base ) escribir( "Introduzca altura: " ) leer( altura ) area ← base * altura / 2 escribir( "El área del triángulo es: ", area ) fin

33 Solución (ordinograma)
escribir("Introduzca base: ") escribir("Introduzca altura: ") escribir("El área del triángulo es: ", area) INICIO FIN leer(base) leer(altura) area ← base * altura / 2


Descargar ppt "Curso Básico de Algoritmos"

Presentaciones similares


Anuncios Google