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 |