Tablas de decisión.

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

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

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

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

Programación en java. Estructuras algorítmicas

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

Elementos de un programa en C

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

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

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

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

CAPITULO II. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

El lenguaje C. 1. Identificadores, constantes y variables

UNIDAD I. ALGORITMOS

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

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

4. Operadores Operador asignación

Principios de Computadoras II

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

Computación II. Introducción a Visual Basic

La resolución de un problema

Resolución de problemas mediante algoritmos

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

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

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Ficha de Aprendizaje N 13

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

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

TEMA 4. ESTRUCTURAS DE CONTROL

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

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

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

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

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

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.

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

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

Operadores. Javier Fernández Rivera -

Estructuras de control

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

Tema 2. El lenguaje JAVA

Aritmética de Enteros

Java para no Programadores

Expresiones y sentencias

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

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

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Tema 4. Operadores y Expresiones

Datos y tipos de datos

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Estructuras en LabVIEW.

Instituto Tecnológico de Celaya

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

ESTRUCTURAS ALGORITMICAS

INICIACIÓN A LA PROGRAMACIÓN II

Introducción a la programación

Curso de Programación Avanzada en C

Fundamentos de Programación Visual Basic

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

Estructuras de Control

Operadores y Expresiones

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

Capítulo 2 : ALGORITMOS

Tema 3.- Predicados y sentencias condicionales

GUÍA BÁSICA DE SCHEME v.4

TEMA 2 METODOLOGÍA DE LA PROGRAMACIÓN

OPERADORES Y EXPRESIONES

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

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

Programación en Visual Basic Ricardo Rodríguez García

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

Tema: Excel Formulas, Funciones y Macros

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

UNIDAD 1. COMPONENTES DEL COMPUTADOR

LENGUAJE. Tema 2 Elementos de un programa

ESTRUCTURAS REPETITIVAS

Fundamentos de programación

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Representación de números enteros: el convenio exceso Z

Estructura Selectiva Múltiple

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.

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

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

Fundamentos de programación y Bases de Datos

Curso de Java Introducción a la Programación III

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

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

Tema: Entorno a C# y Estructuras Secuenciales.

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Estructuras de control

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

Taller de Resolución de Problemas Computacionales

Estructuras Repetitivas

Diseño Estructurado de Algoritmos

Transcripción:

2.2.3.- Tablas de decisión. Una tabla de decisión es una representación en la que se distinguen cuatro zonas: Condiciones. Es un vector columna donde figuran las condiciones que intervienen en el problema. Ej: trabaja? tiene hijos? Acciones. Es un vector columna en el que aparecen las acciones a realizar. Si en algún caso, para un estado determinado de las condiciones, se realizan varias acciones y éstas se tienen que ejecutar en un orden preestablecido, figurarán en ese orden, de arriba abajo. Ej: paga extra, devolver dinero, Entrada de condiciones. Es una matriz de tantas filas como condiciones y tantas columnas como situaciones distintas se pueden presentar. Salida de acciones. Matriz en la que figuran tantas filas como acciones y tantas columnas como situaciones distintas se pueden presentar. Cada casilla de la matriz indica el tratamiento a realizar para una situación concreta. La indicación se hace con una X. Gráficamente: CONDICIONES ENTRADA DE CONDICIONES ACCIONES SALIDA DE ACCIONES Por ejemplo, supongamos que tenemos dos condiciones que se evalúan con se cumple (S) o no se cumple (N) y cinco acciones que se ejecutarán según la siguiente representación: 17

hace buen tiempo? S S N N hay buena programación en la tele? S N S N Va de pesca X X Ve la tele X Va al cine X Con su familia X X Con sus amigos X X Cada columna de la entrada de condiciones, correspondiente a un determinado estado de las mismas, se denomina situación. Cada columna de la salida de acciones se denomina tratamiento. A una situación junto con su tratamiento se denomina regla de decisión. UTILIDAD DE LAS TABLAS DE DECISIÓN: 1) Se usa para traducir textos administrativos, legislativos, que describen las reglas de gestión de procedimientos a automatizar. 2) Estudio de los posibles eventos de usuario en una aplicación para interfaz gráfica. 3) Posible consideración de la división de un problema complejo en subproblemas. 2.2.4.- Diagramas de Nassi-Schneiderman o de Chapin. Es similar a un diagrama de flujo, pero sin líneas y, donde los símbolos son cajas o bloques contiguos. SIMBOLOS USADOS EN ESTOS DIAGRAMAS: 1º) SÍMBOLOS DE OPERACIÓN O PROCESO: Acción 1... Acción N 18

