computación i (323)

22
Computación I - 323

Upload: lolapc

Post on 16-Aug-2015

816 views

Category:

Documents


0 download

TRANSCRIPT

Computación I - 323

Computación I - 323

Categorias

Bajo Nivel

Lenguaje máquina

Lenguaje Ensamblador

Consiste en una serie de números del hardware

Es propio de cada hardware

Au aparición en los años ’50.Derivado del lenguaje máquinaFormado por abreviaturas de letras

y números llamados mnemotécnicos

Computación I - 323

Categorias

Alto Nivel

Tercera Generación Se iniciaen 1945, con el ingeniero alemán

Konrad Zuse, pero se generaliza su uso en la decáda del 60

Provee instrucciones simbólicas independiente de l hardware.

Énfasis en procedimientos o matemáticas implícitas, es decir en lo que se hace (la acción).

Requieren que la codificación de las instrucciones se haga en la secuencia en que se deben ejecutar para solucionar el problema

Cuarta Generación y Quinta Generación

Computación I - 323

Programación Estructurada

Para resolver problemas de cierta envergadura se utiliza normalmente la técnica de diseño que se conoce con el nombre de diseño modular.

El problema se divide en subproblemas que se puedan resolver con un conjunto de subprogramas que tengan una cierta cohesión.

Al conjunto de subprogramas que resuelve un subproblema se le llama módulo funcional.

Un módulo puede hacer uso de un subprograma de otro módulo si éste aparece en su interfaz

Computación I - 323

Programación Estructurada

Un interfaz es un conjunto de cabeceras de subprogramas que pueden ser utilizados por otros módulos.

Los interfaces aparecieron para minimizar el acoplamiento entre los módulos. Se dice que es conveniente un diseño con acoplamiento débil entre módulos.

La interfaz sólo tienen que aparecer los subprogramas principales del módulo y no los subprogramas que son utilizados para implementar los subprogramas principales

Computación I - 323

Programación Estructurada

Esta descomposición se conoce con el nombre dedescomposición funcional.

Posteriormente aparece un nuevo tipo de descomposición o abstracción que se conoce con el nombre de abstracción de datos

Manejo de memoria

5 caracteres

Computación I - 323

No se almacenan en memoria estática.

• Los objetos correspondientes a procedimientos o funciones recursivas, ya que en tiempo de compilación no se sabe el número de variables que serán necesarias.

• Las estructuras dinámicas de datos tales como listas, árboles, etc. ya que el número de elementos que la forman no es conocido hasta que el programa se ejecuta.

DATO: Se considera el elemento primario de la información. Lo conforman símbolos (letras, números, dibujos, señas, gestos), esto implica que por sí solo no representa información, pero que cuando se reúnen y se examinan a la luz de un enfoque, hipótesis o teoría cobran significado, es decir, nos lleva a una conclusión o interpretación.Ejemplos: Edad: 5, 6, 7 Letras: A, B, C, D, a, b, c, d Nombre: Ana, Rosa

ESTRUCTURA DE DATOS: Colección o grupo de datos definidos por el usuario y que de acuerdo a como se organizan se le asocian un conjunto de operaciones para poder manipularlos.

La mayoría de lenguajes de programación de alto nivel disponen de tipos de datos estructurados o estructuras de datos predefinidos.

Computación I - 323

Arreglos:  Es Conjunto de datos,  donde todos sus elementos son del mismo tipo, con una organización lineal y con métodos claros de acceso a través de sus subíndices. Su representación en memoria es contigua, es decir, los datos se almacenan en áreas adyacentes de memoria; las que se localizan calculando su posición relativa al principio del área de memoria que contiene la estructura.

Computación I - 323

Computación I - 323

Índice: El que nos indica la posición dentro del arreglo.Tamaño del arreglo:  En nuestro caso, 10 elementosTipo de Dato: De algún tipo ya predefinido por el lenguaje, como: Numérico, Alfanumérico, entre otros, o definidos por el usuario. Operaciones: Las operaciones asociadas a la estructura de datos arreglo, son comparación, asignación, escritura, lectura

Computación I - 323

Estructuras de

datos

Internas

Externas

Estáticas

Dinámicas

Lineales

No Lineales

Simples

Estructurada

-Boolean-Integer-Real -Char…

