computación i (323)
TRANSCRIPT
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 - 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);