ebook img

Fundamentos de programación PDF

58 Pages·2009·1.405 MB·Spanish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Fundamentos de programación

1 FUNDAMENTOS
DE
 PROGRAMACIÓN
 
 
 
 
 
 Moisés
Valenzuela
Gutiérrez
 
 2 2009 Moisés Valenzuela Gutiérrez Portada diseño: Celeste Ortega (www.cedeceleste.com) Edición cortesía de www.publicatuslibros.com. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra). No puede utilizar esta obra para fines comerciales. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Nada en esta licencia menoscaba o restringe los derechos morales del autor. 
 Publicatuslibros.com es una iniciativa de: Íttakus, sociedad para la información, S.L. C/ Millán de Priego, 41, P 14, 1 N 23004 Jaén-España Tel.: +34 953 08 76 80 www.ittakus.com 3 INTRODUCCION
 Este
libro
está
dirigido
a
estudiantes
que
cursen
Ciclos
Formativos
de
Grado
Superior
en
 Administración
 de
 Sistemas
 Informáticos
 y
 Desarrollo
 de
 Aplicaciones
 Informáticas.

 Concretamente
 está
 orientado
 para
 la
 asignatura
 de
 primer
 curso
 Fundamentos
 de
 Programación
,
habiendo
parte
de
la
asignatura
que
se
orienta
hacia
el
desarrollo
de
la
 programación
orientada
a
objetos.
 En
este
libro
se
detallan
las
características
básicas
de
la
programación
orientada
a
objetos
 utilizando
para
ello
el
lenguaje
de
programación
y
orientado
a
objetos
Visual
C#
que
se
 encuentra
dentro
de
paquete
.NET
perteneciente
a
la
compañía
Microsoft
.
 Se
detalla
la
definición
de
clase
y
objeto
detallado
mediante
ejemplos
,
así
como
todas
las
 sentencias
 iterativas
 y
 simples
 necesarias
 para
 la
 implementación
 de
 programas.
 También
se
detalla
la
creación
de
constructores
y
por
ultimo
una
propiedad
propia
de
los
 lenguajes
orientados
a
objetos
como
es
la
herencia.
 
 
 
 
 
 
 
 
 
 
 
 
 
 4 INDICE.
 TEMA

1.
LENGUAJE
C#.
 • 1.1.‐
PROGRAMACION
ORIENTADA
A
OBJETOS.
 • 1.2.‐
BASES

SINTACTICAS
DE
C#.
 • 1.3.‐
TIPOS.
 • 1.4.‐
DECLARACION
DE
VARIABLES.
 • 1.5.‐
SENTENCIA
IF….ELSE.
 • 1.6.‐
SENTENCIA
DO….WHILE.
 • 1.7.‐
SENTENCIA
FOR.
 • 1.8.‐
MATRICES.
 TEMA
2.
CLASES
Y
OBJETOS.
 • 2.1.
INTRODUCCION
A
CLASES.
 • 2.2.
METODOS.
 • 2.3.
DISEÑO
DE
UNA
CLASE
DE
OBJETOS.
 TEMA 3. CONSTRUCTORES Y HERENCIA. • 3.1.‐
CONSTRUCTOR.
 • 3.2.‐
HERENCIA.
 
 
 
 
 5 TEMA
1.
LENGUAJE


C#.
 
 1.1.‐
PROGRAMACION
ORIENTADA
A
OBJETOS.
 
 Clases
y
objetos.
 Vamos
a
entrar
de
lleno
para
comprender
las
clases,
los
objetos
y
en
que
se
 diferencian.
 No
son
lo
mismo
las
clases
y
los
objetos.
Para
que
pueda
haber
un
objeto
debe
 existir
previamente
una
clase,
pero
no
al
revés.

 Ejemplo:
 
 Tenemos
 un
 coche,
 todos
 ellos
 tienen
 una
 serie
 de
 características
 comunes:
 tienen
un
motor,
ruedas,
un
volante,
chasis…..;
todos
funcionan
de
un
modo
 parecido
para
acelerar,
frenar,
meter
las
marchas…;
sin
embargo,
cada
uno
de
 ellos
es
diferente
de
los
demás,
puesto
que
cada
uno
es
de
una
marca,
modelo,
 color,
numero
de
bastidor,
propiedades
que
lo
diferencian
de
los
demás,
aunque
 una
