Cómo escribir algoritmos?

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

Estructuras de control

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

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

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

Taller de Resolución de Problemas Computacionales

Objetos de aprendizaje: Computadora

Estructuras de Control

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

Introducción a la programación

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

Profesor(a): M. A. Zeferino Galarza Hernández

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Tema 2 Introducción a la Programación en C.

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

ESTRUCTURAS ALGORITMICAS

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

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Formato para prácticas de laboratorio

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

Tema: Excel Formulas, Funciones y Macros

Fundamentos de Programación Visual Basic

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas

Entorno de la hoja de cálculo

lasmatemáticas.eu Pedro Castro Ortega materiales de matemáticas

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

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Diseño Estructurado de Algoritmos

Estructura Selectiva Múltiple

Metodología para la solución de problemas programables

1.3.- V A L O R A B S O L U T O

PSEUDOCÓDIGO. En este documento se recopilan los elementos conceptuales esenciales acerca PSEUDOCÓDIGO en la programación.

Programación Estructurada

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

4.- Leer tres números y escribirlos en orden decreciente

Nombre de la asignatura: Algoritmos y Lenguajes de programación.

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

: Algorítmica y Estructura de Datos I

Algoritmos y Programas

Estructuras Secuénciales

Universidad Tec Milenio: Profesional HG04002 Análisis de Decisiones I

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL

Estatutos de Control C# Estatutos de Decisión (Selección)

Desarrollar habilidad para interpretar y escribir cantidades e iniciar el cálculo de sumas y restas utilizando el sistema de numeración maya

John Venn Matemático y filósofo británico creador de los diagramas de Venn

ECUACIONES.

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

INSTITUCIÓN EDUCATIVA LICEO DEPARTAMENTAL ÁREA DE TECNOLOGÍA E INFORMÁTICA

Sistemas Electrónicos Digitales

Se necesita algo que encienda una ampolleta, interruptor o controlador. Se necesita que la ampolleta se encienda y se apague.

Algebra lineal y conjuntos convexos

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

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

PRUEBA DE ENTRADA LÓGICO MATEMÁTICA DE SEXTO GRADO. 1. Identifica qué operación entre conjuntos representa cada diagrama:

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN

2. Calcula las raíces o soluciones para cada ecuación cuadrática.

DIAGRAMAS DE FLUJOS. Qué son Los Diagramas de Flujo y Para qué se Usan?

Series aritméticas. ó La suma de los primeros n términos en una serie se representa por S n. . Por ejemplo: S 6

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios:

Guía 1: PATRONES DE REPETICIÓN

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Tema: Uso del programa DFD

Tema 4. Operadores y Expresiones

Estuardo Roehrs # Cristian Chau # Algoritmos y Programación básica. Sección 60

Estructuras Repetitivas

TEMA 4. ESTRUCTURAS DE CONTROL

Si salgo temprano hoy, me voy al cine.

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

CAPÍTULO 3: PORCIONES Y NÚMEROS ENTEROS

Programa de Asignatura Programación Visual I

Ecuaciones Lineales en Dos Variables

Curso º ESO. UNIDADES 6 Y 7: EXPRESIONES ALGEBRAICAS Y ECUACIONES Departamento de Matemáticas IES Fray Bartolomé de las Casas de Morón

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Matemáticas financieras

Análisis y Manejo de datos en Excel 2013 con tablas, funciones y tablas dinámicas

ÁREA: MATEMÁTICAS UNIDAD : 1 TEMPORALIZACIÓN: OCTUBRE 1ª QUINCENA OBJETIVOS CONTENIDOS CRITERIOS DE EVALUACIÓN

Universidad Tec Milenio: Profesional HG04002 Análisis de Decisiones I

1

ESTRUCTURAS REPETITIVAS

III. EMPLEO GENERAL DE LA CALCULADORA. -Manual Especifico- Tabla Nº 2: Características de la HP 48 GX

Semana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt

Funciones. Parámetros por valor

Tema: Entorno a C# y Estructuras Secuenciales.

Ecuaciones de primer grado

Examen de Conocimientos sobre Algoritmos para el Ingreso a la Licenciatura en Ingeniería en Software GUÍA PARA EL SUSTENTANTE

