Sunteți pe pagina 1din 9

ALGORITMIA_Y_PROGRAMACIÓN_I_20201015370_IST2

088_52
→Materia: Algoritmia y Programación I

→Código: IST 2088


→Grupo:52

→Integrantes:
-Miguel Vélez Higuita CIU# 200150338
-Sebastian Alejandro Asprino Ortiz CIU#200154369
- Rafael David Celin Cervera CIU#200152716
ALGORITMIA Y PROGRAMACIÓN I _IST2088_202010
TALLER 25% SEGUNDO PARCIAL

1. Dado el siguiente pseudocódigo:

Inicio
Entero num1, num2, s
S←0
leer num1, num2
Mientras (num1>=1) hacer
si (num1 mod 2 =1) entonces
s←s+num2
FinSi
num1← num1 div 2
num2<- num2*2
FinMientras
escribir s
Fin
Iteración Num1 Num2 S
a. Cuál sería el resultado del algoritmo si los - 21 15 0
datos introducidos fuesen num1= 21 y num2 1 10 30 15
=15, muéstrelo en la siguiente tabla
2 5 60 -
escribiendo los valores que toman las
3 2 120 75
variables en cada iteración.
4 1 240 -
5 - 480 -
b. Explique que realiza el algoritmo. R. el algoritmo primero verifica si el valor de num1 es mayor o igual a
1, para luego si este es =1 sumar num2 a s, para al final del ciclo escribir el valor de s. Finaliza dividiendo
por 2 a num1 y num2 multiplicándolo por 2

2. Realice la prueba de escritorio del siguiente algoritmo utilizando los últimos 4 dígitos de su código estudiantil.

Inicio
entero n, salida, temporal, contador, acumulador, i
leer n
iß1
salidaß0
contadorß0
acumuladorß0
MQ (n<>0) hacer
temporalßn%10
nßn-temporal
nßn div 10
si (i%2=0) entonces
salidaßtemporal*i-salida
sino
salidaßtemporal*2+salida
fin si
acumuladorßacumulador + temporal
contadorßcontador+1
ißi+1
Fin MQ
escribir salida, contador, acumulador
Fin

3. Una Ferretería vende dos tipos de Cables, Cable Tipo A ($200 por metro) y Cable Tipo B ($300 por
metro); realice un algoritmo que procese clientes durante un día; solicitando el tipo de cable a
comprar y la cantidad de metros requeridos, calcule y de cómo salida la cantidad de clientes
atendidos, cantidad de metros vendidos por cada tipo, el neto a pagar por cada cliente, tomando
en cuenta que la ferretería otorga un descuento del 10% por cada compra que exceda de los 100
metros de cable de cualquier tipo.

4. Metrotel posee dos tipos de clientes: Residencial y Empresarial, realice un algoritmo que permita
procesar clientes durante todo un día, teniendo como datos de entrada: Código del Cliente, Tipo
de Cliente, Lectura Actual y Lectura Anterior; se debe calcular y dar como salida la cantidad de
Impulsos consumidos y el neto a pagar por cada cliente, cantidad de clientes que fueron
procesados y la cuánto dinero recaudó Metrotel en el día. Los Impulsos se cobran a razón de:

 Residencial $63
 Empresarial $87.

5. En un examen de matemáticas de un grupo de alumnos, si la nota obtenida (validar entre 0 y 5) es


mayor o igual a 3.5, ganan el examen. Si la nota obtenida es mayor o igual que 3, pero menor
que 3.5; deben realizar un segundo examen de recuperación. Los demás pierden el examen y
deben repetirlo. Hacer un algoritmo que diga:

 Cuántos alumnos ganaron el examen.


 Cuántos alumnos deben tomar el examen de recuperación.
 Cuántos pierden el examen.
 Mostrar el promedio de cada grupo anterior.

INSTRUCCIONES:

