algoritmos y diagramas de flujo
TRANSCRIPT
UNIDAD III - ALGORITMOS Y DIAGRAMAS DE FLUJO.
Objetivos: El alumno elaborará algoritmos, diagramas de flujo y pseudocódigos para la resolución de problemas.
Producto Final: El alumno realizará un cuadernillo con 60 ejercicios resueltos que contenga:
− Estructuras de control,
− Diagramas de flujo,
− Pseudocódigo, y - Pruebas de escritorio (mínimo dos corridas con valores distintos).
Tema: Reglas para elaborar algoritmos, Pseudocódigo y diagramas de flujo.
Saber: Reconocer la sintaxis utilizada para el desarrollo de pseudocódigo. Identificar la simbología utilizada en el desarrollo de diagramas de flujo. Describir el procedimiento para realizar una prueba de escritorio.
Saber Hacer: Plantear la solución de un problema empleando pseudocódigo y diagramas de flujo.
Ser: Analítico, Ordenado, Sistemático, Coherente, Proactivo y Asertivo.
Reglas para elaborar algoritmos
1. Un algoritmo tiene cero o más entradas. 2. Un algoritmo tiene una o más salidas. 3. Un algoritmo ha de ser finito en el tiempo. 4. Un algoritmo debe ser preciso. 5. Cuanto más eficaz un algoritmo mejor.
Un procesador entiende y ejecuta algoritmos, lee los algoritmos de arriba hacia abajo, ejecutando instrucción por instrucción, reconoce instrucciones elementales: leer datos, mostrar datos y realizar operaciones aritméticas.
Simbología utilizada en los diagramas de flujo
Significado DFD Norma
Inicio
Entrada
Proceso
Salida
Decisión
Estructura Para
Estructura Mientras
Ejemplos de aprendizaje
Ejemplo 1 - Abarrotes
Desarrollar el pseudocódigo, diagrama de flujo y prueba de escritorio de un programa que lea el costo individual y la cantidad de productos que compra un cliente en una tienda de abarrotes para calcular el importe a pagar y el cambio que debe recibir el cliente.
Tabla de análisis
Datos de entrada Proceso Salida
ctoProducto importe = ctoProducto * cantProductos cambio = pago - importe
Importe cambio
cantProductos Pago
El programa lee el costo individual y la cantidad de artículos que compra un cliente, para calcular el importe a pagar y el cambio que debe recibir. ctoProducto, cantProductos, importe, pago y cambio son variables de tipo real.
Pseudocódigo
1. Mostrar “Escribe el Costo individual del producto “ 2. Leer ctoProducto 3. Mostrar “Escribe la Cantidad de Productos “ 4. Leer cantProductos 5. Importe = ctoProducto * cantProductos 6. Mostrar “Importe a pagar “, importe 7. Mostrar “Pago del cliente” 8. Leer pago 9. cambio = pago – importe 10. Mostrar “Su cambio es “, cambio 11. Mostrar “Gracias por su visita”
Diagrama de flujo
Prueba de escritorio
Las pruebas de escritorio son pruebas manuales que se encargan de visualizar el comportamiento de los estados de las variables en el transcurso de la ejecución de un programa. La forma de hacer una prueba de escritorio es muy sencilla, para hacerlo se elabora una tabla con varias columnas, en la primera se indica el número de corrida, en las siguientes se colocan los valores de los datos de entrada, en otra se colocan los valores que las variables adquieren durante el proceso. Se simula línea por línea la ejecución del programa. En cada línea donde exista un cambio de estado o una petición de información, se deberá actualizar la columna de resultados.
Prueba de escritorio
Número
Corrida
Datos entrada Salida Datos
entrada Salida
ctoProducto cantProductos importe Pago Cambio 1 20 2 40 100 60 2 15 4 60 200 140 3 35 1 35 50 15 4 8 5 40 50 10 5 18 3 54 60 6
Código C#
namespace ConsoleApplicationAbarrotes
{
class Program
{
static void Main(string[] args)
{
double ctoProducto, cantProductos, importe, pago, cambio;
Console.WriteLine("Escribe el Costo individual del producto ");
ctoProducto = double.Parse(Console.ReadLine());
Console.WriteLine("Escribe la Cantidad de Productos ");
cantProductos = double.Parse(Console.ReadLine());
importe = ctoProducto * cantProductos;
Console.WriteLine("Importe a pagar " + importe);
Console.WriteLine("Pago del cliente ");
pago = double.Parse(Console.ReadLine());
cambio = pago - importe;
Console.WriteLine("Su cambio es " + cambio);
Console.WriteLine("Gracias por su visita");
Console.ReadKey();
}
}
}
Ejemplo 2 – Promedio Calificaciones
Desarrollar un programa que lea tres calificaciones de un alumno y calcule su promedio.
Tabla de análisis
Datos de entrada Proceso Salida
calif1
promedio = (calif1 + calif2 + calif3)/3 Promedio calif2
calif3
El programa lee tres calificaciones de un alumno y calcula el promedio. calif1, calif2, calif3 y
promedio son variables de tipo real.
Pseudocódigo
1. Mostrar “Escribe la primera calificación“
2. Leer calif1
3. Mostrar “Escribe la segunda calificación“
4. Leer calif2
5. Mostrar “Escribe la tercera calificación“
6. Leer calif3
7. promedio = (calif1 + calif2 + calif3)/3
8. Mostrar “El promedio es “, promedio
Diagrama de flujo
Prueba de escritorio
Número de
corrida
Datos entrada Salida
calif1 calif2 calif3 promedio
1 7 7 7 7
2 8 9 7 8
3 10 8 6 8
4 9.5 8.5 10 9.33
Código C#
namespace ConsoleApplicationPromedioCalificaciones
{
class Program
{
static void Main(string[] args)
{
double calif1, calif2, calif3, promedio = 0;
Console.WriteLine("Escribe la primera calificación ");
calif1 = double.Parse(Console.ReadLine());
Console.WriteLine("Escribe la segunda calificación ");
calif2 = double.Parse(Console.ReadLine());
Console.WriteLine("Escribe la tercera calificación ");
calif3 = double.Parse(Console.ReadLine());
promedio = (calif1 + calif2 + calif3) / 3;
Console.WriteLine("El promedio es " + promedio);
Console.ReadKey();
}
}
}
Ejemplo 3 – Promedio Edades
El programa lee la edad de tres personas y calcula el promedio. edad1, edad2, edad3 y promedio son variables de tipo real Pseudocódigo
1. Mostrar “Escribe la primera edad“ 2. Leer edad1 3. Mostrar “Escribe la segunda edad“ 4. Leer edad2 5. Mostrar “Escribe la tercera edad“ 6. Leer edad3 7. promedio = (edad1 + edad2 + edad3)/3 8. Mostrar “El promedio es “, promedio
Diagrama de flujo
Prueba de escritorio
Número de
corrida
Datos entrada Salida
edad1 edad2 edad3 promedio 1 17 15 16 16 2 8 9 7 8 3 10 20 15 15 4 18 20 22 20 5 16 15 20 17
Código C#
namespace ConsoleApplicationPromedio_Edades
{
class Program
{
static void Main(string[] args)
{
double edad1, edad2, edad3, promedio = 0;
Console.WriteLine("Escribe la primera edad ");
edad1 = double.Parse(Console.ReadLine());
Console.WriteLine("Escribe la segunda edad ");
edad2 = double.Parse(Console.ReadLine());
Console.WriteLine("Escribe la tercera edad ");
edad3 = double.Parse(Console.ReadLine());
promedio = (edad1 + edad2 + edad3) / 3;
Console.WriteLine("El promedio es " + promedio);
Console.ReadKey();
}
}
}
Ejemplo 4 – Promedio Temperaturas
El programa lee tres temperaturas y calcula el promedio de ellas. temp1, temp2, temp3 y promedio son variables de tipo real. Pseudocódigo
1. Mostrar “Escribe la primera temperatura“ 2. Leer temp1 3. Mostrar “Escribe la segunda temperatura“ 4. Leer temp2 5. Mostrar “Escribe la tercera temperatura“ 6. Leer temp3 7. promedio = (temp1 + temp2 + temp3)/3 8. Mostrar “El promedio es “, promedio
Diagrama de flujo
Prueba de escritorio
Número de
corrida
Datos entrada Salida
temp1 temp2 temp3 promedio 1 37 30 25 2 15 19 27 3 40 28 35 4 28 34 24 5 26 20 18
Código C#
namespace ConsoleApplicationPromedio_Temperaturas
{
class Program
{
static void Main(string[] args)
{
double temp1, temp2, temp3, promedio = 0;
Console.WriteLine("Escribe la primera temperatura ");
temp1 = double.Parse(Console.ReadLine());
Console.WriteLine("Escribe la segunda temperatura ");
temp2 = double.Parse(Console.ReadLine());
Console.WriteLine("Escribe la tercera temperatura ");
temp3 = double.Parse(Console.ReadLine());
promedio = (temp1 + temp2 + temp3) / 3;
Console.WriteLine("El promedio es " + promedio);
Console.ReadKey();
}
}
}
Ejemplo 5 - ConversionPesos_DolaresEuros
El programa lee una cantidad de pesos y la convierte a dólares y euros, usando valores constantes. Pesos, dólares y euros, son variables de tipo real.
Pseudocódigo
1. Mostrar “Escribe la cantidad de pesos“ 2. Leer pesos 3. dolares = pesos/13.05 4. euros = pesos/17.3 5. Mostrar “Son “, dolares, “ Dolares“ 6. Mostrar “Son “, euros, “ Euros”
Diagrama de flujo
Prueba de escritorio
Número de
corrida
Datos entrada Salida
Pesos dolares Euros
1 3000
2 15500
3 4010
4 2800
5 260
Código C#
namespace ConsoleApplicationConversionPesos_DolaresEuros
{
class Program
{
static void Main(string[] args)
{
double pesos, dolares, euros;
Console.WriteLine("Escribe la cantidad de pesos");
pesos = double.Parse(Console.ReadLine());
dolares = pesos/13.05;
euros = pesos/17.3;
Console.WriteLine("Son " + dolares + “ Dolares”);
Console.WriteLine("Son " + euros + “ Euros”);
Console.ReadKey();
}
}
}
Ejemplo 6 – Porcentaje Rechazo
Desarrollar un programa que lea una cantidad de piezas producidas y defectuosas en una línea de producción, para calcular el porcentaje de rechazo.
Tabla de análisis
Datos de Entrada Proceso Salida
PzsProd PorRech = (PzsDef/PzsPrd) * 100 PorRech
PzsDef El programa lee la cantidad de piezas producidas y rechazadas en una línea de producción, para
calcular el porcentaje de rechazo. PzsProd, PzsDef y PorRech son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura las piezas producidas en la línea de producción” 2. Leer PzsProd 3. Mostrar “Captura las piezas defectuosas “ 4. Leer PzsDef 5. PorRech = (PzsDef / PzsProd) * 100 6. Mostrar “El porcentaje de rechazo de la línea es “, PorRech
Diagrama de flujo
Prueba de escritorio
Datos de entrada Salida
PzsProd PzsDef PorRech
550 70
605 35
900 120
435 67
560 230
Código en C#
namespace ConsoleApplicationPorcentaje_Rechazo
{
class Program
{
static void Main(string[] args)
{
double PzsProd, PzsDef, PorRech;
Console.WriteLine("Captura las piezas producidas en la línea");
PzsProd = double.Parse(Console.ReadLine());
Console.WriteLine("Captura las piezas defectuosas");
PzsDef = double.Parse(Console.ReadLine());
PorRech = (PzsDef / PzsProd) * 100;
Console.WriteLine("El porcentaje de rechazo en la línea es" + PorRech);
Console.ReadKey();
}
}
}
Ejemplo 7 – Porcentaje Reprobacion
Desarrollar un programa que calcule el porcentaje de reprobación de un grupo, a partir de la cantidad total de alumnos que presentaron un examen y el número de alumnos que lo reprobaron.
Tabla de análisis
Datos de Entrada Proceso Salida
CantAlumnos PorRep = (AlumnosRep/CantAlumnos) * 100 PorRep
AlumnosRep El programa lee la cantidad de alumnos que presentaron un examen y el número de alumnos
reprobados, para calcular el porcentaje de reprobación de un grupo. CantAlumnos, AlumnosRep y
PorRep son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura la cantidad de alumnos que presentaron el examen” 2. Leer CantAlumnos 3. Mostrar “Captura el número de alumnos reprobados “ 4. Leer AlumnosRep 5. PorRep = (CantAlumnos / AlumnosRep) * 100 6. Mostrar “El porcentaje de reprobacion es“, PorRep
Diagrama de flujo
Prueba de escritorio
Datos de entrada Salida
CantAlumnos AlumnosRep PorRep
55 7
40 15
33 12
35 17
60 23
Código en C#
namespace ConsoleApplicationPorcentaje_Reprobacion
{
class Program
{
static void Main(string[] args)
{
double CantAlumnos, AlumnosRep, PorRep;
Console.WriteLine("Captura la cantidad de alumnos que presentaron examen");
CantAlumnos = double.Parse(Console.ReadLine());
Console.WriteLine("Captura el número de alumnos reprobados");
AlumnosRep = double.Parse(Console.ReadLine());
PorRep = (AlumnosRep / CantAlumnos) * 100;
Console.WriteLine("El porcentaje de reprobacion es" + PorRep);
Console.ReadKey();
}
}
}
Ejemplo 8 – Porcentaje Ventas
Desarrollar un programa para el dueño de una tienda que necesita calcular el porcentaje de ventas correspondiente a un mes a partir del importe de ventas anual.
Tabla de análisis
Datos de Entrada Proceso Salida
VtsMes PorVentas = (Vts/VtsAnuales) * 100 PorVentas
VtsAnuales El programa lee las ventas de un mes y las ventas anuales de una tienda, para calcular el
porcentaje de ventas de dicho mes. VtsMes, VtsAnuales y PorVentas son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura las ventas del mes” 2. Leer VtsMes 3. Mostrar “Captura las ventas anuales de la tienda“ 4. Leer VtsAnuales 5. PorVentas = (VtsMes / VtsAnuales) * 100 6. Mostrar “El porcentaje de ventas del mes es“, PorVentas
Diagrama de flujo
Prueba de escritorio
Datos de entrada Salida
VtsMes VtsAnuales PorVentas
55000 23456045
67434 60467256
30457 35789589
35015 40788529
16069 80356785
Código en C#
namespace ConsoleApplicationPorcentaje_Ventas
{
class Program
{
static void Main(string[] args)
{
double VtsMes, VtsAnuales, PorVentas;
Console.WriteLine("Captura las ventas del mes");
VtsMes = double.Parse(Console.ReadLine());
Console.WriteLine("Captura las ventas anuales de la tienda");
VtsAnuales = double.Parse(Console.ReadLine());
PorVentas = (VtsMes / VtsAnuales) * 100;
Console.WriteLine("El porcentaje de ventas del mes es" + PorVentas);
Console.ReadKey();
}
}
}
Ejemplo 9 – Sueldo Semanal
Desarrollar un programa para el dueño de un taller mecánico que necesita un programa que lea el número de un empleado, los días trabajados y el sueldo diario, para calcular el sueldo semanal de sus empleados considerando un impuesto del 7.5%.
Tabla de análisis
Datos de Entrada Proceso Salida
Numero SueldoS = DiasTrab * SueldoDia Impuesto = SueldoS * 0.075
SueldoT = SueldoS - Impuesto
SueldoS DiasTrab Impuesto
SueldoDia SueldoT
El programa lee el número del empleado, los días trabajados y el sueldo diario, para calcular el
sueldo semanal considerando un impuesto del 7.5%. Numero, DiasTrab, SueldoDia, SueldoS,
Impuesto y SueldoT son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura el numero del empleado”
2. Leer Numero
3. Mostrar “Captura los días trabajados“
4. Leer DiasTrab
5. Mostrar “Captura el sueldo diario”
6. Leer SueldoDia
7. SueldoS = DiasTrab * SueldoDia
8. Impuesto = SueldoS * 0.075
9. SueldoT = SueldoS - Impuesto
10. Mostrar “Sueldo semanal antes de impuestos “, SueldoS
11. Mostrar “Impuesto “, Impuesto
12. Mostrar “Sueldo Total “, SueldoT
Diagrama de flujo
Prueba de escritorio
Datos de entrada Salida
Numero DiasTrab SueldoDia SueldoS Impuesto SueldoT
1051 7 850
434 4 367
304 6 655
5015 5 385
606 10 425
Código en C#
namespace ConsoleApplicationSueldoSemanal
{
class Program
{
static void Main(string[] args)
{
double Numero, DiasTrab, SueldoDia, SueldoS, Impuesto, SueldoT;
Console.WriteLine("Captura el numero del empleado ");
Numero = double.Parse(Console.ReadLine());
Console.WriteLine("Captura los dias trabajados");
DiasTrab = double.Parse(Console.ReadLine());
Console.WriteLine("Captura el sueldo diario");
SueldoDia = double.Parse(Console.ReadLine());
SueldoS = DiasTrab * SueldoDia;
Impuesto = SueldoS * 0.075;
SueldoT = SueldoS - Impuesto;
Console.WriteLine("Sueldo Semanal " + SueldoS);
Console.WriteLine("Impuesto " + Impuesto);
Console.WriteLine("Sueldo Total " + SueldoT);
Console.ReadKey();
}
}
}
Ejemplo 10 – Importe Descuento
Desarrollar un programa que lea el código de un producto, su costo unitario y la cantidad comprada, para calcular el importe a pagar por el cliente aplicando un descuento del 8%.
Tabla de análisis
Datos de Entrada Proceso Salida
codigo importe = ctoProd * cantProd descuento = importe * 0.08
importeT = importe - descuento
Importe ctoProd descuento
cantProd importeT
El programa lee el código de un producto, su costo unitario y la cantidad comprada, para calcular
el importe a pagar aplicando un descuento del 8%. codigo, ctoProd, cantProd, importe, descuento
e importeT son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura el codigo del producto”
2. Leer codigo
3. Mostrar “Captura el costo unitario del producto“
4. Leer ctoProd
5. Mostrar “Captura la cantidad de productos comprados”
6. Leer cantProd
7. importe = ctoProd * cantProd
8. descuento = importe * 0.08
9. importeT = importe - descuento
10. Mostrar “Importe sin descuento “, importe
11. Mostrar “Descuento “, desuento
12. Mostrar “Importe Total “, importeT
Diagrama de flujo
Prueba de escritorio
Datos de entrada Salida
codigo ctoProd cantProd importe descuento importeT 2340 23.5 4 4567 80 6 5432 15.35 10 8762 56.45 3 4257 10.05 5
Código en C#
namespace ConsoleApplicationImporte_Descuento
{
class Program
{
static void Main(string[] args)
{
double codigo, ctoProd, cantProd, importe, descuento, importeT;
Console.WriteLine("Captura el codigo del producto ");
codigo = double.Parse(Console.ReadLine());
Console.WriteLine("Captura el costo unitario del producto");
ctoProd = double.Parse(Console.ReadLine());
Console.WriteLine("Captura la cantidad de productos comprados");
cantProd = double.Parse(Console.ReadLine());
importe = ctoProd * cantProd;
descuento = importe * 0.08;
importeT = importe - descuento;
Console.WriteLine("Importe sin descuento " + importe);
Console.WriteLine("Descuento " + descuento);
Console.WriteLine("Importe Total " + importeT);
Console.ReadKey();
}
}
}
Ejemplo 11 – Gasolina Importe Descuento
Desarrollar un programa que lea el código del tipo de gasolina, los litros comprados y el precio por litro, para calcular el importe a pagar por el cliente considerando un descuento del 15%.
Tabla de análisis
Datos de Entrada Proceso Salida
codigo importe = ctoLitro * ltsComp descuento = importe * 0.15
importeT = ctoLitro - descuento
Importe ctoLitro descuento ltsComp importeT
El programa lee el código del tipo de gasolina, los litros comprados y el precio por litro, para
calcular el importe a pagar aplicando un descuento del 15%. codigo, ctoLitro, ltsComp, importe,
descuento e importeT son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura el codigo de la gasolina”
2. Leer codigo
3. Mostrar “Captura el costo por litro de la gasolina“
4. Leer ctoLitro
5. Mostrar “Captura la cantidad de litros comprados”
6. Leer ltsComp
7. importe = ctoLitro * ltsComp
8. descuento = importe * 0.15
9. importeT = importe - descuento
10. Mostrar “Importe sin descuento “, importe
11. Mostrar “Descuento “, desuento
12. Mostrar “Importe Total “, importeT
Diagrama de flujo
Prueba de escritorio
Datos de entrada Salida
codigo ctoLitro ltsComp importe descuento importeT 1 10.6 5 2 9.67 15 4 11.05 20 1 12.45 30 3 10.05 25
Código C#
namespace ConsoleApplicationGasolinaImporte_Descuento
{
class Program
{
static void Main(string[] args)
{
double codigo, ctoLitro, ltsComp, importe, descuento, importeT;
Console.WriteLine("Captura el codigo de la gasolina");
codigo = double.Parse(Console.ReadLine());
Console.WriteLine("Captura el costo por litro de la gasolina");
ctoLitro = double.Parse(Console.ReadLine());
Console.WriteLine("Captura los litro de gasolina comprados");
ltsComp = double.Parse(Console.ReadLine());
importe = ctoLitro * ltsComp;
descuento = importe * 0.15;
importeT = importe - descuento;
Console.WriteLine("Importe sin descuento " + importe);
Console.WriteLine("Descuento " + descuento);
Console.WriteLine("Importe Total " + importeT);
Console.ReadKey();
}
}
}
Ejercicios de aprendizaje individual
Programa 19
El dueño de una tienda requiere un programa que lea el código del producto, el costo unitario y la cantidad comprada, para calcular el importe a pagar y el cambio que debe recibir el cliente, aplicando un descuento del 8%.
Programa 20
Desarrollar un programa para el dueño de una tienda, que requiere leer el código del artículo, el costo unitario, la cantidad comprada y el tipo de cambio del dólar para calcular el importe a pagar en pesos y dólares, y el cambio que debe recibir el cliente, aplicando un impuesto del 6.5%.
Tema: Contadores y acumuladores.
Saber: Reconocer el funcionamiento de un contador y un acumulador.
Saber Hacer: Comparar entre un contador y un acumulador. Contador: Variable cuyo valor inicial, se incrementa o decrementa (aumenta o disminuye) en una cantidad constante, cada vez que se produce un determinado suceso o acción. Sirven para contar las acciones o sucesos que ocurren durante una estructura de repetición. Se deben inicializar, esto es asignarle un valor inicial el cual irá aumentando o disminuyendo en cada repetición.
Por ejemplo, el programa de un banco utiliza un contador para determinar el número de
veces que un cliente utilizo su tarjeta durante el mes.
Uso_tarjeta = 0 Cuando el cliente paga con su tarjeta Uso_tarjeta = Uso_tarjeta + 1 En un videoclub, el programa puede contar las rentas que ha realizado un cliente, en un
tiempo determinado.
Rentas = 0 Cuando el cliente renta una película Rentas = Rentas + 1 En un banco se puede contar el número de clientes que se atienden al día
NumCliente = 0 Cuando se atiende un cliente NumCliente = NunCliente + 1 Acumulador o totalizador: Variable cuyo valor inicial, suma sobre sí misma un conjunto de valores variables, para alcanzar un valor final. El programa de un banco calcula el saldo de un cliente utilizando un totalizador
SaldoInicial = 120 Cuando el cliente realiza un deposito SaldoInicial = SaldoInicial + deposito Cuando el cliente realiza un retiro SaldoInicial = SaldoInicial - retiro El programa de una tienda comercial, programa puede calcular el total de ventas que se
registro en una caja
ImporteVentas = 0 Cuando el cajero atiende a un cliente ImporteVentas = ImporteVentas + Ventas
Cuando un cliente realiza un cambio o cancela una venta ImporteVentas = ImporteVentas - VentaCancelada
El programa de un celular que controla el saldo del usuario, utiliza un acumulador para
calcular el saldo luego de cada operación que realiza el cliente.
SaldoInicial = 200 Cuando el cliente realiza una llamda SaldoInicial = SaldoInicial – CostoTiempoLlamada Cuando el cliente realiza una carga de tiempo SaldoInicial = SaldoInicial + CargaTiempo En ocasiones será necesario utilizar un contador y un acumulador al mismo tiempo, por
ejemplo si necesitamos leer la edad de 15 personas, para calcular la edad promedio, se
requiere contar a las personas y acumular su edad. En este ejemplo será necesario
inicializar tanto el contador como el acumulador.
ContadorPersonas = 0 AcumuladorEdades = 0
Cuando se le pregunta a una persona su edad se debe incrementar el contador de las
personas y el acumulador de las edades.
ContadorPersonas = ContadorPersonas + 1 AcumuladorEdades = AcumuladorEdades + Edad
Tema: Estructuras de control de selección (selectivas).
Saber: Reconocer el funcionamiento de las estructuras de control selectivas: Simples, Compuestas y Múltiples.
Saber Hacer: Resolver un problema determinado aplicando las estructuras de control selectivas y verificar la solución a través de una prueba de escritorio.
Simples Permiten realizar o Ó no un bloque de Únicas instrucciones. Se realiza uno de dos Estructuras Dobles bloques de instrucciones luego de evaluarse una Selectivas condición. Se realiza uno de varios Múltiples bloques de instrucciones luego de evaluarse varias condiciones.
Ejercicios de aprendizaje
Ejercicio 1 – Calcular Descuento
Desarrollar un programa que lea el precio de un artículo y la cantidad comprada, para calcular el importe y un descuento del 25% si la cantidad comprada es mayor o igual a 100. Al final el programa debe mostrar importe sin descuento, descuento el importe total sin descuento y el cambio. El programa lee el precio de un artículo y la cantidad comprada para calcular el importe sin
descuento, un descuento del 25% si la cantidad es mayor o igual a 100 y el importe sin descuento.
precio, cantidad, importe, descuento, importetot, pago y cambio son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura el precio del articulo” 2. Leer precio 3. Mostrar “Captura la cantidad comprada” 4. Leer cantidad 5. importe = precio * cantidad 6. Mostrar “Importe sin descuento “, importe 7. Si cantidad >=100 entonces
7.1 descuento = importe * 0.25 sino
7.2 descuento = 0 fin_si
8. Mostrar “El descuento es “, descuento 9. importetot = importe – descuento 10. Mostrar “Importe con descuento “, importetot 11. Mostrar “Captura pago del cliente” 12. Leer pago 13. Cambio = pago – importetot 14. Mostrar “Su cambio es “, cambio
Prueba de escritorio
No corrida
precio Cantidad importe descuento importetot pago cambio
Desarrolla diagrama de flujo y codifica en C#
Ejercicio 2 – Calcular Descuento Dolares
Desarrollar un programa que lea el precio de un artículo, la cantidad comprada y el tipo de cambio del dólar, para calcular:
- Importe a pagar en pesos y dólares. - Descuento del 35% en pesos y dólares si la cantidad comprada es mayor o igual
a 200. - Importe total en pesos y dólares, asumiendo que se paga en pesos. - Cambio en pesos y dólares.
El programa lee el precio de un artículo, la cantidad comprada y el tipo de cambio del dólar para
calcular el importe a pagar en pesos y dólares, un descuento en pesos y dólares del 35% si la
cantidad es mayor o igual a 200 y el importe total en pesos y dolares. precio, cantidad, importep,
imported, descuentop, descuentod, importetotp, pago y tcambio son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura el precio del articulo” 2. Leer precio 3. Mostrar “Captura la cantidad comprada” 4. Leer cantidad 5. Mostrar “Tipo de cambio” 6. Leer tcambio 7. importep = precio * cantidad 8. imported = importep/tcambio 9. Mostrar “Importe en pesos sin descuento “, importep 10. Si cantidad >=100 entonces
10.1 descuentop = importep * 0.25 10.2 descuentod = descuentop/tcambio
sino 10.3 descuentop = 0 10.4 descuentod = 0 fin_si
11. Mostrar “El descuento en pesos es “, descuentop 12. Mostrar “El descuento en dólares es”, descuentod 13. importetotp = importep – descuentop 14. importetotd = imported - descuentod 15. Mostrar “Importe sin descuento “, importetot 16. Mostrar “Captura pago del cliente” 17. Leer pago 18. Cambio = pago – importetot 19. Mostrar “Su cambio es “, cambio
Prueba de escritorio
No corrida
precio cantidad tcambio importep imported
Ejercicio 3 – Calcular Sueldo Semanal
Desarrollar un programa que lea el sueldo por día y los días trabajados para calcular el sueldo semanal de un trabajador. Se debe calcular:
- El sueldo bruto en base a los días trabajados. - Un bono del 35% sobre el sueldo bruto si el empleado trabajo los 6 días. - El Sueldo neto considerando el sueldo bruto y el bono. - Un impuesto del 8.6% sobre el sueldo neto. - El sueldo total que debe recibir el trabajador.
Elaborar tabla de análisis, pseudocódigo, diagrama de flujo, prueba de escritorio y código en C#.
Ejercicio 4 – Calcular Promedio Calificaciones
Desarrollar un programa que lea las tres calificaciones parciales de un alumno, para calcular su promedio. El programa debe mostrar un mensaje de felicitaciones si el promedio es mayor o igual a 8, en caso contrario debe mostrar un mensaje animándolo a estudiar. Elaborar tabla de análisis, pseudocódigo, diagrama de flujo, prueba de escritorio y código en C#.
El programa lee 3 calificaciones de un alumno, para calcular su promedio. Muestra un mensaje de
felicitación si el promedio es mayor o igual a 8, sino uno animándolo a estudiar. calif1, calif2, calif3
y promedio son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura la calificación 1”
2. Leer calif1
3. Mostrar “Captura la calificación 2”
4. Leer calif2
5. Mostrar “Captura la calificación 3”
6. Leer calif3
7. promedio = (calif1 + calif2 + calif3)/3
8. Si promedio>= 8 entonces
8.1 Mostrar “Felicidades tu promedio es ”, promedio
else
8.2 Mostrar “Necesitas estudiar mas, tu promedio es “, promedio
Ejercicio 5 – Calcula Sueldo y Bono
El dueño de un taller de costura necesita un programa para calcular el sueldo total de sus empleados, el cual calcula a partir de las piezas buenas producidas y el costo por pieza. Si ellos producen más de 150 piezas buenas obtienen un bono adicional del 35% sobre su sueldo bruto, sin embargo su sueldo genera un impuesto del 6%. Al final el programa debe mostrar:
- Sueldo Bruto.
- Bono.
- Sueldo Neto.
- Impuesto.
- Sueldo Total.
Elaborar tabla de análisis, pseudocódigo, diagrama de flujo, prueba de escritorio y código en C#.
El programa lee la cantidad de piezas buenas producidas y el costo por pieza, del empleado de un
taller de costura, para calcular el sueldo bruto, bono, sueldo neto, impuesto y el sueldo total.
pzsbns, ctopza, sbruto, bono, sneto, impuesto y stotal son variables de tipo real.
Pseudocódigo
1. Mostrar “Captura las piezas buenas”
2. Leer pzsbns
3. Mostrar “Captura el costo por pieza”
4. Leer ctopza
5. sbruto = pzsbns * ctopza
6. Si pzsbns > 150 entonces
6.1 bono = sbruto * 0.35
sino
6.2 bono = 0
fin_si
7. sneto = sbruto + bono
8. impuesto = sneto * 0.06
9. stotal = sneto – impuesto
10. Mostrar “Sueldo Bruto “, sbruto
11. Mostrar “Bono “, bono
12. Mostrar “Sueldo Neto “, sneto
13. Mostrar “Impuesto “, impuesto
14. Mostrar “Sueldo Total “, stotal
Prueba de escritorio
No Corrida
pzsbns ctopza sbruto bono sneto impuesto Stotal
Ejercicio 6 – Calcular Venta Gasolinera
El dueño de una gasolinera necesita un programa para calcular sus ventas diarias, el cual debe leer los litros comprados por el cliente, el precio por litro y el tipo de cambio del dólar, para calcular el importe a pagar en pesos y dólares. El dueño ha prometido un descuento del 15% si los clientes consumen más de 20 litros. Elaborar tabla de análisis, pseudocódigo, diagrama de flujo, prueba de escritorio y código en C#. Elaborar tabla de análisis, pseudocódigo, diagrama de flujo, prueba de escritorio y código en C#.
Ejercicio 7 – Calcular Edad Mayor
Desarrollar un programa que lea la edad de tres personas, para calcular cual es la edad mayor y mostrarla en pantalla. Elaborar tabla de análisis, pseudocódigo, diagrama de flujo, prueba de escritorio y código en C#.
Pseudocódigo
1. Mostrar “Captura la primera edad” 2. Leer edad1 3. Mostrar “Captura la segunda edad” 4. Leer edad2 5. Mostrar “Captura la tercera edad” 6. Leer edad3 7. mayor = edad1 8. Si edad2 > mayor entonces 9. mayor = edad2 10. Si edad3 > mayor entonces 11. mayor = edad3 12. Fin_si 13. Sino 14. Si edad3 > mayor entonces 15. mayor = edad3 16. Fin_si 17. Fin_si 18. Mostrar “La edad mayor es”, mayor
Ejercicio 8 – Calcular Promedio Menor
Desarrollar un programa que lea el promedio de tres alumnos, para calcular cual es el promedio menor y mostrarlo en pantalla.
Pseudocódigo
1. Mostrar “Captura el primer promedio”
2. Leer prom1
3. Mostrar “Captura el segundo promedio”
4. Leer prom2
5. Mostrar “Captura el tercer promedio”
6. Leer prom3
7. menor = prom1
8. Si prom2 < menor entonces
9. menor = prom2
10. Si prom3 < menor entonces
11. menor = prom3
12. Fin_si
13. Sino
14. Si prom3 < menor entonces
15. menor = prom3
16. Fin_si
17. Fin_si
18. Mostrar “El promedio menor es”, menor
Ejercicio 9 – Calcular Importe Cambio Gasolinera
Desarrollar un programa para la “Gasolinera 3 Pinos”, debe mostrar un menú con los tipos de gasolina que ofrece y los precios. Se necesita leer la cantidad de litros comprados para calcular el importe a pagar y el cambio a recibir por el cliente.
Pseudocódigo
1. Mostrar “Gasolinera los 3 pinos”
2. Mostrar “[1] Magna 9.50 “
3. Mostrar “[2] Premium 9.89”
4. Mostrar ”[3] Diesel 10.05 “
5. Mostrar “Selecciona el tipo de gasolina”
6. Leer tipo
7. Si tipo >=1 and tipo<=3
8. Si tipo=1 entonces
precio = 9.15
Sino
Si tipo = 2 entonces
precio = 9.89
Sino
Si opcion = 3 entonces
precio = 10.05
fin_si
fin_si
fin_si
9. Mostrar “Captura los litros comprados “
10. Leer litros
11. Importe = litros * precio
12. Mostrar “Importe a pagar ”, importe
13. Mostrar “Pago del cliente “
14. Leer pago
15. Cambio = pago – importe
16. Mostrar “Su cambio es “, cambio
Sino
17. Mostrar “Selección incorrecta”
fin_si
Ejercicio 10 – Venta Dolares Euros Yenes
Desarrollar un programa para una casa de cambio que vende dólares, euros y yenes. El programa debe mostrar en un menú de opciones el tipo de moneda y el tipo de cambio, para calcular el importe a pagar por cliente y su cambio correspondiente al tipo de moneda comprada.
Pseudocodigo
1. Mostrar “Casa de Cambio los cuates”
2. Mostrar “[1] Dolar 12.15 “
3. Mostrar “[2] Euro 16.89”
4. Mostrar ”[3] Yen 18.05 “
5. Mostrar “Selecciona el tipo de moneda”
6. Leer moneda
7. Si moneda = 1 entonces
tcambio = 12.15
Sino
Si moneda = 2 entonces
tcambio = 16.89
Sino
Si moneda = 3 entonces
tcambio = 18.05
Sino
Mostrar “Opcion Incorrecta”
Tcambio = 0
fin_si
fin_si
fin_si
8. Mostrar “Captura la cantidad de moneda comprada “
9. Leer cantidad
10. Importe = cantidad * tcambio
11. Mostrar “Importe a pagar ”, importe
12. Mostrar “Pago del cliente “
13. Leer pago
14. Cambio = pago – importe
15. Mostrar “Su cambio es “, cambio
Codigo C#
static void Main(string[] args)
{
double moneda, tcambio = 0, cantidad, importe, pago, cambio;
Console.WriteLine("Casa de cambio la Mejor");
Console.WriteLine("1 Dolar ");
Console.WriteLine("2 Euero ");
Console.WriteLine("3 Yen ");
Console.WriteLine("Selecciona el tipo de moneda ");
moneda = double.Parse(Console.ReadLine());
if (moneda >= 1 && moneda <= 3)
{
if (moneda == 1)
tcambio = 13.5;
else
if (moneda == 2)
tcambio = 18.3;
else
if (moneda == 3)
tcambio = 0.17;
else
Console.WriteLine("Cancelar");
}
if (tcambio > 0)
{
Console.WriteLine("Cantidad ");
cantidad = double.Parse(Console.ReadLine());
importe = cantidad * tcambio;
Console.WriteLine("Importe " + importe);
Console.WriteLine("Pago ");
pago = double.Parse(Console.ReadLine());
cambio = pago - importe;
Console.WriteLine("Cambio " + cambio);
}
else
Console.WriteLine("Opcion incorrecta ");
Console.ReadKey();
}
}
Ejercicio 11 – Calcular Importe Cambio
Desarrollar un programa para una tienda que vende productos al mayoreo, el cual debe leer el precio unitario y la cantidad comprada para calcular el importe a pagar y el cambio. Se ofrecen los siguientes descuentos:
- Si cantidad >= 100 descuento del 15% - Si cantidad >= 200 descuento del 20% - Si cantidad >= 300 descuento del 25%
Ejercicio 12 – Calcular Importe Estacionamiento
Desarrollar un programa para un estacionamiento, el cual debe leer las horas de estancia de un vehículo. Se debe calcular el importe a pagar de acuerdo a las siguientes tarifas.
- 1 hora – 10 pesos - 2 horas – 8 pesos - Más de 3 horas – 7 pesos por hora
Ejercicio 13 – Importe Caseta Telefonica
Desarrollar un programa para una caseta telefónica que ofrece llamadas locales, nacionales e internacionales. Se debe mostrar un menú con los tipos de llamada y sus costos por minuto y leer los minutos de la llamada, para calcular el importe y el cambio, considerando los siguientes descuentos:
- Si minutos >= 60 entonces descuento del 10% - Si minutos >= 100 entonces descuento del 15% - Si minutos >= 200 entonces descuento del 25%
Ejercicio 14 – Calcular Importe Agencia Viajes
Desarrollar un programa para una agencia de viajes que muestre el siguiente menú de opciones: Agencia de Viajes GRECIA Destinos
- [ 1 ] Tijuana - [ 2 ] Durango - [ 3 ] Mexico
Se debe calcular el importe a pagar de acuerdo a la cantidad de boletos comprados. Se concede un descuento del 15%, si se compran más de 4 boletos
Ejercicio 15 – Calcular Masa Corporal
Desarrollar un programa para un nutriólogo, el cual debe leer el peso en kilogramos y la estatura en metros para calcular el índice de masa corporal y mostrar los siguientes mensajes de acuerdo al peso del paciente:
- “Necesita alimentarse mejor, sufre de desnutrición” - “Felicidades, tiene en el peso ideal” - “Debe cuidarse tiene un poco de sobrepeso” - “Necesita cambiar sus hábitos alimenticios sufre de obesidad”
Ejercicio 16 – Calcular Importe Videojuegos
Desarrollar un programa para una tienda que vende videojuegos a los siguientes precios: 1. Wii 750.00 2. Xbox 650.00 3. PlayStation 3 900.00
Se debe mostrar un menú con los tipos de videojuegos y sus precios correspondientes. Se debe leer el tipo de videojuego y la cantidad que el cliente compra, para calcular el importe a pagar y el cambio a recibir. El programa debe calcular el importe de 100 ventas.
Ejercicio 17 – Calcular Comision Constructora
Desarrollar un programa para una empresa constructora que se dedica a la venta de casas y ofrece una comisión del 15% a sus vendedores de acuerdo al precio de la casa comprada por el cliente. Se debe leer el nombre del vendedor y el precio de la casa para calcular la comisión de 30 vendedores.
Tarea
Resolver en el cuaderno los siguientes ejercicios, utilizando estructuras de control y repetición. El alumno debe desarrollar el diagrama de flujo en el programa DFD y el código en C# y mostrar los resultados en su cuaderno.
Tema: Estructuras de repetición.
Saber: Reconocer el funcionamiento de las estructuras de control repetitivas.
a) Para-hasta. b) Repite. c) Mientras.
Saber Hacer: Resolver un problemas determinado aplicando las estructuras de control repetitivas y verificar la solución a través de pruebas de escritorio.
Para Permite que se repitan un conjunto de Ó instrucciones, necesita un contador, para For controlar el número de repeticiones. Se Evalúa el valor, inicial y final de contador. Mientras Se utiliza para que se repitan un conjunto Estructuras ó de instrucciones, cuando se desconoce el While número de repeticiones. Se evalúa una Repetitivas condición, puede trabajar con un contador ó Bandera. Hacer Se utiliza para que repita un bloque de Mientras instrucciones, cuando se desconoce el ó número de repeticiones. Se ejecutan las Do/While instrucciones y luego se evalúa una condición Puede trabajar con un contador o bandera.
Ejercicios de aprendizaje
Ejercicio 1
Desarrollar un programa que lea la edad de 15 personas, para calcular la edad promedio.
Ejercicio 2
Desarrollar un programa que lea el nombre y la edad de 20 personas, para calcular: - El nombre y la edad de la persona que tenga la edad mínima. - El nombre y la edad de la persona que tenga la edad máxima. - Edad promedio de todas las personas.
Ejercicio 3
Desarrollar el programa para un taller donde laboran 16 empleados, se debe leer el nombre, sueldo diario y días trabajados de los empleados. Se debe calcular el sueldo bruto, neto y total, considerando un impuesto de 6.7% y un bono del 35% si el empleado laboro por lo menos 10 días.
Ejercicio 4
Desarrollar un programa que lea el nombre de 20 vendedores y la cantidad de ventas mensuales, para calcular:
- El nombre del vendedor y la venta mínima. - El nombre del vendedor y la venta máxima. - El promedio de ventas.
Ejercicio 5
Desarrollar un programa que lea la edad de 15 personas y calcule cuántos son menores de edad y cuántos son mayores de edad.
Ejercicio 6
Desarrollar un programa que lea las calificaciones de 25 alumnos y calcular cuántas acreditaron la materia con una calificación mayor o igual a 7 y cuántos la reprobaron usando una estructura MIENTRAS.
Ejercicio 7
Desarrollar un programa que lea el nombre de 15 personas, la edad y el género para calcular: - Cuántos son del género masculino y femenino. - Edad máxima, mínima y promedio del género masculino. - Edad máxima, mínima y promedio del género femenino.
Ejercicio 8
Desarrollar un programa que calcule el importe de 25 ventas de una gasolinera, para ello se debe leer el tipo de gasolina y los litros comprados. Se deberá mostrar un menú con los tres tipos de gasolina ofrecidos y el precio por litro de cada tipo. Al final se debe mostrar:
- Promedio de ventas generales. - Importe máximo, mínimo y promedio de cada tipo de gasolina.
Ejercicio 9
Desarrollar un programa que calcule los importes de ventas de una casa de cambio. Debe mostrar en un menú los tipos de moneda y su tipo de cambio. La casa de cambio ofrece dólares, yenes y euros. Al final del día el dueño necesita saber el importe de ventas totales para cada tipo de moneda. Se deben registrar las ventas de 200 clientes.
Ejercicio 10
Desarrollar un programa que calcule el importe total que debe pagar un cliente que compra una cantidad no determinada de artículos. Se debe leer el código de cada artículo y la cantidad comprada para calcular el importe. Al final se debe mostrar la cantidad total de artículos comprados y el importe total a pagar, así como el cambio que el cliente deberá recibir.
Ejercicio 11
Desarrollar un programa que lea el número, los días trabajados y el sueldo diario de un conjunto no determinado de empleados. Se debe mostrar el sueldo bruto de cada empleado y el sueldo bruto total de todos los empleados.
Ejercicio 12
Desarrollar un programa que lea las temperaturas diarias del mes de octubre, para calcular la temperatura promedio, la temperatura máxima y la temperatura mínima.
Ejercicio 13
Desarrollar un programa que lea el nombre y las ventas de 15 vendedores, para calcular el promedio de ventas de todos los vendedores, el nombre y el monto del vendedor que realiza la mayor venta, el nombre y el monto del vendedor que realizo la menor venta.
Programas de Ejercicios para evaluar los conocimientos del Tercer Parcial
Instrucciones: Lee cuidadosamente y realiza cada una de las acciones que se te indica.
I. Revisa el siguiente algoritmo, desarrolla su diagrama de flujo, prueba de escritorio y Código en Visual C#.
1. e=1, sueldostotales=0 2. Para e=1 hasta e<=15 3. Mostrar “Ingresa el sueldo diario del empleado”, e 4. Leer sueldo_diario 5. Mostrar “Escribe los días trabajados” 6. Leer días_trab 7. sueldo= sueldo_diario * días_trab 8. Mostrar “Sueldo “, sueldo 9. sueldostotales = sueldostotales + sueldo 10. e = e + 1 11. Fin_para 12. Mostrar “Sueldos Totales “,sueldostotales
II. Analiza el siguiente algoritmo y anota en la tabla de abajo las corridas correspondientes a los valores establecidos. Desarrolla diagrama de flujo, prueba de escritorio, código en Visual C# y explica su funcionamiento. 1. Mostrar “Escribe un número” 2. Leer numero 3. num = 1 4. Para num = 1 hasta num <=15 5. mult = numero * num 6. Mostrar numero, “ * “ , num, “ = “, mult 7. num = num + 1 8. Fin_para
No numero num mult
2 7 2
4 5 4
6 8 6
8 3 8
10 6 10
III. Revisa el siguiente algoritmo, desarrolla su diagrama de flujo, prueba de escritorio, código en Visual C# y explica su funcionamiento. 1. Mostrar “Minutos de la llamada” 2. Leer minutos 3. Mientras minutos < > 0 4. Mostrar “Costo por minuto” 5. Leer costo 6. importe = minutos * costo 7. Mostrar “Importe “, importe 8. Mostrar “Minutos de la llamada” 9. Leer minutos 10. Fin_Mientras
IV. Revisa el siguiente algoritmo y completa sus espacios.
1. c=1, suma = _______ , cp = _______ , cr = _______ 2. Para c=1 hasta c < = 25 3. Mostrar “Escribe tu calificación “ 4. Leer ______________ 5. suma = _____________ 6. Si calif < = 7.0 entonces 7. Mostrar _________________ 8. cr = ___________ 9. Sino 10. Mostrar _________________ 11. cp = ___________ 12. FinSi 13. c = ______________ 14. Fin_para 15. Promedio = __________________ 16. Mostrar “Promedio “, __________________ 17. Mostrar “En total pasaron “, _____________ , “Alumnos” 18. Mostrar “En total reprobaron “, ______________ , “Alumnos”
V. Analiza el siguiente algoritmo, desarrolla su diagrama de flujo, prueba de escritorio, código en Visual C# y explicación de su funcionamiento. 1. gastostotales=0 2. Mostrar “Ingresa un gasto” 3. Leer gasto 4. Mientras gasto < > -1 5. gastostotales = gastostotales + gasto 6. Mostrar “Ingresa un gasto” 7. Leer gasto 8. Fin_mientras
9. Mostrar “Fueron “, cg , “ Gastos” 10. Mostrar “El gasto total fue de “,gastostotales
VI. Revisa el siguiente algoritmo y completa los espacios. Desarrolla el diagrama de flujo, código en Visual C#, prueba de escritorio y explicación del programa.
1. max = ___________, min = ______________ 2. p = 1, suma = _________ , cmay = _______ , cmen = ________ 3. Mientras p < = 20 4. Mostrar “Ingresa la edad de la persona ”, ________ 5. Leer ________ 6. suma = ________________ 7. Si edad > = 18 entonces 8. Mostrar __________________________ 9. cmay = __________________ 10. Sino 11. Mostrar __________________________ 12. cmen = _________________ 13. Finsi 14. Si edad > max entonces 15. max = ____________ 16. Fin_si 17. Si edad < min entonces 18. min = _____________ 19. Fin 20. p = p + 1 21. Fin_mientras 22. Promedio = _________________ 23. Mostrar “La edad promedio es”, ________________ 24. Mostrar “Hay “, _______________ , “mayores de edad” 25. Mostrar “Hay “, ________________, “menores de edad” 26. Mostrar “La edad máxima es “, ___________________ 27. Mostrar “La edad mínima es ”, ___________________