Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesión de Teoría - 1
Profesor:
José Antonio Fiestas Iquira jfiestas@utec.edu.pe
Autores:
María Hilda Bermejo
José Fiestas
Rubén Rivas
Índice:
2 Unidad 1:
Introducción al diseño de algoritmos
y programación en C++
Logro de la sesión:
Al finalizar la sesión, los alumnos podrán:
Entrada
Salida
Algoritmos
● ¿Qué es un algoritmo?
Algoritmos
● Core language features, tipos de datos, e.g. char, int y bucles (for, while)
● Standard-library components, como contenedores (e.g. vector, map) y
I/O operations, e.g. << y getline()
Estructura de un programa:
Python C++
print("Hola Mundo!\n") #include <iostream>
int main()
{
std::cout << "Hola Mundo!\n";
return 0;
}o
int main()
{
string name;
std::cin >> name;
std::cout << "Hola" << name << "!\n";
return 0;
}o
Estructura de un programa:
#include <iostream> // #include, importa las declaraciones del I/O de la librería
int main()
{
std::cout << "Hola Mundo!\n";
return 0; // retorna el valor "al Sistema Operativo".
// No todos los sistemas operativos utilizan este valor,
// pero el Linux/Unix si lo hace.
}
riables, constantes y instrucciones de entrada y salida de datos.
Todo programa, tiene al menos la función main() y si tuviese más, la ejecución del programa
siempre empieza por la función main().
Estructura de un programa:
Fin bloque
Cout, es el objeto output que recibe con el operador “<<” una cadena
"Hello..."
Estructura de un programa, si hay más de una función:
Forma 1 Forma 2
#include <iostream>
#include <iostream>
using namespace std;
using namespace std;
double square(double x);
double square(double x) { return x*x; } A
void print_square(double n);
void print_square(double n) {
B int main() {
cout << "the square of " << n
print_square(1.234);
<< " is " << square(n) << "\n";
// imprime: the square of 1.234 is 1.52276
}
return 0;
}
int main() {
print_square(1.234);
double square(double x) { return x*x; }
// imprime: the square of 1.234 is 1.52276
return 0;
void print_square(double n) {
} B
cout << "the square of " << n
<< " is " << square(x) << "\n";
}
A Declaración o Interface
B Definición o Implementación
Estructura de un programa, si hay más de una función:
library.h
double square(double x);
Forma 2 A void print_square(double n);
library.cpp library.o
double square(double x) { return x*x; }
void print_square(double n) {
B cout << "the square of " << n
<< " is " << square(x) << "\n";
}
main.cpp
#include <iostream> main.o
#include "library.h"
using namespace std;
int main() {
print_square(1.234);
// imprime: the square of 1.234 is 1.52276
return 0;
}
Proceso de compilación:
C++ es un Lenguaje compilado. Para que un programa se ejecute el código fuente tiene que
ser procesado por un “Compilador”, produciendo archivos objetos, los cuales son enlazados
por un “Linker” produciendo el archivo ejecutable.
Ejemplo 1:
using namespace std; // hace visible los nombres del std sin utilizar std::
int main()
{
cout << "Hola Mundo!\n";
cout << "CS1102 - Programación Orientada a Objetos!! \n";
cout << "en C S - U T E C \n";
return 0;
}
Por ejemplo:
inch es una variable
de tipo int,
con valor igual a 5
Tipos de datos innatos (built in):
Cada tipo se corresponde directamente con las facilidades de hardware y tiene un tamaño que
determina el rango de valores que puede almacenar.
Tipos de datos:
Una variable de tipo char almacena un carácter y en la máquina típicamente utiliza 8 bits o un
byte. El tamaño de los otros tipos son múltiplos del tamaño de un char. El tamaño de un tipo de
dato lo determina la implementación y puede variar en diferentes máquinas. Si se quiere
conocer el tamaño se puede utilizar el operador sizeof.
Por ejemplo:
sizeof(char) es 1
sizeof(int) es 4
Tipos de datos:
Los números pueden ser enteros o de punto flotante.
Tipos, namespaces
Operadores:
aritméticos: de comparación:
x + y // suma
x == y // igualdad
+x // + unario ej: w = +z;
x != y // diferente
x - y // diferencia
x < y // menor
-x // negativo ej: w = -z;
x * y // multiplicación x > y // mayor
x += y; // x = x + y;
++x; // incrementa x = x + 1;
x -= y; // x = x - y;
--x; // x = x - 1;
x *= y; // x = x * y;
x /= y; // x = x / y;
x %= y; // x = x % y; sólo con enteros
Ejemplo 5:
Operadores en C++
Conversiones:
Cuando se utiliza operaciones aritméticas, el C++ realiza conversiones profundas entre tipos de
datos básicos por lo que se pueden utilizar libremente, por ejemplo:
Antes de usar un objeto, este debe ser Cuando se define una variable, se puede deducir el tipo
inicializado. por su inicialización:
Conversiones (typecasting)
Tipos de Datos, Operaciones, Conversiones y Variables
Los operandos de operadores con alto grado de precedencia se agrupan más fuertemente que
que los operandos de operadores con menor grado de precedencia.
Ej: la multiplicación y división tienen el mismo grado de precedencia entre ellos, pero tiene mayor
precedencia que la suma.
Cuando se tiene una expresión compuesta, formada por operadores aritméticos del mismo grado
de precedencia estos se evalúan de izquierda a derecha.
Precedencia y asociatividad:
Ejemplo:
● ¿Qué es la precedencia?
● ¿Como se puede alterar la precedencia de las operaciones?
Precedencia
● ¿Qué es la precedencia?
Es la que define la secuencia o orden en que se ejecutan las
operaciones dentro de una expresión.
● ¿Como se puede alterar la precedencia de las operaciones?
Por medio de los paréntesis.
Ejemplo 7:
El siguiente programa permite hallar el Área y el Volumen de una esfera.
T volumenDelaEsfera(T r)
{
return (4.0/3 * PI * pow(r,3));
}
Solución 2 - main.cpp
#include <iostream>
#include "funciones.h"
using namespace std;
int main() {
T radio=0, area=0, volumen=0;
Q z;
cout << "Radio : ";
cin >> radio;
cout << "\n";
cout << "El area es : " << areaDelaEsfera(radio) << "\n";
cout << "El volumen es : " << volumenDelaEsfera(radio) << "\n";
return 0;
}
Ejemplo 8:
En el siguiente programa se desea convertir grados Fahrenheit a grados Celsius.
C F - 32
----- = -------
5 9
double ACelsius(double f)
{
return 5/9 *(f - 32);
} Corrida número 2:
int main()
{
double fahrenheit=0, celsius=0;
T ACelsius(T f)
{
return 5/9 *(f - 32); Corrida número 2:
}
int main()
{
T fahrenheit=0, celsius=0;