Está en la página 1de 4

UTN – FRM – Ing.

en Sistemas de Información
Algoritmos y Estructuras de Datos
Ciclo lectivo 2022- Trabajos Prácticos
CONTENIDO N° 4- UT3- Página 1 de 4

CONTENIDO Nº 4
Tema: ESTRUCTURAS DE CONTROL DE FLUJO (UT3)

OBJETIVO: Que los alumnos construyan sus pseudocódigos a partir de las nociones de selectivas; que
sean capaces de identificar los bloques de inicialización, proceso y salida (mostrando los resultados) en
sus algoritmos.

PASOS PARA LA RESOLUCIÓN DE UN PROBLEMA:


I- Delimitación del problema: aspectos que acotan el problema o determinan las condiciones del contexto que lo
delimitan. Explicación breve de lo que el grupo ha entendido sobre lo que debe hacer el algoritmo.

 Elaborado por Susana Oviedo, Adriana José y Eugenia Alfonso 


II- Análisis del problema:
Entradas: todo aquello que se necesita exista o esté disponible (elementos físicos o información), considerándose
indispensable para hallar por lo menos una solución.
Proceso: pasos necesarios para que, a partir de las entradas, se obtengan las salidas deseadas.
Salidas: resultado/s esperado/s que debe proveer la solución.
III- Diseño del Algoritmo: desarrollar en pseudocódigo el algoritmo que resuelve el enunciado, incluyendo
comentarios que indiquen los momentos: ingreso de datos, proceso, salida o mostrar resultados.
IV- Prueba: se simula el funcionamiento del algoritmo con datos propios para validar la correcta operación del
algoritmo. Elija un conjunto de valores para los datos de entrada del algoritmo realizado en pseudocódigo, y realice
la prueba de escritorio (como en el ejemplo) para corroborar si dicho algoritmo es una solución al problema
planteado
V-Codificación: codificar el Pseudocódigo del algoritmo realizado en algún lenguaje de programación, o sea
convertir el algoritmo en programa.

 Consigna 1: Con la participación de los alumnos, se interpreta y resuelve el siguiente ejercicio.


EJERCICIO RESUELTO
Problema: “Dado como dato la cantidad de minutos consumidos en un mes, calcular el importe a pagar por su
teléfono teniendo en cuenta que:- si la cantidad de minutos consumidos es menor ó igual a 300, el precio del
minuto es de 32.45 pesos. - si la cantidad de minutos consumidos es mayor que 300 y menor que 1200, el precio del
minuto es de 31.75 pesos.- si la cantidad de minutos consumidos es mayor ó igual que 1200, el precio del minuto es
de 31.15 pesos. Se debe cobrar también un cargo fijo, si la cantidad de minutos consumidos es menor o igual a 880
este cargo fijo es de $272.50; si supera los 880 el cargo fijo es de $235.80“.

Delimitación del problema: (P: pregunta; R: respuesta)


P: ¿Qué debe hacer el programa? R: Debe calcular el importe a pagar por su teléfono dependiendo de los Minutos
consumidos.
P: ¿Qué datos tengo? R: Tengo el consumo en minutos del usuario y un cargo adicional fijo que debe cobrarse.

Análisis del problema:


Entradas:
CantMin: cantidad de minutos consumidos por el usuario.
Proceso:
Dependiendo de la cantidad de minutos consumidos debo multiplicar el precio por los minutos consumidos y
sumar el cargo fijo.
Salida:
Total: el importe que debe pagar el usuario por su consumo.

Programa:
1 PROGRAMA Consumo
UTN – FRM – Ing. en Sistemas de Información
Algoritmos y Estructuras de Datos
Ciclo lectivo 2022- Trabajos Prácticos
Contenido N° 4- UT3- Página 2 de 4

2 CONST PRECIO_M1= 32.45


3 CONST PRECIO_M2= 31.75
4 CONST PRECIO_M3= 31.15
5 CONST CARGO_FIJO1= 272.5
6 CONST CARGO_FIJO2= 235.8
7 VAR CantMin: ENTERO, Total: REAL
8 INICIO
9 ESCRIBIR(“BIENVENIDO al programa ”)
//Leo el consumo controlando que sea positivo
10 REPETIR
11 ESCRIBIR(“Ingrese la cantidad de minutos consumidos:”)

 Elaborado por Susana Oviedo, Adriana José y Eugenia Alfonso 


12 LEER(CantMin)
13HASTA QUE (CantMin>0)
//Calculo lo que debe pagar por los minutos consumido
14 SI (CantMin <= 300) ENTONCES
15 Total=CantMin* PRECIO_M1
16 SINO
17 SI (CantMin < 1200) ENTONCES
18 Total=CantMin* PRECIO_M2
19 SINO // CantMin >=1200
20 Total=CantMin* PRECIO_M3
21 FINSI
22 FINSI
//Sumo el cargo fijo
23 SI (CantMin <= 880) ENTONCES
24 Total=Total+ CARGO_FIJO1
25 SINO
26 Total=Total+ CARGO_FIJO2
27 FINSI
//Muestro el importe total que corresponde pagar
28 ESCRIBIR(“El importe a pagar es: $”; Total)
29 FIN PROGRAMA

