Estructuras de Repetición - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Algoritmia/11... ·...

51
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 que imprima en pantalla los número del 1 al 10. Tiempo: 5 min. octubre de 2012 2

Transcript of Estructuras de Repetición - MiLibreta.com.mxgalvez.milibreta.com.mx/UAS/Algoritmia/11... ·...

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

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.

12/12/2018

51

Estructuras de Repetición • Algoritmia • FIUAS

Preguntas

F I N