Вы находитесь на странице: 1из 35

Lenguaje de Porgramación

Tema 1:
Introducción

Profesor
John Ledgard Trujillo Trejo

Facultad de Ingeniería de Electrónica y Eléctrica


Curso 2017-II
Fundamentos de un Entorno C++ Típico

Fases de programas C++:

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 1
Fundamentos de un Entorno C++ Típico

Fases de programas C++:

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 2
Fundamentos de un Entorno C++ Típico

Fases de programas C++:

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 3
Fundamentos de un Entorno C++ Típico

Fases de programas C++:

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 4
Fundamentos de un Entorno C++ Típico

Fases de programas C++:

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 5
Fundamentos de un Entorno C++ Típico

Fases de programas C++: Editor Disco


El programador crea el
programa en el editor y lo
almacena en el disco.
1. Edición Preprocesador Disco El programa preprocesador
preprocesa el código.
El compilador crea el
2. Preprocesamiento Compilador Disco código objeto y lo guarda
en disco.
El editor de enlaces enlaza
3. Compilación Editor de
enlaces
Disco el código objeto con las
bibliotecas, crea un fichero
Memoria ejecutable y lo almacena en
4. Enlace Cargador
Primaria disco.

El cargador pone el
5. Carga Disco
programa en memoria.
..
..
..

6. Ejecución Memoria
Primaria
CPU
La CPU toma cada
instrucción y la ejecuta,
posiblemente almacenando
nuevos valores de datos a
..
.. medida que se ejecuta el
..
Lenguaje de Programación programa.
John Ledgard Trujillo Trejo
06 de octubre de 2017 6
Fundamentos de un Entorno C++ Típico

 Entrada/salida
 cin
 Flujo de entrada estándar
 Normalmente es el teclado
 cout
 Flujo de salida estándar
 Normalmente es la pantalla del computador
 cerr
 Flujo de errores estándar
 Despliega mensajes de error

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 7
Un Programa Sencillo: Imprimir 1 línea de texto

 Comentarios
 Documentan los programas
 Facilitan la lectura del programa
 Son ignorados por el compilador
 Comentarios de una línea
 Comienzan con //

 Directivas del preprocesador


 Procesadas por el preprocesador antes de la compilación
 Comienzan con #

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 8
Comentarios de una 9
1 // Fig. 1.2: fig01_02.cpp
línea. Outline
2 // Un primer programa en C++.
3 #include <iostream>
4
5 // la función main comienza la ejecución del programa
6 int main()
7 {
8 std::cout << "¡Bienvenidos a la FISI!\n";
9
10 return 0; // indica que el programa terminó satisfactoriamente
11
12 } // fin de la función main

 2003 Prentice Hall, Inc.


All rights reserved.
10
1 // Fig. 1.2: fig01_02.cpp Outline
2 // Un primer programa en C++.
3 #include <iostream>
Directiva del preprocesador
4
para incluir el fichero de
5 // la función main comienza la ejecución del programa cabecera de flujo de
6 int main() entrada/salida <iostream>.
7 {
8 std::cout << "¡Bienvenidos a la FISI!\n";
9
10 return 0; // indica que el programa terminó satisfactoriamente
11
12 } // fin de la función main

 2003 Prentice Hall, Inc.


All rights reserved.
11
1 // Fig. 1.2: fig01_02.cpp Outline
2 // Un primer programa en C++.
La función main
3 #include <iostream> devuelve un valor entero.
4
La función main aparece
5 // la función main comienza la ejecución deluna
programa
sola vez en cada
6 int main() programa C++.
7 {
8 std::cout << "¡Bienvenidos a la FISI!\n";
9
10 return 0; // indica que el programa terminó satisfactoriamente
11
12 } // fin de la función main

 2003 Prentice Hall, Inc.