1. Realizar en equipos de 3, no se aceptarán trabajos de forma individual, cualquier cambio debe ser consultado
por correo a través del catálogo.
2. Las soluciones deben ser presentadas en este documento, pueden utilizar PSeint.
3. La hoja de presentación debe tener nombre materia, código y grupo, y nombres de los integrantes.
4. Enviar a link correspondiente en el catálogo el día miércoles 22 de abril hasta las 11:00 p.m.
5. Cualquier intento de copia o soluciones similares entre equipos, la nota será 0,0 y anotación en la Hoja de vida
académica.
1.
1.1
Iteración Num1 Num2 S
- 21 15 0
1 10 30 15
2 5 60 -
3 2 120 75
4 1 240 -
5 - 480 -
1.2- el algoritmo primero verifica si el valor de num1 es mayor o igual a 1, para luego si este es =1 sumar num2 a s, para
al final del ciclo escribir el valor de s. Finaliza dividiendo por 2 a num1 y num2 multiplicándolo por 2.

2-Prueba de escritorio

n 0538 530 53 50 5 0 0 0 0
i 1 2 3 4 5
salida 0 16 -10 0 0
tempor - 8 3 5 0
al
acumul 0 8 11 16 16
ador
contad 0 1 2 3 4
or
n<>0 - true true true true
I%2=0 - - false true false true

Tabla de valores

i n salida temporal acumulador contador


1 538 0 - 0 0
2 53 16 8 8 1
3 5 -10 3 11 2
4 0 0 5 16 3
5 0 0 0 16 4

3.

INICIO
Entero n, i

Real ca, pre

carácter tipo

I←0

Leer n

Mientras que n > i hacer

I←i+1

Leer ca

Leer tipo

Dependiendo de (tipo) hacer

Caso “A”:

Pre←200 * ca

Si ca > 100 entonces

Pre← pre-(pre*0.1)

FinSi

Escribir “pre”

Caso “B”:

Pre←300 * ca

Si ca > 100 entonces

Pre← pre-(pre*0.1)

FinSi

Escribir “pre”

Sino

Escribir “tipo invalido”

FinDependiendo_De

FinMientras_que

FIN

4.

INICIO

Real dint, imp, lec, lecant

Entero n, código, i

Carácter tipo
dint←0

i←0

Leer n

Mientras_que n > i hacer

I←i+1

Leer lec

Leer lecant

Leer código

Leer tipo

Imp←lec-lecant

Dependiendo_de (tipo) hacer

Caso “R”:

dint←imp*63

Caso “E”:

dint← imp*87

FinDependiendo_de

FinMientras_que

Escribir dint

Escribir código

Escribir tipo

Escribir imp

FIN

5- INICIO

definir eg, er, ep, et, e como enteros;

definir preg, prer, prep, n, ngt, nrt, npt como reales;

escribir "ingrese la cantidad total de estudiantes que hicieron el examen de matemáticas";

leer et;
e<-0;

eg<-0;

ep<-0;

er<-0;

ngt<-0;

nrt<-0;

npt<-0;

mientras (e<et) hacer

e<-e+1;

escribir "idigite la nota del estudiante “, e,": ";

leer n;

mientras (n<0 | n>5) Hacer

escribir "ingrese una tota entre 0 y 5: ";

leer n;

FinMientras

si (n>=3.5) Entonces

escribir "gano el exame";


eg<-eg+1;

ngt<-ngt+n;

FinSi

si (n>=3 && n<3.5) Entonces

escribir "debe hecer el examen de recuperacion";

er<-er+1;

nrt<-nrt+n;

FinSi

si (n<3) Entonces

escribir "perdio el examen";

ep<-ep+1;

npt<-nrt+n;

FinSi

FinMientras

si (eg>0) entonces

preg<-ngt/eg;

escribir "el total de estudiantes que ganaron el examen es: ",eg;

escribir "el promedio de los estudiantes que ganaron el examen es: ",preg;

FinSi

si (er>0) entonces
prer<-nrt/er;

escribir "el total de estudiantes que deben hacer la recuperacion es: ",er;

escribir "el promedio de los estudiantes que deben hacer la recuperacion es: ",prer;

FinSi

si (ep>0) entonces

prep<-npt/ep;

escribir "el total de estudiantes que perdieron el examen es: ",ep;

escribir "el promedio los estudiantes que perdieron el examen es :",prep;

FinSi

FIN

S-ar putea să vă placă și