o
varias
de
ellas
puedan
coincidir
en
varios
coches.
Diríamos
entonces
que
 todos
los
coches
están
basados
en
una
plantilla,
o
un
tipo
de
objeto,
es
decir,
 pertenecen
todos
a
la
misma
clase:
la
clase
coche.
Sin
embargo,
cada
uno
de
los
 coches
es
un
objeto
de
esa
clase;
todos
comparten
la
interfaz,
pero
no
tienen
 porque
compartir
los
datos
(marca,
modelo,
color,
etc).
Se
dice
entonces
que
 cada
uno
de
los
objetos
es
una
instancia
de
la
clase
a
la
que
pertenece,
es
decir,
 un
objeto.
Veamos
como
seria
esto
en
C#.
El
diseño
de
la
clase
Coche
sería
algo
 parecido
a
esto
(aunque
más
ampliado):
 
 class

Coche
 {
 

public

Coche(string
marca,
string
modelo,
string
color,
string
numbastidor)
 

{
 



this.Marca=marca;
 6 this.Modelo=modelo;
 



this.Color=color;
 



this.NumBastidor=numbastidor;
 

}
 

public
double
Velocidad
 

{
 


get

 






{
 








return
this.velocidad;
 







}
 


}
 


public
double
velocidad=0;
 


public
string
Marca;
 


public
string
Modelo;
 


public
string
Color;
 

 

public
void
Acelerar
(double
cantidad)
 

{
 



//
Aquí
se
le
dice
al
motor
que
aumente
las
revoluciones
pertinentes,
y
…..
 



Console.WriteLine
(“Incrementando
la
velocidad
en
{0}
km/h”,
cantidad);
 



this.velocidad
=
cantidad;
 

}
 
 

public
void
Girar
(double
cantidad)
 

{
 



//Aquí
iría
el
código
para
girar
 



Console.WriteLine(“Girando
el
coche
{0}
grados
“,
cantidad);
 7 }
 
 }
 
 Veamos
una
clase
con
un
método
Main
para
ver
como
se
comportaría
esta
clase:
 
 class
EjemploCocheApp
 {
 


static
void
Main()
 




{
 








Coche
MiCoche=new
Coche(“Peugeot”,
“306”,
“Azul”,”15343534”);
 








 








Console.WriteLine(“Los
datos
de
mi
coche
son:”);
 








Console.WriteLine(“Marca:
{0}”,
MiCoche.Marca);
 








Console.WriteLine(“Modelo:
{0}”,
MiCoche.Modelo);
 








Console.WriteLine(“Color:
{0}”,
MiCoche.Color);
 








Console.WriteLine(“Numero
de
bastidor:
{0}”,
MiCoche.Numbastidor);
 








MiCoche.Acelerar(100);
 








Console.WriteLine(“La
 velocidad
 actual
 es
 de
 {0}
 km/h”,
 MiCoche.Velocidad);
 








MiCoche.Girar(45);
 

}
 }
 El
resultado
que
aparecería
en
la
consola
al
ejecutar
este
programa
seria
esta:
 Los
datos
de
mi
coche
son:
 Marca:
Peugeot
 Modelo:
306
 Color:
Azul
 8 Numero
de
bastidor:
15343534
 Incrementado
la
velocidad
en
100
km/h
 La
velocidad
actual
es
de
100
km/h
 Girando
el
coche
45
grados.
 
 No
te
preocupes
por
no
entender
el
código,
ya
lo
iremos
viendo
largo
y
tendido.
 Nos
fijamos
que
en
la
clase
es
donde
se
definen
los
datos
y
se
programan
todas
las
 acciones
que
han
de
manejar
los
objetos
de
esta
clase.
Los
datos
son
Velocidad,
 Marca,
Modelo,
Color
y
NumBastidor,
y
los
métodos
son
Acelerar
y
Girar.
Sin
 embargo,
el
objeto,
MiCoche
(creado
en
la
primera
línea
del
método
Main)
no
 define
absolutamente
nada.
Simplemente
usa
la
interfaz
diseñada
en
la
clase
(la
 interfaz
de
una
clase
es
el
conjunto
de
métodos
y
propiedades
que
esta
ofrece
 para
su
manejo).
Por
lo
tanto,
Coche
es
la
clase
y
MiCoche
un
objeto
de
esta
 clase.
 
 1.2.‐
BASES

SINTACTICAS
DE
C#.
 Aplicación
