You are on page 1of 6

Repaso parcial Pensamiento Algoritmico

1. A. El algoritmo planteado no resuelve el problema correctamente


CORRECCION:
funcion_principal
real num=0 ,acum=0,prom;
entero n=0;
caracter rta= 's' ;
mientras (rta != 'n') hacer
imprimir ("Digite un numero \n" );
leer(num);
n=n+1;
acum=acum+num;
imprimir ("Desea seguir s/n \n" );
leer ( rta) ;
fin_mientras
prom=acum/n;
imprimir(" El promedio es " , prom);
fin_principal
B. No resuelve el problema
CORRECCION:
funcion_principal
entero a;
entero b;
entero c;
imprimir ( " Digite un numero " ) ;
leer(a);
imprimir ( " Digite un numero " ) ;
leer(b);
imprimir ( " Digite un numero " ) ;
leer(c);
si (( a > b) && ( a > c)) entonces
imprimir("el mayor es ",a);
fin_si
si (( b > a ) && ( b > c) ) entonces
imprimir("el mayor es ",b);
fin_si
si ((c>a ) && ( c>b)) entonces
imprimir("el mayor es ",c);
fin_si

C. No resuelve el problema
funcion_principal

real precio= 15.000;


real descuento, precio2 ;
entero edad;
imprimir (" Digite su edad") ;
leer(edad);
si ((edad<12) || (edad>=60)) entonces
precio2 = precio ;
descuento=precio2 *0.10;
precio2= precio2-descuento ;
imprimir ( " su entrada cuesta \n" , precio , " \nsu descuento por
tener", edad , "aos ,\n es de 10 porciento y eso da un total de\n ",
precio2);
si_no
imprimir (" Su total es " , precio );
fin_si
fin_principal
D. Solo realiza DOS iteraciones
A
V
F
F
E. Imprime 12 asteriscos
Valor
5
4
3
2
1
0
5
4
3
2
1
5
4
3

B
F
V
F

C
F
F
F

Valor2
1

Asteriscos
*
*
*
*
*

2
*
*
*
*
3
*
*
*

2. Imprime 16 y saca el mximo comn divisor


A
32

B
48

T
32

48
32
16

32
16
0

16
16
0

32
32
32

3. Transmilenio
funcion_principal
entero mov, pasajes , valor , hora ,tarjeta , dia=30 ;
caracter dianuevo, festivo,usuario ;
imprimir ( " Es un dia nuevo " ) ;
leer( dianuevo ) ;
mientras ( dianuevo= 's') hacer
dia = dia -1 ;

hacer
imprimir ( " \n1. Desea comprar una tarjeta y recargar \n2.Solo recargar
");
leer ( mov );
seleccionar ( mov ) entre
caso 1 :
imprimir ( " que tarjeta desea \n11. cliente frecuente
\n21. capital \n31.Estudiante - 3ra edad " ) ;
leer ( tarjeta ) ;
imprimir ( " Cauanto es el valor dado por el
usuario " ) ;
leer ( valor ) ;
imprimir ( " Digite la hora " ) ;
leer ( hora ) ;
imprimir ( " Es dia festivo s/n" ) ;
leer ( dia) ;
seleccionar ( tarjeta ) entre
caso 11 :
si ((( hora >= 0530 ) && ( hora <= 0830 ))|| ((hora >=
1630 ) && ( hora <=1930)))&& (dia == 'n' ) entonces
valor = valor -2000 ;
pasajes = valor / 1700 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 'n' ) entonces
valor = valor -2000 ;
pasajes = valor / 1400 ;
fin_si

si (( hora >= 0000 ) && ( hora <= 2400 ))&&


(dia == 's' ) entonces
valor = valor -2000 ;
pasajes = valor / 1400 ;
fin_si
romper;
caso 21 :
si ((( hora >= 0530 ) && ( hora <= 0830 ))|| ((hora >= 1630
) && ( hora <=1930)))&& (dia == 'n' ) entonces
valor = valor -1500 ;
pasajes = valor / 1700 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 'n' ) entonces
valor = valor -1500 ;
pasajes = valor / 1400 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 's' ) entonces
valor = valor -1500 ;
pasajes = valor / 1400 ;
fin_si
romper;
caso 31 :
si ((( hora >= 0530 ) && ( hora <= 0830 ))|| ((hora >=
1630 ) && ( hora <=1930)))&& (dia == 'n' ) entonces
pasajes = valor / 1700 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 'n' ) entonces
pasajes = valor / 1400 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 's' ) entonces
pasajes = valor / 1400 ;
fin_si
romper;
defecto imprimir ( " digite una opcion valida " ) ;
romper ;
caso 2 :
imprimir ( " que tarjeta desea \n12. cliente frecuente
\n22. capital \n32.Estudiante - 3ra edad " ) ;
leer ( tarjeta ) ;
imprimir ( " Cauanto es el valor dado por el
usuario " ) ;

leer ( valor ) ;
imprimir ( " Digite la hora " ) ;
leer ( hora ) ;
imprimir ( " Es dia festivo s/n" ) ;
leer ( dia) ;
seleccionar ( tarjeta ) entre
caso 12 :
si ((( hora >= 0530 ) && ( hora <= 0830 ))|| ((hora >=
1630 ) && ( hora <=1930)))&& (dia == 'n' ) entonces
valor = valor -2000 ;
pasajes = valor / 1700 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 'n' ) entonces
valor = valor -2000 ;
pasajes = valor / 1400 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 's' ) entonces
valor = valor -2000 ;
pasajes = valor / 1400 ;
fin_si
romper;
caso 22 :
si ((( hora >= 0530 ) && ( hora <= 0830 ))|| ((hora >= 1630
) && ( hora <=1930)))&& (dia == 'n' ) entonces
valor = valor -1500 ;
pasajes = valor / 1700 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 'n' ) entonces
valor = valor -1500 ;
pasajes = valor / 1400 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 's' ) entonces
valor = valor -1500 ;
pasajes = valor / 1400 ;
fin_si
romper;
caso 32 :
si ((( hora >= 0530 ) && ( hora <= 0830 ))|| ((hora >=
1630 ) && ( hora <=1930)))&& (dia == 'n' ) entonces
pasajes = valor / 1700 ;
fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 'n' ) entonces

pasajes = valor / 1400 ;


fin_si
si (( hora >= 0000 ) && ( hora <= 2400 ))&&
(dia == 's' ) entonces
pasajes = valor / 1400 ;
fin_si
romper;
defecto imprimir ( " digite una opcion valida " ) ;
romper ;
imprimir ( " desea ingresar otro usuario s/n " ) ;
leer ( usario ) ;
mientras ( usuario == 's' ) ;
fin_mientras

You might also like