lunes, 30 de mayo de 2016


[2016-24-05]

CLASE 17:

Se Desarrollaron Algunos ejercicios:




Ejercicio en Pseint:




SEGUNDO EJERCICIO EN Pseint



       

Ejercicios de Repaso Para el Acumulativo:


1. Realizar un programa que le presente un menú al usuario con las siguientes opciones: lo desarrollan todos - 1. Leer dos números enteros positivos únicamente, 2. Sumar los dos números leídos, 3. Restarle al primer número el segundo (siempre y cuando el primero sea mayor que él segundo, en caso contrario indicar con un mensaje que la operación no es posible realizarla y volver al menú principal, 4. Multiplicar los dos números (siempre y cuando ninguno de los números sea igual a cero, en caso contrario indicar con un mensaje que la operación no es posible realizarla y volver al menú principal,), 5. Dividir el primer número dado por el segundo, 6 Salir Nota: Se debe garantizar que el usuario haya ingresado los dos números antes de poder realizar cualquier operación y que no se puede escribir un resultado sin la realización de una operación.



Proceso sin_titulo

numero1 = -1
numero2 = -1
ya_se_digito_los_numeros = "no"
Repetir
Escribir ""
Escribir "****************************************************************"
Escribir "* 1. Leer dos nœmeros enteros positivos unicamente. *"
Escribir "* 2. Sumar los dos nœmeros leidos. *"
Escribir "* 3. Restarle al primer nœmero el segundo. *"
Escribir "* 4. Multiplicar los dos nœmeros. *"
Escribir "* 5. Dividir el primer nœmero dado por el segundo. *"
Escribir "* 6. Salir. *"
Escribir "****************************************************************"
Escribir ""
Leer opciones
Escribir ""
Segun opciones Hacer
1:
Escribir ""
Escribir "1. Leer dos nœmeros enteros positivos œnicamente."
Escribir ""
Escribir "Digite el Primer Numero"
Leer numero1
Escribir "Digite el Segundo Numero"
Leer numero2
ya_se_digito_los_numeros = "no"
Si numero1 > 0 Entonces
Si numero2 > 0 Entonces
ya_se_digito_los_numeros = "si"
Sino
numero1 = -1
numero2 = -1
Escribir "Hace falta digitar un numero entero Positivo en el Segundo Valor"
Fin Si
Sino
numero1 = -1
numero2 = -1
Escribir "Hace falta digitar un numero entero Positivo en el Primer Valor"
Fin Si
2:
Escribir ""
Escribir "2. Sumar los dos nœmeros leidos."
Escribir ""
Si ya_se_digito_los_numeros = "si" Entonces
Escribir "Suma de los dos numeros = ( " numero1 " + " numero2 " = " ( numero1 + numero2 ) " )"
Sino
Escribir ""
Escribir "****************************************************************"
Escribir "* Hace falta digitar los dos numeros *"
Escribir "****************************************************************"
Escribir ""
Fin Si
3:
Escribir ""
Escribir "3. Restarle al primer nœmero el segundo."
Escribir ""
Si ya_se_digito_los_numeros = "si" Entonces
Si numero1 > numero2 Entonces
Escribir "Resta de los dos numeros = ( " numero1 " - " numero2 " = " ( numero1 - numero2 ) " )"
Sino
Escribir "La operaci—n no es posible realizarla."
Fin Si
Sino
Escribir ""
Escribir "****************************************************************"
Escribir "* Hace falta digitar los dos numeros *"
Escribir "****************************************************************"
Escribir ""
Fin Si
4:
Escribir ""
Escribir "4. Multiplicar los dos nœmeros."
Escribir ""
Si ya_se_digito_los_numeros = "si" Entonces
Si numero1 > 0 Entonces
Si numero2 > 0 Entonces
Escribir "Multiplicacion de los dos numeros = ( " numero1 " * " numero2 " = " ( numero1 * numero2 ) " )"
Sino
Escribir "No se puede Multiplicar porque el Segundo Numero es Cero."
Fin Si
Sino
Escribir "No se puede Multiplicar porque el Primer Numero es Cero."
Fin Si
Sino
Escribir ""
Escribir "****************************************************************"
Escribir "* Hace falta digitar los dos numeros *"
Escribir "****************************************************************"
Escribir ""
Fin Si
5:
Escribir ""
Escribir "5. Dividir el primer nœmero dado por el segundo."
Escribir ""
Si ya_se_digito_los_numeros = "si" Entonces
Si numero2 <> 0 Entonces
Escribir "Division de los dos numeros = ( " numero1 " / " numero2 " = " ( numero1 / numero2 ) " )"
Sino
Escribir "No se puede Dividir porque el Segundo Numero es Cero."
Fin Si
Sino
Escribir ""
Escribir "****************************************************************"
Escribir "* Hace falta digitar los dos numeros *"
Escribir "****************************************************************"
Escribir ""
Fin Si
6:
Escribir ""
Escribir "****************************************************************"
Escribir "* HASTA LUEGO. *"
Escribir "****************************************************************"
Escribir ""
De Otro Modo:
Escribir ""
Escribir "****************************************************************"
Escribir "* Opcion No VALIDA. *"
Escribir "****************************************************************"
Escribir ""
Fin Segun
Hasta Que opciones = 6
FinProceso

2. Desarrollar un algoritmo que permita realizar la sumatoria de los primeros 100 números utilizando los 3 ciclos (para, repita, mientras).





Proceso sin_titulo

cantidad_de_numeros = 100
suma = 0
Para i<-0 Hasta cantidad_de_numeros Con Paso 1 Hacer
suma = suma + i
Fin Para
Escribir ""
Escribir "CICLO FOR -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma
Escribir ""
suma = 0
i = 0
Repetir
i = i + 1
suma = suma + i
Hasta Que i > ( cantidad_de_numeros - 1)
Escribir ""
Escribir "CICLO REPETIR HASTA -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma
Escribir ""
suma = 0
i = 0
Mientras i < cantidad_de_numeros Hacer
i = i + 1
suma = suma + i
Fin Mientras
Escribir ""
Escribir "CICLO HACER MIENTRAS -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma
Escribir ""
FinProceso

3. Cree un algoritmo que capture un mes en números y el software muestre un mensaje que indique cuantos días tiene ese mes. Ejemplo: si se digita "07", el algoritmo debe mostrar "Julio, tiene treinta un días". El algoritmo debe también advertir que si se trata de febrero tiene 28 días, pero si el año fuera bisiesto tendría 29.






Proceso sin_titulo
Dimension mes[12]
mes[1]='Enero'
mes[2]='Febrero'
mes[3]='Marzo'
mes[4]='Abril'
mes[5]='Mayo'
mes[6]='Junio'
mes[7]='Julio'
mes[8]='Agosto'
mes[9]='Septiembre'
mes[10]='Octubre'
mes[11]='Noviembre'
mes[12]='Diciembre'
Escribir "Digite un numero entre 1 y 12"
Leer n
es_bisiesto = ""
Si (n>=1) && (n<=12) Entonces
Segun n Hacer
1, 3, 5, 7, 8, 10, 12:
maximo_dia_mes = 31
2:
maximo_dia_mes = 28
es_bisiesto = ", pero si fuera A–o Bisiesto tendria 29 dias."
4, 6, 9, 11 :
maximo_dia_mes = 30
Fin Segun
Escribir mes[n] " tiene " maximo_dia_mes " dias " es_bisiesto
Sino
Escribir "Debe digitar un valor de mes entre 1 y 12"
Fin Si
FinProceso

4. Se requiere que solo con la utilización de ciclos y condicionales, usted pueda convertir un número decimal < a 5000 a número Romano.

Proceso sin_titulo
Escribir "Digite un numero entre 1 y 5000"
Leer decimal
Si (decimal>=1) && (decimal<=5000) Entonces
Escribir "********* Conversion a Romano *********"
Dimension unidad[10]
DImension decenas[10]
Dimension centenas[10] 
Dimension miles[6] 
unidad[1]=''
unidad[2]='I'
unidad[3]='II'
unidad[4]='III'
unidad[5]='IV'
unidad[6]='V'
unidad[7]='VI'
unidad[8]='VII'
unidad[9]='VIII'
unidad[10]='IX'
decenas[1]=''
decenas[2]='X'
decenas[3]='XX'
decenas[4]='XXX'
decenas[5]='XL'
decenas[6]='L'
decenas[7]='LX'
decenas[8]='LXX'
decenas[9]='LXXX'
decenas[10]='XC'
centenas[1]=''
centenas[2]='C'
centenas[3]='CC'
centenas[4]='CCC'
centenas[5]='CD'
centenas[6]='D'
centenas[7]='DC'
centenas[8]='DCC'
centenas[9]='DCCC'
centenas[10]='CM'
miles[1]=''
miles[2]='M'
miles[3]='MM'
miles[4]='MMM'
miles[5]='[IV]'
miles[6]='[V]'
miles_= trunc(decimal/1000) MOD 10
centenas_= trunc(decimal/100) MOD 10
decenas_= trunc(decimal/10) MOD 10
unidades_= decimal MOD 10
Escribir miles[miles_+1] centenas[centenas_+1] decenas[decenas_+1] unidad[unidades_+1]
Sino
Escribir "Lo siento solo sirve la conversion entre numeros de 1 a 5000"
Fin Si
FinProceso


CICLO REPETIR....HASTA

A diferencia del ciclo mientras, el ciclo repetir-hasta ejecuta al menos una vez las sentencias definidas en el cuerpo del ciclo, pues la verificación para continuar o no en el ciclo se realiza al final, como puede apreciarse en la sintaxis:


  1. repetir
  2. sentencias...
  3. hasta ( condición_de_fin )

Debemos observar que la condición de fin va entre paréntesis.

Si bien esta forma de ciclo es utilizado con menor frecuencia que el ciclo mientras, hay situaciones en las que con él, el algoritmo resultante es más sencillo y directo.



CICLO MIENTRAS:

Esta estructura nos permite repetir un bloque de instrucciones con una condición y se repite siempre en cuanto esta condición sea verdadera, sino no entra al ciclo mientras.
La estructura es la siguiente:

INICIO.
INSTRUCCIÓN 1
MIENTRAS( CONDICIÓN LÓGICA) HAGA
INSTRUCCIÓN 2
INSTRUCCIÓN 3
FIN MIENTRAS
INSTRUCCIÓN 4
FIN

El ciclo mientras (while) tiene que tener su final y salirse de él, tiene un límite y su límite es hasta que la condición ya no se cumpla, es decir que sea falsa.

TOMADO DE:http://wwwalgoritmos-jesus.blogspot.com.co/2011/05/estructura-mientras.html

No hay comentarios:

Publicar un comentario