All rights reserved.
12
1 // Fig. 1.2: fig01_02.cpp Outline
2 // Un primer programa en C++.
3 #include <iostream>
4
5 // la función main comienza la ejecución del programa
6 int main()
La llave izquierda { comienza
7 { el cuerpo de la función.
8 std::cout << "¡Bienvenidos a la FISI!\n";
9
10 return 0; // indica que el programa terminó satisfactoriamente
11
12 } // fin de la función main

 2003 Prentice Hall, Inc.


All rights reserved.
13
1 // Fig. 1.2: fig01_02.cpp Outline
2 // Un primer programa en C++.
3 #include <iostream> Operador de inserción de flujo
4 (stream).
5 // la función main comienza la ejecución del programa Las sentencias finalizan con un
6 int main() punto y coma ;.
7 {
8 std::cout << "¡Bienvenidos a la FISI!\n";
9
10 return 0; // indica que el programa terminó satisfactoriamente
11
12 } // fin de la función main

El nombre cout pertenece al


¡Bienvenido a LA FISI! espacio de nombres
(namespace) std.

 2003 Prentice Hall, Inc.


All rights reserved.
14
1 // Fig. 1.2: fig01_02.cpp Outline
2 // Un primer programa en C++.
3 #include <iostream>
4
5 // la función main comienza la ejecución del programa
6 int main()
7 {
8 std::cout << "¡Bienvenidos a la FISI!\n";
9
10 return 0; // indica que el programa terminó satisfactoriamente
11
12 } // fin de la función main
La palabra clave return es una de las que hace
finalizar la función; el valor 0 indica que el programa
¡Bienvenido a LA FISI! finalizó satisfactoriamente.

 2003 Prentice Hall, Inc.


All rights reserved.
15
1 // Fig. 1.2: fig01_02.cpp Outline
2 // Un primer programa en C++.
3 #include <iostream>
4
5 // la función main comienza la ejecución del programa
6 int main()
7 {
8 std::cout << "¡Bienvenidos a la FISI!\n";
9
10 return 0; // indica que el programa terminó satisfactoriamente
11
12 } // fin de la función main

¡Bienvenido a la FISI! La llave derecha


correspondiente } finaliza el
cuerpo de la función.

 2003 Prentice Hall, Inc.


All rights reserved.
Un Programa Sencillo: Imprimir 1 línea de texto

 Objeto de flujo de salida estándar


 std::cout
 “Conectado” a la pantalla
 <<
 Operador de inserción de flujo
 El valor a la derecha del operador (operando derecho) se
inserta en el flujo de salida
 Espacio de nombres
 std:: especifica el uso de un nombre que pertenece al espacio
de nombres std
 std:: se elimina con el uso de sentencias using
 Caracteres de escape
\
 Indica la salida de un carácter “especial”

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 16
Un Programa Sencillo: Imprimir 1 línea de texto

Secuencia escape Descripción

\n Salto de línea. Coloca el cursor al inicio de la


siguiente línea.
\t Tabulación horizontal. Mueve el cursor hasta la
siguiente tabulación.
\r Retorno de carro. Coloca el cursor al inicio de la
línea actual; no avanza a la siguiente línea.
\a Alerta. Hace sonar la campana del sistema.
\\ Diagonal invertida (backslash). Sirve para imprimir
el carácter de la diagonal invertida.
\" Comillas. Sirve para imprimir un carácter de
comillas.

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 17
18
1 // Fig. 1.4: fig01_04.cpp
Outline
2 // Impresión de una línea con varias instrucciones.
3 #include <iostream>
4
Varias sentencias de
5 // la función main comienza la ejecución del programa
inserción de flujo
6 int main()
producen una línea
7 {
de salida.
8 std::cout << “¡Bienvenido ";
9 std::cout << “a la FISI!\n";
10
11 return 0; // indica que el programa finalizó satisfactoriamente
12
13 } // fin de la función main

¡Bienvenido a la FISI!

 2003 Prentice Hall, Inc.


All rights reserved.
19
1 // Fig. 1.5: fig01_05.cpp
Outline
2 // Impresión de varias líneas mediante una instrucción
3 #include <iostream>
4
5 // la función main comienza la ejecución del programa
Uso de caracteres de
6 int main()
nueva línea para imprimir
7 { en varias líneas.
8 std::cout << “¡Bienvenido\na\n\nla FISI!\n";
9
10 return 0; // indica que el programa terminó satisfactoriamente
11
12 } // final de la función main

¡Bienvenido
a

La FISI!

 2003 Prentice Hall, Inc.


All rights reserved.
Otro Programa Simple: Suma de 2 enteros

 Variables
 Localización de memoria donde puede almacenarse un valor
 Tipos comunes de datos
 int – números enteros
 char - caracteres
 double – números en punto flotante
 Declaración variables con nombre y tipo de datos antes de
usarlas
int entero1;
int entero2;
int suma;
 Se pueden declarar varias variables del mismo tipo en una sola
declaración
 Lista separada por comas
