Introducción a la Computación TFA



Documentos relacionados
Estructuras de Control - Diagrama de Flujo

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Estructuras de Control - Diagrama de Flujo

Capítulo 4 Procesos con estructuras de repetición

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

Programación en lenguaje C++

Modulo 1 El lenguaje Java

Unidad 1 Sistemas de numeración Binario, Decimal, Hexadecimal

Informática Bioingeniería

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

MANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS (SASP)

ARREGLOS DEFINICION GENERAL DE ARREGLO

Informática. Algoritmos. Baños García Yesenia, Lic. Comp. Hernández Nájera Aracely, Lic. Comp. Enero 2012.

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Ejemplos de conversión de reales a enteros

Diseño Estructurado de Algoritmos

Guía Indico del Usuario Administrador CERN

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Matemática de redes Representación binaria de datos Bits y bytes

Uso de funciones en Excel

Introducción a la Programación en MATLAB

Fundamentos de la Programación

promedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Contenidos. Archivos en C++ Archivos en C++ Introducción

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

Funciones. Funciones Diapositiva 1

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Motor de Workflow. Historia de revisiones

Preliminares. Tipos de variables y Expresiones

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Módulo 9 Sistema matemático y operaciones binarias

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Creación de Funciones de Conducción

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Ejemplo: Apuesta? 100 PERA PERA MANZANA La casa gana!!! Apuesta? 300 FRUTILLA FRUTILLA FRUTILLA GANASTE 600!!! Apuesta? 0 Gracias por jugar!!!

UNIDADES DE ALMACENAMIENTO DE DATOS

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

TEMA 2: Representación de la Información en las computadoras

Roberto Quejido Cañamero

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

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

PRACTICA 6. VECTORES Y MATRICES.

Tema 2 : NÚMEROS ENTEROS. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco.

Tarea 4.2 Memoria Virtual

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

AUTOR CARLOS EDUARDO BUENO VERGARA JORGE ARMANDO BUENO VERGARA USO DE LOS OBJETOS DEL PROGRAMA. Dfd INFORMÁTICA II PROFESOR. JOSÉ FRANCISCO AMADOR

CLASE # 5 TÉCNICAS DE CAJA BLANCA

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Estructura de datos y de la información Boletín de problemas - Tema 7

COMANDOS EN LENGUAJE DE PROGRAMACIÓN BASIC

Figura 4.1 Clasificación de los lenguajes de bases de datos

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

DISEÑO CON AMPLIFICADORES OPERACIONALES

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

ESPOCH ESCUELA DE MEDICINA HERNANDEZ MAYRA FORMULAS Y DUNCIONES BASICAS ESPOCH

Su éxito se mide por la pertinencia y la oportunidad de la solución, su eficacia y eficiencia.

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Soporte lógico de computadoras

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Formularios. Formularios Diapositiva 1

Capítulo 1 Introducción a la Computación

GVisualPDA Módulo de Almacén

MANUAL DE USO DE SMART DFD

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

GORDETALDE. Servicio de albergue de disco para grupos de PAS/PDI de la UPV/EHU

Matemáticas para la Computación

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

IPv4 e IPv6. Explicación paso a paso. Que es? Funcionamiento? Elaborado por: Jaibol Santaella

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

by Tim Tran:

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

UNIDAD I: LÓGICA PROPOSICIONAL

EDICION DE TEXTOS ALEXANDRA LUCAS TICO

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

PHP y MySQL. Indice: Switch Bucles For While do...while

Sistemas de numeración

Notación algorítmica (seudocódigo en castellano) (fecha: )

8. Sentencia return y métodos

Estructuras Repetitivas: SENTENCIA WHILE EN MATLAB INFORMÁTICA T2 INGENIERÍA INDUSTRIAL JORNADA ESPECIAL

UTILIZACIÓN DE RELOJES

RELACIONES DE RECURRENCIA

Manual Operativo Sistema de Postulación Online

Una desigualdad se obtiene al escribir dos expresiones numéricas o algebraicas relacionadas con alguno de los símbolos

Arrays y Cadenas en C

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2.

MANUAL BÁSICO DEL LENGUAJE SQL

MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET

4. Programación Paralela

Ejercicios en Pseudocódigo empleando el software PSeInt

Transcripción:

Introducción a la Computación TFA Departamento de Informática Facultad de Ciencias Físico, Matemáticas y Naturales- UNSL Lenguaje de Diseño de Algoritmos Estructura de Control Condicional Simple y Múltiple 1 Estructuras de control Estructurar el control de un conjunto de acciones, detalladas en un algoritmo, es brindar mecanismos que permitan indicar el orden en que las mismas van a ser llevadas a cabo. Una de las mayores potencias de un procesador proviene de su capacidad de tomar decisiones y de determinar qué acción realizar al momento de ejecutar un algoritmo, sobre la base de los valores de algunos de los datos que se leen o bien, de los resultados de los cálculos que se realizan. 2 1

