Anda di halaman 1dari 12

“UNIVERSIDAD ANDINA DEL CUSCO”

FACULTAD DE INGENIERIA Y ARQUITECTURA

INVESTIGACIÓN FORMATIVA:
EJERCICIOS DE APLICACION
ASIGNATURA:
TALLER DE ALGORITMICA Y
PROFRAMACION
ALUMNOS:
REYNALDO CARREÑO APAZA
ALEXANDRA HUAMÁN NINA

DOCENTE:

JAVIER MOREANO CORDOVA

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

Si retribución > 7000


c) Especificación de las variables
i) Variables de Entrada
Entero
ii) Variables de Salida
Mensaje: Pagar impuestos: entero

2) DISEÑO
Pseudocódigo Diagrama de Flujo de Datos
INICIO

Entero Retribucion:

Leer Retribucion:

Si (retribucion > 7000)entonces

Imprima “ debe pagar impuestos”

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());

if (Retribucion > 7000)


{
Console.Write("Esta persona debe abonar
impuestos");
}
Console.ReadKey();
}
}
}
2. ESTRUCTURA DOBLE:
La estructura selectiva si entonces/sino permite que el flujo del diagrama se
bifurque por dos ramas diferentes en el punto de la toma de decisión(es). Si al
evaluar la condición (o condiciones) el resultado es verdadero, entonces se sigue por
un camino específico y se ejecuta(n) cierta(s) operación(es). SI el resultado es falso
entonces se sigue por otro camino y se ejecuta(n) otra(s) operación(es).

Ejercicio 2: Diseñe un algoritmo para obtener el grado de eficiencia de


un operario de una fábrica de tornillos, de acuerdo a las siguientes
condiciones que se le imponen para un período de prueba: -Menos de 200
tornillos defectuosos. -Más de 10000 tornillos producidos. .-El grado de
eficiencia se determina de la siguiente manera:-Si no cumple ninguna de
las condiciones, grado 5.-Si sólo cumple la primera condición, grado 6.-
Si sólo cumple la segunda condición, grado 7.-Si cumple las dos
condiciones ,grado 8.

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

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>100 grado 8

c) Especificación de las variables


i) Variables de Entrada
Td, Tp
ii) Variables de Salida

2) DISEÑO

Pseudocódigo Diagrama de Flujo de Datos

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

Salida: el grado de eficiencia del


operario
Fin si
fin
3) CODIFICACIÓN

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;

Console.WriteLine("introdusca cuantos tornillos estan defectuosos");


TD = double.Parse(Console.ReadLine());
Console.WriteLine("introdusca cuantos tornillos son producidos");
TP = double.Parse(Console.ReadLine());
//proceso

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

Escribir “El costo total a pagar es”,


TOT

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

b) Especificación de las variables


i) Variables de Entrada
Retribucion, Categoría, Tiempos Extra: REAL

ii) Variables de Salida


Escribir nuevos retribucions: REAL

2) DISEÑO
Pseudocódigo Diagrama de Flujo de Datos

INICIO

LEER retribucion, Grado, Tiempos


extra

SEGÚN SEA CATEGORIA


HACER

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

Final

Escribir nuevos retribucions

fin
3) CODIFICACIÓN
using System;

class MainClass {
public static void Main (string[] args) {
int categoria,TiempoExtra;
string retribucion, precioTiemposExtra, nuevoRetribucion;

Console.WriteLine("Ingrese retribucion basico del Trabajador:{0}");


Retribución
=string.Parse(Console.ReadLine());
Console.WriteLine("Categoria:{0}");
categoria=int.Parse(Consle. ReadLine());
Console.WriteLine("Tiempos extra trabajados:{0}");
TiemposExtra=int.Parse(Console.ReadLine());
switch(categoria)
{
case 1:
Console.WriteLine("precioTiempoExtra=30");

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();
}
}

Anda mungkin juga menyukai