Upload
brydyl
View
411
Download
2
Embed Size (px)
Citation preview
TRABAJO REALIZADO POR LUIS CHAMORRO ACOSTA
TRABAJO COLABORATIVO NUMERO 3 Actividades a desarrollar Metodología: El estudiante debe interactuar el foro de trabajo colaborativo de su pequeño grupo colaborativo, realizando aportes concernientes a cada uno de los temas expuestos.. El desarrollo del trabajo se realizará en el tema Espacio para desarrollar trabajo colaborativo. . Las actividades de este trabajo se dividen en dos partes: 1.- Desarrollar el software para el proyecto presentado en el trabajo colaborativo 1 2.- Desarrollar los ejercicios presentados en la presente guía
Tema 1: Desarrollar del programa en C# que dé solución al proyecto presentado en el trabajo colaborativo1 y presentado su algoritmo en el trabajo 2 Es importante recordar que el proyecto esta divido en 3 fases para ser desarrolladas en cada uno de los trabajos colaborativos, en este tercer trabajo colaborativo se deben realizar las siguientes actividades.
Cada uno de los integrantes del grupo debe presentar un programa que dé solución al proyecto presentado El grupo colaborativo selecciona uno de los programas presentados El grupo presenta un informe con los siguientes aspectos: o nombre del juego o Programa fuente (código) o Programa ejecutable (.exe) o Bibliografía (si se utilizó)
2. Desarrollar los ejercicios presentados a continuación.
Esta actividad está compuesta de por unos ejercicios que cada uno de los integrantes del grupo debe desarrollar utilizando el lenguaje de programación C#.
Los ejercicios que se deben codificar son lo presentados en el trabajo colaborativo # 2 (se adjunta planteamientos)
Ejercicios: Cada estudiante debe realizar por lo menos 8 ejercicios y revisar 5 ejercicios de de los desarrollados por otros compañeros.
Desarrollar el algoritmo para el proyecto presentado en el trabajo colaborativo 1 Actividad individual, Procedimiento para Adquisición de Equipo de Computo (Educación Educativa)proyecto presentado TC1
Si
No
2
INICIO
Reunión
Conformación Comité de apoyo
Programación de Actividades
Se consiguieron los
computadoresRecibir los Equipo
Reunión
Verificar estado físico c/u
Fin
Instalación
Hacer la entrega
Una vez la consecución de los equipos de cómputos se procederá sistematizar la institución, veamos los códigos:
class Program{static void Main(string[] args){double nota=0;string c_nota = "no asignada";bool repetir = true;while (repetir == true){try{Console.WriteLine("Introduce nota");nota = Double.Parse(Console.ReadLine());repetir = false;}catch (FormatException){Console.Clear();Console.WriteLine("Introducir sólo valores numéricos");repetir = true;}}if (nota >0 && nota<10){if (nota>=5){if (nota>=6){if (nota >= 7){if (nota >= 9) c_nota = "sobresaliente";else c_nota = "notable";}else c_nota = "bien";}else c_nota="aprobado";}else c_nota ="suspendido";}if (c_nota != "no asignada"){Console.WriteLine("La nota es de {0}", c_nota);}else Console.WriteLine("Nota no valida");
3
Console.WriteLine();Console.WriteLine("Final del programa");} // fi Main} // fin Class
1. Escribe un diagrama que calcule el área de un triangulo Equilátero, isósceles y escaleno, lo mismo que su perímetro
#include<iostream>#include<cmath>#include<stdlib.h>using namespace std;int a;int b;int c;int main() {cout<<"ingrese el lado a del triangulo"<<endl;cin>>a;cout<<"ingrese el lado b del triangulo"<<endl;cin>>b; cout<<"ingrese el ladoc del triangulo"<<endl;cin>>c;if (a==b && b==c) {cout<<"triángulo equilátero"<<endl;}else {if (a==b || b==c || a==c) { cout<<" triángulo isoceles"<<endl;} else {cout<<"triángulo escaleno"<<endl;}}system("pause"); return 0;}
2. Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Desplegar el resultado de los nuevos sueldos ordenandos ascendentemente.
4
#include <stdio.h>int main(){floatsueldo1 = 0, sueldo2 = 0, sueldo3 = 0;printf("Escribe los 3 sueldos:\n");scanf("%f", &sueldo1);scanf("%f", &sueldo2);scanf("%f", &sueldo3);sueldo1 = sueldo1 + 10;sueldo2 = sueldo2 + 12;sueldo3 = sueldo3 * 100 / 15;printf("El sueldo1 es: %f\n", sueldo1);printf("El sueldo2 es: %f\n", sueldo2);printf("El sueldo3 es: %f\n", sueldo3);return 0;}
3. Un profesor desea saber qué porcentaje de hombres casados y que porcentaje de mujeres solteras hay en un grupo de estudiantes.
#include <stdio.h>int main(){intCantidadTotal = 0, hombres = 0, mujeres = 0;printf("Escribe la cantidad total de estudiantes:\n");scanf("%d", &CantidadTotal);printf("Escribe la cantidad de hombres:\n");scanf("%d", &hombres);mujeres = CantidadTotal - hombres;printf("El porciento de hombres es: %d\n", (int)(hombres * 100 / CantidadTotal));printf("El porciento de mujeres es: %f\n", (int)(mujeres * 100 / CantidadTotal));return 0;}
4. Un estudiante de la UNAD desea saber cuánto debe sacar en el examen final en el curso, teniendo en cuenta la nota final del 60% (300 ptos)
#include#includemain(){float a,b,c,promedio=0;printf("\n\n***PROGRAMA QUE DETERMINA SI UN ALUMNO APRUEBA A REPRUEBA UN CURSO TENIENDO EN CUENTA LA NOTA FINAL***);
5
printf("\n\nInserte la primera calificacion: ");scanf("%f",&a);printf("\n\nInserte la segunda calificacion: ");scanf("%f",&b);printf("\n\nInserte la tercera calificacion: ");scanf("%f",&c);promedio=(a+b+c)/3;if (promedio>=60)printf("aprobado %f",promedio);if (promedio=C && B>=D)mayor=B;elseif (C>=D && C>=B)mayor=C;elseif (D>=B && D>=C)mayor=D;if (B==C&&C==D)printf ("\nlos numeros son iguales");elseprintf ("El mayor es %d", mayor);break;}getch();}
5. Una tienda aplica al precio de los remedios el 5% de descuento en compras inferiores a $200.000.oo. y 10 en compras superiores o iguales a $200.000.oo, Hacer un diagrama que ingresado el costo de los productos calcule el descuento y el precio final
#include "stdafx.h"#include#includeint main(){intcompra,pagar;chardia;printf("Ingrese el monto de su compra :");scanf("%d",&compra);printf("Escriba el nombre del remedio de la compra");scanf("%d",&remedio);if (intcompra, <300000); {printf("Usted no obtuvo ningun descuento: ");elseif (compra<200000); {
6
pagar=compra-(compra*0.5);printf("Usted ha sido acreedor de un 5% de descuento %d",pagar);
elseif (int compra>=200000); {pagar= compra-(compra*0.10);printf("Usted ha sido acreedor de un 10% de descuento %d",pagar);
}}}}getch();return 0;}
6. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos.
#include <stdio.h>#include <math.h>void (main)void {float cateto1, cateto2, cuad1, cuad2,sum;double resultado;clrscr();printf(" Programa para calcular la hipotenusa de un triangulo\n oprima cualquier tecla para empezar");getch();clrscr();printf ("\n\n introdusca el primer cateto\n\n");scanf ("%f",&cateto1);printf ("\n\n introdusca el segundo cateto\n\n");scanf ("%f",&cateto2);cuad1=cateto1*cateto1;cuad2=cateto2*cateto2;sum=cuad1+cuad2;resultado=sqrt(sum);printf("\n\n la hipotenusa es: %.3f",resultado);getch();}
7. Un almacén dedicado a la venta de computadoras, cuenta con 6 vendedores. Cada uno de ellos tiene un sueldo mensual pero además de su sueldo ganan una comisión por venta de la siguiente manera:
7
Si el monto de venta es mayor de $ 1.000.000.oo y menor a $ 5.000.000 la comisión será del 5%
Si el monto de venta es mayor o igual a $ 5.000.000.oo y menor de $10.000.000 la comisión es del 15%
Si el monto de la venta es menor que $1.000.000.oo no tiene comisión
Se desea saberEl sueldo ganado por empleado El sueldo + ComisiónEl total de la nómina de los vendedoresEl valor de las ventasEl Valor de las comisiones
Proceso NOMINA_ALMACENEscribir "ESTE PROGRAMA CALCULA LOS SALARIOS DE 8 EMPLEADOS SEGUN SUS VENTAS";Escribir " ";TVENTA<-0;TCOMISION<-0;TNOMINA<-0;Para N<-1 Hasta 8 Con Paso 1 HacerEscribir "POR FAVOR DIGITE EL TOTAL DE VENTAS DEL EMPLEADO ",N," :";Leer VENTA;COMISION<-0;SALARIO<-800000;Si (VENTA>1000000) & (VENTA<5000000) EntoncesCOMISION<-800000*0.05;SinoSi (VENTA>=5000000) & (VENTA<10000000) EntoncesCOMISION<-800000*0.15;FinSiFinSiSALARIO<-SALARIO+COMISION;TCOMISION<-TCOMISION+COMISION;TNOMINA<-TNOMINA+SALARIO;TVENTA<-TVENTA+VENTA;Escribir "EL SALARIO GANADO POR EL EMPLEADO ",N," ES :",SALARIO;Escribir "LA COMISION OBTENIDA POR SUS VENTAS ES :",COMISION;FinParaEscribir "EL TOTAL DE LA NOMINA DE LA EMPRESA ES :",TNOMINA;Escribir "EL TOTAL DE LAS VENTAS ESTE MES ES :",TVENTA;Escribir "EL VALOR TOTAL DE LAS COMISIONES PAGADAS ES :",TCOMISION;Escribir "---------------------------------------…
8
Escribir "---------------------------------------…FinProceso
8. Maria Maritza, organiza una fiesta para lo cual programa una computadora que controla el ingreso a la fiesta mediante 5 claves. Debe ingresar por lo menos 2 claves correctas para ingresar, si no ingresa por lo menos las dos claves se imprime un mensaje “NO PUEDE INGRSAR A LA FIESTA” en caso contrario “PERMITE EL INGRESO A LA FIESTA” Nota, y acierta el total de las claves, participa en la rifa sorpresa, para lo cual el sistema le debe generar automáticamente un número aleatorio de 3 cifras
Las Claves son: 1: "TOCTOC1"2: "TOCTOC2"3: "TOCTOC3"4: "TOCTOC4"5: "TOCTOC5"
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;
{classProgram{staticvoidMain(string[] args){int aciertos = 0;int i = 0;while (i < 5){Console.WriteLine("Digite clave:");string clave = Console.ReadLine();if(clave=="TOCTOC1" || clave=="T0CT0C2" || clave== "ENTRAR" || clave== "TOCTOC1" || clave=="TOCTOC1"){aciertos++;}i++;}if (aciertos >= 2){Console.WriteLine("INGRESO A LA FIESTA PERMITIDO");
9
}elseConsole.WriteLine("NO PUEDE INGRESAR A LA FIESTA");Console.Read();}}}
9. Hacer un algoritmo que lea N números, calcule y escriba la suma de los números primos y el producto de los no primos
#include<stdio.h>#include<stdlib.h>int main(){long Num,divisor=2; printf("\t Introducir el Numero = ");scanf("%ld",&Num);while(divisor<Num){ while( Num % divisor != 0)divisor=divisor+1;if(Num== divisor) printf("t %ld es PRIMO n",Num); elseprintf("t%ld NO es PRIMO ,pues ES multiplo de %ld n",Num,divisor); break;}system("pause");return 0;
10. El Miércoles de Ceniza es 46 días antes que el Domingo de Resurrección. Hacer un algoritmo para que dados el día D, el mes M y el año A del Domingo de Resurrección calcule la fecha del Miércoles de Ceniza en ese año. Se debe tener en cuenta si el año es o no bisiesto.
#include<iostream>using namespace std;int main(){int d, m, a, dm, t, i;cout << "Ingrese fecha (dd mm aa): "; // años de dos dígitoscin >> d >> m >> a;t = 365 * a + ( a - 1 ) / 4; /* dias hasta el anno anterior desde 1900 (ej. 1903,incluye el anno 1900, 1901, 1902: 3 annos ).y un dia por cada anno bisiesto,
10
hasta el anno anterior (ej. 1915, hasta el 14 tenemos: 1904,1908, 1912 o sea 14/4 = 3. */for( i = 1; i<m; t += dm, i++ ) //dias hasta el mes anteriorswitch(i){case 1 :case 3 :case 5 :case 7 :case 8 :case 10:case 12: dm = 31;break;case 4 :case 6 :case 9 :case 11: dm = 30;break;case 2 : if( a > 0 && a % 4 == 0 )dm = 29;else dm = 28;}t+=d; //dias hasta la fechat%=7; /*dias que sobran despues de reducir las semanassi 1 de enero fue lunes, el 7 del mismo mes (t%7 == 0) sera domingo */switch ( t ){case 0: cout << "Domingo\n";break;case 1: cout << "Lunes\n";break;case 2: cout << "Martes\n";break;case 3: cout << "Miercoles\n";break;case 4: cout << "Jueves\n";break;case 5: cout << "Viernes\n";break;case 6: cout << "Sabado\n";break;}cin.ignore();cin.get();
11
return 0;}
11. se pide realizar un algoritmo que nos indique las vueltas o regreso que hay que dar con 5 tipos de monedas diferentes: 500, 200, 100, 50,1 dado el precio del articulo y la cantidad de dinero entregada por el consumidor esto lo debe hacer entregando el menor número de monedas posibles
/* Cambio optimo de monedas */ #include <stdio.h> #define LIM 5int monedas[LIM]= {500, 200, 100, 50, 1}; main() { int num, cantidad, numonedas;printf ("Introduzca el importe exacto: " ;scanf ("%d", &cantidad);printf ("El cambio optimo es el siguiente: n" ;for (num=0; num<LIM; num++){numonedas=cantidad/monedas[num];if (numonedas != 0) printf ("%d de %d.n", numonedas, monedas[num]);cantidad= cantidad % monedas[num];}}
12. Hacer un de un programa (algoritmo) que adivine el número entre 1 y 5000 pensado por una persona (por ejemplo usted). El programa debe ir escribiendo números y la persona responderá con los símbolos “+” , “- “ o “=” según el número pensado sea menor, mayor o igual que el escrito por el computador por . Cuando lo adivine deberá poner un mensaje especificando cuantas preguntas ha necesitado y finalizar. No debe realizar más de 10 preguntas y debe detectar si la persona (usted) le está engañando diciéndole cosas imposibles, por ejemplo es mayor que 40 y menor que 41.
Si en lugar de estar el número de partida entre 1 y 5000 estuviera entre 1 y 1000000, ¿Cuantas preguntas serían necesarias?
#include <stdio.h>main(void){
int num,x,cont;do
12
{printf("Introduce un numero entre 1 y 5000: ");scanf("%d",&num);
}while (num<0 || num>5000);
x=-1; cont=0;while (x!=num && cont<10){
printf("Introduce un numero: ");scanf("%d",&x);if (x<num)
printf("El numero es mayor\n");else
if (x>num)printf("El numero es menor\n");
cont++;}
if (num==x)printf("Has acertado el numero en %d intentos\n",cont);
elseprintf("Lo siento, no has acertado el numero\n");
return 0;}
13
CONCLUSIONES
Luego de realizar este trabajo hemos visto como los algoritmos son una de las herramientas más complejas y aplicables en el área de la informática y el mundo de los computadores.
Las técnicas de desarrollo de algoritmos nos permiten encontrar la mejor solución a los problemas que se nos presentan y deben ser solucionados por el computador, estas técnicas están orientadas para utilizarse en cada uno de los niveles de complejidad y variedad o alternativas para las cuales se aplican los algoritmos.
14
REFERENCIAS
Modulo de Algoritmos de la Unad 2012
15