2º) SIMBOLOS DE INSTRUCCIONES DE CONTROL (alternativas y bucles): sí condición no expresión e1 e2 e3...en-1 otro acc 1 acc 2 ac 1 ac 2 ac 3... ac n-1 ac n Decisión de 2 salidas Decisión con múltiples salidas o de n salidas MIENTRAS cond HACER REPETIR acción FIN_MIENTRAS Bucle MIENTRAS acción MIENTRAS condición Bucle REPETIR- MIENTRAS REPETI PARA x=x 0,x y,y acción acción Ejemplos: HASTA condición Bucle REPETIR-HASTA FIN_PARA Bucle PARA 1.- Realizar un diagrama de NASSI-SCHNEIDERMAN para un programa que pida 3 números y calcule la media media MEDIA DE 3 NÚMEROS Escribir media Leer A, B, C (A+B+C) 3 19

2.- Realizar el diagrama de NASSI-SCHNEIDERMAN para un programa que lea 2 números y después escriba el mayor seguido del menor. MAYOR DE 2 NÚMEROS Leer A, B A>B SÍ NO Escribir A, B Escribir B, A 3.- Realizar un diagrama de NASSI-SCHNEIDERMAN para un programa que escriba los números del 1 al 20 NÚMEROS DEL 1 AL 20 N 1 MIENTRAS N<=20 HACER: Escribir N N N+1 FIN_MIENTRAS 4.- Realizar un diagrama de NASSI-SCHNEIDERMAN para un programa que calcule la raíz cuadrada de cualquier número entero. SÍ RAIZ CUADRADA Leer N N<0 NO Escribir solución irreal Raiz Escribir Raiz N 20

2.3.-OBJETOS o ELEMENTOS DE UN PROGRAMA QUÉ SON? Los objetos de un programa son elementos a través de los cuales podemos almacenar datos y resultados de operaciones que conducen a la resolución de un problema. Son objetos de un programa todos los datos y resultados manipulados por las instrucciones de un programa En un programa la información se guarda en varios tipos de elementos, entre los que se encuentran las CONSTANTES y VARIABLES. Los elementos que almacenan la información poseen TRES CARACTERÍSTICAS BÁSICAS que son: 1) NOMBRE o IDENTIFICADOR: Son palabras creadas por el programador para dar nombre a los objetos y demás elementos que necesita declarar un programa. Servirá para identificar a un objeto. El nombre de un elemento: - se formará con letras, números y/o guiones (_), empezando siempre con una letra, - y no puede tener espacios por el medio. - El número máximo de caracteres que se pueden emplear depende del compilador utilizado. - El nombre asignado conviene que tenga relación con la información que contiene, pudiéndose emplear abreviaturas que sean significativas 2) TIPO DE DATOS QUE ALMACENA: Es el conjunto de valores que puede tomar el elemento, es decir, la variable o constante. Pueden ser valores numéricos enteros, reales,... 21

3) VALOR: Es la información que contiene el elemento. Para asignar los valores a los elementos se usan las INSTRUCCIONES DE ASIGNACIÓN. Por ejemplo, si declaramos el elemento variable dia de tipo entero, podríamos asignarle el valor 7 con la siguiente instrucción: dia 7 Con esto, el elemento dia almacena el valor 7. A un elemento de un tipo determinado no se le pueden asignar valores de otro tipo. Por ejemplo, si el elemento saldo es de tipo número real, sería incorrecto escribir la instrucción: Saldo H pues H es un carácter. CUÁLES SON? Una clasificación de los objetos más importantes que usan los programas sería: a) CONSTANTES: Son objetos cuyo valor no varía durante la ejecución de un programa. Las constantes pueden ser: Enteras Reales Alfanuméricas (es un carácter válido encerrado entre apóstrofos ). Cadena de caracteres (son varios caracteres entre comillas dobles). Ejemplos: PI = 3.1416 constante numérica real 0.85 constante. numérica real 1E+12 constante numérica real a constante carácter b) VARIABLES: Son objetos cuyo valor puede ser modificado durante la ejecución de un programa. Estos objetos deben ser definidos con un identificador y un tipo de dato. 22

