ALGORITMOS IBX12-68 ÚLTIMA CLASE.

Slides:



Advertisements
Presentaciones similares
ALGORITMO Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y resolver un problema. De un modo más formal,
Advertisements

Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
ESTRUCTURA DE DECISION LOGICA
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Resolución de Problemas Algoritmos y Programación
Metodología de la Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Técnico en programación de Software
Unidad 2 Algoritmos y resolución de problemas
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Metodología de la Programación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Curso Básico de Algoritmos
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
METODOLOGIA DE LA PROGRAMACION
Tema 6. Conceptos básicos de programación
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
ESTRUCTURAS DE CONTROL
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Fundamentos de Programación
Programación de Computadores
LOGICA DE PROGRAMACION
Programación II Profesor A.S. MOLINA, Carlos
ALGORITMOS.
CARACTERÍSTICAS DE LOS PROGRAMAS
FUNDAMENTOS DE PROGRAMACIÓN
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Algoritmia y Programación
Fundamentos de programación
ESTRUCTURA DE DECISION LOGICA
ESTRUCTURA DE DATOS ESD-243
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
COMPONENTES DE UN ALGORITMOS
Juego de Preguntas y Respuestas
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Tema 5 Diagramas de flujo Computacion - FA.CE.NA..
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Algoritmo Ing. Maria Rosana Heredia
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS 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ó.
ESTRUCTURA DE DECISION LOGICA
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
ALGORITMO QUE ES ??.
UNIVERSIDAD TECNICA PERTICULAR DE LOJA
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
PRINCIPIOS DE PROGRAMACIÓN
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
M.S.C. Ivette Hernández Dávila
Metodología de la programación
Dirección General de Educación Superior Tecnológica Instituto Tecnológico de Salina Cruz CARRERA INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES.
Lic. Carla Aguirre Montalvo
Programación de Computadores
Algoritmos Programación
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
ELEMENTOS BÁSICOS DE PROGRAMACIÓN EN C# Mtro. José David Uc Salas
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.
Transcripción de la presentación:

ALGORITMOS IBX12-68 ÚLTIMA CLASE

CONTENIDO Origen Definición Ordinogramas Diferencia de Pseudocódigo y Diagramas de Flujo. Tipos de Datos Identificadores Variables Constantes Operadores y Expresiones Estructura de un Algoritmo Sintaxis Comentarios Diagramas de Flujo.

ORIGEN La palabra Algoritmo tiene su origen en el nombre del matemático Persa "Mohamed ibn Musa al Khwarizmi" (825 d.C.). Su apellido fue traducido al latín como Algorismus y posteriormente paso al español como Algoritmo. Khwarizmi fue bibliotecario en la corte del califa al- Mamun y astrónomo en el observatorio de Bagdad. Sus trabajos de álgebra, aritmética y tablas astronómicas adelantaron enormemente el pensamiento matemático y fue el primero en utilizar la expresión al-yabr (de la que procede la palabra álgebra). Su trabajo con los algoritmos introdujo el método de cálculo utilizando la numeración arábiga y la notación decimal. Imagen tomada de: http://muslimheritage.com/topics/default.cfm?ArticleID=631 Mayo de 2014

DEFINICIÓN DE ALGORITMO Los Algoritmos son una herramienta que permite describir claramente un conjunto finito de instrucciones, ordenadas secuencialmente y libres de ambigüedad, que debe llevar a cabo un computador para lograr un resultado previsible. Vale la pena recordar que un programa de computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de programación que el computador entiende (Logo, Java, Pascal, etc). Un algoritmo escrito en pseudocódigo tiene tres secciones: Encabezado, declaraciones y cuerpo. El encabezado contiene el nombre del algoritmo, en declaraciones se colocan las variables, constantes y otros objetos que lleva el programa. En el cuerpo se colocan las acciones que tiene que hacer el programa que se escriben entre las palabras inicio y fin. Un algoritmo típico se describe a continuació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