int entero1, entero2, suma;

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 20
Otro Programa Simple: Suma de 2 enteros

 Variables
 Nombres de variables
 Cualquier identificador válido
 Series de caracteres: letras, dígitos, caracteres de subrayado
(_)
 No pueden comenzar con un dígito
 Sensible a mayúsculas y minúsculas (a1A1)

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 21
Otro Programa Simple: Suma de 2 enteros

 Objeto de flujo de entrada


 >> (operador de extracción de flujo)
 Usado con std::cin
 Espera a que el usuario introduzca un valor y presione la
tecla Enter (Return)
 Almacena el valor en la variable a la derecha del operador
 Convierte el valor al tipo de dato de la variable

 = (Operador de asignación)
 Asigna un valor a la variable
 Operador binario (dos operandos)
 Ejemplo:
suma = variable1 + variable2;

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 22
23
1 // Fig. 1.6: fig01_06.cpp
Outline
2 // Programa de suma.
3 #include <iostream>
4
5 // la función comienza la ejecución del programa
6 int main()
7 { Declaración de las
8 int entero1; // primer número que introduce el usuario
variables enteras.
9 int entero2; // segundo número que introduce el usuario
10 int suma; // variable en la que se almacena la suma
11
12 std::cout << “Teclee el primer número entero\n"; // solicitud
13 std::cin >> entero1; // lee un entero
14
15 std::cout << “Teclee el segundo número entero\n"; // solicitud
16 std::cin >> entero2; // lee un entero
17
18 suma = entero1 + entero2; // asigna la suma
19
20 std::cout << “La suma es " << suma << std::endl; // imprime la suma
21
Teclee el primer número entero
22 return 0; // indica que el programa terminó satisfactoriamente
45
Teclee el segundo número entero
23
72 } // fin de la función main
24  2003 Prentice Hall, Inc.
La suma es 117 All rights reserved.
24
1 // Fig. 1.6: fig01_06.cpp
Outline
2 // Programa de suma.
3 #include <iostream>
4
5 // la función comienza la ejecución del programa
6 int main()
7 {
8 int entero1; // primer número que introduce el usuario
Uso del operador de flujo de
9 int entero2; // segundo número que introduce el usuario
entrada con la entrada de
10 int suma; // variable en la que se almacena la suma
flujo estándar para obtener la
11 entrada del usuario.
12 std::cout << “Teclee el primer número entero\n"; // solicitud
13 std::cin >> entero1; // lee un entero
14
15 std::cout << “Teclee el segundo número entero\n"; // solicitud
16 std::cin >> entero2; // lee un entero
17
18 suma = entero1 + entero2; // asigna la suma
19
20 std::cout << “La suma es " << suma << std::endl; // imprime la suma
21
Teclee el primer número entero
22 return 0; // indica que el programa terminó satisfactoriamente
45
Teclee el segundo número entero
23
72 } // fin de la función main
24  2003 Prentice Hall, Inc.
La suma es 117 All rights reserved.
25
1 // Fig. 1.6: fig01_06.cpp
Outline
2 // Programa de suma.
3 #include <iostream>
4
5 // la función comienza la ejecución del programa
6 int main()
7 {
8 int entero1; // primer número que introduce el usuario
9 int entero2; // segundo número que introduce el usuario
10 int suma; // variable en la que se almacena la suma
11
12 std::cout << “Teclee el primer número entero\n"; // solicitud
13 std::cin >> entero1; Los cálculos se pueden realizar
// lee un enteroen sentencias de salida:
14
alternativa para líneas 18 y 20:
15 std::cout << “Teclee el segundo número entero\n"; // solicitud
std::cout << “La suma es " << entero1 + entero2 << std::endl;
16 std::cin >> entero2; // lee un entero
17
18 suma = entero1 + entero2; // asigna la suma
19
20 std::cout << “La suma es " << suma << std::endl; // imprime la suma
21
Teclee el primer número entero
22 return 0; // indica que el programa terminó satisfactoriamente
45
Teclee el segundo número entero
23
72 } // fin de la función main
24  2003 Prentice Hall, Inc.
La suma es 117 All rights reserved.
26
1 // Fig. 1.6: fig01_06.cpp
Outline
2 // Programa de suma.
3 #include <iostream>
4
5 // la función comienza la ejecución del programa
6 int main()
7 {
8 int entero1; // primer número que introduce el usuario
9 int entero2; // segundo número que introduce el usuario
10 int suma; // variable en la que se almacena la suma
11
12 std::cout << “Teclee el primer número entero\n"; // solicitud
13 std::cin >> entero1; // lee un entero
14
15 std::cout << “Teclee el segundo número entero\n"; // solicitud Manipulador de flujo
16 std::cin >> entero2; // lee un entero
std::endl envía a la salida
17
un cambio de línea y luego
“descarga el búfer de
18 suma = entero1 + entero2; // asigna la suma
salida”.
19
20 std::cout << “La suma es " << suma << std::endl; // imprime la suma
21
Teclee el primer número entero
22 return 0; // indica que el programa terminó satisfactoriamente
45
Teclee el segundo número entero
23
72 } // fin de la función main
24  2003 Prentice Hall, Inc.
La suma es 117 All rights reserved.
27
1 // Fig. 1.6: fig01_06.cpp
Outline
2 // Programa de suma.
3 #include <iostream>
4
5 // la función comienza la ejecución del programa
6 int main()
7 {
8 int entero1; // primer número que introduce el usuario
9 int entero2; // segundo número que introduce el usuario
10 int suma; // variable en la que se almacena la suma
11
12 std::cout << “Teclee el primer número entero\n"; // solicitud
13 std::cin >> entero1; // lee un entero
14
15 std::cout << “Teclee el segundo número entero\n"; // solicitud
16 std::cin >> entero2; // lee un entero
17
18 suma = entero1 + entero2; // asigna la suma
19
20 std::cout << “La suma es " << suma << std::endl; // imprime la suma
21
Teclee el primer número entero
22 return 0; // indica que el programa terminó satisfactoriamente
45
Teclee el segundo número entero
23 Concatenación, encadenado o
72 } // fin de la función main cascada de operaciones
24  2003 Prentice deHall, Inc.
La suma es 117 inserción de flujo.
All rights reserved.
Conceptos sobre Memoria

 Nombres de Variables
 Corresponden a localizaciones de la memoria de la