Clasificación Acciones simples Asignación Operaciones de Entrada/Salida Acciones compuestas Secuencia. Selección Repetición Las acciones compuestas, en general, no modifican el ambiente sino el orden en que el procesador ejecuta las acciones primitivas. 3 Estructura de control secuencial Cuando no se indique lo contrario el flujo de control de ejecución de un algoritmo seguirá la secuencia implícita del mismo. Entendemos por secuencia implícita, que las acciones se ejecutan en el orden en que son escritas en el algoritmo, es decir desde la primera hacia la ultima ("desde arriba hacia abajo"). Al terminar de ejecutarse una acción se pasa a la inmediata siguiente que está perfectamente determinada y, así siguiendo, hasta alcanzar la última acción del algoritmo. 4 2

Ejemplo de acciones que representan una secuencia I <- 1; Leer numero; f <- numero + I; Diagrama de flujo (las acciones que modifican el ambiente se escriben dentro de rectángulos): I <- 1; Leer numero; f <- numero + I; 5 Estructura de control condicional simple Lenguaje de Diseño provee un mecanismo para expresar que un conjunto de acciones se ejecuten sólo bajo ciertas condiciones, esto permite crear algoritmos que resuelvan una mayor cantidad de instancias para un problema dado. El condicional permitirá que una o un conjunto de acciones primitivas se ejecuten sólo si cierta condición se cumple. El condicional permite que la ejecución de cierto conjunto de acciones quede sometida a una condición. 6 3

ejemplo Supongamos que se tienen dos variables enteras, X e Y, que tienen cada una un valor entero previamente asignado; buscamos escribir el mayor valor. Esto es, si X > Y debe escribirse el valor de X en caso contrario el valor de Y. En este caso, es evidente que existen secuencias de acciones alternativas, tales son escribir el valor de X o escribir el valor de Y. La elección acerca de cuál de los dos valores escribir depende de la condición: el valor de X es o no mayor que el valor de Y. 7 El diagrama de flujo asociado con la acción condicional es: Falso X > Y Verdadero Escribir Y; Escribir X; donde X > Y es un predicado que describe una condición que se debe evaluar. 8 4

Sintaxis y funcionamient o Si <condición> Entonces <alternativa verdadera>; <alternativa falsa>; Observaciones: Si, Entonces,, Finsi son palabras reservadas. <condición> debe ser una expresión que devuelva un valor lógico. La ejecución involucra los siguientes pasos: Se evalúa la condición; Si es VERDADERA se ejecuta < alternativa verdadera > Si b es FALSO se ejecuta <alternativa falsa> Si <condición> Entonces <alternativa verdadera>; La ejecución involucra los siguientes pasos: Se evalúa la condición; Si es VERDADERA se ejecuta < alternativa verdadera > 9 Observaciones Si <condición> Entonces <alternativa verdadera>; <alternativa falsa>; <condición> puede ser un predicado simple o uno compuesto < alternativa verdadera > y <alternativa falsa> pueden ser una acción simple o una acción compuesta Si <condición> Entonces <alternativa verdadera>; 10 5

Ejemplo Calcular la raíz cuadrada de un número, si éste no es negativo; en caso contrario no calcular nada. Ambiente VARIABLE del Algoritmo: a DESCRIPCION Variable de entrada-salida de tipo entero. Como variable de entrada contendrá el número del cual se quiere calcular la raíz cuadrada; como variable de salida, contendrá la raíz cuadrada 11 Versión 1: Algoritmo Declarar las variables a ser utilizadas por el algoritmo. Leer el número del cual se desea calcular la raíz cuadrada, guardándolo en la variable a. Si su valor es positivo o cero, entonces calcular la raíz cuadrada, usando la función primitiva correspondiente, devolver el valor en la variable a y escribir el valor de la raíz; sino no hacer nada. 12 6

Algoritmo Versión Final (en PSeInt): Proceso rc Definir a Como Entero ; // Entrada de datos Escribir Ingrese el valor ; Leer a; // Se determina si el valor de a es no negativo Si a >= 0 Entonces //Cálculo de la raíz cuadrada a <- RC(a); // Salida del resultado Escribir La raíz cuadrada es:, a; FinProceso 13 Anidamiento de estructuras de decisión Tanto la alternativa verdadera como la falsa, pueden contener a su vez, estructuras de decisión. Por ejemplo: Los operarios de una empresa trabajan en tres turnos; uno matutino, cuyo código es 1, otro vespertino cuyo código es 2 y el otro nocturno cuyo código es 3. Se desea calcular el jornal para un operario sabiendo que, para el turno nocturno, el pago es de $5 la hora y, para el turno vespertino es $3 la hora y para el matutino es $ 2 la hora, pero en este último caso, si el día es Domingo se paga un adicional de $1 por hora. Las fórmulas para calcular el jornal son: fórmula 1 (para el turno nocturno) : jornal = 5 * horas trabajadas fórmula 2 (para el turno vespertino) : jornal = 3 * horas trabajadas fórmula 3a (turno diurno, no es domingo) : jornal = 2 * horas trabajadas fórmula 3b (turno diurno, domingo): jornal = (2 + 1) * horas trabajadas. 14 7

