Professional Documents
Culture Documents
Estructuras
De
Datos
UTN-FRSF | AEDD2014 | Datos y Operadores
1/54
Informtica
Evolucin tecnolgica:
Ingeniera,
Electrnica,
Teora de la informacin,
Matemticas,
Lgica
Comportamiento humano
1623- 1899
Calculadoras
1876-1946
Calculadoras analgicas
1946-
Computadoras digitales
2/54
Schickard
1942
Pascal
1671
Leibniz
1825
Thomas
Cajas registradoras
1822
Babbage
1843
1890
Hollerith
1944
Aiken + IBM
1946
Eckert
1949
Manchester
1950
Eckert
1980
IBM
Primera PC.
1992
de la| Datos
Worldy Operadores
Wide Web (WWW).
UTN-FRSF | Inicio
AEDD2014
3/34
4/54
Arquitectura de computadora
5/54
Arquitectura de computadora
6/54
Memoria Principal
Los datos en ella estn distribuidos en celdas.
La unidad mnima de informacin es el bit.
El mximo conjunto de bits que una computadora es capaz de almacenar se denomina
palabra o byte.
El tamao de la memoria se expresa mediante potencias de 2 debido a que es un
sistema binario.
7/54
Codificacin de la Informacin
8/54
Lenguajes de Programacin
9/54
Lenguaje ensamblador
10/54
11/54
12/54
13/54
Diseo de Programas
14/54
Algorimos
15/54
16/54
17/54
18/54
EL LENGUAJE C
DATOS Y
OPERADORES
19/54
Lenguaje C (C++)
Ventajas:
Flexible, con funciones de biblioteca de uso general.
Se emplea para desarrollar S.O., compiladores, aplicaciones de
comunicaciones.
Portable, se puede llevar a otras computadoras con poca
modificacin.
Posee velocidad de ejecucin.
20/54
Lenguaje C
C es un LP muy utilizado en la elaboracin de software.
Ventajas en velocidad de ejecucin y consumo de memoria.
Hay que brindar ms detalles e informacin explcita
En general resultan programas largos
21/54
- lee
- analiza
- bibliotecas del
compilador
Prog Ejecutable
22/34
Zinjai
Prog fuente
Compilador C++
23/34
24/54
Declaraciones globales:
Prototipos de funciones
Variables comunes a todas las funciones del programa
Funcin principal:
int main ( )
{
- Declaraciones locales
- Sentencias
}
Definiciones de otras funciones:
tipo1 func1 (.. )
{
..
}
UTN-FRSF | AEDD2014 | Datos y Operadores
25/54
26/54
27/54
Funcin main: es el punto de entrada del programa. Hay una sola por prog.
Funcin en C++: subprograma que devuelve un nico valor, un conjunto de
valores, o realiza alguna tarea especfica.
La main() de programas extensos generalmente consta de llamadas a otras
funciones:
int main( )
{
obtenerDatos ( );
calcular ( );
mostrarDatos ( );
return 0;
}
28/54
Funcin main: es el punto de entrada del programa. Hay una sola por prog.
#include <iostream.h>
Funcin en C++: subprograma que devuelve un nico valor, un conjunto de
valores o realiza alguna tarea especfica
void obtenerDatos ( );
La main de programas extensos generalmente
de llamadas a otras
void calcular consta
( );
funciones:
void mostrarDatos ( );
int main( )
{
obtenerDatos ( );
calcular ( );
mostrarDatos ( );
return 0;
}
int main( )
{
obtenerDatos ( );
calcular ( );
mostrarDatos ( );
return 0;
Las variables y constantes globales
se declaran fuera de las funciones,
}
29/54
Definir el programa
Definir directivas del preprocesador
Definir declaraciones globales
Crear main ()
Crear el cuerpo del programa
Crear las propias funciones definidas por el usuario
Utilizar comentarios adecuados
Almacenar en disco con nombre.cpp
Compilar, enlazar, ejecutar y comprobar el programa
Estas etapas pueden realizarse en un IDE (entorno integrado de
desarrollo)
UTN-FRSF | AEDD2014 | Datos y Operadores
30/54
Depuracin de un programa
Se denomina as al proceso de encontrar errores. Los errores pueden ser:
Errores de Sintaxis: Se violan las reglas de gramtica del lenguaje (Ej: punto y
coma despus de la cabecera, omisin de ; al final de sentencia, olvido de
smbolos apareados (corchetes, parntesis, /*..).
31/54
Pruebas
32/54
Elementos de C++
Tokens (elementos lxicos de los programas):
dni
Mayor-item
fechaInicio
33/54
Especificador Ejemplo
de Tipo
Tamao
(Bytes)
Rango de valores a
almacenar
char
-128..127
bool
false
false true
int
124
-215 .. 215
unsigned int
2389
0 .. 216-1
long
678245
-231 .. 231-1
unsigned long
41235734
0 .. 232-1
float
10.5
double
0.00045
long double
1e-8
12
34/34
35/34
Variables
Variable: posicin de la memoria con nombre, donde se almacena un valor
de un cierto tipo.
En C++ toda variable debe declararse antes de ser usada , dndole un
nombre (identificador) y asignndole un tipo.
Declaracin de variables:
<tipo de dato> <nombre de variable> = <valor inicial-expresin>
El valor inicial o expresin es opcional, pero debe ser vlido (del tipo).
En lugar de una variable puede indicarse una lista de variables separadas por
comas.
La declaracin debe situarse al principio de un bloque (antes de utilizarlo).
La declaracin reserva espacio de memoria para almacenamiento y en caso de
tener el = se proporciona un valor inicial.
36/54
Constantes
C tiene 3 tipos de constantes:
Constantes literales: se escriben directamente en el texto. Pueden ser:
37/54
VARIABLES
GLOBALES
Se declaran al
principio, fuera
de las funciones
Se pueden utilizar
en la totalidad del
programa
La memoria
asignada
permanece
durante toda la
ejecucin
VARIABLES
LOCALES
Son definidas en
el interior de una
funcin o bloque
No existen en
memoria hasta
que no se ejecute
la funcin o
bloque (ahorran
memoria)
Se las llama
automticas (se
crean
automticamente
y se destruyen
cuando se sale
del bloque)
VARIABLES
DINAMICAS
Pueden definirse
como las locales
o las globales
La visibilidad es
como las locales o
globales segn
donde se declaren
Se manejan a
travs de
punteros
38/34
/* variables globales */
#include <iostream.h>
int main ( )
{
int main ( )
int a, b, c, suma;
/* variables locales */
/* variable local */
cin >> a;
cin >> b;
suma = a + b + c;
cin >> c;
suma = a + b + c;
cout << endl << endl << " La suma de los
valores ingresados es : " << suma;
return 0;
return 0;
39/54
Expresiones
40/54
Precedencia de Operadores
41/54
Salidas
42/54
Manipuladores de Salidas
2.98
43/54
Manipuladores de Salidas
44/54
Entradas
45/54
Operador de Asignacin
Asignacin:
Variable = expresin
46/54
Operadores Aritmticos
Son ++ y --.
Suman o restan 1 a su argumento.
Ej:
++m o m++ es igual que m = m + 1
-- x o x--
es igual que x = x - 1
b = ++a;
b vale 9 y a vale 9
int a = 8, b;
b = a++;
b vale 8 y a vale 9
47/54
Operadores Relacionales
b * b > 5 * c;
inicial != A;
medida == 12.6;
a < B ;
48/54
Operadores Lgicos
49/54
Otros Operadores
50/54
Promocin integral: int, unsigned int, long, unsigned long, float, double
El tipo que viene primero en esta lista se convierte al que viene segundo. Por
ejemplo, si los tipos operandos son int y long, el operando int se convierte en long.
UTN-FRSF | AEDD2014 | Datos y Operadores
51/54
(float) i;
(int) 3.4;
precio = (int) 16.77 + (int) 23.99
Los operadores C++ respetan reglas de prioridad
(precedencia) y de asociatividad
52/54
Ejemplo 1
/* Ingresar 3 nros y mostrar promedio y valores absolutos */
#include <iostream>
#include <iomanip>
using namespace std;
int main ( )
{
int n1, n2, n3;
/* Ingreso de los datos */
cout << endl << " Ingrese el numero 1: ";
cin >> n1;
cout << endl << " Ingrese el numero 2: ";
cin >> n2;
cout << endl << " Ingrese el numero 3: ";
cin >> n3;
/* Impresin de resultados */
cout << endl << endl << "El promedio de los valores ingresados es : "
<< setprecision(3) << setw(10) << ((float)(n1 +n2+n3)/3) << endl ;
cout << endl << "Los valores absolutos de los numeros ingresados son: " ;
cout << endl << " El valor absoluto del numero 1 es : " << (n1>=0 ? n1 : -n1);
cout << endl << " El valor absoluto del numero 2 es : " << (n2>=0 ? n2 : -n2);
cout << endl << " El valor absoluto del numero 3 es : " << (n3>=0 ? n3 : -n3) << endl;
return 0; }
UTN-FRSF | AEDD2014 | Datos y Operadores
53/54
Ejemplo 2
/* Ingresar 3 reales e indicar si pueden ser lados de un triangulo */
#include <iostream.h>
#include <iomanip>
using namespace std;
int main ( )
{
float n1, n2, n3;
/* Ingreso de los datos */
cout << endl << Ingrese el numero 1:;
cin >> n1;
cout << endl << Ingrese el numero 2:;
cin >> n2;
cout << endl << Ingrese el numero 3:;
cin >> n3;
/* Evaluacin e impresin */
cout << endl << endl;
cout << " Las medidas " ;
cout << ((n1*n1+n2*n2==n3*n3) || (n1*n1+n3*n3 == n2*n2) || (n2*n2+n3*n3 == 1*n1)
? "si": "no);
cout << " corresponden a los lados de un triangulo" << endl;
return 0; }
UTN-FRSF | AEDD2014 | Datos y Operadores
54/54