4.3 Dados tres números decidir cuál es el central.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_4_3
{
public class Clase
{
public Int32 CapturaNumero(string cadena)
{// Recibe un string para solicitar la entrada y devuelve el numero introducido.
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena); // Utiliza recursividad hasta introducir un numero valido
}
return number;
}
void ordena(int [] ar,int tam)
{// Recibe un arreglo de enteros y la organiza de menor a mayor
int i=0,t=0,j=0;
for(j=0;j<tam;j++){
for(i=j;i<tam;i++){
if(ar[i]<ar[j]){
t=ar[j];
ar[j]=ar[i];
ar[i]=t;
}
}
}
}
public void Run()
{//Metodo que ejecuta e imprime
Int32[] numeros = new Int32[3];
numeros[0] = CapturaNumero("Introducir un numero para A: ");
numeros[1] = CapturaNumero("Introducir un numero para B: ");
numeros[2] = CapturaNumero("Introducir un numero para C: ");
ordena(numeros, 3);
Console.WriteLine("El numero central es {0}", numeros[1]);
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
4.6 Determinar el precio de un billete de ida y vuelta en ferrocarril, conociendo la distancia a recorrer y sabiendo que si el número de días de estancia es superior a siete y la distancia es superior a los 800 Km. el billete tiene una reducción de 30%. El precio por kilómetro es 2,5 pesetas.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_4_6
{
public class Clase
{
public Int32 CapturaNumero(string cadena)
{
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Por favor Solo Números!!!");
return CapturaNumero(cadena);
}
return number;
}
public void Run()
{
Int32 distancia = 0, estancia = 0;
float precio_x_Km = 2.5F, Pasaje = 0.0F,descuento=0.0F;
distancia = CapturaNumero("Introducir la distacia en Kms: ");
estancia = CapturaNumero("Introducir dias de estancia: ");
Console.WriteLine();
Pasaje = distancia * precio_x_Km;
if (distancia > 800 && estancia > 7) descuento = (Pasaje * .30F);
Console.WriteLine("Distacia en Kms: {0,6} KmsnEstancia x Dias: {1,6} DiasnMonto del Pasaje: {2:###,###.00}", distancia, estancia, Pasaje);
if (descuento != 0)
{
Pasaje = Pasaje – descuento;
Console.WriteLine("Monto Descuento : {0:###,###.00}-nnTotal {1,6:C2} pesetas", descuento, Pasaje);
}
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
4.8 Se desea realizar una estadística de los pesos de los alumnos de un colegio de acuerdo a la siguiente tabla:
-Menos de 40 kg. | -Entre 40 y 50 kg. | -Más de 50 y menos de 60 kg. | -Más ó igual a 60 kg. |
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_4_8
{
public class Clase
{
void ordena(int[] ar, int tam)
{// Recibe un arreglo de enteros y la organiza de menor a mayor
int i = 0, t = 0, j = 0;
for (j = 0; j < tam; j++)
{
for (i = j; i < tam; i++)
{
if (ar[i] < ar[j])
{
t = ar[j]; ar[j] = ar[i]; ar[i] = t;
}
}
}
}
public Int32 CapturaNumero(string cadena)
{
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena);
}
return number;
}
public void Run()
{
int CuantosAlumnos = 0;
int [] Todos=new int[2000];
int Menos_40=0,Entre40y50=0,Mas50yMenos60=0,MasIgual60=0;
CuantosAlumnos = CapturaNumero("Cantidad de Alumnos en la Muestra ");
for (int i=0;i<CuantosAlumnos;i++){
Todos[i] = CapturaNumero("Introducir peso para alumno " + i.ToString()+": ");
}
ordena(Todos, CuantosAlumnos);
for(int i=0;i<CuantosAlumnos;i++){
if(Todos[i]<40)Menos_40++;
if(Todos[i]>=40 && Todos[i]<=50)Entre40y50++;
if(Todos[i]>50 && Todos[i]<60)Mas50yMenos60++;
if(Todos[i]>=60)MasIgual60++;
Console.Write(" {0}", Todos[i]);
}
Console.WriteLine("n=================================================================");
Console.WriteLine("Los alumnos < a 40 son {0:##0} {1:##0.00}%", Menos_40, Menos_40 * 100 / CuantosAlumnos);
Console.WriteLine("Los alumnos > ó = a 40 y < ó = 50 son {0:##0} {1:##0.00}%", Entre40y50, Entre40y50 * 100 / CuantosAlumnos);
Console.WriteLine("Los alumnos > a 50 y < 60 son {0:##0} {1:##0.00}%", Mas50yMenos60, Mas50yMenos60 * 100 / CuantosAlumnos);
Console.WriteLine("Los alumnos > ó = a 60 son {0:##0} {1:##0.00}%", MasIgual60, MasIgual60 * 100 / CuantosAlumnos);
Console.WriteLine("El total de alumnos fueron {0:##0} {1:##0.00}%", CuantosAlumnos, CuantosAlumnos * 100 / CuantosAlumnos);
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
4.11 El sistema de calificación americano se suele calcular de acuerdo a lo siguiente:
Grado Numérico | Grado en Letra |
Entre 90-100 | A |
Entre 80-89 | B |
Entre 70-79 | C |
Entre 60-69 | D |
Menos de 60 | F |
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_4_11
{
public class Clase
{
public Int32 CapturaNumero(string cadena)
{// Recibe un string para solicitar la entrada
// y devuelve el numero introducido.
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena); // Utiliza recursividad
// hasta introducir un numero valido
}
return number;
}
char letra(int Nota)
{
if (Nota >= 90) return 'A';
if (Nota >= 80) return 'B';
if (Nota >= 70) return 'C';
if (Nota >= 60) return 'D';
return 'F';
}
public void Run()
{//Metodo que ejecuta e imprime
Int32 Nota = 0;
Char Letra = 'F';
do
{
Nota = CapturaNumero("Introduzca Nota el Estudiante (0-100) ");
} while (Nota < 0 || Nota > 100);
Letra =letra(Nota);
Console.WriteLine("La nota es {0}-{1}",Nota,Letra);
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
7.1 Determinar los valores de I, J después de la ejecución de las instrucciones siguientes:
var
entero : I, J
array[1…10] de entero : A
Inicio
I <= 1 I=1
J <= 2 J=2
A[I] <= J A[1]=2
A[J] <= I A[2]=1
A[J+I] <= I+J A[3]=3
I <= A[I]+A[J] I=3
A[3] <= 5 A[3] = 5
J <= A[I]-A[J] J=4
Fin
El valor de I es 3 y de J es 4.
7.4 Leer una matriz de 3 por 3 elementos y calcular la suma de sus filas y columnas, dejando dichos resultados en dos vectores, uno de la suma de las filas y otro de la sumas de las columnas.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_7_4
{
public class Clase
{
public Int32 CapturaNumero(string cadena)
{// Recibe un string para solicitar la entrada
// y devuelve el numero introducido.
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena); // Utiliza recursividad
// hasta introducir un numero valido
}
return number;
}
void grafica3x3(Int32[,] matriz)
{
Console.WriteLine("==============================");
for (int f = 0; f < 3; f++)
{
for (int c = 0; c < 3; c++)
{
Console.Write(" {0:####}", matriz[f, c]);
}
Console.WriteLine();
}
Console.WriteLine("==============================");
}
public void Run()
{//Metodo que ejecuta e imprime
Int32[,] numeros = new Int32[3,3];
Int32[] sfilas = new Int32[3];
Int32[] scolumnas = new Int32[3];
for (int f = 0; f < 3; f++)
{
for (int c = 0; c < 3; c++)
{
numeros[f, c] = CapturaNumero("Posicion " + f.ToString() + "/" + c.ToString()+": ");
}
}
grafica3x3(numeros);
for (int f = 0; f < 3; f++)
{
for (int c = 0; c < 3; c++)
{
sfilas[f] = sfilas[f] + numeros[f, c];
}
}
for (int c = 0; c < 3; c++)
{
for (int f = 0; f < 3; f++)
{
scolumnas[c] = scolumnas[c] + numeros[f, c];
}
}
Console.WriteLine("Suma Columnas {0} {1} {2}", scolumnas[0],scolumnas[1],scolumnas[2]);
Console.WriteLine("Suma Filas {0} {1} {2}", sfilas[0], sfilas[1], sfilas[2]);
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
7.7 Calcular la suma de los elementos de la diagonal principal de una matriz 4×4.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_7_7
{
public class Clase
{
public Int32 CapturaNumero(string cadena)
{// Recibe un string para solicitar la entrada
// y devuelve el numero introducido.
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena); // Utiliza recursividad
// hasta introducir un numero valido
}
return number;
}
void grafica4x4(Int32[,] matriz)
{
Console.WriteLine("==============================");
for (int f = 0; f < 4; f++)
{
for (int c = 0; c < 4; c++)
{
Console.Write(" {0:####}", matriz[f, c]);
}
Console.WriteLine();
}
Console.WriteLine("==============================");
}
public void Run()
{//Metodo que ejecuta e imprime
Int32[,] numeros = new Int32[4, 4];
Int32 suma = 0;
for (int f = 0; f < 4; f++)
{
for (int c = 0; c < 4; c++)
{
numeros[f, c]=CapturaNumero("Posicion "+f.ToString() + "/"+c.ToString() + ": ");
}
}
grafica4x4(numeros);
for (int f = 0; f < 4; f++) suma = suma + numeros[f, f];
Console.WriteLine("Suma Diagonal es {0}", suma);
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
7.13 Se disponen de N temperaturas almacenadas en un array. Se desea calcular su media y obtener el número de temperaturas mayores o iguales a la media.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_7_13
{
public class Clase
{
public Int32 CapturaNumero(string cadena)
{// Recibe un string para solicitar la entrada y devuelve el numero introducido.
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena); // Utiliza recursividad
// hasta introducir un numero valido
}
return number;
}
public void Run()
{//Metodo que ejecuta e imprime
Int32[] Temperatura = new Int32[100];
Int32 suma = 0,Cantidad=0;
float Media=0F;
do
{
Cantidad = CapturaNumero("Cantidad de Temperaturas ");
} while (Cantidad > 100);
for (int i = 0; i < Cantidad; i++)
{
Temperatura[i] = CapturaNumero("Introducir temperatura No." + i.ToString() + ": ");
suma = suma + Temperatura[i];
}
Media = (float)suma / Cantidad;
Console.WriteLine("La media es {0}", Media);
Console.Write("Las Temperaturas Mayores a la Media son ");
for (int i = 0; i < Cantidad; i++)
{
if (Temperatura[i] >= Media) Console.Write(" {0}", Temperatura[i]);
}
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
7.15 Rellenar una matriz identidad de 4 por 4 elementos
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_7_15
{
class Program
{
static void Main(string[] args)
{
//int[,] matriz = {{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}; Forma FACIL
int [,] matriz = new int[4,4];
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
if (j == i) matriz[i, j] = 1;
else matriz[i, j] = 0;
}
}
Console.WriteLine("==============================");
for (int f = 0; f < 4; f++)
{
for (int c = 0; c < 4; c++)
{
Console.Write(" {0}", matriz[f, c]);
}
Console.WriteLine();
}
Console.WriteLine("==============================");
Console.Read();
}
}
}
7.21 Se dispone de las notas de cuarenta alumnos. Cada uno de ellos puede tener una o varias notas. Escribir un algoritmo que permita obtener la media de cada alumno y la media de la clase a partir de la entrada de las notas desde el Terminal.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicios_7_21
{
public class Clase
{
public struct registro
{
public Int32[] notas;
public Int32 CantNotas,Suma;
public float promedio;
};
public Int32 CapturaNumero(string cadena)
{// Recibe un string para solicitar la entrada y devuelve
// el numero introducido.
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena); // Utilizo recursividad hasta
// introducir un numero valido
}
return number;
}
public void Run(int CantidadAlumnos)
{//Metodo que ejecuta e imprime
registro[] alumno = new registro[CantidadAlumnos];
Int32 Cantidad=0;
float promedio_total = 0;
for (int i = 0; i < CantidadAlumnos; i++)
{
Cantidad = 0;
do
{
Console.WriteLine("n——————————————————-");
Cantidad = CapturaNumero("Cantidad de notas alumno numero " + i.ToString() + ": ");
} while (Cantidad > 4 || Cantidad == 0);
alumno[i].CantNotas = Cantidad;
alumno[i].notas = new Int32[Cantidad];
for (int j = 0; j < Cantidad; j++)
{
alumno[i].notas[j] = CapturaNumero("Introducir Nota #" + j.ToString() + " de Alumno No." + i.ToString() + ": ");
alumno[i].Suma = alumno[i].Suma + alumno[i].notas[j];
}
alumno[i].promedio = (float) alumno[i].Suma / alumno[i].CantNotas;
promedio_total = promedio_total + alumno[i].promedio;
Console.WriteLine("Su promedio es {0}", alumno[i].promedio);
}
promedio_total = (float)promedio_total / CantidadAlumnos;
Console.WriteLine("El promedio de todos los alumnos {0}", promedio_total);
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run(40);
Console.ReadLine();
}
}
}
5.5 Imprimir todos los números primos entre 2 y 1000 inclusive.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_5_5
{
public class Clase
{
bool Si_Primo(Int32 numero)
{
bool Divisor = true;
Int32 n = 2;
if (numero <= 2) return false;
while (Divisor == true && n < numero)
{
if (numero % n == 0) Divisor = false;
n++;
}
return Divisor;
}
public void Run()
{//Metodo que ejecuta e imprime
for (int i = 0; i <= 1000; i++)
{
if (Si_Primo(i) == true) Console.Write(" {0,4}", i);
}
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
5.8 Leer 100 números y determinar la media de los números positivos y la media de los números negativos.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_5_8
{
public class Clase
{
public Int32 CapturaNumero(string cadena)
{// Recibe un string para solicitar la entrada
// y devuelve el numero introducido.
string Strnumber;
int number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena); // Utiliza recursividad
// hasta introducir un numero valido
}
return number;
}
public void Run(int Cantidad)
{//Metodo que ejecuta e imprime
Int32 Numero = 0;
Int32 SumaPositivo = 0, SumaNegativo = 0;
Int32 CantidadPositivo = 0, CantidadNegativo = 0;
float MediaPositivo = 0, MediaNegativo = 0;
for (int i = 0; i < Cantidad; i++)
{
Numero = CapturaNumero("Introducir Numero " + i.ToString() + "/100: ");
if (Numero<0) {
SumaNegativo=SumaNegativo+Numero;
CantidadNegativo++;
}else {
SumaPositivo=SumaPositivo+Numero;
CantidadPositivo++;
}
}
MediaPositivo = (float)SumaPositivo / CantidadPositivo;
MediaNegativo = (float)SumaNegativo / CantidadNegativo;
Console.WriteLine("La media de los positivo es {0}", MediaPositivo);
Console.WriteLine("La media de los negativo es {0}", MediaNegativo);
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run(100);
Console.ReadLine();
}
}
}
5.12 Calcular el enésimo término de la seria de Fibonacci.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_5_12
{
public class Clase
{
long CapturaNumero(string cadena)
{// Recibe un string para solicitar la entrada
// y devuelve el numero introducido.
string Strnumber;
long number = 0;
try
{
Console.Write(cadena);
Strnumber = Console.ReadLine();
number = (long)Convert.ToInt32(Strnumber);
}
catch
{
Console.WriteLine("Numero Invalido!!!");
return CapturaNumero(cadena); // Utiliza recursividad
// hasta introducir un numero valido
}
return number;
}
long fib(long n)
{
if ((n == 1) || (n == 2)) return 1;
else return (fib(n – 1) + fib(n – 2));
}
public void Run()
{//Metodo que ejecuta e imprime
long Numero = 0;
Numero = CapturaNumero("Introduzca el No. E-Nesimo de la Serie ");
Console.WriteLine("El E-Nesimo de la Serie es {0}", fib(Numero));
}
}
class Program
{
static void Main(string[] args)
{
Clase ejecuta = new Clase();
ejecuta.Run();
Console.ReadLine();
}
}
}
5.16 Imprimir una tabla de multiplica 15 x 15.
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_5_16
{
class Program
{
static void Main(string[] args)
{
Console.Write(" ");
for (int i = 1; i < 16; i++)
{
Console.Write("{0,4}", i);
}
Console.WriteLine();
for (int i = 1; i < 16; i++)
{
Console.Write("{0,4}*", i);
for (int j = 1; j < 16; j++)
{
Console.Write("{0,4}", i * j);
}
Console.WriteLine();
}
Console.Read();
}
}
}
Ralph Jiménez
Republica Dominicana
Analista Programador
30 Mayo 2007
Página anterior | Volver al principio del trabajo | Página siguiente |