Sei sulla pagina 1di 13

Captulo 18:

39 ejercicios resueltos (4/4)


30. Hacer un programa que invierta un texto ingresado por el teclado.

DIM NB, TextoI AS STRING

CLS

INPUT "ESCRIBA UN TEXTO; ", NB$

LT = LEN(NB$)

FOR i = LT TO 1 STEP -1

TextoI$ = TextoI$ + MID$(NB$, i, 1)

NEXT

PRINT TextoI$

31. Hacer un programa que muestre los mltiplos de 5 comprendidos


entre 200 y 300. Iniciar el contador en 200.

CLS

x = 200

DO WHILE x <= 300

PRINT x

x=x+5

LOOP

32. Calcular el acumulado de las edades de un grupo de N personas


siempre y cuando dichas edades sean mayores a 18 y no pasen de 45.

CLS

INPUT "cantidad de personas: ", n


x=1

DO WHILE x < n

INPUT "EDAD; ", E

IF E > 18 AND E <= 45 THEN

SUMA = SUMA + E

END IF

x=x+1

LOOP

PRINT "ACUMULADO ES: ", SUMA

33. Programa que calcula el promedio de las edades menores a 20 y


mayores a 55 de un grupo de N personas.

CLS

INPUT "cantidad de personas: ", N

x=0

DO WHILE x < N

INPUT "EDAD; ", E

IF E < 20 OR E > 55 THEN

SUMA = SUMA + E

END IF

x=x+1

LOOP

PRINT "PROMEDIO ES: "; SUMA / N


34. Hacer en programa que muestre los nmeros pares entre 1000 y 0.
No se escribir los nmeros que se encuentren en el rango de 200 A 50.

CLS

X = 1000

DO WHILE X > 0

X=X-2

IF X > 50 AND X > 200 THEN

PRINT X

END IF

LOOP

35. Hacer un programa que en cada vuelta vaya mostrando los


acumulados de los nmeros pares ente 1000 y 0 pero no escribir los
nmeros cuando el contador se encuentra entre el rango de 200 a 50.

CLS

X = 1000

DO WHILE X > 0

X=X-2

IF X > 50 AND X > 200 THEN

SUMA = SUMA + X

PRINT X, SUMA

END IF

LOOP

36. Dados n nmeros, hacer un programa que determine la suma de


los que sean mayores a cero, el producto de los menores que cero y se
cuenten cuantos nmeros son iguales a cero.
CLS

INPUT "CANTIDAD DE NMEROS: ", C

X=0

P=1

S=0

DO WHILE X < C

X=X+1

INPUT "NUMERO: ", N

IF N = 0 THEN

CE = CE + 1

ELSE

IF N > 0 THEN

S=S+N

ELSE

P=P*N

END IF

END IF

LOOP

PRINT CE, S, P

37. Si ingresamos los valores de los lados (a, b, c) de 35 tringulos.


Calcular cuntas reas son pares, cuntas impares, cuntas no se pudieron
calcular por no existir el Tringulo.

CLS
X=0

P=1

S=0

DO WHILE X <= 35

X=X+1

INPUT "LADO A: ", A

INPUT "LADO B: ", B

INPUT "LADO C: ", C

IF A + B > C AND B + C > A AND A + C > B THEN

S = (A + B + C) / 2

AREA = S * SQR((S - A) * (S - B) * (S - C))

IF AREA MOD 2 = 0 THEN

SAP = SAP + 1

ELSE

SAI = SAI + 1

END IF

ELSE

ANC = ANC + 1

END IF

LOOP

PRINT "AREAS PARES", SAP

PRINT "AREAS IMPARES", SAI


PRINT "AREAS NO SE PUEDEN CALCULAR", ANC

38. En el ejercicio anterior se desea conocer cual fue el tringulo de


mayor rea.

CLS

X=0

P=1

S=0

MAYOR = 50000

DO WHILE X <= 35

X=X+1

PRINT "OTRA AREA"

PRINT
"================================================"

INPUT "LADO A: ", A

INPUT "LADO B: ", B

INPUT "LADO C: ", C

IF A + B > C AND B + C > A AND A + C > B THEN

S = (A + B + C) / 2

AREA = S * SQR((S - A) * (S - B) * (S - C))

IF AREA MOD 2 = 0 THEN

SAP = SAP + 1

ELSE

SAI = SAI + 1
END IF

IF MAYOR > AREA THEN

MAYOR = AREA

END IF

ELSE

ANC = ANC + 1

END IF

LOOP

PRINT "REAS PARES ", SAP

PRINT "REAS IMPARES ", SAI

PRINT "REAS NO SE PUEDEN CALCULAR ", ANC

