You are on page 1of 47

UNIDAD III - ALGORITMOS Y DIAGRAMAS DE FLUJO.

Objetivos: El alumno elaborar algoritmos, diagramas de flujo y pseudocdigos para la resolucin de problemas. Producto Final: El alumno realizar un cuadernillo con 60 ejercicios resueltos
que contenga: Estructuras de control, Diagramas de flujo, Pseudocdigo, y Pruebas de escritorio (mnimo dos corridas con valores distintos).

Tema: Reglas para elaborar algoritmos, Pseudocdigo y diagramas de flujo.


Saber: Reconocer la sintaxis utilizada para el desarrollo de pseudocdigo.
Identificar la simbologa utilizada en el desarrollo de diagramas de flujo. Describir el procedimiento para realizar una prueba de escritorio.

Saber Hacer: Plantear la solucin de un problema empleando pseudocdigo y


diagramas de flujo.

Ser: Analtico, Ordenado, Sistemtico, Coherente, Proactivo y Asertivo.

Reglas para elaborar algoritmos


1. 2. 3. 4. 5. Un algoritmo tiene cero o ms entradas. Un algoritmo tiene una o ms salidas. Un algoritmo ha de ser finito en el tiempo. Un algoritmo debe ser preciso. Cuanto ms eficaz un algoritmo mejor.

Un procesador entiende y ejecuta algoritmos, lee los algoritmos de arriba hacia abajo, ejecutando instruccin por instruccin, reconoce instrucciones elementales: leer datos, mostrar datos y realizar operaciones aritmticas.

Simbologa utilizada en los diagramas de flujo


Significado Inicio DFD Norma

Entrada

Proceso

Salida

Decisin

Estructura Para

Estructura Mientras

Ejemplos de aprendizaje
Ejemplo 1 - Abarrotes Desarrollar el pseudocdigo, 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 anlisis

Datos de entrada
ctoProducto cantProductos Pago

Proceso
importe = ctoProducto * cantProductos cambio = pago - importe

Salida
Importe cambio

El programa lee el costo individual y la cantidad de artculos 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.

Pseudocdigo 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 ejecucin 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 nmero 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 lnea por lnea la ejecucin del programa. En cada lnea donde exista un cambio de estado o una peticin de informacin, se deber actualizar la columna de resultados.

Prueba de escritorio Datos entrada Pago 100 200 50 50 60

Nmero Corrida 1 2 3 4 5

Datos entrada ctoProducto 20 15 35 8 18 cantProductos 2 4 1 5 3

Salida importe 40 60 35 40 54

Salida Cambio 60 140 15 10 6

Cdigo 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 anlisis Datos de entrada Proceso Salida
calif1 calif2 promedio = (calif1 + calif2 + calif3)/3 Promedio calif3 El programa lee tres calificaciones de un alumno y calcula el promedio. calif1, calif2, calif3 y promedio son variables de tipo real.

Pseudocdigo
1. 2. 3. 4. 5. 6. 7. 8. Mostrar Escribe la primera calificacin Leer calif1 Mostrar Escribe la segunda calificacin Leer calif2 Mostrar Escribe la tercera calificacin Leer calif3 promedio = (calif1 + calif2 + calif3)/3 Mostrar El promedio es , promedio

Diagrama de flujo

Prueba de escritorio
Nmero de corrida 1 2 3 4 calif1 7 8 10 9.5 Datos entrada calif2 7 9 8 8.5 calif3 7 7 6 10 Salida promedio 7 8 8 9.33

Cdigo C#
namespace ConsoleApplicationPromedioCalificaciones