El identificador es elegido por el programador y permite referenciar la variable para su uso en el programa pudiéndose modificar su valor. El tipo de dato permite determinar el tamaño de la variable en memoria. Según el tipo de dato que almacenan las variables pueden ser: Numéricas: enteras y reales Carácter Cadenas de texto Lógicas: almacenan valores de tipo verdadero o falso Antes de utilizar una variable en el programa, esta debe contener un valor que puede ser asignado inicialmente o bien durante la ejecución del programa. Ejemplo: a = 5 a = a * 6 c) DATOS: Son los objetos que se almacenan en las variables y constantes. En realidad es cualquier información necesaria para el programa y susceptible de ser guardada. Los tipos de datos más importantes y usados son: Datos básicos Numéricos No numéricos Entero Real Lógico Carácter Puntero 23

Datos derivados o compuestos Estáticos Dinámicos Externos Estructuras o registros Tablas (de 1 o más dimensiones) Lista Pila Cola Árbol Grafo Ficheros C.1) BÁSICOS: C.1.1) NUMÉRICOS: Se usan para representar datos formados exclusivamente por números (0, 1, 2, 4.5, etc). Se dividen en: - NUMÉRICOS ENTEROS: Sirve para representar número enteros. Pueden llevar o no el signo. Su rango depende del computador y del lenguaje de programación. Ejemplo: +58, -458, 9876 - NUMÉRICOS REALES: Se usa para representar números con parte decimal o los números enteros muy grandes o muy pequeños que se salgan del rango de los enteros. Se pueden representar de dos formas: Punto decimal: emplea los dígitos del 0 al 9 con su signo correspondiente y un punto para separar la parte entera de la decimal. Ejemplo: -82.75, +345.87 Científica o exponencial: Utiliza el formato mantisaecaracterística, donde: Mantisa es un número real. E representa la base decimal. Característica es el exponente correspondiente a un número entero con su signo. Ejemplos: 2.5E3, -0.75E-2 Ejemplo: 8999.393, -87.55, 3.4E+1 24

C.1.2) NO NUMÉRICOS: C.1.2.1 CARÁCTER: Se emplea para representar un carácter dentro de un conjunto definido por el fabricante del ordenador, de tal forma que cada carácter se corresponde con un número entero sin signo según un determinado código. Se usan mediante apóstrofo o comillas simples. Por ejemplo: N, /, a En algunos lenguajes (como en COBOL) se incluye como tipo de datos básico el tipo alfanumérico, que es una cadena de caracteres formada por un número determinado de caracteres y en otros lenguajes (como en C) se considera este tipo de dato como un vector de caracteres. C.1.2.2) LÓGICO O BOOLEANO: se emplea para representar dos valores opuestos, Verdadero o Falso, True o False, V o F, 1 o 0. Internamente se considera 1 como verdadero y 0 como falso. C.1.2.3) PUNTEROS: Se emplea para contener la dirección de memoria de otra variable C.2) DERIVADOS O COMPUESTOS: C.2.1) ESTÁTICOS: Residen en la memoria principal del ordenador. Son aquellos cuyo tamaño queda definido en la compilación del programa y no se puede modificar durante la ejecución del mismo. C.2.2) DINÁMICOS: Residen en la memoria principal del ordenador. Son aquellos cuyo tamaño puede ser modificado durante la ejecución del programa. 25