MANUAL DE USUARIO. Solicitudes- Reembolsos. Con Seguros SURA, asegúrate de vivir

Práctica 2: Análisis de sensibilidad e Interpretación Gráfica

1 SISTEMAS DE ECUACIONES LINEALES Y MATRICES

SISTEMAS DE ECUACIONES LINEALES Y MATRICES Dos ecuaciones lineales con dos

Estructuras de Repetición (Hacer-Mientras)

1. Computadores y programación

Qué es una tabla dinámica? Para qué sirve una tabla dinámica?

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Transcripción:

Cómo escribir algoritmos? Por: Iván Cruz Aceves Algoritmos En tu rutina diaria realizas una gran diversidad de tareas, por ejemplo, bañarte, vestirte, desayunar, ir al trabajo o a la escuela, ir a comer, hasta las actividades que permiten te distraigas como ir al cine, Qué sucede cuando realizas estas acciones?, pasa algo en especial? Pese a que no lo veas o escribas, estas utilizando algoritmos de una manera inconsciente. Aunque no estés familiarizado con este término, lo has aplicado. En cuanto a una definición formal, se puede decir que un algoritmo es una secuencia de pasos lógicos que permiten obtener un resultado, resolver un problema o realizar una asignación. Entre las definiciones que existen de Algoritmo se pueden encontrar las siguientes: Un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema (Cairó, 2006, p. 2). Una serie ordenada de pasos precisos que produce un resultado y termina en un tiempo finito (Forouzan, 2003, p. 142). Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema (Real Academia Española, s.f., párr. 1). Como se menciona en su definición y se muestra en la Figura 1, un algoritmo es una secuencia de pasos lógicos que permitirán al usuario resolver un problema u obtener un resultado, para ello requiere de datos de entrada, procedimiento (pasos a seguir del algoritmo) y una salida. 1

Figura 1. Algoritmo. 2

Observemos el siguiente ejemplo. Fernando iba conduciendo cuando se le ponchó una llanta, por lo que se ha orillado para poder cambiarla; sin embargo, no tiene mucho conocimiento sobre cómo hacerlo y le marca a Juan, un amigo que tiene conocimientos sobre mecánica. Lo primero que le dice Juan es que revise si trae la herramienta necesaria que es Llave de cruz. Gato. Llave o dado, correspondiente al birlo de seguridad (en caso de tenerlo). Llanta de refacción. Ya que han verificado la herramienta, Juan inicia a darle las instrucciones a Fernando. 1. Estaciona el automóvil lejos del tráfico, aunque la llanta esté ponchada puedes moverlo. 2. Antes de bajar, pon el freno de mano y deja el automóvil con velocidad, si es manual puedes dejarlo en 1ª., si es automático puedes ponerlo en P (parking). 3. Afloja los tornillos de la llanta ponchada con la llave inglesa. 4. Ubica el gato mecánico en su sitio. 5. Levanta el gato hasta que la llanta ponchada gire libremente. 6. Quita los tornillos y la llanta ponchada. 7. Pon la llanta de repuesto y los tornillos. 8. Baja el gato hasta que se pueda quitar. 9. Saca el gato del sitio en el que lo pusiste. 10. Aprieta los tornillos con la llave inglesa. Fernando anota las instrucciones que le ha dado Juan y exitosamente cambia la llanta del automóvil. Analizando este ejemplo cuál es la entrada?, cuál es el procedimiento? y cuál es la salida? Se puede observar que la entrada es la herramienta necesaria para cambiar la llanta, pues sin ella Fernando no puede hacer esta acción. Ya que se cuenta con la herramienta sigue el procedimiento, que son la serie de pasos (instrucciones) que ha dado Fernando. Esta serie de pasos es el algoritmo. Si Fernando no sigue esas instrucciones, seguramente va a lastimarse o no va a poder cambiar la llanta. 3 Finalmente, la salida es el resultado, que en esta situación

