
















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: MTP 1, Profesor: , Carrera: Ingeniería Técnica de Informática de Gestión, Universidad: UJAEN
Tipo: Apuntes
1 / 24
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!

















Tema 3. Estructuras de control 3
Tema 3. Estructuras de control
Tipos de estructuras de control
Tema 3. Estructuras de control 7
Ejemplo
¿En cuáles de los siguientes pares es importante
el orden de los enunciados? Es decir, si se modifica el orden ¿cambian los resultados finales? (Suponemos que X≠Y≠Z)
Estructuras secuenciales –
Lectura/Entrada
LEER(var)
LEER(cateto1)
LEER(nota1, nota2) es equivalente a las siguientes dos sentencias LEER(nota1) LEER(nota2)
LEER(var)
Tema 3. Estructuras de control 9
Estructuras secuenciales –
Escritura/Salida
ESCRIBIR(hipotenusa) ESCRIBIR(b+3)
ESCRIBIR(“Hola”)
ESCRIBIR(“La media de las notas es “,media)
ESCRIBIR(exp)
Estructura básica de un algoritmo
ALGORITMO nombre. Entrada Salida Proceso (Descripción) CONSTANTES id_cte1 = valor …………………………………………………… ………………………… id_cteN = valorN VARIABLES id_var1 : tipo …………………………………………………… ………………………… id_varM : tipoM
ALGORITMO triangulo. Entrada: cat1 y cat Salida: hipotenusa Proceso: Calcula la hipotenusa de un triángulo rectángulo tomando como entrada el valor de los dos catetos VARIABLES cat1, cat2 : REAL hipotenusa : REAL
Tema 3. Estructuras de control 13
Inicio
aux A
B aux
Fin
Tema 3. Estructuras de control 15
Seminario 1
Estructuras secuenciales
Jueves 11 de octubre de 8’30 a 9’30 (grupo A), y
de 15’30 a 16’30 (grupo B)
Relación de ejercicios del tema 3
Ejercicios 9, 10, 15 y 16
Estructuras condicionales
SI condición ENTONCES Sentencias en caso de verdad SI_NO Sentencias en caso de falso FIN_SI
SI condición ENTONCES Sentencias en caso de verdad FIN_SI
Condición Sentencias caso verdad
Sentencias caso falso
Falso Verdad
Condición Sentencias caso verdad
Verdad
Falso
Tema 3. Estructuras de control 19
Estructuras condicionales anidadas
Estructuras condicionales múltiples
CASO num 1: ESCRIBIR(‘El número es 1’) 2: ESCRIBIR(‘El número es 2’) 3,4: ESCRIBIR(‘El número es 3 o 4’) EN OTRO CASO ESCRIBIR(‘Entrada no válida’) FIN_CASO
var=?
S1 S2 Sn Sc
var=valor_1 var=valor_
Acciones para otros valores de var var=valor_n
Tema 3. Estructuras de control 21
Ejemplo. Determinar el mayor de 4 números
(con condiciones simples)
mayor D SI_NO mayor C FIN_SI SI_NO SI (B<D) ENTONCES mayor D SI_NO mayor B FIN_SI FIN_SI SI_NO …
mayor D SI_NO mayor C FIN_SI SI_NO SI (A<D) ENTONCES mayor D SI_NO mayor A FIN_SI FIN_SI FIN_SI
Ejemplo. Determinar el mayor de 4 números
(con condiciones compuestas)
SI (A>B) AND (A>C) AND (A>D) ENTONCES mayor A FIN_SI SI (B>A) AND (B>C) AND (B>D) ENTONCES mayor B FIN_SI SI (C>A) AND (C>B) AND (C>D) ENTONCES mayor C FIN_SI SI (D>A) AND (D>B) AND (D>C) ENTONCES mayor D FIN_SI
Tema 3. Estructuras de control 25
Seminario 2
Estructuras condicionales
Jueves 25 de octubre de 8’30 a 9’30 (grupo A) y
de 15’30 a 16’30 (grupo B)
Relación de ejercicios del tema 3
Ejercicios 18, 26 y 27
Estructuras repetitivas
El cuerpo del bucle se repite un número fijo de iteraciones dependiendo de una variable de control
El número de veces que se ejecuta el bucle depende de una condición
Tema 3. Estructuras de control 27
Bucle MIENTRAS
Condición
Cuerpo del Bucle
Sentencias
Falso Verdad
Bucle REPETIR-HASTA
Condición
Cuerpo del Bucle
Sentencias
Verdad
Falso
Tema 3. Estructuras de control 31
Bucle PARA
El cuerpo del bucle se repite un número fijo de iteraciones Variable de control Controla el número de iteraciones Se le asignan automáticamente valores sucesivos Al comienzo del bucle se debe especificar su valor inicial y su valor final Debe ser de tipo entero, carácter o enumerado y su valor NO puede ser modificado dentro del bucle Cuando el bucle termina, su valor es indeterminado
PARA var=inicio HASTA fin HACER Cuerpo del bucle FIN_PARA
var<=fin
Cuerpo del Bucle
Sentencias
Falso Verdad
var <- inicio
var <- var+
Equivalencia PARA - MIENTRAS
Tema 3. Estructuras de control 33
Ejemplo: Factorial
ALGORITMO factorial_mientras. Entrada: N Salida: fact Proceso: calcula el factorial de N usando un bucle MIENTRAS VARIABLES N, i, fact: ENTERO
ALGORITMO factorial_para.
N, i, fact: ENTERO
Validación de datos de entrada
ALGORITMO validacion_mientras. Entrada: nota Salida: nota Proceso: Validación de los datos de entrada con un bucle MIENTRAS VARIABLES nota: REAL
ALGORITMO validacion_repetir. Entrada: nota Salida: nota Proceso: Validación de los datos de entrada con un bucle REPETIR- HASTA VARIABLES nota: REAL
Tema 3. Estructuras de control 37
a) var ← 0 PARA num=1 HASTA 10 HACER var ← var + 1 FIN_PARA ESCRIBIR (var)
b) var ← 0 PARA num=4 HASTA 16 HACER var ← var + 1 FIN_PARA ESCRIBIR (var)
c) var ← 0 PARA num=1 HASTA 5 HACER PARA mult=1 HASTA 8 HACER var ← var + 1 FIN_PARA FIN_PARA ESCRIBIR (var)
Tema 3. Estructuras de control 39
ALGORITMO suma_pares. VARIABLES i,n,suma:ENTERO 1.[Entrada de datos] REPETIR ESCRIBIR(‘Introduzca un entero:’) LEER(N) HASTA (N>0) 2.[Sumar los n primeros pares] suma 0 i 2 MIENTRAS (i<=2*n) HACER suma suma + i i i+ FIN_MIENTRAS ESCRIBIR(‘La suma es’,suma) 3.[Fin]
Inicio
suma 0 i 2
sum suma+i i i+ ESCRIBIR(suma)
Fin
verdad
falso
i<=N verdad falso