C.2.3) EXTERNOS: son los que residen en un soporte externo a la memoria principal, es decir memoria auxiliar (disco, lápiz memoria, ) d) EXPRESIONES: Son un conjunto de datos (operandos) y operadores que incluyen el cálculo necesario para obtener un resultado. Este resultado puede ser un valor, una constante, una función o una combinación de valores. Los operandos pueden ser también valores retornados por funciones. En la obtención del resultado se debe tener en cuenta el orden de prioridad de los operadores. Según sea el resultado que producen y los operadores que utilizan se clasifican en: TIPOS DE EXPRESIONES: 1) Numéricas: Su resultado es numérico y utilizan operandos y operadores numéricos. Ejemplo: 2 * PI * radio 2) Alfanuméricas: Su resultado es una cadena de caracteres y usa operandos alfanuméricos. Ejemplo: Don + nombre + apellidos donde: nombre y apellidos son 2 variables de tipo cadena caracter 3) Lógicas o booleanas: Su resultado es verdadero o falso y utilizan operadores relacionales y lógicos. Ejemplo: A > 25 AND (B + C) < D/2 26

e) OPERADORES: Son símbolos que sirven para conectar los datos haciendo diversas clases de operaciones. Es decir, se usan para construir expresiones. Hay varios tipos de operadores en función de las operaciones que vayan a realizar y se resumen en el siguiente cuadro: TIPO DE OPERADOR SÍMBOLO USADO Y SIGNIFICADO (depende del lenguaje de programación. Se muestran los más conocidos para cada tipo de operador) Aritméticos **, ^ Potencia * Producto / División div, \ %,mod División entera Módulo (resto de la división entera) + Signo positivo o suma - Signo negativo o resta Alfanuméricos + Concatenación - Concatenación eliminando espacios EJEMPLO DE USO 2 ^3 = 8 5 / 2 = 2.5 5 mod 2 = 1 DON + JOSE = = DON JOSE Relacionales ==,= Igual a!=,<> Distinto a < Menor que <= Menor o igual que > Mayor que >= Mayor o igual que 5 > = 2 es Verdadero Lógicos!, NOT, no Negación &&, AND, y Conjunción, OR, o Disyunción V y F es Falso ORDEN DE PRIORIDAD DE LOS OPERADORES: Dentro de las expresiones hay que tener un orden de prioridad de los operadores, que depende del lenguaje de programación que se vaya a usar, pero que de forma general se puede establecer, de MAYOR A MENOR PRIORIDAD de la siguiente forma: 27

1 - Paréntesis 2 - Signo 3 - Negación 4 - Potencia 5 - Producto, división y módulo 6 - Suma y resta 7 - Concatenación 8 - Operadores relacionales 9 - Conjunción 10 - Disyunción Los operadores con igual prioridad se evalúan de izquierda a derecha. Ejemplos de expresiones y cómo se evalúan: ((2+4)2-3) = 33 5 + 3 * 8 = 29 3 + 5 * 2 2 = 23 3 + (5 * 2) 2 = 103 (3 + 5) * 2 2 = 32 5<3 y 8<=12 es Falso f) INSTRUCCIONES: Son símbolos especiales de un lenguaje de programación que representan estructuras de procesamiento y de definición de elementos de programación. Toda instrucción se caracteriza por tener una duración limitada, un inicio (que será el final de la anterior) y un final (que será el comienzo de la siguiente). Ejemplos de 3 instrucciones en C: printf( hola que tal ); if (edad>12) printf ( hola joven ) else printf( hola niño ); edad= edad + 23; 28