ORDINOGRAMAS Fuera del pseudocódigo, los algoritmos se representan en forma gráfica por medio de diagramas de flujo. Miremos por ejemplo la representación gráfica del algoritmo anterior INICIO Escribir ( “introduzca el primer número: “ ) c a + b Leer ( a) Escribir ( “introduzca el segundo número: “) Leer ( b) FIN

Diferencias de Pseudocódigo y Diagramas de Flujo Los diagramas de flujo fueron primeros que el pseudocódigo. En pseudocódigo se suelen definir tres secciones del algoritmo (Encabezado, declaraciones y cuerpo). Sin embargo, en un ordinograma sólo se representa el cuerpo. En un ordinograma suele ser más fácil ver, a primera vista, cuál es el orden de las acciones del algoritmo. El diagrama de flujo está estandarizado por: American National Standards Institute (ANSI). Sin embargo, no existe un "pseudocódigo estándar".

TIPOS DE DATOS Los datos que utilizan los programas (o algoritmos) se pueden clasificar en base a diferentes criterios. Uno de los más significativos es aquel que dice que todos los datos que utilizan los programas son simples o compuestos. Un dato simple es indivisible (atómico), es decir, no se puede descomponer. ENTERO REAL LÓGICO CARÁCTER CADENA De ellos, tan solo el tipo cadena es compuesto. Los demás son los tipos de datos simples considerados estándares. Esto quiere decir que la mayoría de los lenguajes de programación permiten trabajar con ellos. Por ejemplo, en lenguaje C es posible utilizar datos de tipo entero, real y carácter, sin embargo, los datos de tipo lógico no se pueden utilizar, ya que, no existen en este lenguaje.

Todo identificador debe cumplir unas reglas de sintaxis. IDENTIFICADORES Un identificador es el nombre que se le da a un elemento de un algoritmo. Todo identificador debe cumplir unas reglas de sintaxis. 1. Consta de uno o más caracteres. 2. El primer carácter debe ser una letra o el carácter subrayado (_), mientras que, todos los demás pueden ser letras, dígitos o el carácter subrayado (_). Las letras pueden ser minúsculas o mayúsculas del alfabeto inglés. Así pues, no está permitido el uso de las letras 'ñ' y 'Ñ'. 3. No pueden existir dos identificadores iguales, es decir, dos elementos de un algoritmo no pueden nombrarse de la misma forma. Lo cual no quiere decir que un identificador no pueda aparecer más de una vez en un algoritmo.

EJEMPLOS DE IDENTIFICADORES Ejemplo 1: Algunos identificadores válidos que pueden ser definidos por el programador son: numero dia_del_mes PINGUINO1 _ciudad Z Ejemplo 2: Los siguientes identificadores no son válidos por incumplir la segunda regla: numero123 _DÍA numero* lugar de nacimiento año Ejemplo 3: Los siguientes identificadores no pueden ser definidos por el programador: entero carácter entero y carácter son identificadores predefinidos (ya existen), por tanto, no pueden ser definidos por el programador, en cumplimiento de la tercera regla. Los identificadores son sensibles a minúsculas y mayúsculas. Ejemplo 4: Mes y mes son considerados identificadores distintos. Por último, hay que decir que, es aconsejable que los identificadores tengan un significado afín a lo que representan.

El tipo de dato que puede almacenar cada una de ellas. VARIABLES En programación, una variable representa a un espacio de memoria en el cual se puede almacenar un dato. Gráficamente, se puede representar como El  programador, cuando desarrolla un programa (o diseña un algoritmo), debe decidir: Cuantas son las variables que el programa necesita para realizar las tareas que se le han encomendado. El tipo de dato que puede almacenar cada una de ellas. Durante la ejecución de un programa, el valor que tome el dato almacenado en una variable puede cambiar tantas veces como sea necesario, pero, siempre, tomando valores del mismo tipo de dato.

