APUNTES - Fundamentos de Algoritmica y Programacion

27
REPRESENTACION DE DATOS LA MEMORIA La unidad básica de almacenamiento en memoria es el BYTE BYTE = Octeto o grupo de 8 bits

Transcript of APUNTES - Fundamentos de Algoritmica y Programacion

REPRESENTACION DE DATOS

LA MEMORIA

La unidad básica de almacenamiento en memoria es el BYTE

BYTE = Octeto o grupo de 8 bits

Luego, con 1 BYTE es posible representar 28=256 elementos de información (datos)

Tenemos

Se observa que existen 2 representaciones sin signo y con signo

TIPOS DE DATOS EN C++

Un Tipo entero en C++ ocupa 2 bytes = 16 bits.

Luego, es posible representar 216=65536 datos (elementos de información) con representaciones sin signo y con signo que corresponde a las declaraciones en C++

unsigned int Entero sin Signo. Ocupa 2 bytes = 16 bits. Varia desde 0 hasta 216 – 1 = 65535

EJEMPLO: Declaramos 1 variable entera p unsigned int p=24;cout<<p; // Visualiza en Pantalla el valor 24p=65535; // Maximo Valor que puede asumir la variablecout<<p; // Visualiza en Pantalla el valor 65535

En memoria, la variable p = 65535 se representa en su equivalente binario

1111 1111 1111 1111

int Entero con Signo. Ocupa 2 bytes = 16 bits. Varia desde -(215 – 1) = -32767 hasta +215 = +32768EJEMPLO: Declaramos 1 variable entera p int p=24;cout<<p; // Visualiza en Pantalla el valor 24p=-1;cout<<p; // Visualiza en Pantalla el valor -1

En memoria, la variable p = -1 se representa en su complemento binario a 2

1111 1111 1111 1111

long Entero Largo con Signo. Ocupa 4 bytes = 32 bits. Varia desde -(231 – 1) hasta +231

EJEMPLO: Declaramos 1 variable entera hlong h;h=1000000;cout<<h; // Visualiza en Pantalla el valor 1000000h=-1;cout<<h; // Visualiza en Pantalla el valor -1En memoria, la variable h = -1 se representa en su complemento binario a 2

1111 1111 1111 1111 1111 1111 1111 1111

char Carácter ó Entero sin signo. Ocupa 1 byte = 8 bits.Varia desde 0 hasta 28 – 1 = 255EJEMPLO: Declaramos 1 variable carácter cchar c;c=’@’;cout<<c; // Visualiza en Pantalla el carácter @c=64;cout<<c; // Visualiza en Pantalla el carácter @En memoria, la asignacion c = ‘@’ ó c=64 se representa en su equivalente binario

0110 0100

double Numero Real

NUMEROS NEGATIVOS

EJEMPLO

En base 10 tenemos la siguiente operación

Se observa que en el sistema decimal el número negativo -06514 se expresó en términos de su complemento a 10.

Dado que la Resta no existe desde el punto de vista del Procesamiento de Datos, en el sistema binario los números negativos se representan en un formato de COMPLEMENTO A 2

Ejemplo:

Representar los siguientes números negativos en un formato de 1 byte

-40

-105 (Ejercicio)

Representar los siguientes números negativos en un formato de 2 bytes

-40

-105 (Ejercicio)

PROGRAMACION ESTRUCTURADAIncorpora tres tipos de estructuras o lógicas de control:

Lógica Secuencial Lógica Condicional. Alternativa o Selectiva Lógica Iterativa o repetitiva

LÓGICA SECUENCIALo Establece que las instrucciones se ejecutan una a continuación de otra

Las instrucciones se ejecutan una a continuación de otra

o Ejemplos Calcular la suma y producto de dos enteros A y B

Convertir grados sexagesimales a radianes

Convertir radianes a grados sexagesimales y centesimales Convertir grados Celsius a grados Fahrenheit y Kelvin Convertir gramos a onzas y libras Convertir metros a pulgadas, pies, yardas

LÓGICA CONDICIONAL, ALTERNATIVA O SELECTIVAo Establece el flujo de ejecución de acuerdo a una prueba o condición lógica

o Ejemplos Dado un entero N determinar si es par/impar

Dado un entero N asociar al día de la semana de modo que 1 Lunes 2 Martes 3 Miércoles 4 Jueves 5 Viernes 6 Sábado 7 Domingo

Versión 1

Versión 2

Versión 3

Versión 4

Solucionar la Ecuación Cuadrática Ax2+Bx+C=0

LÓGICA ITERATIVA Ó REPETITIVAo Permite la ejecución continua repetitiva de instrucciones

EJEMPLO :

- Generar N números aleatorios y determinar la suma y promedio

- LOGICA FOR

- LOGICA WHILE

PRACTICA

EJEMPLO : Dado un entero N generar sus divisores.

Al establecer un entero tal como 24, se deben generar sus divisores tal como se muestra

El algoritmo ó seudocódigo asociado al problema es

La codificación en C++ del problema

La pantalla de ejecución es

Una versión modificada del programa anterior es

La versión definitiva del programa que calcula la suma y promedio es

EJEMPLO: Determinar las cifras de un entero N. Calcular la Suma y Promedio

EJEMPLO: Calcular los Divisores Comunes de 2 enteros A y B

EJEMPLO: Calcular la secuencia de Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . . . .

EJEMPLO: Aproximar el área bajo la curva de una función polinomial

Se desea aproximar el área bajo la curva de la función f(x)=x2 en un determinado intervalo [A,B]