INVESTIGACIÓN FORMATIVA:
EJERCICIOS DE APLICACION
ASIGNATURA:
TALLER DE ALGORITMICA Y
PROFRAMACION
ALUMNOS:
REYNALDO CARREÑO APAZA
ALEXANDRA HUAMÁN NINA
DOCENTE:
CUSCO-PERU
2019
1. ESTRUCTURA SIMPLE:
Ejercicio 1: Se identifican porque están compuestos únicamente de una condición. La
estructura si entonces evalúa la condición y en tal caso:
Ingresar la retribución de un ingeniero, si supera los 7000 soles mostrar un mensaje en
pantalla indicando que debe pagar impuestos.
1) ANÁLISIS
a) Análisis del problema
Entrada: retribución del ingeniero
Proceso: comparar retribución mayor a 7000
Salida: mensaje pagar impuestos
b) Modelo de la solución
2) DISEÑO
Pseudocódigo Diagrama de Flujo de Datos
INICIO
Entero Retribucion:
Leer Retribucion:
Finsi
FIN
3) CODIFICACIÓN
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int Retribucion;
Console.WriteLine("Ingrese retribucion:");
Retribucion = int.Parse(Console.ReadLine());
1) ANÁLISIS
a) Análisis del problema
td Tp Salida
Entrada: tornillo defectuoso (td)
Tornillos producidos 300 1000 Grado
(tp) 7
Proceso: td>200 y tp<1000
grado 5
Td<200 y tp<1000 grado 6
Sino
td>200 y tp>1000 grado 7
td<200 y tp>1000 grado 8
Salida: el grado de eficiencia del operario
b) Modelo de la solución
2) DISEÑO
Entrada:
tornillo defectuoso (td)
Tornillos producidos (tp)
Variables de Entrada: Td, Tp
Proceso:
Si td>200 y tp<1000 grado 5
Si no Td<200 y tp<1000 grado 6
Sino
Si td>200 y tp>1000 grado 7
Sino td<200 y tp>1000 grado 8
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//ENTRADA
double TD; //tornillo defectuoso
double TP; //tornillo producido
double grado5,grado6,grado7,grado8;
if (TD>200yTP<1000)
{
TP = grado5;
Console.WriteLine("el grado de eficiencia de TP es "+ TP);
}
if (TD<200yTP<1000)
{
TP= grado6;
Console.WriteLine("el grado de eficiencia de TP es "+ TP);
}
if (TD>200yTP>1000)
{
TP = grado7;
Console.WriteLine("el grado de eficiencia de TP es "+TP);
}
if (TD<200yTP>1000)
{
TP = grado8;
Console.WriteLine("el grado de eficiencia de TP es "+ TP);
}
Console.ReadLine();
}
}
}
3. ESTRUCTURA SELECTIVA ANIDADA:
Una estructura puede estar dentro de otra estructura a esto se le conoce como anidamiento o
estructuras anidadas. Ya que se trabajan con datos en estructuras si definimos un tipo de
dato en una estructura y necesitamos definir ese dato dentro de otra estructura solamente se
llama el dato de la estructura anterior.
Ejercicio 3: “Peirano's Catering & Service” es una empresa dedicada a ofrecer banquetes;
sus tarifas son las siguientes: el costo de platillo por persona es de S/.95.00, pero si el número
de personas es mayor a 200 pero menor o igual a 300, el costo es de S/.85.00. Para más de
300 personas el costo por platillo es de S/.75.00. Se requiere un algoritmo que ayude a
determinar el costo total que se debe presentar a los clientes que deseen realizar un evento.
1) ANÁLISIS
a) Análisis del problema
Entrada: Número de personas
Proceso: Determinar el costo total
Salida: Escribir el costo total
b) Modelo de la solución
NP > 300
TOT = NP * 75 Banquetes Personas Resultado
1 250 18750
Si no
2 400 38000
NP > 200 3 500 47500
TOT = NP * 85
Si no
TOT = NP * 95
c) Especificación de las variables
i) Variables de Entrada
Número de personas: Entero
ii) Variables de Salida
Escribir el costo total a pagar: Real
2) DISEÑO
Pseudocódigo Diagrama de Flujo de Datos
Inicio
Leer NP
Si NP > 300
Entonces
Hacer TOT = NP * 75
Si no
Si NP > 200
Entonces
Hacer TOT = NP * 85
Si no
Hacer TOT = NP * 95
Fin compara
Fin compara
Fin
3) CODIFICACIÓN
using System;
class MainClass {
public static void Main (string[] args) {
int TOT;
Console.WriteLine("Ingrese NP");
int NP=Convert.ToInt16(Console.ReadLine());
if(NP >300)
{
TOT=NP*75;
Console.WriteLine("El NP es: {0}", TOT);
}
else
{
if(NP>200)
{
TOT=NP*85;
TOT=NP*95;
Console.WriteLine("El NP es: {0}",TOT);
Console.WriteLine("El NP es:{0}",TOT);
}
else
{
Console.WriteLine("TOT");
}
Console.ReadKey();
}
}
}
4. ESTRUCTURA SELECTIVA MULTIPLE:
La estructura selectiva si múltiple permite que el flujo del diagrama se bifurque por varias
ramas en el punto de la toma de decisión(es), esto en función del valor que tome el selector.
Así si el selector toma el valor 1 se ejecutará la acción 1, si toma el valor 2 se ejecutará la
acción 2, si toma el valor N se realizará la acción N, y si toma un valor distinto de los valores
comprendidos entre 1 y N, se continuará con el flujo normal del diagrama realizándose la
acción N + 1.
Ejercicio 4: Escriba un programa que permita calcular lo que hay que pagarle a un trabajador
teniendo en cuenta su retribucion y las Tiempos extra trabajadas. Para el pago de Tiempo
extra se tiene en cuenta la categoría del trabajador según el Grado de relevancia de este para
la empresa:
GRADO PRECIO TIEMPO EXTRA
1 30
2 38
3 50
4 70
1) ANÁLISIS
a) Análisis del problema
Entrada: Retribucion, Categoría, Tiempo Extra
Proceso: según su Grado
Salida: Escribir nuevos retribucions
Modelo de la solución
Case1: precioTiempoExtra=30
Case2: precioTiempoExtra=38
Case3: precioTiempoExtra=50
Case4: precioTiempoExtra=70
Otros: precioTiempoExtra=0
Fin según sea
Si(TiemposExtra>30) entonces
Nuevoretribucion=retribucion +30*precioTiempoExtra
Sino
Nuevo retribucion=retribucion+Tiempos extra*precioTiempoExtra
2) DISEÑO
Pseudocódigo Diagrama de Flujo de Datos
INICIO
Case1: precioTiempoExtra=30
Case2: precioTiempoExtra=38
Case3: precioTiempoExtra=50
Case4: precioTiempoExtra=70
Otros: precioTiempoExtra=0
Si(TiemposExtra>30) entonces
Nuevoretribucion=retribucion
+30*precioTiempoExtra
Sino
Nuevo
retribucion=retribucion+Tiempos
extra*precioTiempoExtra
Final
fin
3) CODIFICACIÓN
using System;
class MainClass {
public static void Main (string[] args) {
int categoria,TiempoExtra;
string retribucion, precioTiemposExtra, nuevoRetribucion;
break;
case 2:
Console.WriteLine("precioTiempoExtra=38");
break;
case 3:
Console.WriteLine("precioTiempoExtra=50");
break;
case 4:
Console.WriteLine("precioTiempoExtra=70");
break;
default:
Console.WriteLine("precioTiempoExtra=0");
break;
}
if (TiemposExtra>30)
nuevoRetribucion =retribucion+30*precioTiempoExtra;
Consolw.WriteLine("El retribucion costo total es:"+nuevoretribucion);
Console.ReadLine();
}
}