-String-Arreglos-Conjunto-Registro-Archivo-Matrices

-Lista-Pilas-Colas

-Grafos-Árboles

-Base de datos-Archivos

Computación I - 323

Lenguaje Pascal

Computación I - 323

Estructura de un Programa en Pascal

Computación I - 323Entorno de Trabajo

Los traductores son un tipo de programas cuya función es convertir el código de un lenguaje en otro. Por ejemplo un compilador, que traduce código fuente en código objeto. Existen distintos tipos de traductores.

Compilador

Es el tipo de traductor más conocido. Se trata de un programa que traduce código fuente escrito en un lenguaje de alto nivel (Pascal) en código máquina (no siempre). Son más rápidos que los intérpretes pero presentan mayor dificultad a la hora de detectar errores.

Tipo de datos en Pascal

5 caracteres

Computación I - 323

Tipo Rango Espacio en memoria

Char Carácter ASCII 1 byte

Byte 0 a 255 1 byte

Integer -32768 a 32767 2 bytes

Real 1 E -38 a 1 E+38 6 bytes

Boolean True – False 1 byte

Shortint -128 a 127 1 byte

Word 0 a 65535 2 byte

Longint -2147483648 a 214748364

4 byte

String Cadena de 255 caracteres Hasta 255 bytes

Estructuras de Control

http://www.pcg.ull.es/edapplets/

Computación I - 323

Manejo de memoria

5 caracteres

Computación I - 323

La asignación estática de memoria reserva la cantidad necesaria para almacenar los datos de cada estructura en tiempo de compilación

Computación I - 323

Ejemploprogram Ejemplo; uses crt; var nombre:string;

Procedure pasar(nombre1:string);

begin (* cambiando parametro *)

nombre1:='maria elena';

end;

BEGIN clrscr; (* cargando variable *) nombre:='juan fernando';pasar(nombre); (* desplegando *) writeln('nombre : ',nombre); readln; END.

Valor de la variable nombre en el Procedimiento Pasar ?Valor de la variable nombre en el Programa Principal?

Computación I - 323

Parámetro Por Referencia

Se reciben/envían con la palabra clave VAR.

Se trabaja en la misma posición de memoria de la variable original, es decir, se referencian.

Cualquier cambio que se realice a la variable parámetro, en el procedimiento o función también se le estará haciendo a la variable original.

PROCEDURE Identificador (VAR Ide1: Tipo);

Computación I - 323

EjemploEjemplo

program Ejemplo; uses crt; var nombre:string;

edad:integer; procedure

pasar(nombre1:string; var edad1:integer);

begin (* cambiando parametro *)

nombre1:='maria elena'; edad1:=50; end;

BEGIN clrscr; (* cargando variable *) nombre:='juan fernando';Edad:= 30; (* mandando a procedimiento *) pasar(nombre,edad); (* desplegando *) writeln('nombre : ',nombre); writeln(‘edad : ',edad); readln; END.

Valor de la variables nombre y edad?

http://www.pcg.ull.es/edapplets/DataControlJApplet/pasoparametros.html

Computación I - 323Análisis del cálculo del factorial de un número

program factorial;uses crt;

varn,i,mul:integer;

beginmul:=1;i:=1;writeln (‘Numero a sacarle el factorial');readln (n);

repeatmul:=mul*i; i:=i+1; until (i>n);

writeln ('el factorial es ',mul); readln;end.

program FactorialNum;var   num:integer;

function factorial(n:integer):integer;begin

     if (n > 1) then          factorial:= n * factorial(n-1)

     else factorial:=1;end;begin     write(' Ingrese el valor de n: ');     readln(num);     writeln(' El resultado es: ',factorial(num));     readln;end.

Realice la corrida de cada uno

Computación I - 323

Uso de Procedimiento y funciones

Parámetros Valor No devuelve valores…no antecede la palabra

VAR El compilador crea una copia del dato y lo almacena

en la variable parámetro que lo recibe. Dentro de la función o procedimiento se trabaja con la copia obtenida, no importando las operaciones que se realicen con la copia, la variable introducida como parámetro, no será afectada en su valor inicial al terminar el proceso. Su sintaxis es la siguiente:

PROCEDURE Identificador (Ide1, Ide2: Tipo; Ide3: Tipo);