computadora
 Cada variable tiene un nombre, un tipo, un tamaño y un valor
 Cada vez que se pone un valor en una variable, se destruye el
valor previo
 Cuando se lee una variable de una localización de memoria, el
proceso es no destructivo

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 28
Conceptos sobre Memoria

std::cin >> entero1; entero1 45


 Supongamos que el usuario introduce 45

std::cin >> entero2;


 Supongamos que el usuario introduce 72 entero1 45
entero2 72

suma = entero1 + entero2;


entero1 45
entero2 72
suma 117

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 29
Aritmética

 Cálculos aritméticos
*
 Multiplicación
/
 División
 La división entera trunca el resto
 7 / 5 se evalúa como 1
%
 Operador módulo: devuelve el resto
 7 % 5 se evalúa como 2

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 30
Aritmética

 Reglas de precedencia de operadores


 Operadores entre paréntesis se evalúan primero
 Paréntesis anidados
 Operadores del par más interno se evalúan primero
 Después se aplican multiplicación, división y módulo
 Los operadores se aplican de izquierda a derecha
 Por último, suma y resta
 Los operadores se aplican de izquierda a derecha

Operador(es) Operación(es) Orden de evaluación (precedencia)

() Paréntesis Se evalúa primero. Si los paréntesis están anidados, la


expresión del par más interno es la primera en evaluarse.
Si hay otros pares de paréntesis “al mismo nivel” (es
decir, no anidados), se evalúan de izquierda a derecha.
*, /, o % Multiplicación División Se evalúan en segundo lugar. Si hay varios, se evalúan
Módulo de izquierda a derecha.
+o- Suma Se evalúan de últimos. Si hay varios, se evalúan de
Resta izquierda a derecha.

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 31
Toma de Decisiones: Operadores de Igualdad y Relacionales

 Sentencias using
 Eliminan el uso del prefijo std::
 Escribimos cout en vez de std::cout

Lenguaje de Programación
John Ledgard Trujillo Trejo
06 de octubre de 2017 32
Bibliografía

 J OYANES AGUILAR, Luis. 2003. FUNDAMENTOS DE


PROGRAMACIÓN Algoritmos, Estructura de Datos y Objetos.
McGraw-Hill, Madrid.

 DEITEL H., Deitel P. 2008. C++ Como programar. 6a Ed. Pearson.


Prentice-Hall. México. 1112 p.

1.33
¿ Preguntas ?

1.34

Вам также может понравиться