Ejemplo Ambiente del Algoritmo: VARIABLES DESCRIPCION horas turno dia jornal Variable de entrada, de tipo entero cuyo valor es la cantidad de horas trabajadas en un día, por un operario. Variable de entrada, de tipo entero, cuyo valor es el código del turno. Variable de entrada, de tipo caracter, si su valor es d, indica que es día domingo, sino tiene un valor n Variable de salida, de tipo numérico (entero) que contiene el valor de la paga que debe efectuarse. 15 Versión 1: Declarar variables Leer datos de entrada Calcular el jornal Informar resultados Versión 2: Declarar variables Leer los valores correspondientes a las horas trabajadas, el código del turno y el código del día. Si el turno es nocturno entonces calcular el jornal usando la fórmula 1 sino si el turno es vespertino entonces calcular el jornal usando la fórmula 2 sino calcular el jornal usando la fórmula 3 Escribir el valor del jornal 16 8

Versión Final: Proceso Jornales Definir horas, turno, jornal Como Entero ; Definir dia Como Caracter; Leer horas, turno, dia; Si turno = 3 Entonces jornal <- 5 * horas ; Si turno = 2 Entonces jornal <- 3 * horas; Si dia <> d Entonces jornal <- 2 * horas; jornal <- (2 + 1) * horas; Finsi Escribir jornal; FinProceso 17 Leer horas, turno, dia V turno=3 F Jornal <- 5*horas V turno=2 F Jornal <- 3*horas V dia<> d F Jornal <- 2*horas jornal <- (2+1)*horas Escribir jornal 18 9

Estructura de control condicional multiple La estructura de selección múltiple evalúa una expresión que puede tomar n valores enteros distintos (1, 2, 3,...,n). A cada valor de la expresión le corresponde una acción (o serie de acciones) diferente, lo que significa que el flujo de ejecución seguirá un camino distinto entre los n posibles caminos en dependencia del valor de la expresión de control. Al ejecutarse, se evalúa el contenido de la variable y se ejecuta la secuencia de acciones asociada con el valor que en ese momento tiene la variable. 19 Estructura de control condicional multiple Diagrama de flujo: variable 1: 2: n-1: n: Cada opción está formada por uno o más números separados por comas, dos puntos y una secuencia de acciones. Si una opción incluye varios números, la secuencia de instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos números. Opcionalmente, se puede agregar una opción final, cuya secuencia de instrucciones asociada se ejecutará sólo si el valor almacenado en la variable no coincide con ninguna de las opciones anteriores. 20 10

Sintaxis y funcionamiento Segun <variable> Hacer <número1>: <acciones> <número2>,<número3>: <acciones> <...> De Otro Modo: <acciones> FinSegun Observaciones: Segun, Hacer, De Otro Modo, FinSegun son palabras reservadas. <variable> debe ser una variable entera. La ejecución involucra los siguientes pasos: Consultar el valor de la variable Ejecutar el conjunto de acciones asociadas al valor de la variable Si el valor no está especificado se ejecutarán las acciones asociadas a De Otro Modo si existen 21 Ejemplo Proceso Jornales Definir horas, turno, jornal Como Entero; Definir dia Como Caracter; Escribir Ingrese un carácter d si el día laboral es domingo, l si es lunes Leer dia Escribir Ingrese la cantidad de horas y el turno de trabajo Leer horas, turno Segun turno Hacer 1: Si dia <> d Entonces jornal <- 2 * horas; jornal <- (2 + 1) * horas; 2: jornal <- 3 * horas; 3: jornal <- 5 * horas; De Otro Modo: Escribir Ingresó un turno inválido ; jornal <- 0; FinSegun Escribir jornal; FinProceso 22 11

Relación entre el condicional simple y múltiple Si vble=1 Entonces <acciones1>; Si vble=2 Entonces <acciones2>; <acciones3>; Segun vble Hacer 1: <acciones1>; 2: <acciones2>; De Otro Modo: <acciones3>; FinSegun 23 Relación entre el condicional simple y múltiple Segun vble Hacer 1, 24, 3: <acciones1>; 4, 50: <acciones2>; De Otro Modo: <acciones3>; FinSegun es equivalente a: Si vble=1 vble=24 vble=3 Entonces <acciones1>; Si vble=4 vble=50 Entonces <acciones2>; <acciones3>; 24 12

Cuando usar un condicional múltiple Cuando hay que seleccionar entre más de dos grupos de acciones. Es frecuente usarlo en situaciones donde hay que elegir una acción según una opción ingresada por el usuario (menú) Ejemplo:. //muestra el menú Escribir 1 Agregar ; Escribir 2 Borrar ; Escribir 3 Eliminar ; Leer opcion; Segun opcion Hacer 1: <acciones para Agregar>; 2: <acciones para Borrar>; 3: <acciones para Eliminar>; De Otro Modo: Escribir Opción Inválida ; FinSegun. 25 13