2.4.-ESTRUCTURA GENERAL DE UN PROGRAMA: Partes de un programa, tipos de instrucciones y variables auxiliares 2.4.1.-PARTES DE UN PROGRAMA Un programa es un conjunto de instrucciones escritas en un lenguaje de programación y en un determinado orden que nos llevan a resolver un determinado problema. Todo programa, en general contiene dos bloques bien diferenciados: Bloque de declaraciones. Bloque de instrucciones. Dentro del bloque de instrucciones de un programa podemos diferenciar 3 partes fundamentales: entrada de datos, proceso y salida de datos. Entrada De datos Proceso Salida de datos En algunos casos estas tres partes están perfectamente delimitadas, pero a veces las instrucciones quedan entremezcladas a lo largo del programa. 2. 4.1.1.- Entrada de datos. Lo constituyen todas aquellas instrucciones que toman datos de un dispositivo externo (teclado, ) almacenándolos en memoria central para que puedan ser procesados. 2.4.1.2.- Proceso. Está formado por las instrucciones que modifican los objetos a partir de un estado inicial hasta el estado final, dejando estos disponibles en la memoria central. Es decir es el proceso que transforma los datos de entrada en datos de salida. 29

2.4.1.3.- Salida de datos. Son el conjunto de instrucciones que toman los datos finales de la memoria central y la envían a los dispositivos externos (impresora, pantalla, ). 2.4.2.-CLASIFICACIÓN DE LAS INSTRUCCIONES Una instrucción puede ser considerada como un hecho o suceso que genera unos cambios previstos en la ejecución de un programa. Toda instrucción se caracteriza por tener una: - duración limitada, - donde el inicio de la misma viene delimitado por el final de la anterior instrucción, - y donde el final de la misma viene delimitado por el comienzo de la siguiente instrucción. Las instrucciones dependen de cada lenguaje. Pero hay una serie de instrucciones que soportan todos los lenguajes y que son las que veremos. TIPOS DE INSTRUCCIONES: - Instrucciones de declaración o definición de datos - Instrucciones primitivas - Instrucciones de control 1) INSTRUCCIONES DE DECLARACIÓN ( o definición de datos): Se usan para anunciar el uso de objetos en un programa (variables, constantes, estructuras complejas de datos,...) y el nombre que tendrán dentro de él y de qué tipo serán. Es necesario indicárselo al procesador para que sepa cuánta memoria debe reservar para ese objeto. 2) INSTRUCCIONES PRIMITIVAS Son instrucciones sencillas que se ejecutan de manera inmediata, es decir, no dependen de nada más para ejecutarse. Se consideran las de : asignación y las de entrada y salida. 30

TIPOS DE INSTRUCCIONES PRIMITIVAS: 2.1) DE ENTRADA: Son las instrucciones encargadas de recoger datos de un periférico de entrada (teclado) y seguidamente almacenarlos en memoria en una variable previamente definida (con una instrucción de declaración), para la cual se ha reservado suficiente espacio en memoria. Ejemplo: LEER num Ordinograma Pseudocódigo Leer variable Leer variable Ordinograma Pseudocódigo Leer Lista de variables Leer var1, var2, var3,.. 2.2) DE SALIDA: Son las instrucciones encargadas de recoger datos de una variable o los resultados obtenidos de expresiones evaluadas y depositarlos en un periférico de salida (pantalla). Ejemplo: ESCRIBIR num Ordinograma Pseudocódigo Escribir variable Visualizar variable 31

Escribir expresión Visualizar expresión 2.3) DE ASIGNACIÓN: Son las instrucciones encargadas de almacenar (o asignar) el resultado de una expresión o de un objeto cualquiera en una variable previamente definida (con una instrucción de declaración). Debe tenerse en cuenta, que el tipo de la variable sobre la que se realizará la asignación debe ser del MISMO TIPO que el valor que se le va a asignar. Ejemplo: a 2 * 3 + 4 Ordinograma pseudocódigo Nombre_variable expresión Nom_variable expresión La operación de asignación es destructiva ya que al almacenarse un nuevo valor en la variable se borra el que tenia antes. Ejemplo: ordinograma pseudocódigo X = 1 X 1 A = 4 A 4 X A + 2 X = A + 2 32

