Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentacin:
Este libro pretende ser un complemento para otros libros de programacin, ms completos y
con ms fundamentos tericos, pero que a veces necesitan ejercicios actualizados para
asimilar completamente la teora.
Est en preparacin otro libro como una continuacin de estos ejercicios, completando la
temtica de la programacin Visual y la programacin Web.
Para cualquier consulta con el autor, pueden hacrsela llegar mediante la web de
www.ibserveis.com, en el apartado de Contacto.
1
Aprende programacin fcilmente.
Captulo 0
Iniciacin a la programacin
2
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
Captulo 0
Iniciacin a la resolucin de problemas estructuradamente con PSEUDOCODIGO
Por otra parte, para todos aquellos que no tienen intencin de seguir el ritmo de las
novedades informticas, puede visitar esta web:
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=devesb
1
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
Para cambiar una cuerda de guitarra se hacen una serie de movimientos en el clavijero para
conseguir la tensin necesaria en cada cuerda, estos pasos son los que describe la solucin.
Pensar en que instrucciones, paso a paso, seguimos para escoger ropa en una tienda.
Este es el primer ejercicio matemtico, las instrucciones para resolver el problema son mas
abstractas que los ejercicios anteriores, pero siquen teniendo una dificultat inicial baja.
Qu instrucciones daramos a un nio de primaria para que sume los 10 primeros nmeros?
0.5) Cdigo donde se introduce una serie de nmeros y el ordenador cuenta cuantos son
positivos.
La novedad de este ejercicio consiste en la interaccin del usuario con el ordenador, el nmero
que introduce el usuario forma parte de las instrucciones del algoritmo. Simplemente una
variable asignada desde el teclado.
2
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
Ejercicio con una instruccin condicional doble. El ordenador sigue una alternativa u otra.
0.8) Escribir la nota relacionada con la nota numrica: 5, suficiente, 6 bien, 7 notable...
Un ejercicio muy parecido al ejercicio 1.7, pero con la facilidad de una temtica conocida por los
estudiantes. Ver los resultados de sus esfuerzos reflejados en una nota trimestral.
0.9) PSEUDOCODIGO para contar los alumnos que no llegan al 1.20 m , los que estan
entre 1.20 y 1.50, entre 1.50 y 1.60 y los que tienen ms de 1.60m de altura.
En todas las reparaciones, sean de ordenadores o de otras mquinas se sigue un algoritmo para
conseguir que la reparacin sea lo ms rpida y eficiente posible. En el ejercicio es una fuente,
pero podra ser perfectamente cualquier mquina, motor, o aparato electrnico.
0.11) Pseudocdigo que calcula nota media de 3 asignaturas de cada uno de los 5
alumnos de clase.
Un ejercicio donde la calve est en un buen planteamiento para un slo alumno, despus
ampliar la solucin per los 5 alumnos que explica el enunciado
Este ejercicio podra ser muy largo o complicarse ms, pero lo que importa en una
estructuracin inicial simple para poder ampliarlo, si se desea, ms adelante.
3
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
Inicio
Preparar material necesario
Extraer cuerda rota
Introducir cuerda nueva
Mientras no tenga tensin
Girar clavijero
volver
Esta afinada?
NO : Mientras no est afinada
Est en un tono ms alto?
S : Girar clavijero a la izquierda
No: Girar clavijero a la derecha
volver
S : esta afinada
Fin
Inicio
Entrar a la Tienda
Mientras no vea nada que me gusta
Buscar
volver
Mirar precio
Es un precio interesante?
S: Es de mi talla?
S: Voy al probador
Me gusta cmo me queda?
S: Compro la ropa
NO: volver a buscar
0.3) PSEUDOCODIGO que calcula la suma de los nmeros enteros entre 1 y 10 (1+2+3+4....)
inicio
suma 0: conta 0
inicio
suma 0: conta 10: producto 1
0.5) Cdigo donde se introduce una serie de n y el ordenador cuenta cuantos son positivos.
inicio
positivos 0: conta 0
Introducir "Introduce nmero";numero
5
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
inicio
num1 0: num2 0
Introducir "Introduce primer nmero";num1
Introducir "Introduce segundo nmero";num2
Si (num1>num2)
Escribir "El mayor es el primero ", num1
sino
Escriure "El mayor es el segundo ", num2
fi si
Fin
0.7) Algoritmo con introduccin de 2 nmeros y el ordenador indica cual es el mayor o si son
iguales
inicio
num1 0: num2 0
Introducir "Introduce primer nmero";num1
Introducir "Introduce segundo nmero";num2
Si (num1>num2)
Escribir "El mayor es el primero ", num1
sino
SI (num2>num1)
Escribir "El mayor es el segundo ", num2
sino
Escribir "Los nmeros son iguales"
fin si
fin si
Fin
6
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
0.8 ) Escribir la nota relacionada con la nota numrica: 5, suficiente, 6 bien, 7 notable...
inicio
Leer nota
Mientras nota mayor que 0 y menor que 10
si nota >= 5
si nota >= 6
si nota >= 7
si nota >= 9
resultado sobresaliente
si no
resultadonotable
fin si
si no
resultado bien
fin si
si no
resultadoaprobado
fin si
si no
resultado suspendido
fin si
fin Mientras
Escribir resultado
fin
7
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
0.9) PSEUDOCODIGO para contar los alumnos que no llegan al 1.20 m , los que estn entre
1.20 y 1.50, entre 1.50 y 1.60 y los que tienen ms de 1.60m de altura.
var
entero: conta1, conta2, conta3, conta4
real : altura
inicio
conta1 0 , conta2 0 , conta 3 0, conta 4 0
Leer altura
Mientras altura <> -1 hacer // -1 valor centinela (flag final)
si no
conta 1 conta1 +1 // altura menor que 1.20
fin si
fin Mientras
fin
8
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
Inicio
Mientras Fuente NO Marcha hacer
S hay corriente
Reparar cable enchufe-caja
Fuente S marcha
Fin Mientras
0.11) Calcula nota media de 3 asignaturas de cada uno de los 5 alumnos de clase.
inicio
conta conta +1
contanota1
suma0
fin Mientras
fin
10
Aprende programacin fcilmente. Captulo 0: Iniciacin a la programacin
inicio
Escribir Qu cantidad?
Leer cantidad
si respuesta = ingresar
Hacer ingreso de cantidad
Escribir Ingreso hecho en su cuenta
si no
si cantidad divisible por 5 (billetes disponibles de 5 ,10 i 20)
Escribir A dbito o crdito?
Leer forma
si forma = debito
extraer de su cuenta
si no
extraer a crdito
fin si
si no
Escribir Solo billetes de 5, 10 y 20
fin si
fin si
fin
11
Aprende programacin fcilmente. Captulo 1: Primeros programas
Captulo 1
12
Aprende programacin fcilmente. Captulo 1: Primeros programas
www.devjoker.com : Tutorial C#
http://functionx.com/csharp/Lesson01.htm : FunctionX.com
13
Aprende programacin fcilmente. Captulo 1: Primeros programas
1.1) 1.2) Comprobar con la calculadora del S.O. 4 dgitos binarios son 1 digito
hexadecimal.
La relacin decimal-hexadecimal-binario puede haber perdido importancia en lenguajes de alto
nivel, pero ha sido la base matemtica de muchas operaciones en lenguaje C.
1.3) Programa que calcula la suma de los nmeros enteros entre 1 y 10 (1+2+3+4....)
1.4) Programa producto nmeros enteros del 10 al 20 (10*12*14...)
Los ejercicios 1.4 - 1.5 tienen fcil traslacin al lenguaje de programacin BASIC.
1.5 - 1.6) Programa: usuario introduce nmeros y el ordenador cuenta cuantos son
positivos.
Ya podemos comparar ambos lenguajes BASIC- C# , el mismo pseudocdigo escrito en cada
uno de estos lenguajes. Nuestra Piedra de Rosetta particular (google: piedra rosetta)
1.7) Contabiliza personas de ms de 180, entre 180 y 170, 170 y 160, y menores de 160cm.
El mismo pseudocdigo que el ejercicio 1.7 para comprobar que si hemos pensado
correctamente la solucin, es fcil implementarla con un lenguaje de programacin
1.8) Programa para poner notas: suspendido, aprobado, bien... con la nota numrica.
Solucin del ejercicio 0.8 con lenguaje C#
1.10) Calcula nota media de 3 asignaturas de cada uno de los 5 alumnos de clase.
Solucin en BASIC y C# del ejercicio 1.8
1.13) Realizar programa en el que el ordenador piensa en un nmero al azar entre 1 y 50.
El usuario ha de adivinarlo en 5 oportunidades. El ordenador sealar si es mayor o
menor.
1.14) Contabiliza personas de ms de 180, entre 180 y 170, 170 y 160, y menores de 160cm.
Solucin con C# del ya resuelto ejercicio 1.7
1.15) Introducir n (finaliza con el 999) . Muestra mximo y cuantas veces se ha repetido.
14
Aprende programacin fcilmente. Captulo 1: Primeros programas
1.2) Comprobar con la calculadora del S.O. (ver cientfica) que a cada 4 digitos binarios
corresponden a 1 digito hexadecimal. Ejemplos: 10012 -> 916 , 11002 ->C16 , 1000 10012 ->8916
1.3) Programa que calcula la suma de los nmeros enteros entre 1 y 10 (1+2+3+4....)
Llenguaje C:
#include <iostream>
using namespace std;
void main()
{
int suma=0; int conta =0;
while (conta<10)
{
conta = conta +1;
suma = suma +conta;
}
printf("\n\n La suma es %d ",suma);
printf("\n");
}
15
Aprende programacin fcilmente. Captulo 1: Primeros programas
1.5) Programa : El usuario introduce nmeros y el ordenador cuenta cuantos son positivos.
namespace Proyecto1
{
class Holamundo
{
public static void Main(String[] args)
{
Console.WriteLine("Hola {0}!", args[0]);
}
}
}
16
Aprende programacin fcilmente. Captulo 1: Primeros programas
1.6) Programa : El usuario introduce nmeros y el ordenador cuenta cuantos son positivos.
class Program
{
static void Main(string[] args)
{
int positivos = 0; int conta = 0; int numero;
} //fin Main
}
1.7) Contabiliza personas de ms de 180, entre 180 y 170, 170 y 160, y menores de 160cm.
1.8) Programa para poner notas: suspendido, aprobado, bien ... a parir de la nota numrica.
class Program
{
static void Main(string[] args)
{
double nota=0;
string c_nota = "no asignada";
Console.WriteLine();
Console.WriteLine("Final del programa");
} // fin Main
} // fin Class
18
Aprende programacin fcilmente. Captulo 1: Primeros programas
1.10) Calcula nota media de 3 asignaturas de cada uno de los 5 alumnos de clase.
VERSIN C#
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_1_10
{
class Programa_notas
{
static void Main(string[] args)
{
int alumnos =5; int conta =1; int contanota =1; int suma =0;
int nota;
while (conta <= alumnos)
{
Console.WriteLine("Alumno nmero {0}",conta);
contanota = contanota + 1;
suma = suma + nota;
}
} //fin Main
} //fin class
} // fin namespace
20
Aprende programacin fcilmente. Captulo 1: Primeros programas
21
Aprende programacin fcilmente. Captulo 1: Primeros programas
if (a > b)
{
if (b > c) central = b;
else
{
if (a > c) central = c;
else central = a;
}
}
else
{
if (a > c) central = a;
else
{
if (c > b) central = b;
else central = a;
}
}
22
Aprende programacin fcilmente. Captulo 1: Primeros programas
1.13 ) Realizar programa en el que el ordenador piensa en un nmero al azar entre 1 y 50.
El usuario ha de adivinarlo en 5 oportunidades. El ordenador sealar si es mayor o menor.
rem randomize(timer)
label inicio
cls
conta =0: numero =0: azar =0:encertat =0
azar = int(rnd*50)+1
INPUT numero
conta = conta +1
WEND
23
Aprende programacin fcilmente. Captulo 1: Primeros programas
1.14) Contabiliza personas de ms de 180, entre 180 y 170, 170 y 160, y menores de 160cm.
using System;
using System.Collections.Generic;
using System.Text;
namespace Exercicio14
{
class Class1
{
static void Main(string[] args)
{
int conta1 = 0; int conta2=0; int conta3 =0; int conta4 =0;
} //fin Main
} //fin class
} //fin namespace
24
Aprende programacin fcilmente. Captulo 1: Primeros programas
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio15
{
class Program
{
static void Main(string[] args)
{
}
}
25
Aprende programacin fcilmente. Captulo 1: Primeros programas
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio16
{
class Program
{
static void Main(string[] args)
{
string respuesta;
Console.WriteLine("Qu cantidad?");
double cantidad = Double.Parse(Console.ReadLine());
if (tecla =="i")
{
respuesta=" Ingresado en su cuenta";
}
else
{
if (cantidad % 5 ==0) // divisible per 5
{
Console.WriteLine("A Credito o Debito (c/d)");
tecla = Console.ReadLine();
if (tecla =="d")
{
respuesta=" Extraido de su cuenta";
}
else respuesta="Extraido a credito";
}
else respuesta ="Slo billetes de 5, 10, 20 i 50";
}
Console.WriteLine();
Console.WriteLine(respuesta);
Console.WriteLine("La cantidad de {0}",cantidad);
Console.WriteLine();
}
}
}
26
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
Captulo 2
Bucles y Funciones
27
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
2.1) Programa en el que el ordenador lanza 50 veces un dado y cuenta las veces sale el n 1.
Ejemplo para el uso de bucles for para repetir un nmero determinado de veces unas
instrucciones. Tambin muestra cmo conseguir nmeros al azar.
2.5) Programa que muestra el da que ser maana. Ex: 31/12/08 -> 01/01/09
Clsico ejercicio donde se ponen en prctica los conocimientos de programacin estructurada.
Se deja como ejercicio pendiente la versin en C# (por otro lado, nada complicada de realizar)
2.9) Calculadora
Ejemplo completo para trabajar con varias funciones en un programa .
2.10) Una empresa nos ha encargado un programa para calcular las nminas de los
trabajadores.
28
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
2.1) Programa en el que el ordenador lanza 50 veces un dado y cuenta las veces sale el n 1.
contador =0
randomize timer
cls
for t = 1 to 50
dado = int(rnd*9)+1
print dado;
if dado = 1 then contador = contador + 1
next t
VERSIN C#
Console.WriteLine("-");
Console.WriteLine("Repetido el nmero1 {0} veces",contador);
}
29
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
Console.WriteLine(" ");
}
}
30
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
class Exercici4
{
static void Main(string[] args)
{
int num = 1;
bool respuesta;
num++;
}
}
31
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
2.5) Programa que muestra el da que ser maana. Ex: 31/12/08 -> 01/01/09
#include <iostream>
using namespace std;
int funcion_divisor(int numero, int divisor);
void main()
{
int d,max,m,a,resto;
if (m==2)
{
resto = funcion_divisor(a,4);
if (resto==0) max=29;
else max=28;
}
d++;
if (d>max)
{
d=1;
m++;
if (m>12) { m=1; a++; }
}
32
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
label inicio
cls
Print "Bienvenid@ al programa" : ?:?
Print "Qu quieres calcular?"
input "1- Potncia , 2-Intensidad 3-Tensin "; opcion
if opcion ="1" then goto Calculo_Potencia
if opcion ="2" then goto Calculo_Intensidad
end
label Calculo_Potencia
print : print "Clculo de potncia "
input "Introduce Tensin: ";tension
input "Introduce Intensidad: ";intensidad
print " - "
potencia = tension * intensidad
print "La potncia es de ";potencia
label Calculo_Intensidad
print : print "Clculo de Intensidad "
input "Introduce Potencia: ";potencia
input "Introduce Tensin: ";tension
print " - "
Intensidad = potencia / tension
print "La Intensidad es de ";intensidad ;: ? " ampers"
33
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
VERSIN C#
using System;
using System.Collections.Generic;
using System.Text;
class Ejercicio_2_6
{
static void Main(string[] args)
{
string n_resultado="";
double resultado=0;
string teclado ="null";
while (teclado != "4")
{
Console.WriteLine("-");
Console.WriteLine("1-Potncia 2-Tensin 3-Intens. 4-Salir");
teclado = Console.ReadLine();
switch (teclado)
{
case "1":
n_resultado = "Potencia";
resultado = fcalcul(n_resultado,"Tension","Intens."); break;
case "2":
n_resultado = "Tension";
resultado = fcalcul(n_resultado, "Potencia", "Int."); break;
case "3":
n_resultado = "Intensidad";
resultado = fcalcul(n_resultado, "Potencia", "Tens"); break;
case "4":
break;
default: Console.WriteLine("Tecla equivocada") ; break;
}
34
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
using System;
using System.Collections.Generic;
using System.Text;
namespace Ejercicio_2_7
{
class ProgramTriangulo
{
static int conta =0; //pseudo-global
do
{
Console.WriteLine ("PROGRAMA CALCULO TRIANGULO");
Console.WriteLine ("Introduce base");
varBase = Double.Parse(Console.ReadLine());
}//fin Main
35
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
Proyecto: Exercici28
Archivo : Raizcuadrada.cs
namespace Exercici28
{
class Raizcuadrada
{
static void Main(string[] args)
{
double numero = Double.Parse(args[0]);
if (numero >= 0)
{
double x = calcul(ref numero);
Console.WriteLine("La raiz es {0}", x);
Console.WriteLine("y su cuadrado es {0}", numero);
}
else
{
Console.WriteLine("No se puede, nmero negativo.");
}
}
}
}
csc Raizcuadrada.cs
Raizcuadrada 9
36
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
2.9) Calculadora
using System;
using System.Collections.Generic;
using System.Text;
namespace Calculadora
{
class Program
{
public static double resultado;
do
{
Console.WriteLine("Calculadora: "); Console.WriteLine();
Console.WriteLine("1- Suma");
Console.WriteLine("2- Multiplicacion");
Console.WriteLine("3- Raiz quadrada");
Console.WriteLine("4- Factorial");
if (tecla == 3 )
resultado = raizcuadrada(operador1);
else if ( tecla == 4 )
resultado = factorial(operador1);
}
37
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
}//fin main
} //fi Class
38
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
2.10) Una empresa nos ha encargado un programa para calcular las nminas de los
trabajadores.
Calculado el sueldo base, se ha de restar el impuesto IRPF (20%) para obtener sueldo neto.
Si el trabajador es soltero y el sueldo base es menor de 1000, el IRPF es del 18%, si el sueldo
es mayor de 1000, es del 20%.
Si el trabajador est casado con un sueldo menor de 1000, el IRPF es del 15%, si el sueldo es
mayor que 1000, el IRPF es 20%.
class Nominas
{
const double IRPF=0.20;
static double preciohtrabajo=6;
fdepartamento = Calcula_fdepartamento(departamento);
do
{
Console.WriteLine("Introduce horas semanales (0-40)");
htrabajo = Double.Parse(Console.ReadLine());
} while (htrabajo < 0 || htrabajo > 40);
do
{ Console.WriteLine("Introduce horas extra semanales (0-40)");
hextra = Double.Parse(Console.ReadLine());
} while (hextra <0 || hextra >40);
39
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
do
{
Console.WriteLine("Intro. estado (1 soltero -2 casado)");
estadocivil = int.Parse(Console.ReadLine());
} while (estadocivil != 1 && estadocivil != 2);
sueldobase =
Calcula_sueldobase(htrabajo,fdepartamento,hextra,preciohextra);
f_IRPF = Calcula_IRPF(sueldobase,estadocivil);
}
Console.WriteLine("Programa finalitzat");
}
//funcions
40
Aprende programacin fcilmente. Captulo 2: Bucles y funciones
switch (pestatcivil)
{
case 1:
if (psueldo>=1000)
{
resultado = 0.9*IRPF;
return resultado;
}
else return IRPF;
case 2:
if (psueldo>=1000) return (0.75 * IRPF);
else return IRPF;
41
Aprende programacin fcilmente. Captulo 3: Clases
Captulo 3
Clases
42
Aprende programacin fcilmente. Captulo 3: Clases
3.9) Programa que permite el clculo de les soluciones de les ecuaciones de 2 grado.
Programa estructurado y completo que nos permite comprobar las posibilidades de la
programacin.
43
Aprende programacin fcilmente. Captulo 3: Clases
cabecera.h
#include <iostream>
#include <string>
using namespace std;
class FichaDatos
{
string nombre;
int edad;
public:
FichaDatos(string dato1, int dato2)
{
nombre=dato1;
edad=dato2;
}
void Cargar()
{
nombre = "Pedro";
edad = 29;
}
void Mostrar();
};
principal.cpp
#include <iostream>
#include <string>
using namespace std;
#include "cabecera1.h"
void FichaDatos::Mostrar()
{
cout<<"El nombre es "<<nombre<<endl;
cout<<"edad "<<edad;
}
Paciente.Mostrar();
Paciente.Cargar();
cout<<endl<<endl;
Paciente.Mostrar();
44
Aprende programacin fcilmente. Captulo 3: Clases
using System.Text;
namespace Ejercicio_3_1
{
public class Propiedades
{
public long identificador;
public string propietario;
public double precio;
}
public class Ejercicio1
{
static void Main()
{
Propiedades Casa = new Propiedades();
Casa.identificador = 1001;
Casa.propietario = "Joan Pera";
Casa.precio = 999999;
Console.WriteLine("Lista Propiedades"); ;
Console.Write("Propiedad {0}: ", Casa.identificador);
Console.WriteLine("Propietario {0}: ", Casa.propietario);
Console.Write(" precio: ");Console.Write(Casa.precio);
Console.WriteLine(); Console.WriteLine();
}
}
}
Casa.identificador = 1001;
Casa.propietario = "Joan Mas";
Casa.precio = 999999;
Console.WriteLine("Lista Propiedades"); ;
Console.Write("Propiedad {0}: ", Casa.identificador);
Console.WriteLine("Propietario {0}: ", Casa.propietario);
Console.Write(" precio: ");Console.Write(Casa.precio);
}
}
}
45
Aprende programacin fcilmente. Captulo 3: Clases
namespace Ejercicios_Cap3
{
public class Propiedades
{
public long Identificador;
private string propietario;
public int habitaciones;
double precio;
Console.WriteLine("Llistat Propiedades"); ;
Console.Write("Propiedad {0}: ", Casa.Identificador);
Console.Write("Propietario: ");
string veure = Casa.Mostra_Propietario();
Console.Write(veure);
Console.Write("\n habitaciones: ");
Console.Write(Casa.habitaciones);
Console.Write(" precio: ");
double veure_precio = Casa.Mostra_precio();
Console.WriteLine(veure_precio.ToString());
Console.Write("\n\n");
Console.Write("Propiedad {0}: ", Casa2.Identificador);
Console.Write("Propietario: ");
veure = Casa2.Mostra_Propietario();
Console.Write(veure);
46
Aprende programacin fcilmente. Captulo 3: Clases
47
Aprende programacin fcilmente. Captulo 3: Clases
namespace Ejercicio_3_3
{
public class Vehicles
{
private string marca;private double precio;
private double potencia;
class Program
{
static void Main(string[] args)
{
Vehicles Familiar1 = new Vehicles();
Familiar1.Marca = "Seat";
Familiar1.Potencia = 150;
Familiar1.FuncionPrecio = 999999;
Console.WriteLine("Vehiculos en la tienda");
Console.WriteLine("Marca: {0} ", Familiar1.Marca);
Console.WriteLine("Potencia: {0} ", Familiar1.Potencia);
Console.WriteLine("Precio: {0} ", Familiar1.FuncionPrecio);
}
}
}
48
Aprende programacin fcilmente. Captulo 3: Clases
using System;
using System.Collections.Generic;
using System.Text;
Console.WriteLine("Libro Delgadoero");
Console.Write("Titulo: ");
Console.WriteLine(Libro.Titulo);
Console.Write("Autor: ");
Console.WriteLine(Delgadoer.Autor);
Console.WriteLine();
Console.WriteLine("Libro Segundo");
Console.Write("Titulo: ");
Console.WriteLine(Libro.Titulo);
Console.Write("Autor: ");
Console.WriteLine(Segundo.Autor);
Console.ReadLine();
}
}
49
Aprende programacin fcilmente. Captulo 3: Clases
using System;
using System.Collections.Generic;
using System.Text;
namespace Empresa
{
public class Producto
{
public string identificador;
public decimal precio;
}
namespace Empleado
{
public class Personal
{
public string nom;
public string telefon;
}
Casa.identificador = "ref_pisMTH";
Casa.precio = 999999;
Console.WriteLine("Inmobiliaria CompraMolt");
Console.Write("Propiedad : ");
Console.WriteLine(Casa.identificador);
Console.Write("Precio: ");
Console.WriteLine(Casa.precio);
Console.WriteLine();
50
Aprende programacin fcilmente. Captulo 3: Clases
Archivo: Clase_Hospital.cs
using System;
namespace Hospital
{
public class Paciente
{
public string nombre;
public int edad;
public decimal dias;
public Paciente()
{
nombre = "sin asignar";
edad = 99;
dias = 0;
}
}
}
Archivo: Program.cs
using System;
using Hospital;
}
}
51
Aprende programacin fcilmente. Captulo 3: Clases
using System;
namespace Hospital_Central
{
public class Paciente
{
public string nombre;
internal int dias;
}
Mostrar(nuevo);
}
52
Aprende programacin fcilmente. Captulo 3: Clases
3.8) Creacin objeto Triangulo y clculo de su permetro con una funcin propia de la clase.
namespace Exercici_3_8
{
do
{
Console.WriteLine ("PROGRAMA PERIMETRO TRIANGULO");
Console.WriteLine ("Introduce base");
varBase = Double.Parse(Console.ReadLine());
m_triangulo.calcula_perimetro(varBase, varAltura);
m_triangulo.muestra_perimetro();
} //fin Main
53
Aprende programacin fcilmente. Captulo 3: Clases
3.9) Programa que permite el clculo de les soluciones de les ecuaciones de segundo grado.
Archivo: ECUACIONES.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace Eq3
{
class Ecuaciones2
{
private double A, B, C;
}
}
Archivo: PROGRAM.CS
using System;
using System.Collections.Generic;
using System.Text;
namespace Eq3
{
class Program
{
static void Main(string[] args)
{
double coefA = 0, coefB = 0, coefC = 0;
double valor1=0, valor2=0;
54
Aprende programacin fcilmente. Captulo 3: Clases
repetir_try = false;
}
catch (FormatException)
{
Console.Clear();
Console.WriteLine("Slo son validos valores numricos.");
repetir_try = true;
}
}
//Calculo determinante
double Bcuadrado = coefB * coefB;
double cuatroAC = 4 * coefA * coefC;
... SIGUE
55
Aprende programacin fcilmente. Captulo 3: Clases
56
Aprende programacin fcilmente. Captulo 3: Clases
namespace EjercicioPolimorfismo
{
class Polimorf
{
private double nota1, nota2, nota3;
if (teclat == 3)
{
Console.Write("Introducir nota3: ");
nota3 = double.Parse(Console.ReadLine());
57
Aprende programacin fcilmente. Captulo 3: Clases
namespace Ejercicios
{
class Persona
{
private string telf;private double edad;
protected string nom;
protected
Persona(string n)
{ nom = n; }
public
Empleado(string n) : base (n) {}
}
58
Aprende programacin fcilmente. Captulo 3: Clases
using System;
using System.Collections.Generic;
using System.Text;
namespace Concesionari
{
public class Vehiculos
{
private string identificador;
private double kilometraje;
private double precio;
public Vehiculos()
{
}
set
{
if (identificador == "")
identificador = "Desconocido";
else
identificador = value;
}
}
59
Aprende programacin fcilmente. Captulo 3: Clases
60
Aprende programacin fcilmente. Captulo 3: Clases
using System;
public Empresa()
{
Console.WriteLine(" - Empresa -");
}
61
Aprende programacin fcilmente. Captulo 3: Clases
namespace Ejercicio_Tamagotchi
{
public class Tamagotchi
{
private string nombre;
private double peso;
private double felicidad;
private double limpieza;
private double salud;
62
Aprende programacin fcilmente. Captulo 3: Clases
case "alegre":
Console.WriteLine();
Console.WriteLine(" ******** ");
Console.WriteLine(" * * * *");
Console.WriteLine(" * *");
Console.WriteLine(" * * * *");
Console.WriteLine(" * **** *");
Console.WriteLine(" ******* ");
; break;
case "enfadado":
Console.WriteLine();
Console.WriteLine(" ******** ");
Console.WriteLine(" * * * *");
Console.WriteLine(" * *");
Console.WriteLine(" * *");
Console.WriteLine(" * ** *");
Console.WriteLine(" ******* ");
; break;
case "delgado":
Console.WriteLine();
Console.WriteLine(" ******* ");
Console.WriteLine(" * * * *");
Console.WriteLine(" * *");
Console.WriteLine(" * *");
Console.WriteLine(" * *** *");
Console.WriteLine(" ****** ");
; break;
case "gordo":
Console.WriteLine();
Console.WriteLine(" ********* ");
Console.WriteLine(" * * * *");
Console.WriteLine(" * *");
Console.WriteLine(" * *");
Console.WriteLine(" * ***** *");
Console.WriteLine(" ******** ");
; break;
default:
Console.WriteLine("Default case");
63
Aprende programacin fcilmente. Captulo 3: Clases
break;
}
}
}
}
Archivo : Program.cs
namespace Ejercicio_Tamagotchi
{
class Program
{
static void Main(string[] args)
{
Tamagotchi Bitxo = new Tamagotchi("Pitu");
double segon = 0; int conta = 0; string teclat;
while (Bitxo.Salud>0)
{
DateTime tiempo = DateTime.Now;
segundo = tiempo.Second;
string cadenatiempo = tiempo.ToLongTimeString();
Console.WriteLine("Tiempo: {0} ", cadenatiempo);
Console.WriteLine("Segundo: {0} ", segundo);
if (segundo % 5 == 0)
{
Console.WriteLine("5 segundos");
Bitxo.Peso = Bitxo.Peso - 1;
Bitxo.Limpieza = Bitxo.Limpieza - 1;
Bitxo.Felicidad = Bitxo.Felicidad - 1;
64
Aprende programacin fcilmente. Captulo 3: Clases
Bitxo.Dibujar("alegre");
conta++;
}
else
{
Bitxo.Dibujar("normal");
}
if (conta == 2)
{
if (Bitxo.Peso >9) Bitxo.Salud = Bitxo.Salud - 4;
if (Bitxo.Limpieza < 9) Bitxo.Salud = Bitxo.Salud - 2;
conta = 0;
}
Bitxo.Instrucciones();
Bitxo.Datos();
teclat = Console.ReadLine();
if (teclat == "c") Bitxo.Peso = Bitxo.Peso + 1;
if (teclat == "j") Bitxo.Felicidad = Bitxo.Felicidad + 1;
if (teclat == "d")
{
Bitxo.Salud = Bitxo.Salud + 1;
Bitxo.Limpieza = Bitxo.Limpieza + 1;
}
if (teclat == "l") Bitxo.Limpieza = Bitxo.Limpieza + 1;
Console.Clear();
}// fi While
65
Aprende programacin fcilmente. Captulo 4: Arrays
Captulo 4
Arrays
66
Aprende programacin fcilmente. Captulo 4: Arrays
namespace Arrays1
{
public class Ejercicio1
{
static void Main()
{
var Temperatura = new double[] { 16.55, 15.28, 16.28,16.72, 15.54 };
// C# 2005
//double [] Temperatura = {16.55, 15.28, 16.28, 16.72, 15.54 };
try
{
for (int i = 0; i < 10; i++)
Console.WriteLine("Valor {0} : {1}", i, Temperatura[i]);
}
catch (IndexOutOfRangeException)
{
Console.WriteLine("Lmite array excedido ");
}
} // fin Main
}
}
67
Aprende programacin fcilmente. Captulo 4: Arrays
namespace Arrays3
{
class Program
{
static void Main()
{
string[] jugadores = new string[100];
// C# 2008
// var jugadores = new string[100];
asignar(jugadores);
fichas[t] = teclado;
}
}
}
68
Aprende programacin fcilmente. Captulo 4: Arrays
class Program
{
static void Main()
{
string[] Asignatura = new string[]
{
"Programacin",
"Matematicas",
"Ingles",
};
// C# 2008
//var Notas = new double [4,3];
} // fin Main
69
Aprende programacin fcilmente. Captulo 4: Arrays
class Program
{
static void Main()
{
string[] Asignatura = new string[]
{
"Matematicas",
"Ingles",
};
// C# 2008
//var Notas = new double [3,2];
} // fin Main
70
Aprende programacin fcilmente. Captulo 4: Arrays
namespace Arrays6
{
class Matrices
{
const int max = 4;
public static void resta (int[,] m1, int[,] m2, int[,] m3)
{
for (int i=0; i<max; i++)
for (int j=0; j<max; j++) m3[i,j]= m1[i,j] - m2[i,j];
}
}
}
71
Aprende programacin fcilmente. Captulo 4: Arrays
#include <iostream>
#include <string>
using namespace std;
class trabajador{
double sueldo;
string nombre;
public:
void cargardatos(double varsueldo, string varnom)
{
sueldo = varsueldo;
nombre = varnom;
}
double mostrarsueldo()
{
return sueldo;
}
};
void main()
{
trabajador ejecutivo[3];
trabajador admin[3];
for(int i=0;i<3;i++)
{
cout<<" Introduce nombre administrativo "<< i <<" : ";
cin >> cnombre;
admin[i].cargardatos(sueldoadmin, cnombre);
}
for(i=0;i<3;i++)
{
cout<<" Introduce nombre ejecutiva "<< i <<" : ";
cin >> cnombre;
ejecutivo[i].cargardatos(sueldoejecutivo, cnombre);
}
for(i=0;i<3;i++)
{
cout << " Sueldo ejecut."<<i<< ejecutivo[i].mostrarsueldo();
cout << " Sueldo admin "<< i << ejecutivo[i].mostrarsueldo();
cout << "\n";
}
system("pause");
}
72
Aprende programacin fcilmente. Captulo 4: Arrays
namespace Arrays7
{
public class trabajador
{
public double nomina;
public string nombre;
for(int i=0;i<3;i++)
{
Console.Write("Introduce nombre adminis. num {0}: ", i);
teclado = (Console.ReadLine());
for(int i=0;i<3;i++)
{
Console.Write("Introduece nombre ejecutivo num {0}: ", i);
teclado = (Console.ReadLine());
for(int i=0;i<3;i++)
{
Console.Write("Nom ejec.{0} es{1} ", i,
ejecutivo[i].NomTrabajador );
73
Aprende programacin fcilmente. Captulo 4: Arrays
74
Aprende programacin fcilmente. Captulo 4: Arrays
#include <iostream>
#include <string>
#include <stdlib.h>
#include <stdio.h>
#define _NUM 3
using namespace std;
using std::string;
struct catalogo
{
int identificador;
string titulo;
string autor;
float precio;
};
void main()
{
catalogo libros[_NUM];
string busqueda;
asignar(libros);
visualizar(libros);
libros[1].identificador=35213;
libros[1].titulo="Cartero";
libros[1].autor="Charles";
libros[1].precio=10;
libros[2].identificador=12532;
libros[2].titulo="La conspiracin";
libros[2].autor="Dan";
libros[2].precio=24;
}
75
Aprende programacin fcilmente. Captulo 4: Arrays
76
Aprende programacin fcilmente. Captulo 4: Arrays
4.9) ArraysClass
Notas.SetValue(5.4, 0);
Notas.SetValue(7.8, 1);
Notas.SetValue(9.0, 2);
Notas.SetValue(4.5, 3);
Notas.SetValue(6.5, 4);
Console.WriteLine();
class Bidimensional
{
public static void Main()
{
Array Alumnos = Array.CreateInstance(typeof(string), 2, 3);
// Alumnos clase 0
Alumnos.SetValue("Maria", 0, 0);
Alumnos.SetValue("Tomeu", 0, 1);
Alumnos.SetValue("Marga", 0, 2);
// Alumnos clase 1
Alumnos.SetValue("Maties", 1, 0);
Alumnos.SetValue("Andreu", 1, 1);
Console.Write("Introduce el nombre alumno3: ");
string teclado = Console.ReadLine();
Alumnos.SetValue(teclado, 1, 2);
Console.WriteLine();
foreach (string Nom in Alumnos)
Console.WriteLine("Alumno: {0}", Nom);
}
}
77
Aprende programacin fcilmente. Captulo 4: Arrays
NDEX
1 . . . . . . . . Presentacin.
42 . . . . . . . Captulo 3: Clases
66 . . . . . . . Captulo 4: Arrays