Como puedes observar Juan ha realizado a Fernando un algoritmo y Fernando ha aplicado ese mismo para lograr el objetivo de cambiar la llanta. Esto mismo sucede en tu vida diaria. Aplicas algoritmos al bañarte, al comer, al ir al cine o al trabajar. Todas estas actividades te van a brindar un resultado. Además, es importante mencionar que los algoritmos pueden ser muy sencillos o complejos, ello dependerá en gran parte del procedimiento o actividad que vas a realizar. Características de un algoritmo Característica Nombre Inicio Ordenado Preciso Resultado Finito Definición Se le debe asignar un nombre que describa lo que hará el algoritmo, los nombres de los algoritmos se escriben generalmente en minúsculas, sin acentos, sin espacios y sin caracteres. Especifica el comienzo de un algoritmo. La serie de instrucciones o pasos debe ser una secuencia ordenada y definida. La serie de instrucciones o pasos debe definirse claramente. Siempre se debe arrojar un resultado. El algoritmo siempre debe terminar, en caso de que sea infinito no puede ser un algoritmo. Figura 2. Características de un algoritmo (Cairó, 2006, p. 4; Forouzan, 2003, p. 150). Debido a que el uso de algoritmos es un elemento indispensable para la programación, es necesario que al momento de desarrollarlos se haga de una manera más formal, por ello se han desarrollado y mencionado las características que debe tener un algoritmo. En consideración a lo anterior, es importante revisar los siguientes ejemplos Ejemplo 1. Algoritmo para sumar dos números. sumadosnumeros Inicia algoritmo. Entrada: número 1, número 2. 1. Suma número 1 y número 2. 2. Devuelve el resultado del paso 1. 4

Ejemplo 2. Algoritmo para multiplicar dos números multiplicadosnumeros Inicia algoritmo. Entrada: número 1, número 2. 1. Multiplica número 1 y número 2. 2. Devuelve el resultado del paso 1. Ejemplo 3. Algoritmo para calcular la superficie de un triángulo. superficietriangulo Inicia algoritmo. Entrada: base del triángulo, altura del triángulo. 1. Multiplicar base por altura. 2. Divide el resultado del paso 1 entre 2. 3. Devuelve el resultado del paso 2. Estructuras de control Como se ha mencionado, un algoritmo es una secuencia de pasos; sin embargo, para poder desarrollarlos de manera estructurada y lógica es necesario utilizar estructuras de control. El uso y combinación de las estructuras permitirán conformar el algoritmo, además de hacerlo más sencillo de comprender, modificar o depurar. Forouzan (2003) menciona las siguientes estructuras de control básicas: secuencia, decisión (selección) y repetición (p. 145). Estructura secuencial La estructura secuencia, llamada también secuencial, es una serie de instrucciones simples que llevan una sucesión. Estas instrucciones se encuentran en algoritmos y programas. 5

Figura 3. Estructura secuencial (Cairó, 2006, p. 4; Forouzan, 2003, p. 147). La estructura secuencial se encuentra en todos los algoritmos, por ejemplo: Se desea crear un algoritmo que determine el área y volumen de un cilindro, considerando que el radio y la altura la asignará el usuario. areavolumencilindro Inicia algoritmo Entrada: radio del cilindro, altura del cilindro. 1. Multiplicar por r2 por altura. 2. Multiplicar 2 por por radio por altura. 3. Devuelve el resultado del paso 1 y del paso 2. Como se puede observar, los pasos que se siguen en el algoritmo van en secuencia: paso 1, paso 2 y paso 3; por ello, se puede decir que esta estructura es secuencial. Además, es importante mencionar que todos los algoritmos contienen una estructura secuencial. La estructura secuencial se puede combinar con otras estructuras. Estructura de decisión La estructura de decisión, llamada también de selección, primeramente plantea una condición, si la condición es verdadera, entonces se sigue un conjunto de instrucciones; si la condición es falsa, entonces se sigue otro conjunto de instrucciones, tal y como se muestra en la figura 4. Estructura de decisión. 6