PRUEBA DE ESCRITORIO
Datos de prueba: cantidad de minutos consumidos: 805.
Resultado esperado: Total=805*31.75+272.5=25831.25
Traza: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,21,22,23,24,27,28,29.

Instrucción CantMin Total PRECIO_M1 PRECIO_M2 PRECIO_M3 CARGO_FIJO1 CARGO_FIJO2 PANTALLA


1
2 32.45
3 32.45 31.75
4 32.45 31.75 31.15
5 32.45 31.75 31.15 272.5
6 32.45 31.75 31.15 272.5 238.5
7 32.45 31.75 31.15 272.5 238.5
8 32.45 31.75 31.15 272.5 238.5
9 32.45 31.75 31.15 272.5 238.5 BIENVENIDO al
programa
UTN – FRM – Ing. en Sistemas de Información
Algoritmos y Estructuras de Datos
Ciclo lectivo 2022- Trabajos Prácticos
Contenido N° 4- UT3- Página 3 de 4

10 32.45 31.75 31.15 272.5 238.5


11 32.45 31.75 31.15 272.5 238.5 Ingrese la
cantidad de
minutos
consumidos:
12 -9 32.45 31.75 31.15 272.5 238.5
13 -9 32.45 31.75 31.15 272.5 238.5
10 -9 32.45 31.75 31.15 272.5 238.5
11 32.45 31.75 31.15 272.5 238.5 Ingrese la
cantidad de
minutos
consumidos:

 Elaborado por Susana Oviedo, Adriana José y Eugenia Alfonso 


12 805 32.45 31.75 31.15 272.5 238.5
13 805 32.45 31.75 31.15 272.5 238.5
14 805 32.45 31.75 31.15 272.5 238.5
16 805 32.45 31.75 31.15 272.5 238.5
17 805 32.45 31.75 31.15 272.5 238.5
18 805 25558.75 32.45 31.75 31.15 272.5 238.5
21 805 25558.75 32.45 31.75 31.15 272.5 238.5
22 805 25558.75 32.45 31.75 31.15 272.5 238.5
23 805 25558.75 32.45 31.75 31.15 272.5 238.5
24 805 25831.25 32.45 31.75 31.15 272.5 238.5
27 805 25831.25 32.45 31.75 31.15 272.5 238.5
28 805 25831.25 32.45 31.75 31.15 272.5 238.5 El importe a
pagar es:
25831.25
29 No No existe No existe No existe No existe No existe No existe
existe
Resultado de la prueba: coincide con lo esperado.

Resolución en un lenguaje (C++):

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {

//Declaracion de constantes
Const float PRECIO_M1= 32.45;
const float PRECIO_M2= 31.75;
const float PRECIO_M3= 31.15;
const float CARGO_FIJO1= 272.5;
const float CARGO_FIJO2= 235.8;
//Declaracion de variables
int CantMin;
float Total;
//inicio
cout <<" BIENVENIDO al programa”<<endl;
do { //validacion de datos minutos
cout << "\n Ingrese la cantidad de minutos consumidos en el periodo:" ;
cin>> CantMin;
} while (CantMin <=0);
UTN – FRM – Ing. en Sistemas de Información
Algoritmos y Estructuras de Datos
Ciclo lectivo 2022- Trabajos Prácticos
Contenido N° 4- UT3- Página 4 de 4

//Calculo de lo que debe pagar por M consumidos


if (CantMin <= 300) {
Total=CantMin* PRECIO_M1;
} else {
if (CantMin <1200) {
Total=CantMin* PRECIO_M2;
} else // CantMin >=1200
{Total=CantMin* PRECIO_M3;}
}
//Sumo el cargo fijo
if (CantMin <= 880) {

 Elaborado por Susana Oviedo, Adriana José y Eugenia Alfonso 


Total=Total+ CARGO_FIJO1;
} else
{Total=Total+ CARGO_FIJO2;}
//Muestro el importe total que corresponde pagar
cout<<" El importe a pagar es: "<<Total<<"\n";

return 0;
}

 Consigna 2: Realizar el algoritmo en pseudocódigo y realizar pruebas de escritorio para diferentes


ejemplos de datos: (validar los datos ingresados)
Desarrolle la resolución a cada problema realizando los Pasos I a V, de los Pasos de Resolución.

1- Desarrolle un programa que ingresando una fecha (día, mes y año por separado) diga si es válida.

2- Realizar un algoritmo que ingresando dos fechas del mismo año (día, mes por separado) diga cuál es mayor.

 Consigna 3: A modo de repaso y para afianzar los conocimientos adquiridos durante esta clase, Ud. debe
RENDIR la Tarea en casa Nro. 4 en el aula virtual de la cátedra en forma individual.

 Consigna 4: Para poder realizar la ejercitación la próxima clase es necesario que conozca los siguientes

contenidos: secuencias, selectivas (completa, incompleta, múltiple), repetitivas (mientras, repetir, variar, iterar). Para
acreditar estos conocimientos, Ud. debe RENDIR el Cuestionario Nro. 5 en la plataforma de la cátedra en forma
individual.

También podría gustarte