<nombre_de_la_constante> = <expresion> CONSTANTES En pseudocódigo, para declarar una constante, vamos a utilizar la sintaxis: <nombre_de_la_constante> = <expresion> Ejemplo: TEMPERATURA = -5 MES = 10 TEMPERATURA = -5, MES = 10 En programación, una constante representa a un valor (dato almacenado en memoria) que no puede cambiar durante la ejecución de un programa. Por ejemplo, en lenguaje C, una constante puede ser de tipo entero, real, carácter, cadena o enumerado.

Expresiones Aritméticas Expresiones de Carácter OPERADORES Y EXPRESIONES En programación existen los siguientes tipos de operadores y expresiones: Expresiones Aritméticas Expresiones Lógicas Expresiones de Carácter Expresiones de Cadena. En un programa, el tipo de un dato determina las operaciones que se pueden realizar con él. Por ejemplo, con los datos de tipo entero se pueden realizar operaciones aritméticas, tales como la suma, la resta o la multiplicación. 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. 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ógica (devuelve un valor lógico: verdadero o falso) De carácter (devuelve un carácter representable por el computador). De cadena (devuelve una cadena).

cabecera, declaraciones y cuerpo. ESTRUCTURA DE UN ALGORITMO La estructura de un algoritmo sirve para organizar a los elementos que aparecen en él. En pseudocódigo, todos los algoritmos tienen la misma estructura, la cual viene definida por tres secciones: cabecera, declaraciones y cuerpo. Imagen tomada de: http://www.moodlecchazc.unam.mx/moodleccha/mod/book/view.php?id=6529&chapterid=119. Mayo de 2014

algoritmo <nombre_del_algoritmo> CABECERA En la cabecera de un algoritmo se debe indicar el nombre (identificador) asignado al mismo. La sintaxis es: algoritmo <nombre_del_algoritmo> Ejemplo: Si se quiere diseñar el algoritmo de un programa que: 1º) Pida por teclado el radio (dato real) de una circunferencia. 2º) Calcule el área de la circunferencia. 3º) Muestre por pantalla el resultado (dato real). Nota: Área de una circunferencia = pi * radio2 El algoritmo puede llamarse Area_de_una_circunferencia, por tanto, en la cabecera se puede escribir: algoritmo Area_de_una_Circunferencia

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> ] Ejemplo: Para resolver el problema planteado en el apartado anterior “Cabecera de un Algoritmo”, es necesario declarar una constante y dos variables: constantes    PI = 3.141592 variables    real área, radio En este caso, no es necesario declarar ningún tipo de dato.

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. Ejemplo: El cuerpo del algoritmo Area_de_una_circunferencia es: inicio    escribir( "Introduzca radio: " )    leer( radio )    area ← PI * radio ** 2    escribir( "El área de la circunferencia es: ", area ) fin Por pantalla se verá algo parecido a:

SINTAXIS En programación, la sintaxis completa para escribir un algoritmo en pseudocódigo es: 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 Ejemplo: el algoritmo de un programa que pida por teclado el radio de una circunferencia y muestre por pantalla el área de la misma, se puede escribir como se muestra a continuación: algoritmo Area_de_una_circunferencia constantes    PI = 3.141592 variables    real area, radio inicio    escribir( "Introduzca radio: " )    leer( radio )    area ← PI * radio ** 2    escribir( "El área de la circunferencia es: ", area ) fin

COMENTARIOS En los algoritmos es conveniente escribir comentarios para explicar el  diseño y/o funcionamiento del mismo. Para delimitar los comentarios se pueden utilizar distintos  caracteres: ( [ ) y ( ] ) ( { ) y ( } ) ( /* ) y ( */ ) ... En pseudocódigo, en este curso de algoritmos, los comentarios se van a escribir entre los símbolos reservados barra-asterisco (/*) y asterisco-barra (*/), que son los mismos que se utilizan en lenguaje C. Ejemplo 1: Algoritmo que sirve para calcular el área de una circunferencia, en el cual se han comentado las distintas secciones: cabecera, declaraciones y cuerpo: /* Cabecera */ algoritmo Area_de_una_circunferencia /* Declaraciones */ constantes    PI = 3.141592 variables    real area, radio /* Cuerpo */ inicio    escribir( "Introduzca radio: " )    leer( radio )    area ← PI * radio ** 2    escribir( "El área de la circunferencia es: ", area ) fin