Figura 4. Estructura de una decisión (Cairó, 2006, p. 5; Forouzan, 2003, p. 147). Cabe mencionar que esta estructura puede combinarse con otras estructuras, como la estructura secuencial y la de repetición. A continuación, revisa el siguiente ejemplo en el que se muestra la forma en que funciona esta estructura. Se desea crear un algoritmo que por medio de una calificación numérica diga si el alumno ha aprobado/reprobado el curso. aprobadoreprobado Inicia algoritmo. Entrada: Un número. 1. Si (el número es mayor o igual que 70). entonces 1.1. Establece la calificación en aprobado si no 1.2. Establece la calificación en reprobado Termina la condición. 2. Devuelve la calificación. Este ejemplo es un algoritmo que nos dice que pasa si se cumple o no una condición; sin embargo, es importante mencionar que cuando se utiliza la estructura de decisión se hace en la siguiente notación If (condición es cierta). Then Conjunto de instrucciones Else 7

Conjunto de instrucciones. End if. Estructura de repetición La estructura de repetición, plantea inicialmente una condición, si esa condición se cumple entonces se realizará una serie de instrucciones, las cuales se repetirán siempre que la condición inicial se siga cumpliendo. En caso de que la condición ya no se cumpla, se saldrá de ese ciclo. Para comprender mejor el funcionamiento de esta estructura, observa la Figura 5. Estructura de una repetición, en ella se muestra de forma gráfica el funcionamiento de esta estructura. Figura 5. Estructura de una repetición (Forouzan, 2003, p. 147). Cabe mencionar que esta estructura puede combinarse con otras estructuras, como la estructura secuencial y la de decisión. A continuación, revisa el siguiente ejemplo en el que se muestra la forma en que funciona esta estructura. Se desea crear un algoritmo que sume una serie de números hasta que el producto de la suma sea mayor a 100. sumanumeros Inicia algoritmo. Entrada: Una lista de números. 8

1. Mientras (el resultado de la suma sea menor que 100). 1.1. Sumar el Resultado de la suma más el siguiente número. Termina la condición. 2. Devuelve el resultado de la suma. Este ejemplo es un algoritmo que nos dice que pasa mientras se cumpla una condición. En este caso, lo que hace es que si el resultado de la suma es menor a 100 sigue sumando números. En caso contrario, termina la condición y se devuelve el resultado de la suma. Es importante mencionar que cuando se utiliza la estructura de decisión se hace en la siguiente notación. while (condición es cierta). Conjunto de instrucciones. End while. Estructuras anidadas Estás estructuras, más que una serie de instrucciones o condiciones, en lo que consiste es en la combinación de las estructuras secuencial, de decisión y repetición, es decir, se puede utilizar la combinación de una estructura de decisión con una secuencial o una estructura de repetición con una secuencial y viceversa. En la figura 6. Estructuras anidadas, se muestra la forma en que se realiza la anidación de estructuras: Figura 6. Estructuras anidadas (Diagrama basado en las propuestas de Cairó, 2006, p. 4; y de Forouzan, 2003, p. 147). El uso de algoritmos es indispensable para realizar un programa, ya que sin ellos no podrían realizarse. 9

Además, es necesario estructurarlos de tal manera que nos permitan ir interactuando con la computadora. Es recomendable que en primera instancia sean realizados en papel, ello con la finalidad de comprender y desarrollar una estructura lógica, que permita resolver el problema o situación, a continuación se prueba el algoritmo por medio de una representación gráfica llamada diagramas de flujo. En el diagrama de flujo se va a observar (probar) el funcionamiento del algoritmo. En caso de que exista una falla, el algoritmo se puede modificar o perfeccionar las veces que sea necesario. Después de ello se escribe el algoritmo en pseudocódigo. Referencias Real Academia Española. [RAE]. (s.f.). Algoritmo. En Diccionario de la lengua española (22ª. ed.). [Versión en línea]. Recuperado 02 de octubre de 2012, de http://lema.rae.es/drae/?val=algoritmo Cairó, O. (2006). Fundamentos de programación. Piensa en C. México: Pearson Educación. [Versión en línea]. Recuperado el 02 de agosto de 2010, de la base de datos de Bibliotechnia de la Biblioteca Digital UVEG. Forouzan, Behrouz A. (2003). Introducción a la ciencia de la computación, de la manipulación de datos a la teoría de la computación. (L. Peralta, Trad.). México: Thomson Learning.