Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ejercicio: 01
Solución:
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
clrscs();
printf(“Ingrese el primer número:”);
scanf(“%d”,&a);
printf(“Ingrese el segundo número:”);
scanf(“%d”,&b);
printf(“Ingrese el tercer número:”);
scanf(“%d”,&c);
if((a>b)&&(a>c))
if(b>c)
printf(“\n Los números son:%d %d %d”, a,b,c );
else
printf(“\n Los números son:%d %d %d”, a,c,b);
if((b>a)&&(b>c))
if(a>c)
printf(“\n Los números son:%d %d %d”, b,a,c );
else
printf(“\n Los números son:%d %d %d”, b,c,a);
if((c>a)&&(c>b))
if(a>b)
printf(“\n Los números son:%d %d %d”, c,a,b );
else
printf(“\n Los números son:%d %d %d”, c,b,a);
getch();
}
Ejercicio: 02
Solución:
#include<stdio.h>
#include<conio.h>
void main()
{
int x;
clrscr();
printf(“Ingrese la edad:”);
scanf(“%d”,&x);
if(x>=18)
printf(“\n Es mayor de edad”);
else
printf(“\n No es mayor de edad”);
getch();
}
Ejercicio: 03
Algoritmo que lea una edad y diga si es: Niño, adolescente, joven o adulto.
Solución:
#include<stdio.h>
#include<conio.h>
void main()
{
int x;
clrscr();
printf(“Ingrese la edad de la persona:”)
scanf(“%d”,&x);
if((x>=2)&&(x<=10))
{
printf(“\nLa persona es un niño”);
getch();
}
if((x>=11)&&(x<=17))
{
printf(“\nLa persona es un adolescente”);
getch();
}
if((x>=18)&&(x<=26))
{
printf(“\nLa persona es un joven”);
getch();
}
if((x>=27)&&(x<=60))
{
printf(“\nLa persona es un adulto”);
getch();
}
}
Ejercicio: 04
Solución:
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
float x;
clrscr();
x=0.0
printf(“Ingrese la primera nota:”);
scanf(“%d”,a);
printf(“Ingrese la segunda nota:”);
scanf(“%d”,b);
printf(“Ingrese la tercera nota:”);
scanf(“%d”,c);
x=(a+b+c)/3;
printf(“\nEl promedio es.:%f”,x);
if((a>b)&&(b>c))
{
printf(“\nLa nota máxima es:%d”,a);
printf(“\nLa nota mínima es:%d”,c);
getch();
}
if((a>c)&&(c>b))
{
printf(“\nLa nota máxima es:%d”,a);
printf(“\nLa nota mínima es:%d”,b);
getch();
}
if((b>a)&&(a>c))
{
printf(“\nLa nota máxima es:%d”,b);
printf(“\nLa nota mínima es:%d”,c);
getch();
}
if((b>c)&&(c>a))
{
printf(“\nLa nota máxima es:%d”,b);
printf(“\nLa nota mínima es:%d”,a);
getch();
}
if((c>a)&&(a>b))
{
printf(“\nLa nota máxima es:%d”,c);
printf(“\nLa nota mínima es:%d”,b);
getch();
}
if((c>b)&&(b>a))
{
printf(“\nLa nota máxima es:%d”,c);
printf(“\nLa nota mínima es:%d”,a);
getch();
}
getch();
}
Ejercicio: 05
Algoritmo que muestre los ¨n¨ primeros números positivos pares e impares que
pidamos.
Solución:
#include<stdio.h>
#include<conio.h>
void main(){
clrscr();
int i,n;
printf("¿Hasta qué número desea conocer los pares e impares?\n");
printf("Ingrese el valor:");
scanf("%d",&n);
if(n<=0)
{
printf("No hay valores para este número");
}
else {
{
for(i=2;i<=n;i+=2)
printf("Número par:%d\n",i);
getch();
}
{
for(i=1;i<=n;i+=2)
printf("\nNúmero impar:%d",i);
getch();
}
}
getch(); }
Ejercicio: 06
Solución:
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int x,y,opc,result;
float div;
opc=1;
while(opc!=5){
printf("1.Sumar\n");
printf("2.Restar\n");
printf("3.Multiplicar\n");
printf("4.Dividir\n");
printf("5.SALIR\n");
printf("Eliga la opcion:");
scanf("%d",&opc);
switch(opc){
case 1:
clrscr();
printf("Valor1:");
scanf("%d",&x);
printf("Valor2:");
scanf("%d",&y);
result=x+y;
printf("La suma es:%d",result);
getch();
break;
case 2:
clrscr();
printf("Valor1:");
scanf("%d",&x);
printf("Valor2:");
scanf("%d",&y);
result=x-y;
printf("La resta es:%d",result);
getch();
break;
case 3:
clrscr();
printf("Valor1:");
scanf("%d",&x);
printf("Valor2:");
scanf("%d",&y);
result=x*y;
printf("La multiplicacion es:%d",result);
getch();
break;
case 4:
clrscr();
printf("Valor1:");
scanf("%d",&x);
printf("Valor2:");
scanf("%d",&y);
div=(float) x/y;
printf("La division es:%.2f",div);
getch();
break;
}
}
}
Ejercicio: 07
#include<stdio.h>
#include<conio.h>
void main() {
clrscr();
int a,b,c,d,e;
float prom;
char cod;
printf("Ingrese codigo:");
scanf("%s",cod);
printf("Ingrese nota1:");
scanf("%d",&a);
printf("Ingrese nota2:");
scanf("%d",&b);
printf("Ingrese nota3:");
scanf("%d",&c);
printf("Ingrese nota4:");
scanf("%d",&d);
printf("Ingrese nota5:");
scanf("%d",&e);
clrscr();
prom=(a+b+c+d+e)/5;
if(prom>=11) {
printf("Codigo del alumno:%s\n",cod);
printf("\n\tNotas:%d %d %d %d %d",a,b,c,d,e);
printf("\n\tPromedio:%.2f",prom);
printf("\n\n\tAlumno Aprobado"); }
else {
printf("Codigo del alumno:%s\n",cod);
printf("\n\tNotas:%d %d %d %d %d",a,b,c,d,e);
printf("\n\tPromedio:%.2f",prom);
printf("\n\n\tAlumno Desaprobado"); }
getch();
}
Ejercicio: 08
#include<stdio.h>
#include<conio.h>
void main() {
int i,numeros[10],aux,j;
clrscr();
printf("Ingrese elementos antes de ordenar\n");
for(i=0;i<=9;i++) {
printf("Numero:");
scanf("%d",&numeros[i]);
}
for(j=1;j<=9;j++)
{
for(i=0;i<=8;i++)
{
if(numeros[i]>numeros[i+1])
{
aux=numeros[i];
numeros[i]=numeros[i+1];
numeros[i+1]=aux;
}
}
}
clrscr();
printf("Numeros ordenados de \nmayor a menor:\n");
for(i=9;i>=0;i--)
{
printf("\n\t%d\n",numeros[i]);
}
getch();
}
#include <stdio.h>
#include <math.h>
void main(void) {
int numero, divisor;
printf("Que numero quieres saber si es primo?\n");
scanf("%d", &numero);
while(numero<2) {
printf("Lo siento, no acepto numeros menores que 2.\n");
printf("Intentalo de nuevo\n");
scanf("%d", &numero);
}
for (divisor=2; divisor<=sqrt(numero); divisor++) {
if (numero%divisor==0) {
printf("%d no es primo.\n", numero);
return;
}
}
printf("%d es primo.\n", numero);
}
Comentario
El comentario más apropiado para este ejercicio es el algoritmo para calcular el primo con el
bucle for (divisor=2; divisor<=sqrt(numero); divisor++). Observa que este bucle se termina
cuando se encuentra un divisor del número, en cuyo caso se escribe el mensaje de que el
número no es primo y se termina la ejecución del programa con un return, o cuando divisor llega
a su valor límite, en cuyo caso el número es primo porque no se ha encontrado ningún divisor.
#include <stdio.h>
void main(void) {
int numero, divisor;
int n;
printf("¿Hasta qué número desea conocer los primos?\n");
printf("Introduzca el valor: ");
scanf("%d", &n);
for (numero=2; numero<=n; numero++) {
esPrimo=1; /* numero es primo */
for (divisor=2; divisor<=sqrt(numero); divisor++){
if (numero%divisor==0){
esPrimo=0;
break;
}
}
if(esPrimo==1) printf("%d\n", numero);
}
}
Comentario
Para poder escribir todos los números primos hasta un límite, basta introducir un nuevo bucle for
al programa anterior que vaya recorriendo todos los números enteros desde el 2 hasta dicho
límite inclusive. En cada ejecución del bucle se comprueba si el número considerado es primo
aprovechando las sentencias del programa anterior. En este caso se calcula si un número es
primo mediante el bucle for (divisor=2; divisor<=sqrt(numero); divisor++). Observa que se ha
definido una variable esPrimo que indica si el número es primo o no. Al principio se supone que
el número es primo, y esta condición se cambia si se encuentra un divisor exacto. En esta caso,
la sentencia break hace que se termine el bucle for más interno.
Solucion en Pseudocódigo
ALGORITMO primos1
ENTRADAS:
n: ENTERO (Valor límite)
SALIDAS:
numero: ENTERO
VARIABLES
divisor: ENTERO
INICIO
FIN
Comentario
En la creación del pseudocódigo a partir del código en C mostrado en el apartado anterior hemos
realizado algunas sustituciones para que el pseudocódigo fuera correcto. El bucle for más
interno ha sido sustituido por una sentecia MIENTRAS, ya que en el código C dicho bucle estaba
siendo utilizado como una sentencia MIENTRAS. Además en el diseño en pseudocódigo no es
recomendable incluir sentencias de ruptura de flujo como break, por lo que se ha simulado su
comportamiento incluyendo en la condición del MIENTRAS la comparación esPrimo=1. Por último,
se ha utilizado la función ficticia RAIZ(numero) como si ya estubiera declarada anteriormente.
C++:
1.#include <iostream>
2.
3. using namespace std;
4.
5.int main(){
6.
7.cout<<" Metodo Burbuja en C++ \t 22/04/2009 \n";
8.cout<<" Autor: Allan Duvallier \n \n";
9.
10. //declaramos el arreglo
11. int arreglo[ ] = {11,10,0,5,3,9,6,8,4,7,2,1}; //arreglo de 12 elementos
12.
13. //declaracion de una variable temporal y 2 variables para los bucles
14. int i, j, temp;
15.
16. //imprimos el arreglo con los valores iniciales
17.
18. cout<<"arreglo antes de ordenar......"<<endl;
19. cout<<endl;
20. cout<<endl;
21.
22. for (j =0; j <12; j++) {
23.
24. cout<<"arreglo[" <<j <<"] = " <<arreglo[j] <<endl;
25.
26. }
27.
28.
29. //despues imprimimos el arreglo ordenado...(1)
30.
31. cout<<endl;
32. cout<<endl;
33. cout<<"arreglo despues de ordenar..........."<<endl;
34. cout<<endl;
35. cout<<endl;
36.
37. //ordenamos los elementos de el arreglo de menor a mayor ...(2)
38. //realizamos el recorrido del arreglo con dos bucles "for"
39.
40.
41. for (i = 1; i <12; i++ ){
42.
43. for (j = 0; j <12 - i ; j++){
44.
45. /*
46. el elemento del arreglo con respecto a la varible j que esta dentro de el
47. bucle, se compara con su adyacente en el arreglo (el primero con el segundo)..(3)
48. */
49.
50. if (arreglo[j]> arreglo[j + 1]) {
51.
52. /*
53. si se cumple la condicion, hacen el intercabio de valores
54. por medio de uan variable temporal...(4)
55. */
56.
57. temp = arreglo[j];
58. arreglo[j] = arreglo[j + 1] ;
59. arreglo[j + 1] = temp;
60.
61. }//fin del condicion
62.
63. }// fin del segundo bucle for "j"
64.
65. } // fin del primer bucle for "i"
66.
67. //imprimimos el arreglo con los valores ya ordenados ...(5)
68.
69. for (j =0; j <12; j++) {
70.
71. cout<<"arreglo[" <<j <<"] = " <<arreglo[ j ] <<endl;
72.
73. }
74.
75. //pausamos despues de que muestre el resultado el programa
76. system("pause");
77.
78. return 0;
79.
80.} //fin del programa
#include<stdio.h>
#include<conio.h>
void main() { clrscr();
int a[10],c,b,s,i,k,d[10],n;
printf("Ingrese valor1:");
scanf("%d",&a[0]);
for(k=2;k<=10;k++)
{
do { s=1;
printf("ingrese valor%d:",k);
scanf("%d",&a[k-1]);
for(i=0;i<=k-2;i++)
{
if(a[i]==a[k-1])
b=0;
else
b=1;
s=b*s;
}
}
while(s==0);
}
for(n=0;n<=9;n++)
{
c=0;
for(i=0;i<=9;i++)
{
if(a[i]>=c)
c=a[i];
else
c=c;
}
d[n]=c;
for(i=0;i<=9;i++)
{
if(a[i]==c)
a[i]=0;
}
}
for(n=0;n<=9;n++)
{
printf("\nel orden es:%d",d[n]);
}
getch();
}
MATRICES
//FIXTURE CON CUADROS
#include <stdio.h>
#include<conio.h>
#include<string.h>
#define MAX 12
#define MAXESC 3
#define MAXCRI 7
char Escuelas[6][10]={"","I.E","I.C.E","MAT","EST","FIS"};
char Criterio[8][10]={"","PJ","PG","PE","PP","GF","GE","PT"};
void main()
{
int Matriz[MAX][MAX];
int Posiciones[MAXESC][2];
int goles1, goles2;
int i,j,k;
//inicializar matriz
for (i=1; i<=MAXESC; i++)
{
for (j=1; j<=MAXCRI; j++)
{
Matriz[i][j]=0;
}
}
clrscr();
textbackground(GREEN);
textcolor(WHITE);
/*
for (i=1; i<=MAXESC; i++)
{
for (j=1; j<=MAXESC; j++)
{
if (strcmp(Escuelas[i],Escuelas[j])!=0)
{
*/
//Ingreso de Goles
printf ("\nPARTIDO ENTRE: %s vs %s",Escuelas[i],Escuelas[j]);
printf ("\nGoles %s\t: ",Escuelas[i]);
scanf ("%d", &goles1);
printf ("Goles %s\t: ",Escuelas[j]);
scanf ("%d", &goles2);
//Calculo de Criterios
Matriz[i][1]++; //Partidos Jugados Equipo1
Matriz[j][1]++; //Partidos Jugados Equipo2
if (goles1>goles2)
{
Matriz[i][2]++; //Partidos Ganados Equipo1
Matriz[j][4]++; //Partidos Perdidos Equipo2
}
}
}
//COLOR DE RESULTADOS
textcolor(YELLOW);
printf("\n"); cprintf("³");
for (k=1; k<=71; k++)
{
cprintf("Ä");
}
cprintf("³");
//Mostrando la matriz
for (i=1; i<=MAXESC; i++)
{
printf("\n"); cprintf("³"); printf(" %s\t",Escuelas[i]); //muestra
escuelas
for (j=1; j<=MAXCRI; j++)
{
cprintf("³"); printf(" %d\t",Matriz[i][j]); //muestra valores
}
cprintf("³");
}
printf("\n"); cprintf("À");
for (k=1; k<=71; k++)
{
cprintf("Ä");
}
cprintf("Ù");
//Tabla de Posiciones
for (i=1; i<=MAXESC; i++)
{
Posiciones[i][1]=i;
Posiciones[i][2]=Matriz[i][7];
}
int Temp1, Temp2;
//ORDENAR
for (i=1; i<=MAXESC-1; i++)
{
for (j=i+1; j<=MAXESC; j++)
{
if (Posiciones[i][2]<Posiciones[j][2])
{
Temp1=Posiciones[i][1];
Posiciones[i][1]=Posiciones[j][1];
Posiciones[j][1]=Temp1;
Temp2=Posiciones[i][2];
Posiciones[i][2]=Posiciones[j][2];
Posiciones[j][2]=Temp2;
}
}
}
//COLOR DE GANADORES
textcolor(RED);
printf("\n"); cprintf("Ú");
for (k=1; k<=33; k++)
{
cprintf("Ä");
}
cprintf("¿");
printf("\n");cprintf("³");printf(" ESCUELA\t");
cprintf("³");printf(" POSICION\t");
cprintf("³");
printf("\n");cprintf("³");
for (k=1; k<=33; k++)
{
cprintf("Ä");
}
cprintf("³");
//Posicion[i][1] == 4
//Escuelas(Posicion[i][1]) == Escuelas(4)
for (i=1; i<=MAXESC; i++)
{
printf("\n");cprintf("³");printf(" %s\t\t",Escuelas[Posiciones[i][1]]);
cprintf("³");printf(" Puesto %d\t",i);
cprintf("³");
}
printf("\n");cprintf("À");
for (k=1; k<=33; k++)
{
cprintf("Ä");
}
cprintf("Ù");
getch();