COMENTARIOS Cuando un algoritmo se convierta (codifique) en un programa, también se podrán escribir los comentarios en el código fuente de dicho programa. Dichos comentarios no afectarán nunca a la ejecución del programa. No obstante, serán muy útiles a la hora de querer saber qué hace un algoritmo (o programa), y cómo lo hace. Los comentarios de un algoritmo (o programa) forman parte de la documentación del mismo, pudiendo: Informar sobre algunos datos relevantes del algoritmo (autor, fecha de creación, fecha de última modificación, proyecto en el que se integra, versión,... ). Explicar la utilidad de uno o más tipos de datos, constantes y/o variables. Describir el funcionamiento general del algoritmo (o programa). Explicar el cometido de una o más instrucciones.

COMENTARIOS Ejemplo 2: Algoritmo que incluye comentarios acerca de su autor, fecha, etc. /***************************************************/ /* Programa: Calcular_area_circunferencia          */ /*                                                 */ /* Descripción: Recibe por teclado el radio de una */ /* circunferencia, mostrando su área por pantalla. */ /*                                                 */ /* Autor: Carlos Posada                              */ /*                                                 */ /* Fecha: 31/03/2010                           */ /***************************************************/ /* Cabecera */ algoritmo Area_de_una_circunferencia /* Declaraciones */ constantes    PI = 3.141592 variables    real area, radio /* Cuerpo */ inicio    escribir( "Introduzca radio: " )    leer( radio )    area ← PI * radio ** 2    escribir( "El área de la circunferencia es: ", area ) fin

<nombre_de_la_variable> <expresion> DIAGRAMAS DE FLUJO ASIGNACIÓN En programación, para representar una instrucción de asignación en un ordinograma, se debe escribir la misma sintaxis que en pseusocódigo, pero, dentro de un rectángulo: <nombre_de_la_variable> <expresion> Ejemplo 1: Una instrucción de asignación puede ser: Radio 5.78 Ejemplo 2: Varias instrucciones de asignación se pueden agrupar dentro de un mismo rectángulo: Radio 5.78 Area PI * radio ** 2 Longuitud 2 * PI * radio

DIAGRAMAS DE FLUJO ENTRADA Y SALIDA En un ordinograma, tanto las instrucciones de entrada como las instrucciones de salida, se escriben igual que en pseudocódigo, pero, dentro de un romboide: Leer ( <lista_de_variables> ) escribir ( <lista_de_expresiones> ) Ejemplo 1: Una instrucción de entrada que lea la variable radio, se escribe: Leer ( radio ) Ejemplo 2: Varias instrucciones de entrada o de salida pueden dibujarse dentro del mismo romboide: escribir ( “El área es: “, area ) Escribir ( “la longuitud es: “, longuitud )

DIAGRAMAS DE FLUJO INICIO Y FIN En un ordinograma, el inicio y fin del cuerpo de un algoritmo se escriben dentro de un óvalo de la siguiente manera

DIAGRAMAS DE FLUJO INICIO Y FIN Por medio de las flechas se indica el orden de las acciones (instrucciones) del algoritmo. Ejemplo: Así pues, el siguiente ordinograma es equivalente al cuerpo de un algoritmo escrito en pseudocódigo:

DIAGRAMAS DE FLUJO DECISIONES En programación, las decisiones siempre forman parte de las instrucciones de control, las cuales sirven para determinar el orden en el que se tienen que ejecutar las instrucciones de un programa. En un ordinograma, para representar, gráficamente, a una instrucción de control, se utiliza un rombo y un círculo. Ejemplo: Una alternativa doble es una instrucción de control que se representa de la siguiente manera: En el rombo se toma la decisión de ejecutar un bloque de instrucciones u otro. No obstante, con independencia de cual de ellos se ejecute, el círculo reagrupa el flujo de control, es decir, la ejecución continuará con la siguiente instrucción que haya después del círculo.

FIN PRESENTACION