Taller de Selectiva EC2
Taller de Selectiva EC2
Taller de Selectiva EC2
Salida : area
Proceso prob_01
leer operacion
1:
Escribir "ingresar base "
Leer b
2:
Escribir "ingresar base"
Leer b
3:
Escribir "ingresar base mayor"
Leer bmay
Escribir "ingresar base menor"
Leer bmen
Escribir "ingresar altura"
Leer alt
area=((bmen+bmay)*alt)/2
Fin Segun
Escribir "el area calculada es :",area;
FinProceso
DF
TRAZA
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace prob_01
{
class Program
{
static void Main(string[] args)
{
int ba=0, alt=0, bmay=0, bmen=0, area=0;
char ope;
Console.WriteLine("1 triangulo");
Console.WriteLine("2 rectangulo");
Console.WriteLine("3 trapecio");
}
}
}
Corrida c#
2) Escribir un programa que reciba un número de una carta de una baraja española e imprima
por pantalla: “As” si es un 1, “Sota”, si es un 10, “Caballo” si es un 11y “Rey” si es un 12. Para
números de cartas entre 2 y 9 (incluidos) debe imprimir: "No es as ni figura". Para otros números
debe imprimir: "este no es un número de una carta de la baraja española".
*PSEUDOCÓDIGO:
Proceso prob_02
Escribir 'Ingrese el número de carta'
Leer numcar
Segun numcar Hacer
1:
Escribir 'Esta carta es un AS'
2,3,4,5,6,7,8,9:
Escribir 'Esta carta no es FIGURA ni AS'
10:
Escribir 'Esta carta es una SOTA'
11:
Escribir 'Esta carta es un CABALLO'
12:
Escribir 'Esta carta es un REY'
Fin Segun
FinProceso
*DF:
*CÓDIGO EN C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
//declaración de variables
int numcar;
//ingreso de datos
Console.Write("Ingrese el número de Carta: ");
numcar = int.Parse(Console.ReadLine());
//proceso
switch(numcar)
{
case 1:
Console.WriteLine("Esta carta es un AS");
break;
case 2: case 3: case 4: case 5 : case 6: case 7: case 8: case 9:
Console.WriteLine("Esta carta no es FIGURA ni AS");
break;
case 10:
Console.WriteLine("Esta carta es una SOTA");
break;
case 11:
Console.WriteLine("Esta carta es un CABALLO");
break;
case 12:
Console.WriteLine("Esta carta es un REY");
break;
}
Console.ReadKey();
}
}
}
*CORRIDA:
Problema 03
Salida:
Proceso prob_03
leer num1
Escribir "ingresar numero 2"
leer num2
Escribir "ingresar numero 3"
leer num3
Si num1>num2 Entonces
Si num1>num3 Entonces
Escribir "num1 es mayor"
Sino
Si num1=num3 Entonces
Escribir "num1 y num3 son los mayores"
Sino
Escribir "num3 es el mayor"
Fin Si
Fin Si
Sino
Si num1=num2 Entonces
Si num1>num3 Entonces
Escribir "num1 num2 son los mayores"
Sino
Si num1=num3 Entonces
Escribir "num1, num2 y num3 son iguales"
Sino
Escribir "num3 es el mayor"
Fin Si
Fin Si
Sino
Si num2>num3 Entonces
Escribir "num2 es mayor"
Sino
Si num2=num3 Entonces
Escribir "num2 y num3 son mayores"
Sino
Escribir "num3 es el mayor"
Fin Si
Fin Si
Fin Si
Fin Si
FinProceso
DF
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PROBL_03
{
class Program
{
static void Main(string[] args)
{
int num1, num2, num3;
if(num1>num2)
{
if (num1 > num3)
{
Console.WriteLine("num1 es mayor");
}
else if (num1 == num3)
{
Console.WriteLine("num1 y num3 son los mayores");
}
else
{
Console.WriteLine("num3 es el mayor");
}
}
else
{
if (num1==num2)
{
if(num1>num3)
{
Console.WriteLine("num1 num2 son los mayores");
}
else if (num1==num3)
{
Console.WriteLine("num1, num2 y num3 son iguales");
}
else
{
Console.WriteLine("num3 es el mayor");
}
}
else
{
if(num2>num3)
{
Console.WriteLine("num2 es mayor");
}
else if (num2==num3)
{
Console.WriteLine("num2 y num3 son mayores");
}
else
{
Console.WriteLine("num3 es el mayor");
}
}
}
Console.ReadKey();
}
}
}
Corrida c#
4) “La langosta ahumada” es una empresa dedicada a ofrecer banquetes; sus tarifas son las
siguientes: el costo de platillo por persona es de $95.00, pero si el número de personas es mayor a
200 pero menor o igual a 300, el costo es de $85.00. Para más de 300 personas el costo por platillo
es de $75.00. Se requiere un algoritmo que ayude a determinar el presupuesto que se debe
presentar a los clientes que deseen realizar un evento. Mediante pseudocódigo, diagrama de flujo
y un diagrama N/S represente su solución.
*Código en Pseint:
FinProceso
*DF:
*Código en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
//declaración de variables
int pers, plat;
//ingreso de datos
Console.Write("Ingrese el número de Personas: ");
pers = int.Parse(Console.ReadLine());
//proceso
if (pers <= 200)
{
plat = pers * 95;
Console.WriteLine("El monto que debe pagar es : {0}", plat);
}
else
{
if (pers > 200 && pers <= 300)
{
plat = pers * 85;
Console.WriteLine("El monto que debe pagar es : {0}", plat);
}
else
{
if (pers > 300)
{
plat = pers * 75;
Console.WriteLine("El monto que debe pagar es : {0}", plat);
}
}
}
Console.ReadKey();
}
}
}
*Corrida en C#
PROB_05
La asociación de vinicultores tiene como política fijar un precio inicial al kilo de uva, la cual se
clasifica en tipos A y B, y además en tamaños 1 y 2. Cuando se realiza la venta del producto, ésta
es de un solo tipo y tamaño, se requiere determinar cuánto recibirá un productor por la uva que
entrega en un embarque, considerando lo siguiente: si es de tipo A, se le cargan 20¢ al precio
inicial cuando es de tamaño 1; y 30¢ si es de tamaño 2. Si es de tipo B, se rebajan 30¢ cuando es
de tamaño 1, y 50¢ cuando es de tamaño 2. Realice un algoritmo para determinar la ganancia
obtenida y represéntelo mediante diagrama de flujo, pseudocódigo y diagrama N/S. Luego
codifíquelo en C#
Proceso probl_05
Escribir "ingresar cantidad de kilo de UVA"
Leer kilo
Escribir "ingresar precio"
Leer precio
Escribir "ingrese tipo? A:tipo de uva B: tipo de uva"
leer tipo
Escribir "escoja tamaño? 1:tamaño 2: tamaño"
leer tamaño
Segun tipo Hacer
"A":
Si tamaño=1 Entonces
precio=precio+0.20
Sino
precio=precio+0.30
Fin Si
"B":
Si tamaño=1 Entonces
precio=precio-0.30
Sino
precio=precio-0.50
Fin Si
Fin Segun
ganancia= precio*kilo;
Escribir "PRECIO = ",precio
Escribir "GANANCIA = ",ganancia
FinProceso
DF
TRAZA
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PROB_05
{
class Program
{
static void Main(string[] args)
{
int kilo, tamaño;
double precio=0, ganancia=0;
char tipo;
switch (tipo)
{
case 'A':
if (tamaño == 1)
precio = precio + 0.20;
else
precio=precio+0.30;
break;
case 'B':
if (tamaño == 1)
precio = precio - 0.30;
else
precio=precio-0.50;
break;
}
ganancia = precio * kilo;
Console.WriteLine("precio : {0}", precio);
Console.WriteLine("ganancia : {0}", ganancia);
Console.ReadKey();
}
}
}
CORRIDA C#
6) El director de una escuela está organizando un viaje de estudios, y requiere determinar cuánto
debe cobrar a cada alumno y cuánto debe pagar a la compañía de viajes por el servicio. La forma
de cobrar es la siguiente: si son 100 alumnos o más, el costo por cada alumno es de $65.00; de 50
a 99 alumnos, el costo es de $70.00, de 30 a 49, de $95.00, y si son menos de 30, el costo de la
renta del autobús es de $4000.00, sin importar el número de alumnos.
*Código en pseint:
Proceso prob_06
FinProceso
*DF:
*Código en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
//declaración de variables
int alums, tot;
double pag;
//ingreso de datos
Console.Write("Ingrese el número de Alumnos: ");
alums = int.Parse(Console.ReadLine());
//proceso
if (alums >= 100)
{
tot = alums * 65;
pag = 65;
Console.WriteLine("El monto total que se le debe pagar a la empresa
es: {0}", tot);
Console.WriteLine("El monto que debe pagar cada alumno es: {0}",
pag);
}
else
{
if (alums <= 99 && alums >= 50)
{
tot = alums * 70;
pag = 70;
Console.WriteLine("El monto total que se le debe pagar a la
empresa es: {0}", tot);
Console.WriteLine("El monto que debe pagar cada alumno es: {0}",
pag);
}
else
{
if (alums >= 30 && alums <= 49)
{
tot = alums * 95;
pag = 95;
Console.WriteLine("El monto total que se le debe pagar a la
empresa es: {0}", tot);
Console.WriteLine("El monto que debe pagar cada alumno es:
{0}", pag);
}
else
{
if (alums < 30)
{
tot = 4000;
pag = tot / alums;
Console.WriteLine("El monto total que se le debe pagar a
la empresa es: {0}", tot);
Console.WriteLine("El monto que debe pagar cada alumno
es: {0}", pag);
}
}
}
}
Console.ReadKey();
}
}
}
*Corrida:
1. (PROBLEMA 7)
• Al analizar el problema se puede identificar que será necesario conocer como datos la
duración de la llamada, así como el día y turno en que se realiza. Con base en esto se
podrá determinar cuál será el pago que se efectuará por el tiempo que dura la llamada y el
impuesto que deberá pagar en función del día y del turno en que se realiza. La tabla 3.9
muestra las variables que se van a utilizar.
2. ENTRADA Y SALIDA
th
tur tot
td
3. PSEUDOCÓDIGO
Proceso CHISMEFON
Leer th
Escribir "turno"
Leer tur
Leer td
Si th <=5 Entonces
tot<-th * 1
Sino
Si th <= 8 Entonces
Sino
Si th <=10 Entonces
Fin Si
Fin Si
Fin Si
Segun td Hacer
1:
1:
2:
De Otro Modo:
Fin Segun
2:
De Otro Modo:
Fin Segun
FinProceso
4. DIAGRAMA DE FLUJO
5. CÓDIGO C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
class Program
{
static void Main(string[] args)
//DECLARACION DE VARIABLES
double tot;
int th;
//INGRESO DE DATOS
th = int.Parse(Console.ReadLine());
tur = char.Parse(Console.ReadLine());
td = char.Parse(Console.ReadLine());
//OPERACIONES
if (th <= 5)
tot = th * 1;
else
if (th <= 8)
else
else
switch (td)
case '1':
switch (tur)
{
case '1':
break;
case '2':
break;
default:
break;
break;
case '2':
break;
default:
break;
Console.ReadKey();
6. CORRIDAS C#
1. (PROBLEMA 8)
• Una compañía de viajes cuenta con tres tipos de autobuses (A, B y C), cada uno tiene un
precio por kilómetro recorrido, los costos respectivos son $2.0, $2.5 y $3.0. Se requiere
determinar el costo total y por persona del viaje considerando que cuando éste se
presupuesta debe haber un mínimo de 20 personas. Con la información correspondiente
se puede establecer las variables que se van a utilizar, las cuales se muestran en la tabla
2. ENTRADA Y SALIDA
aut tot
cp totp
ck
3. PSEUDOCÓDIGO
Proceso buses
Leer aut
Leer cp
Leer ck
1:
Si cp >= 20 Entonces
tot<-ck * 2
totp<-tot / cp
Sino
Fin Si
2:
Si cp >= 20 Entonces
tot<-ck * 2.5
totp<-tot / cp
Sino
Fin Si
3:
Si cp >= 20 Entonces
tot<-ck * 3
totp<-tot / cp
Sino
Fin Si
De Otro Modo:
Fin Segun
FinProceso
4. DIAGRAMA DE FLUJO
5. CÓDIGO C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication9
class Program
//DECLARACION DE VARIABLES
char aut;
//INGRESO DE VARIABLES
aut = char.Parse(Console.ReadLine());
cp = int.Parse(Console.ReadLine());
ck = int.Parse(Console.ReadLine());
//OPERACIONES
switch (aut)
case '1':
tot = ck * 2;
else
break;
case '2':
tot = ck * 2.5;
else
break;
case '3':
tot = ck * 3;
else
break;
default:
break;
Console.ReadKey();
6. CORRIDAS C#
1. (PROBLEMA 9)
• Fábricas “El cometa” produce artículos con claves (1, 2, 3, 4, 5 y 6). Se requiere un
algoritmo para calcular los precios de venta, para esto hay que considerar lo siguiente:
Costo de producción = materia prima + mano de obra + gastos de fabricación. Precio de
venta = costo de producción + 45 % de costo de producción. El costo de la mano de obra
se obtiene de la siguiente forma: para los productos con clave 3 o 4 se carga 75 % del
costo de la materia prima; para los que tienen clave 1 y 5 se carga 80 %, y para los que
tienen clave 2 o 6, 85 %. Para calcular el gasto de fabricación se considera que, si el
artículo que se va a producir tiene claves 2 o 5, este gasto representa 30 % sobre el costo
de la materia prima; si las claves son 3 o 6, representa 35 %; si las claves son 1 o 4,
representa 28 %. La materia prima tiene el mismo costo para cualquier clave. Represente
mediante el diagrama de flujo, el pseudocódigo y el diagrama N/S la solución de este
problema. Con las consideraciones anteriores se puede establecer la tabla
2. ENTRADA Y SALIDA
C PV
MP
MO, GF, CP
3. PSEUDOCÓDIGO
Algoritmo COMETA
Leer C
Leer MP
Segun C Hacer
1:
MO<-(80 * MP)/100
GF<-(28 * MP)/100
2:
MO<-(85 * MP)/100
GF<-(30 * MP)/100
3:
MO<-(75 * MP)/100
GF<-(35 * MP)/100
4:
MO<-(75 * MP)/100
GF<-(28 * MP)/100
5:
MO<-(80 * MP)/100
GF<-(30 * MP)/100
6:
MO<-(85 * MP)/100
GF<-(35 * MP)/100
De Otro Modo:
Fin Segun
CP<-MP + MO + GF
FinAlgoritmo
4. DIAGRAMA DE FLUJO
5. CÓDIGO C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication12
class Program
//DECLARACION DE VARIABLES
char C;
//INGRESO DE DATOS
Console.Write("Indique clave del cometa: \n1. Tipo 1 \n2. Tipo 2 \n3. Tipo 3 \n4. Tipo 4 \n5.
Tipo 5 \n6. Tipo 6 \n");
C = char.Parse(Console.ReadLine());
MP = double.Parse(Console.ReadLine());
MO = 0;
GF = 0;
//OPERACIONES
switch (C)
case '1':
{
break;
case '2':
break;
case '3':
break;
case '4':
break;
case '5':
break;
case '6':
break;
default:
break;
CP = MP + MO + GF;
Console.ReadKey();
6. CORRIDAS C#
1. ENUNCIADO (PROBLEMA 10)
10)
*Entrada:
*Código en Pseint:
Proceso prob_10
Escribir 'Ingrese A'
Leer a
Escribir 'Ingrese B'
Leer b
Escribir 'Ingrese C'
Leer c
Si a>b Entonces
Si a>c Entonces
Si b>c Entonces
Escribir ' A , B , C = ' , a ," ", b ," ", c
Sino
Escribir ' A , C, B = ' , a ," ", c ," ", b
FinSi
Sino
Escribir ' C , A , B = ' , c ," ", a ," ", b
FinSi
Sino
Si b>c Entonces
Si a>c Entonces
Escribir ' B , A , C = ' , b ," ", a ," ", c
Sino
Escribir ' B , C , A = ' , b," ", c ," ", a
FinSi
Sino
Escribir ' C , B , A = ' , c ," ", b ," ", a
FinSi
FinSi
FinProceso
*DF:
*Código en C#