{ class Program { static void Main(string[] args) { double calif1, calif2, calif3, promedio = 0; Console.WriteLine("Escribe la primera calificacin "); calif1 = double.Parse(Console.ReadLine()); Console.WriteLine("Escribe la segunda calificacin "); calif2 = double.Parse(Console.ReadLine()); Console.WriteLine("Escribe la tercera calificacin "); 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 Pseudocdigo 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 Nmero de corrida 1 2 3 4 5 edad1 17 8 10 18 16 Datos entrada edad2 15 9 20 20 15 edad3 16 7 15 22 20 Salida promedio 16 8 15 20 17

Cdigo 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. Pseudocdigo 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 Nmero de corrida 1 2 3 4 5 temp1 37 15 40 28 26 Datos entrada temp2 30 19 28 34 20 temp3 25 27 35 24 18 Salida promedio

Cdigo 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 dlares y euros, usando valores constantes. Pesos, dlares y euros, son variables de tipo real. Pseudocdigo 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
Nmero de corrida 1 2 3 4 5 Datos entrada Pesos 3000 15500 4010 2800 260 Salida dolares Euros

Cdigo 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 lnea de produccin, para calcular el porcentaje de rechazo. Tabla de anlisis Datos de Entrada PzsProd PzsDef Proceso PorRech = (PzsDef/PzsPrd) * 100 Salida PorRech

El programa lee la cantidad de piezas producidas y rechazadas en una lnea de produccin, para calcular el porcentaje de rechazo. PzsProd, PzsDef y PorRech son variables de tipo real.

Pseudocdigo 1. Mostrar Captura las piezas producidas en la lnea de produccin 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 lnea es , PorRech

Diagrama de flujo

Prueba de escritorio
Datos de entrada PzsProd 550 605 900 435 560 PzsDef 70 35 120 67 230 Salida PorRech

Cdigo en C#
namespace ConsoleApplicationPorcentaje_Rechazo { class Program { static void Main(string[] args)

{ double PzsProd, PzsDef, PorRech; Console.WriteLine("Captura las piezas producidas en la lnea"); 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 lnea es" + PorRech); Console.ReadKey(); } } }

Ejemplo 7 Porcentaje Reprobacion


Desarrollar un programa que calcule el porcentaje de reprobacin de un grupo, a partir de la cantidad total de alumnos que presentaron un examen y el nmero de alumnos que lo reprobaron. Tabla de anlisis Datos de Entrada CantAlumnos AlumnosRep Proceso PorRep = (AlumnosRep/CantAlumnos) * 100 Salida PorRep

El programa lee la cantidad de alumnos que presentaron un examen y el nmero de alumnos reprobados, para calcular el porcentaje de reprobacin de un grupo. CantAlumnos, AlumnosRep y PorRep son variables de tipo real.

Pseudocdigo 1. Mostrar Captura la cantidad de alumnos que presentaron el examen 2. Leer CantAlumnos 3. Mostrar Captura el nmero 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 CantAlumnos 55 40 33 35 60 AlumnosRep 7 15 12 17 23 Salida PorRep

Cdigo 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 nmero 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 dueo de una tienda que necesita calcular el porcentaje de ventas correspondiente a un mes a partir del importe de ventas anual. Tabla de anlisis Datos de Entrada VtsMes VtsAnuales Proceso PorVentas = (Vts/VtsAnuales) * 100 Salida PorVentas

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.

Pseudocdigo 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 VtsMes 55000 67434 30457 35015 16069 VtsAnuales 23456045 60467256 35789589 40788529 80356785 Salida PorVentas

Cdigo 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 dueo de un taller mecnico que necesita un programa que lea el nmero de un empleado, los das trabajados y el sueldo diario, para calcular el sueldo semanal de sus empleados considerando un impuesto del 7.5%.

Tabla de anlisis Datos de Entrada Numero DiasTrab SueldoDia Proceso SueldoS = DiasTrab * SueldoDia Impuesto = SueldoS * 0.075 SueldoT = SueldoS - Impuesto Salida SueldoS Impuesto SueldoT

El programa lee el nmero del empleado, los das 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.

Pseudocdigo
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Mostrar Captura el numero del empleado Leer Numero Mostrar Captura los das trabajados Leer DiasTrab Mostrar Captura el sueldo diario Leer SueldoDia SueldoS = DiasTrab * SueldoDia Impuesto = SueldoS * 0.075 SueldoT = SueldoS - Impuesto Mostrar Sueldo semanal antes de impuestos , SueldoS Mostrar Impuesto , Impuesto Mostrar Sueldo Total , SueldoT

Diagrama de flujo

Prueba de escritorio
Numero 1051 434 304 5015 606 Datos de entrada DiasTrab SueldoDia 7 850 4 367 6 655 5 385 10 425 SueldoS Salida Impuesto SueldoT

Cdigo 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 cdigo 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 anlisis Datos de Entrada codigo ctoProd cantProd Proceso importe = ctoProd * cantProd descuento = importe * 0.08 importeT = importe - descuento Salida Importe descuento importeT

El programa lee el cdigo 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.

Pseudocdigo
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Mostrar Captura el codigo del producto Leer codigo Mostrar Captura el costo unitario del producto Leer ctoProd Mostrar Captura la cantidad de productos comprados Leer cantProd importe = ctoProd * cantProd descuento = importe * 0.08 importeT = importe - descuento Mostrar Importe sin descuento , importe Mostrar Descuento , desuento Mostrar Importe Total , importeT

Diagrama de flujo

Prueba de escritorio Datos de entrada ctoProd 23.5 80 15.35 56.45 10.05 Salida descuento

codigo 2340 4567 5432 8762 4257

cantProd 4 6 10 3 5

importe

importeT

Cdigo 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 cdigo 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 anlisis Datos de Entrada codigo ctoLitro ltsComp Proceso importe = ctoLitro * ltsComp descuento = importe * 0.15 importeT = ctoLitro - descuento Salida Importe descuento importeT

El programa lee el cdigo 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.

Pseudocdigo
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Mostrar Captura el codigo de la gasolina Leer codigo Mostrar Captura el costo por litro de la gasolina Leer ctoLitro Mostrar Captura la cantidad de litros comprados Leer ltsComp importe = ctoLitro * ltsComp descuento = importe * 0.15 importeT = importe - descuento Mostrar Importe sin descuento , importe Mostrar Descuento , desuento Mostrar Importe Total , importeT

Diagrama de flujo

Prueba de escritorio codigo 1 2 4 1 3 Datos de entrada ctoLitro 10.6 9.67 11.05 12.45 10.05 ltsComp 5 15 20 30 25 importe Salida descuento importeT

Cdigo 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 dueo de una tienda requiere un programa que lea el cdigo 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 dueo de una tienda, que requiere leer el cdigo del artculo, el costo unitario, la cantidad comprada y el tipo de cambio del dlar para calcular el importe a pagar en pesos y dlares, 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 accin. Sirven para contar las acciones o sucesos que ocurren durante una estructura de repeticin. Se deben inicializar, esto es asignarle un valor inicial el cual ir aumentando o disminuyendo en cada repeticin.

Por ejemplo, el programa de un banco utiliza un contador para determinar el nmero 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 pelcula Rentas = Rentas + 1 En un banco se puede contar el nmero de clientes que se atienden al da 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 operacin 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 seleccin (selectivas).


Saber: Reconocer el funcionamiento de las estructuras de control selectivas:
Simples, Compuestas y Mltiples.

Saber Hacer: Resolver un problema determinado aplicando las estructuras de


control selectivas y verificar la solucin a travs de una prueba de escritorio.

Simples nicas

Permiten realizar o no un bloque de instrucciones.

Estructuras Selectivas

Dobles

Se realiza uno de dos bloques de instrucciones luego de evaluarse una condicin.

Mltiples

Se realiza uno de varios bloques de instrucciones luego de evaluarse varias condiciones.

Ejercicios de aprendizaje Ejercicio 1 Calcular Descuento


Desarrollar un programa que lea el precio de un artculo 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 artculo 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.

Pseudocdigo 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 artculo, la cantidad comprada y el tipo de cambio del dlar, para calcular: - Importe a pagar en pesos y dlares. - Descuento del 35% en pesos y dlares si la cantidad comprada es mayor o igual a 200. - Importe total en pesos y dlares, asumiendo que se paga en pesos. - Cambio en pesos y dlares.
El programa lee el precio de un artculo, la cantidad comprada y el tipo de cambio del dlar para calcular el importe a pagar en pesos y dlares, un descuento en pesos y dlares 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.

Pseudocdigo 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 dlares 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 da y los das trabajados para calcular el sueldo semanal de un trabajador. Se debe calcular: - El sueldo bruto en base a los das trabajados. - Un bono del 35% sobre el sueldo bruto si el empleado trabajo los 6 das. - 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 anlisis, pseudocdigo, diagrama de flujo, prueba de escritorio y cdigo 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 animndolo a estudiar.
Elaborar tabla de anlisis, pseudocdigo, diagrama de flujo, prueba de escritorio y cdigo en C#. El programa lee 3 calificaciones de un alumno, para calcular su promedio. Muestra un mensaje de felicitacin si el promedio es mayor o igual a 8, sino uno animndolo a estudiar. calif1, calif2, calif3 y promedio son variables de tipo real.

Pseudocdigo
Mostrar Captura la calificacin 1 Leer calif1 Mostrar Captura la calificacin 2 Leer calif2 Mostrar Captura la calificacin 3 Leer calif3 promedio = (calif1 + calif2 + calif3)/3 Si promedio>= 8 entonces Mostrar Felicidades tu promedio es , promedio else 8.2 Mostrar Necesitas estudiar mas, tu promedio es , promedio 1. 2. 3. 4. 5. 6. 7. 8. 8.1

Ejercicio 5 Calcula Sueldo y Bono


El dueo 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 ms 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 anlisis, pseudocdigo, diagrama de flujo, prueba de escritorio y cdigo 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.

Pseudocdigo
1. 2. 3. 4. 5. 6. 6.1 6.2 7. 8. 9. 10. 11. 12. 13. 14. Mostrar Captura las piezas buenas Leer pzsbns Mostrar Captura el costo por pieza Leer ctopza sbruto = pzsbns * ctopza Si pzsbns > 150 entonces bono = sbruto * 0.35 sino bono = 0 fin_si sneto = sbruto + bono impuesto = sneto * 0.06 stotal = sneto impuesto Mostrar Sueldo Bruto , sbruto Mostrar Bono , bono Mostrar Sueldo Neto , sneto Mostrar Impuesto , impuesto Mostrar Sueldo Total , stotal

Prueba de escritorio No Corrida pzsbns ctopza sbruto bono sneto impuesto Stotal

Ejercicio 6 Calcular Venta Gasolinera


El dueo 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 dlar, para calcular el importe a pagar en pesos y dlares. El dueo ha prometido un descuento del 15% si los clientes consumen ms de 20 litros. Elaborar tabla de anlisis, pseudocdigo, diagrama de flujo, prueba de escritorio y cdigo en C#.
Elaborar tabla de anlisis, pseudocdigo, diagrama de flujo, prueba de escritorio y cdigo 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 anlisis, pseudocdigo, diagrama de flujo, prueba de escritorio y cdigo en C#.

Pseudocdigo 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. Pseudocdigo
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Mostrar Captura el primer promedio Leer prom1 Mostrar Captura el segundo promedio Leer prom2 Mostrar Captura el tercer promedio Leer prom3 menor = prom1 Si prom2 < menor entonces menor = prom2 Si prom3 < menor entonces menor = prom3 Fin_si Sino Si prom3 < menor entonces menor = prom3 Fin_si Fin_si 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. Pseudocdigo
1. 2. 3. 4. 5. 6. 7. 8. Mostrar Gasolinera los 3 pinos Mostrar [1] Magna 9.50 Mostrar [2] Premium 9.89 Mostrar [3] Diesel 10.05 Mostrar Selecciona el tipo de gasolina Leer tipo Si tipo >=1 and tipo<=3 Si tipo=1 entonces precio = 9.15 Sino Si tipo = 2 entonces precio = 9.89 Sino Si opcion = 3 entonces

9. 10. 11. 12. 13. 14. 15. 16. 17.

precio = 10.05 fin_si fin_si fin_si Mostrar Captura los litros comprados Leer litros Importe = litros * precio Mostrar Importe a pagar , importe Mostrar Pago del cliente Leer pago Cambio = pago importe Mostrar Su cambio es , cambio Sino Mostrar Seleccin incorrecta fin_si

Ejercicio 10 Venta Dolares Euros Yenes


Desarrollar un programa para una casa de cambio que vende dlares, 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. 2. 3. 4. 5. 6. 7. Mostrar Casa de Cambio los cuates Mostrar [1] Dolar 12.15 Mostrar [2] Euro 16.89 Mostrar [3] Yen 18.05 Mostrar Selecciona el tipo de moneda Leer moneda 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. 11. 12. 13. 14. 15.

Importe = cantidad * tcambio Mostrar Importe a pagar , importe Mostrar Pago del cliente Leer pago Cambio = pago importe 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 vehculo. Se debe calcular el importe a pagar de acuerdo a las siguientes tarifas. - 1 hora 10 pesos - 2 horas 8 pesos - Ms de 3 horas 7 pesos por hora

Ejercicio 13 Importe Caseta Telefonica


Desarrollar un programa para una caseta telefnica 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 ms de 4 boletos

Ejercicio 15 Calcular Masa Corporal


Desarrollar un programa para un nutrilogo, 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 desnutricin - Felicidades, tiene en el peso ideal - Debe cuidarse tiene un poco de sobrepeso - Necesita cambiar sus hbitos 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 comisin 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 comisin de 30 vendedores.

Tarea
Resolver en el cuaderno los siguientes ejercicios, utilizando estructuras de control y repeticin. El alumno debe desarrollar el diagrama de flujo en el programa DFD y el cdigo en C# y mostrar los resultados en su cuaderno.

Tema: Estructuras de repeticin.


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 solucin a travs de pruebas de escritorio.

Para For

Permite que se repitan un conjunto de instrucciones, necesita un contador, para controlar el nmero de repeticiones. Se Evala el valor, inicial y final de contador.

Estructuras Repetitivas

Mientras While

Se utiliza para que se repitan un conjunto de instrucciones, cuando se desconoce el nmero de repeticiones. Se evala una condicin, puede trabajar con un contador Bandera.

Hacer Mientras Do/While

Se utiliza para que repita un bloque de instrucciones, cuando se desconoce el nmero de repeticiones. Se ejecutan las instrucciones y luego se evala una condicin 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 mnima. - El nombre y la edad de la persona que tenga la edad mxima. - 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 das 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 das.

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 mnima. El nombre del vendedor y la venta mxima. El promedio de ventas.

Ejercicio 5 Desarrollar un programa que lea la edad de 15 personas y calcule cuntos son menores de edad y cuntos son mayores de edad.

Ejercicio 6 Desarrollar un programa que lea las calificaciones de 25 alumnos y calcular cuntas acreditaron la materia con una calificacin mayor o igual a 7 y cuntos la reprobaron usando una estructura MIENTRAS.

Ejercicio 7
Desarrollar un programa que lea el nombre de 15 personas, la edad y el gnero para calcular: - Cuntos son del gnero masculino y femenino. - Edad mxima, mnima y promedio del gnero masculino. - Edad mxima, mnima y promedio del gnero 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 mximo, mnimo 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 dlares, yenes y euros. Al final del da el dueo 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 artculos. Se debe leer el cdigo de cada artculo y la cantidad comprada para calcular el importe. Al final se debe mostrar la cantidad total de artculos comprados y el importe total a pagar, as como el cambio que el cliente deber recibir.

Ejercicio 11 Desarrollar un programa que lea el nmero, los das 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 mxima y la temperatura mnima.

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 Cdigo 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 Mostrar Escribe los das trabajados 5. 6. Leer das_trab 7. sueldo= sueldo_diario * das_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, cdigo en Visual C# y explica su funcionamiento. 1. 2. 3. 4. 5. 6. 7. 8. Mostrar Escribe un nmero Leer numero num = 1 Para num = 1 hasta num <=15 mult = numero * num Mostrar numero, * , num, = , mult num = num + 1 Fin_para No 2 4 6 8 10 7 5 8 3 6 numero 2 4 6 8 10 num mult

III.

Revisa el siguiente algoritmo, desarrolla su diagrama de flujo, prueba de escritorio, cdigo 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 importe = minutos * costo 6. 7. Mostrar Importe , importe 8. Mostrar Minutos de la llamada Leer minutos 9. 10. Fin_Mientras 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 calificacin 4. Leer ______________ 5. suma = _____________ 6. Si calif < = 7.0 entonces 7. Mostrar _________________ 8. cr = ___________ 9. Sino Mostrar _________________ 10. 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 Analiza el siguiente algoritmo, desarrolla su diagrama de flujo, prueba de escritorio, cdigo en Visual C# y explicacin de su funcionamiento. 1. 2. 3. 4. 5. 6. 7. 8. gastostotales=0 Mostrar Ingresa un gasto Leer gasto Mientras gasto < > -1 gastostotales = gastostotales + gasto Mostrar Ingresa un gasto Leer gasto Fin_mientras

IV.

V.

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, cdigo en Visual C#, prueba de escritorio y explicacin 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 ________ suma = ________________ 6. 7. Si edad > = 18 entonces 8. Mostrar __________________________ 9. cmay = __________________ 10. Sino 11. Mostrar __________________________ 12. cmen = _________________ 13. Finsi 14. Si edad > max entonces max = ____________ 15. 16. Fin_si 17. Si edad < min entonces 18. min = _____________ 19. Fin p=p+1 20. 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 mxima es , ___________________ 27. Mostrar La edad mnima es , ___________________

You might also like