Es posible utilizar el mismo nombre de variable en ambos lados del operador de asignación. Ejemplo: ordinograma pseudocódigo X = 1 X 1 A = 4 A 4 X = X + A X X + A Las sentencias de asignación se clasifican según el tipo de expresión en: Asignación aritmética: nota suma + 3 Asignación lógica: numero 3 > 5 Asignación alfanumérica: dia hoy es martes 3) INSTRUCCIONES DE CONTROL Son instrucciones que evalúan una expresión lógica y en función de su valor, alteran el orden de ejecución normal de las instrucciones del programa o controla el orden de ejecución de otras instrucciones. TIPOS DE INSTRUCCIONES DE CONTROL: 3.1) ALTERNATIVAS: Controlan la ejecución o la no ejecución de uno o varios bloques de instrucciones dependiendo del cumplimiento o no de una condición o del valor de una expresión. Pueden ser: 33

3.1.1) SIMPLE: (SI ENTONCES) SÍ acciones SÍ cond NO SI condición ENTONCES acción 1 acción 2... FIN_SI 3.1.2) DOBLE: (SI ENTONCES SINO) Si se cumple una condición se ejecutan unas instrucciones y si no se cumple se ejecutan otras. SI condición ENTONCES SÍ cond NO acción 1 acción 2... SINO acciones SÍ acciones NO acción 3 acción 4... FIN_SI 3.1.3) MÚLTIPLE: (SEGÚN_VALOR): Controla la ejecución de varios bloques de instrucciones según sea el valor final de una expresión, de forma que cada bloque está ligado a un solo valor posible de la expresión. Ordinograma: expresión v1 v2 v3... vn acción v1 acción v2 acción v3... acción vn 34

Pseudocódigo: SEGÚN_VALOR expresión valor 1: instrucción 1 valor 2: instrucción 2... valor n: instrucción n sino: otra instrucción FIN_SEGUN_VALOR 3.2) REPETITIVAS: Controlan la repetición de una o más instrucciones un número determinado de veces, o hasta, o mientras se cumpla una condición. DEBE HABER UNA CONDICIÓN DE PARADA (EN OTRO CASO, LA REPETICIÓN ES INFINITA) Existen varios tipos de estructuras repetitivas: 3.2.1) MIENTRAS: El conjunto de instrucciones se ejecuta mientras se cumpla la condición, que será evaluada siempre antes de cada repetición. Por tanto: La condición se verifica ANTES de cada repetición Permite repetir un bloque de instrucciones DE CERO A INFINITAS VECES Ordinograma: Pseudocódigo: cond SÍ acciones NO MIENTRAS condición HACER: acción 1 acción 2... FIN_MIENTRAS 35

3.2.2) REPETIR: Hay 2 versiones: REPETIR-MIENTRAS y REPETIR-HASTA. La condición se verifica DESPUÉS de cada repetición en ambas versiones. Permite repetir un bloque de instrucciones DE 1 A INFINITAS veces REPETIR - MIENTRAS acciones cond SÍ NO REPETIR acción 1 acción 2... MIENTRAS condición REPETIR - HASTA acciones cond NO SÍ REPETIR acción 1 acción 2... HASTA condición 36

3.2.3) PARA O FOR: El bloque de instrucciones se repite un nº determinado de veces que queda definido en la cabecera del bucle. Esta estructura lleva asociada una variable que actúa como contador. El contador parte de un valor inicial y se irá incrementando en cada repetición hasta llegar al valor final que es cuando se detiene la ejecución. A este contador se le llama variable de control. Ordinograma pseudocódigo Vcont = Vi, Vf, n PARA Vcont desde Vi hasta Vf,Inc=n HACER Instrucción 1 Instruccion 2... Bloque de instrucciones instrucción n FIN_PARA Vcont = variable de control Vi = valor inicial Vf = valor final Inc = incremento Nº de repeticiones = (Vf Vi) div Inc + 1 3.3) DE RUPTURA DE SECUENCIA O SALTO: Son aquellas instrucciones que alteran o rompen la secuencia normal de ejecución de un programa enviándolo a una etiqueta y perdiendo toda posibilidad de retornar el control de ejecución del programa al punto de llamada. EN PROGRAMACIÓN ESTRUCTURADA, NO SE DEBEN USAR. 37

