Actualizado el 15 de Junio del 2021 (Publicado el 6 de Diciembre del 2018)
1.411 visualizaciones desde el 6 de Diciembre del 2018
5,4 MB
82 paginas
Creado hace 11a (01/09/2013)
Fundamentos de la programación
2
Grado en Ingeniería Informática
Grado en Ingeniería del Software
Grado en Ingeniería de Computadores
Facultad de Informática
Luis Hernández Yáñez
Universidad Complutense
Operadores relacionales
Toma de decisiones (if)
Bloques de código
Bucles (while)
Entrada/salida por consola
Funciones definidas
por el programador
177
180
183
186
190
199
Un ejemplo de programación
50
El primer programa en C++
64
Las líneas de código del programa
80
Cálculos en los programas
86
Variables
92
Expresiones
98
Lectura de datos desde el teclado 108
119
Resolución de problemas
Los datos de los programas
127
129
Identificadores
133
Tipos de datos
Declaración y uso de variables
142
147
Instrucciones de asignación
152
Operadores
160
Más sobre expresiones
Constantes
167
La biblioteca cmath
171
Operaciones con caracteres
174
Fundamentos de la programación: Tipos e instrucciones I
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Tipos e instrucciones I
Página 50
Una computadora de un coche
Instrucciones que entiende:
<instrucción> ::= <inst> ;
<inst> ::= Start| Stop| <avanzar>
<avanzar> ::= Go<dirección> <num> Blocks
<dirección> ::= North| East| South| West
<num> ::= 1| 2| 3| 4| 5
Ejemplos:
Start;
Go North 3 Blocks;
Stop;
Fundamentos de la programación: Tipos e instrucciones I
Página 51
Sintaxis del lenguaje de programación
instrucción
instrucción
Start
Stop
avanzar
;
= Literales
= Literales
avanzar
avanzar
Go
dirección
num
Blocks
dirección
dirección
North
East
South
West
numnum
1
2
3
4
5
Fundamentos de la programación: Tipos e instrucciones I
Página 52
NN
B
El problema a resolver
Estando el coche en la posición A,
conseguir llegar al Cine Tívoli (B)
¿Qué pasos hay que seguir?
Arrancar
Ir un bloque al Norte
Ir dos bloques al Este
Ir cinco bloques al Norte
Ir dos bloques al Este
Parar
A
Bloque:
Bloque:
Fundamentos de la programación: Tipos e instrucciones I
Página 53
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
El algoritmo
Secuencia de pasos que hay que
seguir para resolver el problema
NN
1.‐ Arrancar
2.‐ Ir un bloque al Norte
3.‐ Ir dos bloques al Este
4.‐ Ir cinco bloques al Norte
5.‐ Ir dos bloques al Este
6.‐ Parar
Esos pasos sirven tanto para
una persona como para una computadora.
Fundamentos de la programación: Tipos e instrucciones I
Página 54
El programa
Instrucciones escritas en
el lenguaje de programación
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go East 2 Blocks;
Stop;
A
NN
B
Fundamentos de la programación: Tipos e instrucciones I
Página 55
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
El programa
Escribimos el código del programa en un editor
y lo guardamos en un archivo:
Copiamos el archivo
en una llave USB
y lo llevamos al coche
Stat;
Go North 1 Blocks
Go East Blocks;
Go Noth 5 Blocks;
Go West 2 Blocks;
Stop;
Fundamentos de la programación: Tipos e instrucciones I
Página 56
La compilación
Introducimos la llave USB en el coche
y pulsamos el botón de ejecutar el programa:
Stat;
‐‐‐‐^ Unknown word.
Go North 1 Blocks
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐^ ; missing.
Go East Blocks;
‐‐‐‐‐‐‐‐^ Number missing.
Go Noth 5 Blocks;
‐‐‐‐‐‐‐^ Unknown word.
Go West 2 Blocks;
Stop;
There are errors. Impossible to run the program.
Errores
Errores
de sintaxis
de sintaxis
Fundamentos de la programación: Tipos e instrucciones I
Página 57
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Depuración
Editamos el código para corregir los errores sintácticos:
Stat;
Go North 1 Blocks
Go East Blocks;
Go Noth 5 Blocks;
Go West 2 Blocks;
Stop;
Start;
Go North 1 Blocks;
Go East 3 Blocks;
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
Fundamentos de la programación: Tipos e instrucciones I
Página 58
La ejecución
Se realiza lo que pide
cada instrucción:
Start;
Go North 1 Blocks;
Go East 3 Blocks;
Error de ejecución
NN
B
!!
¡Una instrucción no se puede ejecutar!
Fundamentos de la programación: Tipos e instrucciones I
Página 59
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Depuración
Editamos el código para arreglar el error de ejecución:
Start;
Go North 1 Blocks;
Go East 3 Blocks;
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
Fundamentos de la programación: Tipos e instrucciones I
Página 60
NN
??
B
La ejecución
Se realiza lo que pide
cada instrucción:
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
Error lógico
¡El programa no llega al resultado deseado!
Fundamentos de la programación: Tipos e instrucciones I
Página 61
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Depuración
Editamos el código para arreglar el error lógico:
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go East 2 Blocks;
Stop;
Fundamentos de la programación: Tipos e instrucciones I
Página 62
NN
La ejecución
Se realiza lo que pide
cada instrucción:
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go East 2 Blocks;
Stop;
¡Conseguido!
Fundamentos de la programación: Tipos e instrucciones I
Página 63
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Tipos e instrucciones I
Página 64
Hola Mundo!
De vuelta en el programa que muestra un saludo en la pantalla:
#include <iostream>
using namespace std;
int main() // main() es donde empieza la ejecución
{
cout << "Hola Mundo!" << endl;
return 0;
}
Fundamentos de la programación: Tipos e instrucciones I
Página 65
Hola Mundo!
La única instrucción que produce algo tangible:
#include <iostream>
using namespace std;
int main() // main() es donde empieza la ejecución
{
cout << "Hola Mundo!" << endl;
return 0;
}
Fundamentos de la programación: Tipos e instrucciones I
Página 66
cout(iostream)
Visualización en la pantalla: operador <<(insertor)
character output stream
character output stream
cout << "Hola Mundo!" << endl;
cout
<< "Hola Mundo!" << endl;
Hola Mundo!
Hola Mundo!
_
endl end line
endl end line
Fundamentos de la programación: Tipos e instrucciones I
Página 67
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Pantalla en modo texto
Líneas de 80 caracteres (textos)
Aplicación en modo texto
Aplicación en modo texto
80 caracteres
80 caracteres
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Tipos e instrucciones I
Página 68
Ventanas de consola o terminal
Las aplicaciones en modo texto se ejecutan dentro de ventanas:
Windows: ventanas de consola (Símbolo del sistema)
Linux: ventanas de terminal
H o l a
M u n d o !
......
Cursor parpadeante: Donde se colocará el siguiente carácter.
Cursor parpadeante: Donde se colocará el siguiente carácter.
.
.
.
.
.
.
Fundamentos de la programación: Tipos e instrucciones I
Página 69
cout << ...;
El insertor <<
Inserta textos en la pantalla de modo texto
Representación textual de los datos
A partir de la posición del cursor
Line wrap(continúa en la siguiente línea si no cabe)
Se pueden encadenar:
cout << ... << ... << ...;
Recuerda: las instrucciones terminan en ;
Fundamentos de la programación: Tipos e instrucciones I
Página 70
Con el insertor << podemos mostrar...
¡Las comillas no se muestran!
Cadenas de caracteres literales
Textos encerrados entre comillas dobles: "..."
Números literales
Con o sin decimales, con signo o no: 123, ‐37, 3.1416, ...
Se muestran los caracteres que representan el número
cout << "Pi = " << 3.1416;
cout << "Hola Mundo!";
endl
¡Punto decimal, NO coma!
Fundamentos de la programación: Tipos e instrucciones I
Página 71
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
El programa principal
La función main(): donde comienza la ejecución...
#include <iostream>
using namespace std;
int main()
{
// main() es donde empieza la ejecución
cout << "Hola Mundo!" << endl;
return 0;
}Contiene las instrucciones que hay que ejecutar
Fundamentos de la programación: Tipos e instrucciones I
Página 72
El programa principal
La función main():
Tipo de la función (int= entero): Tipo de valor que devuelve
Tipo de la función (int= entero): Tipo de valor que devuelve
Nombre de la función
Nombre de la función
Cuerpo de la función (bloque de código)
Cuerpo de la función (bloque de código)
int main()
{
¡Es una función!
¡Es una función!
...
return 0;
}
return 0; Devuelve el resultado (0) de la función
Devuelve el resultado (0) de la función
Fundamentos de la programación: Tipos e instrucciones I
Página 73
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Comentarios (se ignoran):
Documentando el código...
#include <iostream>
using namespace std;
int main() // main() es donde empieza la ejecución
{
cout << "Hola Mundo!" << endl;
...
Hasta el final de la línea:
De varias líneas:
// Comentario de una línea
/* Comentario de varias
líneas seguidas */
Fundamentos de la programación: Tipos e instrucciones I
Página 74
La infraestructura
Código para reutilizar:
#include <iostream>
using namespace std;
Una directiva: empieza por #
Una directiva: empieza por #
int main() // main() es donde empieza la ejecución
{
cout << "Hola Mundo!" << endl;
return 0;
}Bibliotecas de funciones a nuestra disposición
Fundamentos de la programación: Tipos e instrucciones I
Página 75
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
Comentarios de: 2. Tipos e instrucciones I (0)
No hay comentarios