Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacin en
C++: Fundamentos
Fundamentos de Programacin
Curso 2013-14
El ordenador
Un ordenador es un dispositivo electrnico que procesa datos y los
convierte en informacin til para el usuario, siguiendo un programa
de instrucciones
S
A
L
I
D
A
E
N
T
R
A
D
A
Datos
D
+
Instrucciones
P
R
O
C
E
S
O
Informacin
Util
Procesador
Programacin de Ordenadores
Los programas se escriben siguiendo unas notaciones sistemticas
(reglas de lxico, de sintaxis) conocidas como lenguajes de
p g
programacin
Lenguajes mquina
Lenguajes ensambladores
Lenguajes de alto nivel
C++
PASCAL
Program Hola_mundo;
begin
writeln(Hola mundo);
end.
Lenguajes
g j de Programacin
g
Lenguajes mquina
Las instrucciones y los datos se especifican usando cadenas de ceros y
unos
Lenguajes de Programacin
Lenguajes ensambladores
Permiten aumentar la comprensibilidad de los programas
Ensambladores: traducen los programas en lenguaje ensamblador
ap
programas
g
en lenguaje
g j mquina
q
Lenguajes de Programacin
Lenguajes de alto nivel
Proporcionan un repertorio de instrucciones amplio, potente y fcilmente
asimilable
Los programas son ms legibles y claros
Son fciles de aprender y mantener
Son transportables
FORTRAN, COBOL, C, C++, PASCAL, JAVA, C#, etc.
Lenguajes de Programacin
Traductores
Programas que transforman programas escritos en el lenguaje
de alto nivel en programas escritos en lenguaje mquina
10
Metodologa de la Programacin
P
Pasos
en ell proceso de
d programacin
i
1.
2.
3.
4.
Diseo
Codificacin (Implementacin)
Prueba
Probar la lgica
g
interna del p
programa
g
((verificacin))
11
Metodologa de la Programacin
Diseo e Implementacin
Diseo
(Algoritmo)
Implementacin
(Programa en C++)
// Programa que lee dos nmeros por teclado
2.
3.
4.
5.
Realizar la suma
6.
Mostrar el resultado p
por p
pantalla
int main ()
{
double variable1, variable2, suma;
suma = variable1
i bl 1 + variable2;
i bl 2
cout << "La suma es: " << suma << endl;
}
12
/* Comentario en
varias lneas */
Directiva del
precompilador
il d
#include <iostream>
using
g namespace
p
std;
;
main incluye
entre llaves
las instrucciones
del programa
int main()
{
cout << "Bienvenido a C++" << endl;
}
cout manda a pantalla
MENSAJE Y DATOS
Introduce un salto de
l
lnea
en la
l pantalla
t ll
cout << "La suma es: " << suma << endl;
}
13
14
Datos
Instrucciones
Manipulan los DATOS
cout << "La suma es: " << suma << endl;
}
- Inst. Entrada/Salida
- Inst.
Inst Asignacin (Expresiones)
- Inst. Control (if, for, while, )
Entradas
Proceso
S lid
Salida
15
tipo nombre_variable;
int
i
t var1;
1
int var2;
int suma;
o tambin:
nii contener
t
acentos,
t
tampoco espacios en blanco, la ee, las barras / y \
Sensibles a maysculas y minsculas
16
17
18
entero1
45
entero1
45
entero2
72
entero1
45
entero2
72
suma
117
Asignacin
variable = expresin;
suma = entero1 + entero2;
Cuidado:
19
20
21
E
Especificacin
ifi
i d
de un valor
l concreto de
d un tipo
i d
de d
dato
2
45.2
1e-5
c
"Hola"
true
Literal entero
Literal real
Literal real (notacin cientfica)
Literal carcter
Literal cadena de caracteres
Literal de tipo
p bool
22
23
tmp
tmp
24
Expresiones
Expresin: Combinacin de DATOS, OPERADORES, FUNCIONES
y PARENTESIS que el compilador evala y, por tanto, tienen un VALOR
asociado.
IVA+(20+x)/5
10
(3*z-20)/5
sqrt(l1 l1+l2 l2)
sqrt(l1*l1+l2*l2)
resultado
PI
N iinteresan
Nos
t
d
dos ti
tipos especficos
fi
d
de expresiones:
i
25
Expresiones
Operadores aritmticos
Suma y resta (+ -)
Multiplicacin ( * )
Divisin ( / )
Divisin entera
7 / 51
Divisin real
7.0 / 5 1.4
7 / 5.0 1.4
7.0
7 0 / 5.0
5 0 1.4
14
26
Expresiones
Ejercicios
27
Expresiones
Funciones matemticas predefinidas
NombreFun(argumento1, argumento2, )
Ejemplo
cout << sqrt(900.0);
sqrt devuelve la raiz cuadrada. La anterior instruccin
escribir 30.0
28
Expresiones
F
Funciones
i
matemticas
t ti
ms
comunes
M e th o d
ceil( x
cos(
exp(
fabs(
floor(
fmod(
log(
x,
log10(
pow(
x,
sin(
Fig
g . 3 .2
)
)
)
)
y
x
x
a b s o lu te v a lu e o f x
tan(
trig o n o m e tric c o s in e o f x
(x in ra d ia n s )
e x p o n e n tia l fu n c tio n e x
)
sqrt(
D e sc rip t io n
ro u n d s x to th e s m a lle s t in te g e r
n o t le s s th a n x
ro u n d s x to th e la rg e s t in te g e r
n o t g re a te r th a n x
re m a in d e r o f x /y a s a flo a tin g p o in t n u m b e r
n a tu ra l lo g a rith m o f x (b a s e e )
lo g a rith m o f x (b a s e 1 0 )
x ra is e d to p o w e r y (x y )
trig o n o m e tric s in e o f x
(x in ra d ia n s )
sq u a re ro o t o f x
trig o n o m e tric ta n g e n t o f x
(x in ra d ia n s )
M a t h lib ra ryy f u n c t io n s.
Ex a m p le
c e i l ( 9 . 2 ) is 1 0 . 0
c e i l ( - 9 . 8 ) is - 9 . 0
c o s ( 0 . 0 ) is 1 . 0
e x p ( 1 . 0 ) is 2 . 7 1 8 2 8
e x p ( 2 . 0 ) is 7 . 3 8 9 0 6
f a b s ( 5 . 1 ) is 5 . 1
f a b s ( 0 . 0 ) is 0 . 0
f a b s ( - 8 . 7 6 ) is 8 . 7 6
f l o o r ( 9 . 2 ) is 9 . 0
f l o o r ( - 9 . 8 ) is - 1 0 . 0
f m o d ( 1 3 . 6 5 7 , 2 . 3 3 3 ) is 1 . 9 9 2
l o g ( 2 . 7 1 8 2 8 2 ) is 1 . 0
l o g ( 7 . 3 8 9 0 5 6 ) is 2 . 0
l o g 1 0 ( 1 0 . 0 ) is 1 . 0
l o g 1 0 ( 1 0 0 . 0 ) is 2 . 0
p o w ( 2 , 7 ) is 1 2 8
p o w ( 9 , . 5 ) is 3
s i n ( 0 . 0 ) is 0
s q r t ( 9 0 0 . 0 ) is 3 0 . 0
s q r t ( 9 . 0 ) is 3 . 0
t a n ( 0 . 0 ) is 0
29
Expresiones
Reglas de precedencia
3. *
4. +
Y = (a * b) + c
Y = a * b + c ?
o
Y = a * (b + c)
30
Expresiones
O
Operadores
d
relacionales
l i
l
Operadores para la comparacin de DATOS
4 < 5 true
4 > 5 false
4 == 5 false
Sta nd a rd a lgeb ra ic
eq ua lity op era tor or
rela tiona l op era tor
C++ eq ua lity
or rela tiona l
op era tor
Exa mp le
of C++
c ond ition
Mea ning of
C++ c ond ition
>
>
x > y
x is greater than y
<
<
x < y
x is less than y
>=
x >= y
<=
x <= y
==
x == y
x is equal to y
!=
x != y
x is not equal to y
Relational operators
Equality operators
31
Expresiones
Expresiones Booleanas
Las expresiones Booleanas devuelven true false
Se forman
S
f
uniendo
i d expresiones relacionales (y
( d
datos
t
Booleanos) con operadores lgicos.
1. AND (&&)
2. OR (||)
3. NOT (!)
32
Expresiones
Operadores Lgicos
a && b
a || b
false
false
false
false
false
false
false
true
false
false
true
true
true
false
false
true
false
true
true
true
true
true
true
true
!a
false
true
true
false
33
Y en el siguiente
g
tema
Instruccin condicional (if-else)
D i i
Decision
Making
M ki
// Programa que lee dos nmeros enteros y muestra
// por pantalla el mayor
#include <iostream>
using namespace std;
int main()
{
int dato1, dato2, mayor;
Instruccin condicional
if-else
Odd or Even
34
Entradas
cin
i >> variable;
i bl
Espera
p
aq
que el usuario introduzca un valor entero desde el teclado
y, cuando se pulsa la tecla Intro, lo almacena en la variable
35
(#include<iostream>)
36
Operaciones
p
de entrada y salida
Secuencias de escape
37
38
Ms sobre Expresiones
C
Compatibilidad
tibilid d de
d tipos
ti
En general, hay que asignar a las variables
valores de su mismo tipo
39
Ms sobre Tipos
p de Datos
Tipos de datos ms complejos
Tipos Simples (int, double,
char bool).
char,
bool)
Tipos Compuestos:
Estructuras
Clases
Vectores
String
40
Errores frecuentes
No inicializar las variables
Usar datos enteros cuando se desea realizar una divisin real
Cadenas de desigualdades (x<z<y)
Olvidar
Ol id iincluir
l i iostream
i t
en un programa que usa cin
i cout
t
Omitir el punto y coma al final de una instruccin
Usar el mdulo (%) sobre datos no enteros
Dejar espacios en blanco entre los operadores relacionales
= =
! =
< =
> =
cantidad total
cantidad_total cantidadTotal
41
Errores frecuentes
Usar los smbolos ** y ^ p
para representar
p
una operacin
p
de
exponencial
z = x^y;
Colocar un punto y coma despus de la condicin de un
if (n % 2 == 0);
cout << n << es PAR << endl;
if
42
Consejos
j Prcticos
Escribir programa simples, claros y legibles (SOLUCION 1)
(SOLUCION 2)
43
Consejos
j Prcticos
Colocar una lnea en blanco entre la declaracin de las
variables y las instrucciones
Colocar espacios en cada lado de un operador binario
resultado = var1 + var2;