Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
12/12/2018
1
Facultad de Informática Culiacán
Estructuras de Repetición
Instructores: MC. Gerardo Gálvez Gámez
Noviembre de 2018
UNIVERSIDAD AUTÓNOMA DE SINALOA
Estructuras de Repetición • Algoritmia • FIUAS
Problema 1:
• Elaborar el análisis y pseudocódigo queimprima en pantalla los número del 1 al10.
• Tiempo: 5 min.
octubre de 2012
2
12/12/2018
2
Estructuras de Repetición • Algoritmia • FIUAS
Análisis del problema Inicial
1. Información de Salida▫ Numero1, Numero2, Numero3,Numero4,Numero5,Numero6
▫ Numero7, Numero8, Numero9, Numero10
2. Datos Conocidos1.Numero1=1, Numero2=2, Numero3=3, Numero4=4
2.Numero5,=5, Numero6=6, Numero7=7, Numero8=8
3.Numero9=9, Numero10=10
3. Datos de Entrada (no Conocidos)1.Ninguno
4.Restricciones▫ No se debe solicitar el numero a imprimir.
▫ Los números son enteros.
▫ Imprimirlos por renglón cada uno
3
Estructuras de Repetición • Algoritmia • FIUAS
Proceso
• Imprimir el contenido de cada dato conocido.
Escoger y decidir las operaciones a efectuar.
4
12/12/2018
3
Estructuras de Repetición • Algoritmia • FIUAS
Propuesta # 1
Objetivo: Imprimir los número del 1 al 10 en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Noviembre / 2016
INICIO
CONST ENTERO Numero1=1, Numero2=2, Numero3=3
CONST ENTERO Numero4=4, Numero5=5, Numero6=6
CONST ENTERO Numero7=7, Numero8=8, Numero9=9
CONST ENTERO Numero10=10
IMPRIMIR Numero1
IMPRIMIR Numero2
IMPRIMIR Numero3
IMPRIMIR Numero4
IMPRIMIR Numero5
IMPRIMIR Numero6
IMPRIMIR Numero7
IMPRIMIR Numero8
IMPRIMIR Numero9
IMPRIMIR Numero10
FIN
5
Estructuras de Repetición • Algoritmia • FIUAS
Propuesta # 2
Objetivo: Imprimir los número del 1 al 10 en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: ___ / Noviembre / 2016
INICIOIMPRIMIR “1”
IMPRIMIR “2”
IMPRIMIR “3”
IMPRIMIR “4”
IMPRIMIR “5”
IMPRIMIR “6”
IMPRIMIR “7”
IMPRIMIR “8”
IMPRIMIR “9”
IMPRIMIR “10”
FIN
6
12/12/2018
4
Estructuras de Repetición • Algoritmia • FIUAS
Competencia del Tema
El alumno:
• Conocerá las diferentes estructuras algorítmicasRepetitivas como componentes básicos de losprogramas y aplicará la combinación de ellaspara el desarrollo de algoritmos más complejos.
7
Estructuras de Repetición • Algoritmia • FIUAS
Contenido
• Introducción
• Clasificación de Estructuras
▫ Estructura MIENTRAS Funcionamiento lógico
Sintaxis pseudocódigo
Ejemplos
▫ Estructura REPETIR Funcionamiento lógico
Sintaxis pseudocódigo
Ejemplos
▫ Estructura DESDE Funcionamiento lógico
Sintaxis pseudocódigo
Ejemplos
8
12/12/2018
5
Estructuras de Repetición • Algoritmia • FIUAS
Introducción
• Repetición:▫ Es una estructura que permite controlar la
ejecución de acciones que se deben realizar enmás de una ocasión.
▫ El número de repeticiones puede ser:
Fija (con un número determinado de iteraciones) o
Variable (con un número indeterminado deiteraciones, y esta en función de algún dato de entradao procesado, dentro del algoritmo).
9
Estructura MIENTRAS
Funcionamiento Lógico
(Semántica)
10
12/12/2018
6
Estructuras de Repetición • Algoritmia • FIUAS
Estructura MIENTRAS
Valor Inicial de variable de control
Condición
Acciones
Incremento / Decremento
No
Sí
Acciones fuera del ciclo
11
Estructuras de Repetición • Algoritmia • FIUAS
Definición de Variable de control
. . .
Valor Inicial de Variable de control
MIENTRAS(Condición ó expresión-booleana)
instrucciones (acciones a realizar)Incremento / decremento de variable de control
FIN_MIENTRAS
Otras acciones fuera del ciclo
. . .
Sintaxis Pseudocódigo:
12
12/12/2018
7
Estructuras de Repetición • Algoritmia • FIUAS
Análisis del Problema Inicial
• Información de Salida▫ Numero (s)
• Datos Conocidos▫ NumeroInicial= 1▫ NumeroFinal = 10
• Datos de Entrada (no Conocidos)
• Restricciones▫ No se debe solicitar el número a imprimir.▫ Los números son enteros.▫ Imprimirlos en renglones separados
13
Estructuras de Repetición • Algoritmia • FIUAS
Proceso
Paso #1.- Definir una variable de controlENTERO Numero
Paso #2.- Indicar el Valor inicial de la variable de control
Numero=NumeroInicial
Paso #3.- Indicar el inicio de la estructura de repeticiónMIENTRAS, empleando la siguiente expresión lógica,como control de permanencia
Numero <=NumeroFinal
Paso # 4.- Imprimir el Valor de la variable de controlIMPRIMIR Numero
Paso #5.- Incrementar en 1 la variable de control
Numero=Numero + 1
Paso #6.- Regresar el control al paso #3
Escoger y decidir las operaciones a efectuar.
14
12/12/2018
8
Estructuras de Repetición • Algoritmia • FIUAS
Pseudocódigo del problema Inicial:
Objetivo: .
Programador: MC. Gerardo Gálvez G.
Fecha: ___ / Noviembre/ 2016
INICIO
CONST ENTERO NumeroInicial= 1, NumeroFinal=10
ENTERO Numero
Numero = NumeroInicial
MIENTRAS(Numero <= NumeroFinal)
IMPRIMIR Numero
Numero = Numero + 1
FIN_MIENTRAS
FIN
15
Estructuras de Repetición • Algoritmia • FIUAS
Pantalla de la PC
Actividad:
Verificación (prueba y depuración)
Estructura de 32 bits
12/12/2018
9
Estructuras de Repetición • Algoritmia • FIUAS
El alumno realizará las pruebas de verificación a los siguientes
pseudocódigos propuestos como solución a problemas y
determinará cual es su objetivo.
Estructuras de Repetición • Algoritmia • FIUAS
#1
Objetivo: __________________________________
Programador: MC. Gerardo Gálvez G.
Fecha: ____/ Noviembre / 2016
INICIO
CONST ENTERO NumeroInicial = 1, NumeroFinal=10
ENTERO Contador
Contador = NumeroInicial
MIENTRAS(Contador <= NumeroFinal)
IMPRIMIR Contador
Contador = Contador + 2
FIN_MIENTRAS
FIN
18
12/12/2018
10
Estructuras de Repetición • Algoritmia • FIUAS
#2
Objetivo: _______________________________________
Programador: MC. Gerardo Gálvez G.
Fecha: ___/Noviembre/2016
INICIO
CONST ENTERO NumeroInicial = 1, NumeroFinal=10
ENTERO Contador
Contador = NumeroFinal
MIENTRAS(Contador >= NumeroInicial)
IMPRIMIR Contador
Contador = Contador - 1
FIN_MIENTRAS
FIN
19
Estructuras de Repetición • Algoritmia • FIUAS
ExtraClases
ObjetivoEl alumno demostrara la habilidad alcanzada en clases, paraanalizar, construir y probar pseudocódigos de diversos problemas,planteados.
20
12/12/2018
11
Estructuras de Repetición • Algoritmia • FIUAS
Descripción de Requerimientos
1. Elaborar un Algoritmo que imprima enpantalla la tabla de multiplicar de un númerocualquiera, en el rango de 1 a 10, bajo elformato de salida indicado por el instructor.
2. Elaborar un Algoritmo que calcule e imprimaen pantalla la cantidad que tendría ahorradauna persona después de 10 años, si sedepositan 1000 pesos mensuales a una tasade interés mensual del 3%, capitalizable cadames, es decir, que al capital se le agregan losintereses.
21
Estructuras de Repetición • Algoritmia • FIUAS
Descripción de Requerimientos
▫ 3.- Elaborar un pseudocódigo quesolicite las calificaciones de 3exámenes parciales, para cada unde 10 alumnos, y calcule e imprima:
El promedio por cada alumno.
El promedio general del grupo.
22
12/12/2018
12
Estructuras de Repetición • Algoritmia • FIUAS
Análisis del Problema #1
1. Información de Salida▫ Resultado
2. Datos Conocidos1.NumeroInicial= 1
2.NumeroFinal = 10
3. Datos de Entrada (no Conocidos)1.NumeroTabla
4.Restricciones▫ El número de tabla es entero.
▫ Imprimirlos en el formato: NumeroTabla, “ X”, Indice, “=”, Resultado
23
Estructuras de Repetición • Algoritmia • FIUAS
Proceso
Paso #1.- Definir una variable de control
ENTERO Indice
Paso #2.- Indicar el Valor inicial de la variable de control
Indice=NumeroInicial
Paso #3.- Emplear la siguiente expresión lógica, como controlde permanencia de la estructura MIENTRAS
Indice <=NumeroFinal
Paso #4.-Calcular el resultado de Multiplicación
Resultado = NumeroTabla * Indice
Paso # 5.- Imprimir el Resultado en el siguiente formato:
NumeroTabla, “ X”, Indice, “=”, Resultado
Paso #6.- Incrementar en 1 la variable de control
Indice=Indice +1
Paso #7.- Regresar el control al paso #3
Escoger y decidir las operaciones a efectuar.
24
12/12/2018
13
Estructuras de Repetición • Algoritmia • FIUAS
Objetivo: Imprimir la tabla de multiplicar de un número.
Programador: MC. Gerardo Gálvez G.
Fecha: __/ Noviembre / 2016
INICIO
//Definición de Constante y variables
CONST ENTERO ValorInicial = 1, ValorFinal = 10
ENTERO Indice, NumeroTabla, Resultado
//Lectura de Datos
IMPRIMIR ”Indique el número de tabla de multiplicar a imprimir:”
LEER NumeroTabla
//Procesamiento y salida
Indice = ValorInicial
MIENTRAS( Indice <= ValorFinal)
Resultado = NumeroTabla * IndiceIMPRIMIR NumeroTabla, “ X”, Indice, “=”, Resultado
Indice = Indice + 1
FIN_MIENTRAS
FIN
25
Estructuras de Repetición • Algoritmia • FIUAS
Plan de Prueba o verificación del algoritmo
Valores de Entrada Salidas Esperadas
NumeroTabla=1 1 x 1=11 x 2=21 x 3 =3…1 x10=10
12/12/2018
14
Estructuras de Repetición • Algoritmia • FIUAS
Pantalla de la PC
Actividad:
Verificación (prueba y depuración)
Estructura de 32 bits
Estructuras de Repetición • Algoritmia • FIUAS
Análisis del Problema #2
1. Información de Salida▫ Capital
2. Datos Conocidos▫ CantidadDeposito = 1000
▫ TasaInteresMensual = 3
▫ AñosInversion = 10
▫ MesesAño =12
3. Datos no Conocidos1.Ninguno
4.Restricciones▫ No solicitar la cantidad final ahorrada.▫ El interés generado en cada mes se agrega al capital.▫ El interés se calcula en base al capital existente en ese mes.
28
12/12/2018
15
Estructuras de Repetición • Algoritmia • FIUAS
Aplicación de la Nueva Herramienta
Estructuras de Repetición • Algoritmia • FIUAS
Fundamentos Algorítmicos Requeridos
• Variable Contador:
▫ Es una variable cuyo valor se incrementa o decrementa en unacantidad constante cada vez que se produce un determinado suceso oacción.
▫ Los contadores se utilizan con la finalidad de contar sucesos o accionesinternas de un ciclo(Estructura repetitiva).
Sintaxis: Contador = Contador + ValorConstante
• Variable Acumulador:
▫ Es una variable que suma sobre sí misma un conjunto de valores,para de esta manera tener la suma de todos ellos en una solavariable.
Sintaxis: Acumulador = Acumulador + ValorVariable
12/12/2018
16
Estructuras de Repetición • Algoritmia • FIUAS
Proceso
Paso #1.- Determinar los meses de inversiónMesesInversion = AñosInversion * MesesAño
Paso #2.- Indicar el mes y capital inicial (abrir la cuenta/inicializar)Mes = 1
Capital = 0 //cero
Paso #3.- Indicar el inicio de la estructura de repetición, utilizando lasiguiente expresión lógica, como control de permanencia:
Mes <= MesesInversion
Paso #4.-Agregar al capital el deposito del mes correspondiente.
Capital = Capital + CantidadDeposito
Paso #4.-Calcular el interés del mes.Interes = Capital * (TasaInteresMensual / 100)
Paso # 5.- Agregar al capital el interés ganado en el mes actual.Capital = Capital + Interes
Paso #6.- Incrementar el mesMes=Mes + 1
Paso #7.- Regresar el control al paso #3
Escoger y decidir las operaciones a efectuar
31
Estructuras de Repetición • Algoritmia • FIUAS
Objetivo: Determinar e imprimir la cantidad ahorrada de una persona en 10 años.
Programador: MC. Gerardo Gálvez G.
Fecha: __/ Noviembre / 2016
INICIO
//Definición de Constante y variables
CONST REAL CantidadDeposito = 1000, TasaInteresMensual = 3
CONST ENTERO AñosInversion = 10, MesesAño =12
REAL Capital, Interes
ENTERO MesesInversion, Mes
32
12/12/2018
17
Estructuras de Repetición • Algoritmia • FIUAS
//Procesamiento: Determinar el total de la inversión
MesesInversion = AñosInversion * MesesAño
Mes = 1
Capital = 0
MIENTRAS( Mes <= MesesInversion)
Capital = Capital + CantidadDeposito
Interes = Capital * (TasaInteresMensual / 100)Capital = Capital + Interes
Mes = Mes + 1
FIN_MIENTRAS//Salida de información
IMPRIMIR “La cantidad ahorrada seria de:$”, Capital
FIN
33
Estructuras de Repetición • Algoritmia • FIUAS
Plan de Prueba o verificación del algoritmo
Valores de Entrada Salidas Esperadas
Capital=__________
12/12/2018
18
Estructuras de Repetición • Algoritmia • FIUAS
Pantalla de la PC
Actividad:
Verificación (prueba y depuración)
Estructura de 32 bits
Estructuras de Repetición • Algoritmia • FIUAS
Análisis del Problema #3
1. Información de Salida▫ PromedioAlumno
▫ PromedioGrupo
2. Datos Conocidos
▫ TotalParciales = 3
▫ TotalAlumnos=10
3. Datos no Conocidos▫ CalificacionParcial1
▫ CalificacionParcial2
▫ CalificacionParcial3
4.Restricciones▫ No solicitar el promedio del alumno.
▫ No solicitar el promedio del grupo.
36
12/12/2018
19
Estructuras de Repetición • Algoritmia • FIUAS
Proceso
• Subproblema #1: Calcular el promedio del alumno eimprimirlo.
• Subproblema #2: Atender a cada uno de los 10 alumnos.
• Subproblema #3: Calcular el promedio del grupo eimprimirlo (para lograrlo se requiere sumar los promedio decada uno de los alumnos).
Identificando el ¿Que?.
Estructuras de Repetición • Algoritmia • FIUAS
12/12/2018
20
Estructuras de Repetición • Algoritmia • FIUAS
//Proceso: Determinar el promedio de un alumno.
//Leer las calificaciones parciales
IMPRIMIR “Teclee la calificación del parcial 1:”
LEER CalificacionParcial1
IMPRIMIR “Teclee la calificación del parcial 2:”
LEER CalificacionParcial2
IMPRIMIR “Teclee la calificación del parcial 3:”
LEER CalificacionParcial3
//Calcular el promedio
PromedioAlumno = (CalificacionParcial1 + CalificacionParcial2 +
CalificacionParcial3) / TotalParciales
//Imprimir el promedio obtenido
IMPRIMIR “El promedio es:”,PromedioAlumno
39
Estructuras de Repetición • Algoritmia • FIUAS
12/12/2018
21
Estructuras de Repetición • Algoritmia • FIUAS
//Proceso: Determinar el promedio de cada uno de los 10 alumno
//Inicializar el contador de alumnos
ContadorAlumnos=1
MIENTRAS( ContadorAlumno<=TotalAlumnos)//Lectura de datos
IMPRIMIR “Calificaciones del Alumno# ”, ContadorAlumno
IMPRIMIR “Teclee la calificación del parcial 1:”
LEER CalificacionParcial1
IMPRIMIR “Teclee la calificación del parcial 2:”
LEER CalificacionParcial2
IMPRIMIR “Teclee la calificación del parcial 3:”
LEER CalificacionParcial3
//proceso: Calculo del promedio del alumno
PromedioAlumno = (CalificacionParcial1 + CalificacionParcial2 +
CalificacionParcial3) / TotalParciales
//salida: Impresión del promedio obtenido por el alumno
IMPRIMIR “El promedio es:”,PromedioAlumno
//Incrementar el contador de alumnos atendidos
ContadorAlumnos = ContadorAlumnos + 1
FIN_MIENTRAS41
Estructuras de Repetición • Algoritmia • FIUAS
12/12/2018
22
Estructuras de Repetición • Algoritmia • FIUAS
//Proceso: calcular el promedio de cada alumno y el promedio del grupo
//Inicializar el contador de alumnos y acumulador de promedios
ContadorAlumnos=1
SumaPromedios=0
MIENTRAS( ContadorAlumno<=TotalAlumnos)
//Lectura de datos
IMPRIMIR “Calificaciones del Alumno# ”, ContadorAlumno
IMPRIMIR “Teclee la calificación del parcial 1:”
LEER CalificacionParcial1
IMPRIMIR “Teclee la calificación del parcial 2:”
LEER CalificacionParcial2
IMPRIMIR “Teclee la calificación del parcial 3:”
LEER CalificacionParcial3
//proceso: Calculo del promedio del alumno
PromedioAlumno = (CalificacionParcial1 + CalificacionParcial2 +
CalificacionParcial3) / TotalParciales
//salida: Impresión del promedio obtenido por el alumno
IMPRIMIR “El promedio es:”,PromedioAlumno
//Acumular el promedio obtenido
SumaPromedios = SumaPromedios + PromedioAlumno
//Incrementar el contador de alumnos atendidos
ContadorAlumnos = ContadorAlumnos + 1
FIN_MIENTRAS//Calcular el promedio del grupo
PromedioGrupo = SumaPromedios / TotalAlumnos
//Salida: Impresión del promedio del grupo
IMPRIMIR “El promedio del grupo es:”, PromedioGrupo 43
Estructuras de Repetición • Algoritmia • FIUAS
Objetivo: Determinar el promedio de cada uno de los 10 alumno, así como también el promedio del grupo.
Programador: MC. Gerardo Gálvez G.
Fecha: __/ Noviembre / 2016
INICIO
//Definición de Constante y variables
CONST REAL TotalParciales = 3,TotalAlumnos=10
REAL CalificacionParcial1, CalificacionParcial2, CalificacionParcial3
REAL PromedioAlumno, PromedioGrupo, SumaPromedios
ENTERO ContadorAlumnos
//Inicializar el contador de alumnos y acumulador de promedios
ContadorAlumnos=1
SumaPromedios=0
44
12/12/2018
23
Estructuras de Repetición • Algoritmia • FIUAS
//Proceso: calcular el promedio de cada alumno y el promedio del grupo //Inicializar el contador de alumnos y acumulador de promedios
ContadorAlumnos=1
SumaPromedios=0MIENTRAS( ContadorAlumno<=TotalAlumnos)
//Lectura de datos
IMPRIMIR “Calificaciones del Alumno# ”, ContadorAlumnoIMPRIMIR “Teclee la calificación del parcial 1:”LEER CalificacionParcial1IMPRIMIR “Teclee la calificación del parcial 2:”LEER CalificacionParcial2IMPRIMIR “Teclee la calificación del parcial 3:”LEER CalificacionParcial3//proceso: Calculo del promedio del alumnoPromedioAlumno = (CalificacionParcial1 + CalificacionParcial2 +
CalificacionParcial3) / TotalParciales//salida: Impresión del promedio obtenido por el alumnoIMPRIMIR “El promedio es:”,PromedioAlumno//Acumular el promedio obtenidoSumaPromedios = SumaPromedios + PromedioAlumno//Incrementar el contador de alumnos atendidosContadorAlumnos = ContadorAlumnos + 1
FIN_MIENTRAS//Calcular el promedio del grupo
PromedioGrupo = SumaPromedios / TotalAlumnos//Salida: Impresión del promedio del grupo
IMPRIMIR “El promedio del grupo es:”, PromedioGrupo
FIN
45
Estructuras de Repetición • Algoritmia • FIUAS
Reto
▫ Modifique el problema anterior, para quesolicite el número de alumnos:
El promedio por cada alumno.
El promedio general del grupo.
46
12/12/2018
24
Estructuras de Repetición • Algoritmia • FIUAS
Objetivo: Determinar el promedio de cada alumno y el promedio del grupo.
Programador: MC. Gerardo Gálvez G.
Fecha: __/ Noviembre / 2016
INICIO
//Definición de Constante y variables
CONST REAL TotalParciales = 3,TotalAlumnos=10
REAL CalificacionParcial1, CalificacionParcial2, CalificacionParcial3
REAL PromedioAlumno, PromedioGrupo, SumaPromedios
ENTERO ContadorAlumnos
CARACTER Opcion
//Inicializar valores de variables
ContadorAlumnos=0
SumaPromedios=0
Opcion=‘S’
47
Estructuras de Repetición • Algoritmia • FIUAS
//Procesamiento
MIENTRAS( Opcion==‘S’ OR Opcion==‘s’)
IMPRIMIR “Teclee la calificación del parcial 1:”
LEER CalificacionParcial1
IMPRIMIR “Teclee la calificación del parcial 2:”
LEER CalificacionParcial2
IMPRIMIR “Teclee la calificación del parcial 3:”
LEER CalificacionParcial3
PromedioAlumno = (CalificacionParcial1 + CalificacionParcial2 +
CalificacionParcial3) / TotalParciales
IMPRIMIR “El promedio es:”,PromedioAlumno
SumaPromedios = SumaPromedios + PromedioAlumno
ContadorAlumnos = ContadorAlumnos + 1
IMPRIMIR “Atender otro alumno (S / N):”
LEER Opcion
FIN_MIENTRAS
PromedioGrupo = SumaPromedios / ContadorAlumnos
//Salida de información
IMPRIMIR “El promedio del grupo es:”, PromedioGrupo
FIN
48
12/12/2018
25
Estructuras de Repetición • Algoritmia • FIUAS
Estructura Mientras
Estructuras de Repetición • Algoritmia • FIUAS
Repetición Fija
INICIO
CONST ENTERO Total=20
ENTERO Contador
Contador=1
MIENTRAS( Contador <=Total )
//Acciones o instrucciones a realizar
Contador=Contador + 1
FIN_MIENTRAS
FIN
12/12/2018
26
Estructuras de Repetición • Algoritmia • FIUAS
Repetición Variable, donde se cuestiona al
usuario el número de repeticiones.
INICIOENTERO TotalENTERO ContadorIMPRIMIR “Indique el total de repeticiones:”LEER TotalContador=1MIENTRAS( Contador <=Total )
//Acciones o instrucciones a realizarContador=Contador + 1
FIN_MIENTRASFIN
Estructuras de Repetición • Algoritmia • FIUAS
Repetición Variable, donde no se conoce el
número de repeticiones, y queda a decisión
del usuario su terminación.
INICIO
CARACTER Opcion
Opcion=‘S’
MIENTRAS( Opcion ==‘S’ OR Opcion ==‘s’ )
//Acciones o instrucciones a realizar
IMPRIMIR “Realizar otra Repetición (S/N):”
LEER Opcion
FIN_MIENTRAS
FIN
12/12/2018
27
Estructuras de Repetición • Algoritmia • FIUAS
pseudocódigo
Estructuras de Repetición • Algoritmia • FIUAS
Contestar las preguntas Pseudocódigo
INICIO
ENTERO Contador
Contador=5
MIENTRAS( Contador < 20 )
IMPRIMIR “prueba”
Contador=Contador + 2
FIN_MIENTRAS
FIN
PREGUNTAS
a) ¿Cuántas veces se imprime la palabra prueba?
_____________________________________________
b) Si no estuviera la instrucción : Contador=Contador + 2
¿cuántas veces imprime la palabra prueba?
_____________________________________________
c) Si el Contador se incrementa en tres, es decir Contador=Contador+3,
¿cuántas veces se imprime la palabra prueba?
_____________________________________________
12/12/2018
28
Estructuras de Repetición • Algoritmia • FIUAS
Problema #1: Imprimir la palabra
programación seis veces
INICIO
CONST _______ Palabra=__________
CONST ENTERO Total=________
ENTERO Contador
Contador= _____
MIENTRAS ( ____________________)
IMPRIMIR _____________
______________________
FIN_MIENTRAS
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Realice una corrida (Prueba) de escritorio.
INICIOENTERO a, b, ca = 3b = 8c = 4MIENTRAS ( a < 65 )
a = a * cb = b * ac = c * 1
FIN_MIENTRASIMPRIMIR a,b,c
FIN
¿Con qué valores se quedan las variables a, b, c?a) _________b) _________c) _________
12/12/2018
29
Estructuras de Repetición • Algoritmia • FIUAS
Problema #2:
• Sume un conjunto de númerosenteros proporcionados por elusuario, siempre y cuando esenúmero sea divisible entre 2, hastaque la suma sea mayor que 100.Al final imprimir el resultado de laacumulación.
Estructuras de Repetición • Algoritmia • FIUAS
INICIO
________ ENTERO Total=100________ Suma, NumeroSuma=_______MIENTRAS ( Suma ____ Total )
IMPRIMIR “Ingresa un número entero:”LEER NumeroSI____________________ENTONCES
Suma=_________ + __________FIN_SI
FIN_MIENTRASIMPRIMIR “La suma es: ” , _________
FIN
12/12/2018
30
Estructuras de Repetición • Algoritmia • FIUAS
Responde a las siguientes preguntas:
INICIO
ENTERO m
m = 3
MIENTRAS ( m < 20 )
IMPRIMIR m
m = m + 3
FIN_MIENTRAS
FIN
a) ¿Qué realiza el pseudocódigo del ejercicio ?_______________________________________________________________________________________________________________________________________b) ¿Con qué valor se queda la variable m? ¿Por qué?_______________________________________________________________________________________________________________________________________
Estructuras de Repetición • Algoritmia • FIUAS
Problema #3
Calcule el producto(multiplicación) entre unconjunto de números realesproporcionados por el usuario,hasta que el númerointroducido sea cero.
Valor Producto
5 5
2 10
3 30
0 Termina y el producto es 30
12/12/2018
31
Estructuras de Repetición • Algoritmia • FIUAS
INICIOCONST _______ ValorTerminacion=0_____ Producto, NumeroIMPRIMIR “Ingresa un número Real:”LEER NumeroProducto=_________________________MIENTRAS ( Numero ______ ValorTerminacion )
Producto = __________ * NumeroIMPRIMIR “Ingresa otro número:”LEER _________
FIN_MIENTRASIMPRIMIR “El producto es: ” , ________
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Problema #4
Completar el siguientePseudocódigo, el cual lee unalista de números y al finalimprimir la suma acumuladade los primeros 10 númerospares.
12/12/2018
32
Estructuras de Repetición • Algoritmia • FIUAS
INICIOCONST ENTERO ____________________
_______ Contador, Acumulador, NumeroContador=___________MIENTRAS (_________<=____________)
IMPRIMIR “Ingresa un número entero”__________________SI _______ % ________ ==____ ENTONCES
Acumulador=____________ + NumeroContador=Contador +____
FIN_SIFIN_MIENTRASIMPRIMIR “El Acumulado de los primeros 10 números
pares es:”,_____________
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Descripción:
El alumno desarrollará las siguientes actividades, en su libreta
de anotaciones, para su revisión el la próxima clase.
12/12/2018
33
Estructuras de Repetición • Algoritmia • FIUAS
INICIOREAL ValorY, ValorX,ValorZ
ValorY=2
ValorX=2
ValorZ=3
MIENTRAS (ValorZ < 25 OR ValorX < 10)
SI ValorZ < 7 ENTONCES
ValorZ=ValorZ+ValorY
SI_NO
ValorY= 2 * ValorY - 2
ValorZ= ValorZ+ValorY
ValorX= ValorY+ValorZ
FIN_SI
ValorY=ValorZ/2
IMPRIMIR ValorX,ValorY,ValorZ
FIN_MIENTRAS
FIN
Actividad #1: Realizar la prueba de escritorio al siguientes pseudocódigo propuesto, y determine ¿qué es lo que hace?
Estructuras de Repetición • Algoritmia • FIUAS
Actividad #2: Desarrollo de algoritmos para:
1. Calcular el factorial de un número entero.
2. Elevar un número real a una potencia entera e imprimir el resultado respectivo.
3. Calcular el valor máximo de un conjunto de N número reales ingresados por el usuario.
12/12/2018
34
Estructuras de Repetición • Algoritmia • FIUAS
Continuación de Actividad #2:Tomando como referencia a la materia de Matemáticas
discretas, diseñe un algoritmo para plantear unasolución algorítmica computacional a cada caso.
1. Decimos que un número es simpático, si todos susdígitos son impares. ¿Cuántos números simpáticos deseis dígitos hay y cuales son?
2. ¿Cuántos números hay menores que 100 que notienen los dígitos 0 ni 1 y cuales son?
3. Usted deposita $1000 en su cuenta de ahorro que daun 11% de interés anual. ¿Cuánto tendrá en 30 años?
4. ¿Cuántos y cuales números de tres cifras existen queson múltiplos de dos?
http://www.milibreta.com.mx/sida/UAS/MATEMATICAS%20DISCRETAS/Unidad%203.%20TECNICAS%20DE%20CONTEO.pdf
Estructuras de Repetición • Algoritmia • FIUAS
Continuación de Actividad #2:1. Se tienen un grupo de Alumnos, por cada uno se
solicita los siguientes datos:
▫ Nombre,
▫ Sexo(F/M),
▫ Edad,
▫ Estatura,
▫ Peso,
▫ Color de Ojos(Azul, Verde, Otro),
▫ Color de Cabello(Castaño, Rubio, Otro).
Elabore un algoritmo que lea los datos de todos losalumnos del grupo y obtenga la siguienteinformación:
▫ Total de Mujeres de cabello rubio y ojos azules, quemiden entre 1.65m y 1.75m y que pesen menos de55kg.
▫ Total de Hombres de ojos castaños de más de 1.70m deestatura y pesen entre 70 y 90 kg
12/12/2018
35
Estructuras de Repetición • Algoritmia • FIUAS
Funcionamiento Lógico (Semántica)
Estructuras de Repetición • Algoritmia • FIUAS
ESTRUCTURA REPETIR
• Características:
▫ Ejecuta instrucciones en función de un valor booleano
▫ Evalúa la expresión booleana al final del ciclo
▫ Ejecuta las instrucciones mientras el valor booleano sea True (verdadero)
▫ Evalúa al menos una ves el conjunto de acciones antes de decidir si la ejecuta por segunda ocasión.
12/12/2018
36
Estructuras de Repetición • Algoritmia • FIUAS
ESTRUCTURA REPETIR
Valor Inicial de variable
Condición
Acciones
Incremento / Decremento
No
Si
Acciones fuera del ciclo
Es útil cuando serequiere ejecutar una omás instrucciones, almenos una vez.
Estructuras de Repetición • Algoritmia • FIUAS
Sintaxis pseudocódigo:
Definición de Variable de control
. . .
Valor Inicial de Variable
REPETIR
instrucciones (acciones a realizar)Incremento / decremento de variable
MIENTRAS(Condición ó expresión-booleana)
Otras acciones fuera del ciclo
. . .
12/12/2018
37
Estructuras de Repetición • Algoritmia • FIUAS
Actividad:
• Elaborar los pseudocódigos de los problemas resueltos anteriormente utilizando la estructura REPETIR.
Estructuras de Repetición • Algoritmia • FIUAS
Solución al problema Inicial:
Objetivo: Imprimir los número del 1 al 10 en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
CONST ENTERO NumeroInicial= 1, NumeroFinal=10
ENTERO Numero
Numero = NumeroInicial
REPETIRIMPRIMIR Numero
Numero = Numero + 1
MIENTRAS(Numero <= NumeroFinal)
FIN
12/12/2018
38
Estructuras de Repetición • Algoritmia • FIUAS
Comparativa sintáctica de las estructuras
repetitivas vistas
INICIO
CONST ENTERO NumeroInicial= 1,
NumeroFinal=10
ENTERO Numero
Numero = NumeroInicial
REPETIRIMPRIMIR Numero
Numero = Numero + 1
MIENTRAS(Numero <= NumeroFinal)
FIN
INICIO
CONST ENTERO NumeroInicial= 1,
NumeroFinal=10
ENTERO Numero
Numero = NumeroInicial
MIENTRAS(Numero <= NumeroFinal)
IMPRIMIR Numero
Numero = Numero + 1
FIN_MIENTRAS
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Números Impares del 1 - 10
Objetivo: Imprimir los número impares del 1 al 10 en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
CONST ENTERO CantidadMaxima = 10
ENTERO Contador
Contador = 1
REPETIR
IMPRIMIR Contador
Contador = Contador + 2
MIENTRAS(Contador <= CantidadMaxima)
FIN
12/12/2018
39
Estructuras de Repetición • Algoritmia • FIUAS
Números del 10 - 1
Objetivo: Imprimir los número del 1 al 10 en forma descendente en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
CONST ENTERO CantidadMinima = 1
ENTERO Contador
Contador = 10
REPETIRIMPRIMIR Contador
Contador = Contador - 1
MIENTRAS(Contador >= CantidadMinima)
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Soluciones
Objetivo: Imprimir los número pares del 1 al 100 en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
CONST ENTERO CantidadMaxima = 100
ENTERO Contador
Contador = 2
REPETIRIMPRIMIR Contador
Contador = Contador + 2
MIENTRAS(Contador <= CantidadMaxima)
FIN
12/12/2018
40
Estructuras de Repetición • Algoritmia • FIUAS
Objetivo: Imprimir la tabla de multiplicar de un número.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
//Definición de Constante y variables
CONST ENTERO ValorInicial = 1, ValorFinal = 10
ENTERO Indice, NumeroTabla, Resultado
//Lectura de Datos
IMPRIMIR ”Indique el número de tabla de multiplicar a imprimir:”
LEER NumeroTabla
//Procesamiento y salida
Indice = ValorInicial
REPETIR
Resultado = NumeroTabla * IndiceIMPRIMIR NumeroTabla, “ X”, Indice, “=”, Resultado
Indice = Indice + 1
MIENTRAS( Indice <= ValorFinal)
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Objetivo: Determinar e imprimir la cantidad ahorrada de una persona en 10 años.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
//Definición de Constante y variables
CONST REAL CantidadDeposito = 1000, TasaInteresMensual = 3
CONST ENTERO AñosInversion = 10, MesesAño =12
REAL Capital, Interes
ENTERO MesesInversion, Mes
12/12/2018
41
Estructuras de Repetición • Algoritmia • FIUAS
//Procesamiento
MesesInversion = AñosInversion * MesesAño
Mes = 1
Capital = CantidadDeposito
REPETIR
Interes = Capital * (TasaInteresMensual / 100)
Capital = Capital + Interes + CantidadDeposito
Mes = Mes + 1
MIENTRAS( Mes <= MesesInversion)
//Salida de información
IMPRIMIR “La cantidad ahorrada seria de:$”, Capital
FIN
Estructuras de Repetición • Algoritmia • FIUAS
¿Cuando la estructura REPETIR es más conveniente?.- Cuando se
requiere que un conjunto de instrucciones se ejecuten al menos una
vez, antes de decidir si se ejecutaran de nuevo.
12/12/2018
42
Estructuras de Repetición • Algoritmia • FIUAS
Actividades: Desarrollo de algoritmos para:
1. Elabore un algoritmo que solicite la lectura de unacalificación, y valide que el valor proporcionado este entre 0-10.
2. Elaborar un algoritmo que simule las operaciones que realizaun cajero en una caja de un supermercado, solicitando lacantidad y precio de cada articulo, y determine e imprima eltotal que el cliente debe pagar, así como la cantidad deartículos comprados.
3. Realizar un algoritmo que solicite N números. Posteriormentedebe imprimir cuantos números de los introducidos fueronpositivos y cuantos números fueron negativos.
4. Elabore un algoritmos que encuentre todos los enteros Xentre 0 y M, los cuales satisfagan:
1. X MOD 7 = 1,2. X MOD 11=6 y3. X MOD 13 = 5.
Para M leída desde el teclado.
Estructuras de Repetición • Algoritmia • FIUAS
Funcionamiento Lógico (Semántica)
12/12/2018
43
Estructuras de Repetición • Algoritmia • FIUAS
Estructura DESDE
• Características:
▫ Ejecuta instrucciones en función de un valor booleano, especificando al comienzo el número de veces que se iterara.
▫ Evalúa la expresión booleana al inicio del ciclo.
▫ Ejecuta las instrucciones mientras el valor booleano sea True (verdadero)
▫ Permiten evaluar varias veces una secuencia de expresiones, cuando se conoce de antemano la cantidad de veces que es necesario evaluarlas.
▫ Su uso principal se orienta a los arreglos, pudiendo modificar, agregar, eliminar o consultar datos que se especifican según el valor de uno o mas índices.
Estructuras de Repetición • Algoritmia • FIUAS
ESTRUCTURA DESDE
Acciones
Acciones fuera del ciclo
Inicialización ; Condición ; ActualizaciónFALSE
12/12/2018
44
Estructuras de Repetición • Algoritmia • FIUAS
ESTRUCTURA DESDE
Sintaxis:
Definición de Variable de control
. . .
DESDE (Inicialización ; Condición ; Actualización)
<Instrucciones ó Acciones a Realizar>
FIN_DESDE
Como en las demás instrucciones iterativas, la condición en unaestructura DESDE debe ser una expresión booleana quefunciona como condición para la continuación, no para laterminación.
Estructuras de Repetición • Algoritmia • FIUAS
Actividad:
• Elaborar los pseudocódigos de los problemas resueltos anteriormente utilizando la estructura DESDE.
12/12/2018
45
Estructuras de Repetición • Algoritmia • FIUAS
Solución al problema Inicial:
Objetivo: Imprimir los número del 1 al 10 en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
CONST ENTERO NumeroInicial= 1, NumeroFinal=10
ENTERO Numero
DESDE (Numero = NumeroInicial; Numero <= NumeroFinal; Numero = Numero + 1)
IMPRIMIR Numero
FIN_DESDE
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Comparativa sintáctica de las estructuras
repetitivas vitas
INICIOCONST ENTERO NumeroInicial= 1,
NumeroFinal=10ENTERO NumeroNumero = NumeroInicialREPETIR
IMPRIMIR NumeroNumero = Numero + 1
MIENTRAS(Numero <= NumeroFinal)FIN
INICIOCONST ENTERO NumeroInicial= 1,
NumeroFinal=10ENTERO NumeroNumero = NumeroInicialMIENTRAS(Numero <= NumeroFinal)
IMPRIMIR NumeroNumero = Numero + 1
FIN_MIENTRASFIN
INICIOCONST ENTERO NumeroInicial= 1, NumeroFinal=10ENTERO NumeroDESDE (Numero = NumeroInicial; Numero <= NumeroFinal; Numero = Numero + 1)
IMPRIMIR Numero
FIN_DESDE
FIN
12/12/2018
46
Estructuras de Repetición • Algoritmia • FIUAS
Números Impares del 1 - 10
Objetivo: Imprimir los número impares del 1 al 10 en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
CONST ENTERO NumeroInicial = 1,NumeroFinal=10
ENTERO Numero
DESDE (Numero = NumeroInicial ; Numero <= NumeroFinal; Numero = Numero + 2)
IMPRIMIR Numero
FIN_DESDE
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Números del 10 - 1
Objetivo: Imprimir los número del 1 al 10 en forma descendente en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
CONST ENTERO NumeroInicial = 1,NumeroFinal=10
ENTERO Numero
DESDE (Numero = NumeroFinal; Numero >= NumeroInicial; Numero = Numero - 1)IMPRIMIR Numero
FIN_DESDE
FIN
12/12/2018
47
Estructuras de Repetición • Algoritmia • FIUAS
Número pares del 1 al 100
Objetivo: Imprimir los número pares del 1 al 100 en pantalla.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
CONST ENTERO NumeroInicial = 2,NumeroFinal=100
ENTERO Numero
DESDE (Numero = NumeroInicial ; Numero <= NumeroFinal; Numero = Numero + 2)IMPRIMIR Numero
FIN_DESDE
FIN
Estructuras de Repetición • Algoritmia • FIUAS
Objetivo: Imprimir la tabla de multiplicar de un número.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
//Definición de Constante y variables
CONST ENTERO ValorInicial = 1, ValorFinal = 10
ENTERO Indice, NumeroTabla, Resultado
//Lectura de Datos
IMPRIMIR ”Indique el número de tabla de multiplicar a imprimir:”
LEER NumeroTabla
//Procesamiento y salida
DESDE (Indice = ValorInicial ; Indice <= ValorFinal ; Indice = Indice + 1)
Resultado = NumeroTabla * Indice
IMPRIMIR NumeroTabla, “ X”, Indice, “=”, Resultado
FIN_DESDE
FIN
12/12/2018
48
Estructuras de Repetición • Algoritmia • FIUAS
Objetivo: Determinar e imprimir la cantidad ahorrada de una persona en 10 años.
Programador: MC. Gerardo Gálvez G.
Fecha: __ / Nov / 2016
INICIO
//Definición de Constante y variables
CONST REAL CantidadDeposito = 1000, TasaInteresMensual = 3
CONST ENTERO AñosInversion = 10, MesesAño =12
REAL Capital, Interes
ENTERO MesesInversion, Mes
Estructuras de Repetición • Algoritmia • FIUAS
//Procesamiento
MesesInversion = AñosInversion * MesesAño
Capital = CantidadDeposito
DESDE (Mes = 1; Mes <= MesesInversion; Mes = Mes + 1 )
Interes = Capital * (TasaInteresMensual / 100)
Capital = Capital + Interes + CantidadDeposito
FIN_DESDE
//Salida de información
IMPRIMIR “La cantidad ahorrada seria de:$”, Capital
FIN
12/12/2018
49
Estructuras de Repetición • Algoritmia • FIUAS
¿Cuando la estructura DESDE es más conveniente?.- Cuando
se conoce de antemano la cantidad de veces que es necesario
evaluar un conjunto de expresiones.
Estructuras de Repetición • Algoritmia • FIUAS
Actividades: Desarrollo de algoritmos para:
1. Elabore un algoritmo que calcule la siguiente serie: y = 1+ 1/i , donde i toma valores desde 20 hasta -5. Ejemplo:
2. Elaborar un algoritmo que permita evaluar lafunción 5X2+3X+8=538, cuando se conoceque la solución esta entre el rango de -3 …20.
y=1+1/20 +1+1/19 +1+1/18 +. . .
1+1/1
12/12/2018
50
Estructuras de Repetición • Algoritmia • FIUAS
Reto:
1. Un banco establece que la clave secreta paraacceso a sus cajeros automáticos debe ser unnumero de cuatro dígitos, tales que ningunode ellos se repita y que la suma de los dosdígitos intermedios sea par. Elabore unalgoritmo, que permita ingresar un valorentero y si se trata de una clave validaimprimir el segundo digito menor.
Estructuras de Repetición • Algoritmia • FIUAS
Cuando emplear cada estructura repetitiva
MIENTRAS REPETIR-MIENTRAS DESDE
¿Se debe conocer anticipadamente el númerosde iteraciones?
NO NO SI
¿En que momento se verifica la condición?
Antes de la ejecución del cuerpo del ciclo
Después de la ejecución del cuerpo del ciclo
Antes de la ejecución del cuerpo del ciclo
¿Puede el ciclo no ejecutarse al menos una vez?
Si, Cuando la condición es falsa en su primera evaluación
NO, al menos una vez se ejecuta.
Si, Cuando la condición es falsa en su primera evaluación
¿Se debe modificar el valor de la condición para finalizar el ciclo?
SI, haciendo que el valor de la condición sea falsa
SI, haciendo que el valor de la condición sea falsa
NO, es automático
¿un ciclo puede ser infinito? SI SI NO
¿Cuando debe utilizarse? EL número de iteraciones es indeterminado y no se debe ejecutar el ciclo cuando la condición es falsa la primera vez.
El número de iteraciones es indeterminado y el ciclo se debe ejecutar al menos una vez.
El número de iteraciones se conoce por adelantado.