1. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
UNIVERSIDAD CAPITÁN GENERAL GERARDO BARRIOS
FACULTAD DE CIENCIA Y TECNOLOGIA
DEPARTAMENTO DE CIENCIA Y TECNOLOGIA
PROGRAMACION COMPUTACIONAL II
Clase # 5
PRIMER LABORATORIO DE COMPUTO I
Uso de las Estructuras de Control
Docente:
Pedro Antonio Villalta
pavillalta@ugb.edu.sv
INDICACIONES
Seleccione a un compañero de trabajo y desarrolle los dos ejercicios que se le asignarán
de los incluidos al final en ésta guía, eviten copiar o dar copia a otros grupos porque se
quedarán sin nota. Al finalizar y ser revisado su trabajo debe salir inmediatamente del
Laboratorio de Cómputo.
EJEMPLO USANDO LAS ESTRUCTURAS DE CONTROL
En la clase anterior conocimos las estructuras de control a nivel teórico, en este caso
veremos un ejemplo combinando las estructuras de control y haciendo uso de estructura
de casos (Switch) para mostrar al usuario un menú de opciones.
El programa permite al usuario seleccionar de entre las siguientes opciones:
1 = Convertir la edad de una persona dada en años a meses
2 = Calcular el área de un circulo con la formula A = PI * r2
3 = Evaluar la función Y = 5 * 2 - 3X + 2 para cualquier valor de X
4 = Convertir una cantidad dada en metros a centímetros
5 = Convertir una cantidad dada en libras a kilogramos
6 = Obtenga la nota promedio de 5 calificaciones
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 1
2. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
Cabeceras del programa
Este ejemplo no necesita de más cabeceras de las que se han estado utilizando. Incluimos
las siguientes:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Programa Principal
En el caso del programa principal lo que hacemos es llamar la función menú inicialmente y
después llamarla nuevamente pero dentro de un ciclo while, esto permite repetir las
opciones de menú las veces que el usuario lo requiera sin salir de consola.
La estructura básica del programa principal sería:
namespace clase5_guiaejercicios_estructuras
{
class guialaboratorio1
{
static void Main(string[] args)
{
//Cuerpo del programa principal
//Donde llamamos las funciones.
} //Cierre de programa principal main()
} //cierra clase principal
} //cierra espacio de trabajo
Ahora que vemos la estructura del programa hacemos la siguiente pregunta, donde
incluimos las funciones para cada ejercicio.
Las incluimos justo debajo de la llave de cierre del bloque main()
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 2
3. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
namespace clase5_guiaejercicios_estructuras
{
class guialaboratorio1
{
static void Main(string[] args)
{
//Cuerpo del programa principal
Bloques
} //Cierre de programa principal main()
De
//Funcion menu
static void menu()
Funciones
{ s
}
//Funcion pasar edad años a meses
static void edad()
{
}
//Funcion area de circulo
static void area()
{
}
//Funcion xxxxxxxx
static void funciones()
{
}
} //cierra clase principal
} //cierra espacio de trabajo
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 3
4. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
CODIGO COMPLETO DEL PROGRAMA DE EJEMPLO
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace clase5_guiaejercicios_estructuras
{
class guialaboratorio1
{
static void Main(string[] args)
{
int repetir;
menu();
Console.WriteLine("||||||||||||||||||||||||||||||||||||||||||||||||");
Console.WriteLine("si desea continuar presione 1 si no presione cualquier
numero...");
repetir = Int32.Parse(Console.ReadLine());
Console.WriteLine("||||||||||||||||||||||||||||||||||||||||||||||||");
while (repetir==1)
{
menu();
Console.WriteLine("||||||||||||||||||||||||||||||||||||||||||||||||");
Console.WriteLine("si desea continuar presione 1 si no presione cualquier
numero...");
repetir = Int32.Parse(Console.ReadLine());
Console.WriteLine("||||||||||||||||||||||||||||||||||||||||||||||||");
}
} //Cierre de programa principal main()
static void menu()
{
int opcion;
Console.WriteLine("********************** Menu de Opciones ********************************");
Console.WriteLine("* 1 = Convertir la edad de una persona dada en años a meses *");
Console.WriteLine("* 2 = Calcular el area de un circulo con la formula A = PI * r2 *");
Console.WriteLine("* 3 = Evaluar la funcion Y = 5 * 2 - 3X + 2 para cualquier valor de X. *");
Console.WriteLine("* 4 = Convertir una cantidad dada en metros a centimetros. *");
Console.WriteLine("* 5 = Convertir una cantidad dada en libras a kilogramos. *");
Console.WriteLine("* 6 = Obtenga la nota promedio de 5 calificaciones. *");
Console.WriteLine("* *");
Console.WriteLine("*************************************************************************");
Console.WriteLine("n");
Console.WriteLine("elija una opcion: ");
opcion = Int32.Parse(Console.ReadLine());
Console.WriteLine("n");
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 4
5. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
switch(opcion)
{
case 1:
edad();
break;
case 2:
area();
break;
case 3:
funcion();
break;
case 4:
convertirmetros();
break;
case 5:
convertirlibras();
break;
case 6:
promedio();
break;
case 7:
Console.WriteLine("presione cualquier tecla para salir...");
break;
default:
Console.WriteLine("opcion no valida...");
break;
}
}
static void edad()
{
int meses,edad;
String nombre;
Console.WriteLine(")****************************************");
Console.WriteLine("Ingrese su primer nombre: ");
nombre = Console.ReadLine();
Console.WriteLine(" ingrese su edad: ");
edad = Int32.Parse(Console.ReadLine());;
Console.WriteLine(" ");
meses = edad * 12;
Console.WriteLine("la edad de {0} en meses es: {1}",nombre,meses);
Console.WriteLine(" ");
Console.WriteLine("****************************************");
}
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 5
6. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
static void area()
{
// **************************ejercicio 2 area de un
circulo***********************************************
double area,radio;
const double pi = 3.1416;
Console.WriteLine("****************************************");
Console.WriteLine("ingrese el Radio del circulo: ");
radio = double.Parse(Console.ReadLine());;
area = pi * (radio*radio);
Console.WriteLine("El area de este circulo es: {0}",area);
Console.WriteLine("****************************************");
}
static void funcion()
{
//*********************ejercicio 3 Evaluar la función Y = 5 * 2 - 3X + 2
para cualquier valor de X.********
double z,w,x,a,y;
Console.WriteLine("Evaluar la funcion Y = 5 * 2 - 3X + 2 para cualquier valor de X");
Console.WriteLine(" ");
Console.WriteLine("ingrese el primer valor: ");
z = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese el segundo valor: ");
w = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese el valor de x: ");
x = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese el cuarto valor: ");
a = double.Parse(Console.ReadLine()); ;
Console.WriteLine(" ");
Console.WriteLine("la funcion ingresada es: Y= ( z * w ) - 8x + a");
Console.WriteLine("la funcion ingresada es: Y= {0} * {1} - 8{2} + {3}",z,w,x,a);
y = (z * w) - (8*x) + a;
Console.WriteLine("el resultado final es: {0}",y);
}
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 6
7. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
static void convertirmetros()
{
//**********************ejercicio 4 Convertir una cantidad dada en metros a
centímetros.****************
double metros,centimetros;
Console.WriteLine("****************************************");
Console.WriteLine("ingrese la cantidad en metros: ");
metros = double.Parse(Console.ReadLine());
Console.WriteLine(" ");
centimetros = metros * 100;
Console.WriteLine("la cantidad de {0} metros {1} centimetros",metros,centimetros);
Console.WriteLine("****************************************");
}
static void convertirlibras()
{
//************* ejercicio 5 Convertir una cantidad dada en libras a
kilogramos.*******************
double libras,kilogramos;
Console.WriteLine("****************************************");
Console.WriteLine("ingrese una cantidad en libra: ");
libras = double.Parse(Console.ReadLine());
Console.WriteLine(" ");
kilogramos= libras * 0.45359;
Console.WriteLine("la cantidad de {0} libras equivale a {1}
kilogramos",libras,kilogramos);
Console.WriteLine("****************************************");
}
static void promedio()
{
//*************** ejercicio 6 Obtenga la nota promedio de 5
calificaciones.****************************
double nota1,nota2,nota3,nota4,nota5,promedio;
String nombre;
Console.WriteLine("ingrese el primer nombre del estudiante: ");
nombre = Console.ReadLine();
Console.WriteLine("ingrese nota 1: ");
nota1 = double.Parse(Console.ReadLine());
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 7
8. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
Console.WriteLine("ingrese nota 2: ");
nota2 = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese nota 3: ");
nota3 = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese nota 4: ");
nota4 = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese nota 5: ");
nota5 = double.Parse(Console.ReadLine());
promedio=(nota1+nota2+nota3+nota4+nota5)/5;
if (promedio >= 6)
{
Console.WriteLine("el promedio del estudiante {0} es de {1} y esta APROBADO",nombre,promedio);
}
else
{
Console.WriteLine("el promedio del estudiante {0} es de {1} y esta REPROBADO",nombre,promedio);
}
} //cierre de funcion
} //cierra clase principal
} //cierra espacio de trabajo
PRIMER LABORATORIO DE COMPUTO I, EJERCICIOS
1. Calcule el peso de un objeto considerando los valores de dos variables que deben ser
ingresados.
M = Masa
G = Gravedad
Fórmula P = M * G
El valor de la gravedad debe ser declarado como constante con valor de 9.8
2. Ingresar un número cualquiera y haciendo uso de ciclo For mostrar la tabla de multiplicar
del número. Mostrar por ejemplo la tabla del cinco.
5x1=1
5x2=2
5x3=3
3. Permitir al usuario ingresar un número y que obtenga como salida si el número es par o
impar, positivo o negativo.
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 8
9. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
4. Escriba un programa que permita obtener el resultado de evaluar tres ecuaciones
utilizando un valor de X ingresado.
Ejemplo: Tenemos las ecuaciones:
En el caso de la primera ecuación la definimos en el código usando operadores
así:
y1 = (3 * (x ^ 3)) - (x ^ (1 / 3)) + (4 * (x ^ 2))
Utilice las variables y1, y2, y3 para el resultado de cada ecuación.
5. Crear una aplicación que dado un monto para presupuesto anual de una fábrica calcule
el porcentaje de dinero que le corresponde a cada departamento.
Recursos Humanos 50%
Manufactura 25%
Empaquetado 15%
Publicidad 10
6. Realice una aplicación que calcule el salario neto a pagar a un empleado de una
Empresa. Dicha empresa realiza los siguientes descuentos.
ISSS (9%)
AFP (7%)
Renta (10%)
7. La aplicación debe pedir el salario base del empleado, mostrar el salario neto y los
descuentos respectivos.
8. La distancia entre Usulután y San Salvador es de 82 KM, si usted sale de Usulután en un
auto que viaja durante todo el recorrido a una velocidad constante de 26 millas por hora,
¿Cuánto tiempo tardaría en llegar a San Salvador?.
(Considere que 1 Milla = 1.6 KM).
Modifique el programa para cualquier distancia comprendida entre 50 y 200 KM.
Formula que debe utilizar T = D / V
9. Escriba un programa que permita obtener el resultado de evaluar varias ecuaciones
utilizando un valor de X entre 1 y 100.
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 9
10. UNIVERSIDAD CAPITAN GENERAL “GERARDO BARRIOS” - FACULTAD DE CIENCIA Y TECNOLOGIA – PROGRAMACION COMPUTACIONAL II
Clase # 5: Laboratorio I de Cómputo I. Uso de las Estructuras de Control y Arreglos
10. El programa debe calcular el valor de Y para las siguientes ecuaciones:
En el caso de la primera ecuación la definimos en el código usando operadores
así:
y1 = (3 * (x ^ 3)) - (x ^ (1 / 3)) + (4 * (x ^ 2))
11. Calcular el área de los círculos con circunferencias que están establecidas con un radio
entre uno y mil.
Formula A = PI * r ²
12. Evaluar la función Y = 5 * 2 - 3X + 2 para todos los valores de X entre uno y 100.
13. Escribir un programa que le permita sumar los números pares e impares comprendidos
entre 10 y 50.
14. Escribir un programa que permita ingresar los salarios de una cantidad indicada de
empleados, debe presentar al final el total que se debe pagar y el descuento de renta
considerando que es del 10% sobre cada salario.
15. Desarrolle un programa que permita mostrar la serie: 1 – 2 – 5 – 26……….Hasta que el
resultado supere 100000.
16. Realice un programa que permita ingresar dos números y luego un operador
matemático, de acuerdo a este operador se realizará la operación indicada, los
operadores deben ser +, -, *, /, Mod
Por : Ing. Pedro Antonio Villalta Fecha: Lunes 04 de Febrero de 2013 10