PRINT "REA MAYOR ", MAYOR

39. En el ejercicio anterior se desea conocer cual es el tringulo de


menor rea.

CLS

X=0

P=1

S=0

MENOR = 0

DO WHILE X <= 35

X=X+1

PRINT "OTRA AREA"


PRINT
"================================================"

INPUT "LADO A: ", A

INPUT "LADO B: ", B

INPUT "LADO C: ", C

IF A + B > C AND B + C > A AND A + C > B THEN

S = (A + B + C) / 2

AREA = S * SQR((S - A) * (S - B) * (S - C))

IF AREA MOD 2 = 0 THEN

SAP = SAP + 1

ELSE

SAI = SAI + 1

END IF

IF MENOR < AREA THEN

MENOR = AREA

END IF

ELSE

ANC = ANC + 1

END IF

LOOP

PRINT "REAS PARES ", SAP

PRINT "REAS IMPARES ", SAI

PRINT "REAS NO SE PUEDEN CALCULAR ", ANC


PRINT "REA MENOR", MENOR

ESTRUCTURA MIENTRAS
WHILE - DO WHILE

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

INICIO.
INSTRUCCION 1
MIENTRAS( CONDICION LOGICA) HAGA
INSTRUCCION 2
INSTRUCCION 3
FIN MIENTRAS
INSTRUCCION 4
FIN

El ciclo mientras (while) tiene que tener su final y salirse de el, tiene un limite y su limite es hasta que la
condicion ya no se cumpla, osea que sea falsa.

EJEMPLO:

Hacer un algoritmo que lea 5 numeros y determine la suma entre ellos.

INICIO
ENTERO: N, i, SUMA
i=1
SUMA=0
MIESTRAS(i <=5) HAGA
MOSTRAR( 'DIGITE UN NUMERO')
LEER (N)
SUMA= SUMA+N
i= i+1
FIN MIENTRAS
MOSTRAR ('LA SUMA ES:', SUMA)
FIN

Como vemos en la condicion al principio se cumple, pero como i se va incrementando, al llegar hacer mayor
que 5 se sale del mientras y termina la ejecucion.
Acontinuecion veremos unos ejercicios.

Modificar el anterior algoritmo para que obtenga el promedio de los 5 numeros.

INICIO
ENTERO: N,i, SUMA
REAL: PROMEDIO
i=1
SUMA=0
MIENTRAS (i <=5) HAGA
MOSTRAR ('DIGITE UN NUMERO')
LEER (N)
SUMA=SUMA+N
i=i+1
PROMEDIO=SUMA/5
FIN MIENTRAS.
MOSTRAR ('EL PROMEDIO ES:', PROMEDIO)
FIN

Realizar un algoritmo para sumar consecutivamente y cuando la suma sea superior a 100 deje de
pedir nmeros y muestre el total.

INICIO

ENTERO: N SUMA

SUMA=0

MIENTRAS(SUMA<=100)

MOSTRAR ('DIGITE UN NUMERO')


LEER(N)

SUMA=SUMA+N

FIN MIENTRAS

MOSTRAR ('LA SUMA ES:', SUMA)

FIN

Algoritmo que permita obtener el promedio de la cantidad de nmeros que el usuario desee digitar,
preguntando ademas si desea continuar o no.

INICIO
ENTERO: SUMA, CONTADOR, N
CADENA: DECISIN
DECISIN = 'SI'
SUMA= 0
CONTADOR=0
MIENTRAS(DECISIN = 'SI') HAGA
MOSTRAR('DIGITE UN NUMERO')
LEER(N)
SUMA= SUMA+N
CONTADOR=CONTADOR+1
MOSTRAR('DESEA CONTINUAR')
LEER(DECISIN)
FIN MIENTRAS
PROMEDIO=SUMA/CONTADOR
MOSTRAR('EL PROMEDIO ES:', PROMEDIO)
FIN

Realizar un algoritmo que pida al usuario digitar un color y lo muestre, pero cuando el usuario digita el color
rojo se termine y lo indica.

INICIO

CADENA: COLOR

COLOR= ''

MIENTRAS( COLOR <> 'ROJO') HAGA

MOSTRAR('DIGITE COLOR')

LEER(COLOR)

MOSTRAR('EL COLOR ES:', COLOR)


FIN MIENTRAS

MOSTRAR('HA FINALIZADO')

FIN

Estos son algunos ejemplos y ejercicios del ciclo mientras.


Todo esto nos sirve en la vida cotidiana para encontrar varias formas de encontrarle la solucin a un problema
y en un futuro para hacer buenos programas con las condiciones y requisitos que nos lo pida el usuario.

Potrebbero piacerti anche