Hay 2 tipos: Salto incondicional Salto condicional: Se altera si se cumple una condición asociada a la propia instrucción 2.4.3.-VARIABLES AUXILIARES: contadores, acumuladores e indicadores QUÉ SON? Son variables cuyos valores van a variar a lo largo de la ejecución del programa. Los valores que van tomando siempre estarán en relación con el valor anterior. TIPOS Contadores Acumuladores Indicadores 2.4.3.1.-CONTADORES Son variables numéricas cuyo valor se incrementa o decrementa EN UNA DETERMINADA CANTIDAD FIJA E INVARIABLE. Todo contador debe tomar un valor inicial antes de ser usado. Normalmente se inicializan a 0. contador valor_inicial 38

Son variables que se usan para contar: en las estructuras repetitivas para contar el nº de veces que queremos se ejecute un conjunto de instrucciones o para contar un suceso particular solicitado por el enunciado del problema. Cada vez que queramos que se incremente o decremente el valor del contador se pondrá la siguiente instrucción: contador contador ± cantidadfija EJEMPLO DE USO Queremos hacer un programa que nos diga cuantos alumnos mayores de 25 años hay en clase. Para ello se diseñará el algoritmo de un programa que pedirá la edad a los 30 alumnos que están matriculados y mostrará en pantalla el resultado deseado: PROGRAMA mayores_25 ENTORNO: edad, contalum, ** contador de alumnos (hasta 30) contmay, ** contador de mayores de 25 años : numéricas enteras ALGORITMO: contalum 0 contmay 0 REPETIR LEER edad contalum contalum + 1 39

SI (edad > 25) ENTONCES FIN_SI contmay contmay + 1 HASTA QUE (contalum = 30) VISUALIZAR EL nº de alumnos mayores de 25 es: contmay FIN_PROGRAMA 2.4.3.2.-ACUMULADORES Son variables numéricas cuyo valor se incrementa o decrementa CON CANTIDADES VARIABLES Son variables que se utilizan para almacenar cantidades variables resultantes de operaciones sucesivas; es decir, para almacenar sumatorios o productos sucesivos. La forma de uso es: identificador1 identificador1 + identificador2 identificador1 identificador1 * identificador2 Todo acumulador también debe tomar un valor inicial antes de ser usado. Normalmente se inicializan así: Para sumatorios se inicializan a 0 Para productos se inicializan a 1 40

EJEMPLO DE USO Realizar el pseudocódigo de un programa que permita calcular la suma de los números pares que hay del 1 al 100 y, su producto también: PROGRAMA opera_pares_1_100 ENTORNO: cont, ** contador de números del 1 al 100 suma, producto ** acumulador de sumas ** acumulador de productos : numéricas enteras ALGORITMO: cont 0 suma 0 producto 1 MIENTRAS (cont <100) HACER: cont cont + 1 SI (cont modulo 2 = 0) ENTONCES suma suma + cont producto producto * cont FIN_SI FIN_MIENTRAS VISUALIZAR La suma es: suma y el producto es: producto FIN_PROGRAMA 41

2.4.3.3.-INDICADORES O INTERRUPTORES O SWITCHES Son variables que sólo pueden tomar 2 valores lógicos y opuestos entre sí (normalmente 0 y 1, -1 y +1,...Por esto, también se les llama interruptores o conmutadores o switch. Todo switch debe tomar un valor inicial antes de ser usado. Son variables que se usan para transmitir información de un punto a otro de un programa y para conmutar alternativamente entre 2 posibles caminos. EJEMPLO DE USO Diseñar un pseudocódigo correspondiente a un programa que pida 100 números enteros al usuario y después nos diga si el usuario ha introducido algún 5. PROGRAMA averiguar_numero ENTORNO cont, **contador de números del 1 al 100 sw, **variable de tipo switch o indicador num : numéricas enteras ALGORITMO: cont 0 sw 0 MIENTRAS (cont < 100) HACER: LEER num cont cont + 1 42

SI (num = 5) ENTONCES FINSI sw 1 FIN_MIENTRAS SI (sw = 1) ENTONCES VISUALIZAR El usuario ha introducido algún 5 SINO VISUALIZAR El usuario no ha introducido ningún 5 FIN_SI FIN_PROGRAMA 43