básica
¡Hola
a
todos!
 
 Como
primer
contacto
con
el
lenguaje,
nada
mejor
que
el
típico
programa
de
 iniciación
“¡Hola
a
todos!”
que
lo
único
que
hace
al
ejecutarse
es
mostrar
por
 pantalla
el
mensaje
¡Hola
a
todos!
Su
código
es:
 
 
 1:
 class
HolaMundo
 2:
 {
 3:
 
 static
void
Main()
 4:
 
 {
 5:
 
 
 System.Console.WriteLine(“¡Hola
a
todos!”);
 6:
 
 }
 7:
 }
 
 
 Todo
el
código
escrito
en
C#
se
ha
de
escribir
dentro
de
una
definición
de
clase,
y
 lo
que
en
la
línea
1:
se
dice
es
que
se
va
a
definir
una
clase
(class)
de
nombre
 HolaMundo
cuya
definición
estará
comprendida
entre
la
llave
de
apertura
de
la
 línea
2:
y
su
correspondiente
llave
de
cierre
en

la
línea
línea
7:
 9 Dentro
de
la
definición
de
la
clase
(línea
3:)
se
define
un
método
de
nombre
Main
 cuyo
código
es
el
indicado
entre
la
llave
de
apertura
de
la
línea
4:
y
su
respectiva
 llave
de
cierre
(línea
6:)
Un
método
no
es
más
que
un
conjunto
de
instrucciones
a
 las
que
se
les
asocia
un
nombre,
de
modo
que
para
posteriormente
ejecutarlas
 baste
referenciarlas
por
su
nombre
en
vez
de
tener
que
rescribirlas.
 
 La
partícula
que
antecede
al
nombre
del
método
indica
cuál
es
el
tipo
de
valor
 que
se
devuelve
tras
la
ejecución
del
método,
y
en
este
caso
es
void
que
significa
 que
no
se
devuelve
nada.
Por
su
parte,
los
paréntesis
colocados
tras
el
nombre
del
 método
indican
cuáles
son
los
parámetros
que
éste
toma,
y
el
que
estén
vacíos
 significa
 que
 el
 método
 no
 toma
 ninguno.
 Los
 parámetros
 de
 un
 método
 permiten
modificar
el
resultado
de
su
ejecución
en
función
de
los
valores
que
se
 les
dé
en
cada
llamada.

 
 La
palabra
static
que
antecede
a
la
declaración
del
tipo
de
valor
devuelto
es
un

 modificador
 del
 significado
 de
 la
 declaración
 de
 método
 que
 indica
 que
 el
 método

está
asociado
a
la
clase
dentro
de
la
que
se
define
y
no
a
los
objetos
que
 se
creen
a
partir
de
ella.
Main()
es
lo
que
se
denomina
el
punto
de
entrada
de
la
 aplicación,
que
no
es
más
que
el
método
por
el
que
comenzará
su
ejecución.
 Necesita
del
modificador
static
para
evitar
que
para
llamarlo
haya
que
crear
 algún
objeto
de
la
clase
donde
se
haya
definido.
 
 Finalmente,
la
línea
5:
contiene
la
instrucción
con
el
código
a
ejecutar,
que
lo
que
 se

hace
es
solicitar
la
ejecución
del
método
WriteLine()
de
la
clase
Console
 definida
en
el
espacio
de
nombres
System
pasándole
como
parámetro
la
cadena
 de
texto
con
el
contenido
¡Hola
Mundo!
Nótese
que
las
cadenas
de
textos
son
 secuencias

de
caracteres
delimitadas
por
comillas
dobles
aunque
dichas
comillas
 no
 forman
 parte
 de
 la
 cadena.
 Por
 su
 parte,
 un
 espacio
 de
 nombres
 puede
 considerarse
que
es
para
las
clases
algo
similar
a
lo
que
un
directorio
es
para
los
 ficheros:
una
forma
de
agruparlas.

 
 1.3.‐
TIPOS.
 Los
tipos
en
C#
se
clasifican
en:
tipos
valor
y
tipo
referencia.
Una
variable
de
un
 tipo
valor
almacena
directamente
un
valor
(datos
en
general),
mientras
que
una
 variable
de
un
referencia
lo
que
permite
almacenar
es
una
referencia
a
un
objeto
 (posición
de
memoria
donde
está
el
objeto).
Por
ejemplo:
 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.