ambiente de programacin en pascal

36
Ambiente de programación en Pascal

Upload: colegio-agropecuario-de-san-carlos

Post on 15-Apr-2017

513 views

Category:

Documents


3 download

TRANSCRIPT

Ambiente de programación en Pascal

Conceptos básicos• Programa fuente:Programa fuente: Algoritmo escrito en un lenguaje de alto nivel

como Pascal, Cobol, etc. No es ejecutable por el computador.

• Programa Objeto:Programa Objeto: Algoritmo escrito en lenguaje de máquina “0” y “1”, ejecutable por el computador.

• Compilador e interprete:Compilador e interprete: Programa elaborado generalmente por el fabricante de hardware para convertir programas fuentes en programas objetos. Es el que se encarga de interpretar el código en lenguaje máquina.

• Lenguaje máquina:Lenguaje máquina: Es el lenguaje que usan las máquinas para interpretar datos y efectuar rutinas. Se utilizan 2 caracteres los cuales son el “1” y el “0”.

ProgramaciónLa programación consiste en desarrollar programas para procesar información.

Programación como término se utiliza para designar la creación de programas a pequeña escala, el desarrollo de sistemas complejos se denomina ingeniería de software.

Una computadora es totalmente inútil si no dispone de un programa capaz de procesar información.

Estructura de un programa en Pascal

• Encabezado:Encabezado:

• Es la parte del programa en que se define tanto el nombre del programa como las declaraciones de las variables y constantes que se utilizaran el programa.

Partes del encabezado del programa: Partes del encabezado del programa:

Nombre del programa:Nombre del programa: Se declara mediante la Se declara mediante la sentencia sentencia ““programprogram” ” y el nombre, de y el nombre, de preferencia relativo a la función del programapreferencia relativo a la función del programaLibrerías utilizadas:Librerías utilizadas: Se declara mediante Se declara mediante ““usesuses”” y las unidades a usar.y las unidades a usar.Variables y constantes:Variables y constantes: Se declaran mediante Se declaran mediante las sentencias las sentencias ““varvar”” (para las variables) y (para las variables) y ““constconst” ” (para las constantes). Son letras de (para las constantes). Son letras de diferentes tipos de datos para guardar diferentes tipos de datos para guardar información en memoria. En este caso se información en memoria. En este caso se definen como variables globales. Ejemplo:definen como variables globales. Ejemplo:

Partes del encabezado de un procedimiento:

• Nombre del procedimiento:Nombre del procedimiento: Se declara mediante la sentencia “procedure” y el nombre, de preferencia relativo a la función del programa

• Variables y constantes:Variables y constantes: Se declaran mediante las sentencias “var” (para las variables) y “const” (para las constantes). Son letras de diferentes tipos de datos para guardar información en memoria. En este caso se definen como variables locales. Ejemplo:

• Componentes:Componentes:

Los componentes de un programa son los procedimientos y las funciones, los cuales son prácticamente lo mismo o cumplen los mismos objetivos.

La única diferencia entre estos dos componentes es que las funciones devuelven un valor específico (integer, char, string, boolean, etc.) por lo que las funciones son de un tipo de datos determinado.

• Identificadores:Identificadores:

Reglas:– No se pueden repetir.– No pueden ser iguales a ninguna palabra

reservada.– No pueden ser alfanuméricos.– No pueden llevar espacios.

• Tipos de datos:Tipos de datos:

– IntegerInteger:: Almacena datos numéricos (-32000,…,-3,-2,-1, 0, 1, 2, 3,…,32000).

– Char:Char: Almacena solo un carácter (“a”,”b”,”c”, etc.).

– StringString:: Almacena una cadena de caracteres. (“Pablo”,”González”,”Nombre”).

– Boolean:Boolean: Almacena datos de tipo booleano (“true”, “false”).

• Operadores aritméticos y lógicos:Operadores aritméticos y lógicos:– Aritméticos:

– Lógicos:

• Diseños de pantallas:Diseños de pantallas:

– clrscr:clrscr: Instrucción utilizada para limpiar la pantalla, borra todo lo que haya impreso en ella.

– gotoxy:gotoxy: Instrucción utilizada para ubicarse en un lugar determinado de la pantalla.

– textcolor:textcolor: Instrucción utilizada para cambiar el color de impresión del texto.

– textbackground:textbackground: Instrucción utilizada para cambiar el color de impresión del fondo del texto.

– blink:blink: Instrucción utilizada para hacer que el texto parpadee.

• Funciones estándar:Funciones estándar:

– sqr:sqr: Eleva un número al cuadrado. Ejemplo: cuadrado:=sqr(5); devuelve “25”.

– sqrt:sqrt: Saca la raíz cuadrada de un número. Ejemplo: raiz:=sqrt(25); devuelve “5”.

– mod:mod: Devuelve el residuo de una división. Ejemplo: residuo:=10 mod 2; devuelve “0” residuo:=7 mod 2; devuelve “1”.

– round:round: Redondea un valor numérico al entero más cercano. Ejemplo: round(4.2) devuelve “4”round(4.5) devuelve “5”.

– str:str: Convierte un valor numérico en string. Ejemplo: str(i,s) con “i” como el valor numérico y s como el string que devuelve la función.

– inc:inc: incrementa un valor numérico en uno o en “n”. Ejemplo: inc(a); incrementa “a” en 1. inc(a,3) incrementa “a” en 3.

– dec:dec: decrementa un valor numérico en uno o en “n”. Ejemplo: dec(a); decrementa “a” en 1. dec(a,3) decrementa “a” en 3.

Uso del If-Then-ElseEl “if” es un bucle o una condición, si se cumple la condición descrita en este realiza el procedimiento que sigue del “then”, si esta no se cumple realiza la el que sigue del “else”. Ejemplo:

Expresiones booleanas

Una expresión booleana puede tomar 2 valores, verdadero (true, 1) o falso (false, 0). Ejemplo: b:=true; con “b” como una variable booleana.

Desciones múltiples

Es cuando en un “if” se presentan dos o más condiciones, para dividir estas condiciones se utilizan los operadores booleanos and, or, not.Ejemplo: if b=true and cont=5 then

Decisiones anidadas

Es cuando se dan una o más condiciones dentro de de una condición, o sea un “if” dentro de un “if”. Ejemplo:

Estructura Case

La sentencia CASE ejecuta condicionalmente uno o más bloques de código de acuerdo con el resultado de una expresión aritmética que produzca un número entero, y para cada valor se ejecutará el bloque correspondiente.

Contadores y acumuladores

• Acumulador:Acumulador: Es una variable que va acumulando el resultado de una operación aritmética, por lo regular la suma. Ejemplo: i:= i + k;

• Contador:Contador: Es un acumulador donde la variable se incrementa en 1. Ejemplo: i:= i + 1;

Ciclos• For:For:

Conteo aritmético. El valor inicial se asigna a la variable contadora, que después se incrementa en uno (si se usa TO) o se decrementa en uno (si se usa DOWNTO) cada vez que se corre el bloque. Si se usa TO, esto se repite hasta que el valor de la variable contadora exceda el valor final. Si se usa el DOWNTO (segunda forma), esto se repite hasta que el valor de la variable contadora sea menor que el valor final. Ejemplo:

• While:While:

La idea es repetir un bloque de código hasta que una condición dada sea falsa y mientras sea verdadera. Un detalle a tener en cuenta es que la condición del While se verifica antes de ejecutarse el mismo, por lo que el While podría no ejecutarse nunca. Ejemplo:

• Repeat . . Until:Repeat . . Until: Repite el bloque hasta que una condición dada sea verdadera y mientras sea falsa. Nótese que la condición que detiene al Repeat no se revisa sino hasta el final del bloque. Ejemplo:

Ciclos anidados

• Es cuando se dan uno o más ciclos dentro de un ciclo. Ejemplo:

Estructura de datos• ConceptosConceptos

– Registros:Registros: Conjunto ordenado de elementos de datos de diferente tipo.– Arreglos:Arreglos: Conjunto ordenado de elementos de datos de un mismo tipo.– Pilas:Pilas: Vector de datos de un mismo tipo. FILO (Fist In Last Out).– Colas:Colas: Vector de datos de un mismo tipo. FIFO (First In First Out).– Listas:Listas: Conjunto ordenado de nodos, en los que cada nodo apunta al

siguiente, así hasta el último que dependiendo si la lista es o no circular apuntará a NIL o en su defecto al primer nodo.

– Árboles:Árboles: Estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos.

– Grafos:Grafos: Árboles no jerarquizados.

• Datos simples y estructurados:Datos simples y estructurados:

– Simples:Simples: Se definen como simples las estructuras como variables y constantes.

– Estructurados:Estructurados: Estos son las estructuras más complejas (registros, arreglos, árboles, etc.)

División de la memoria

• Estática:Estática: Se considera estático el espacio en memoria reservado por las estructuras: arreglos, variables, constantes, registros, pilas y colas.

• DinámicaDinámica: Se considera dinámico el espacio en memoria reservado por las estructuras: listas, árboles y grafos.

Arreglos• Concepto:Concepto:

Los “arrays” son tipos de datos estructurados, son un conjunto ordenado de elementos de datos homogéneos. Se declara de la siguiente forma:

• Características:Características:

– Finito:Finito: Todo arreglo tiene un límite, determinado por el programador.

– Homogéneo:Homogéneo: Todos los elementos de un arreglo son de un mismo tipo.

– Ordenado:Ordenado: Se puede determinar cuál es desde el primer hasta el enésimo elemento.

• Uso de índice:Uso de índice:

En los arreglos unidimensionales (vectores) existe un único índice cuya función es la de servir de puntero sobre el arreglo. En el caso de los arreglos bidimensionales (matrices) existen 2 índices que trabajan sobre esta estructura, uno que marca las horizontales y otro que marca los verticales. Al igual que en las matrices los arreglos multidimencionales tienen los 2 índices anteriormente explicados y un tercero que trabaja sobre un tercer plano, la profundidad.

• Operaciones con arreglos:Operaciones con arreglos:

– Incluir:

– Imprimir:

– Consultar:

– Modificar:

– Borrar

Conjuntos• ConceptoConcepto

Un conjunto es una colección de valores del mismo tipo de datos, este debe ser ordinal. El número máximo de valores que puede contener un conjunto es 256, o sea en el intervalo [0,256[.

• ObservacionesObservaciones

– Se pueden definir de forma anónima.– No se pueden leer o escribir directamente.

• Operaciones con conjuntosOperaciones con conjuntos

– Unión:Unión: Se expresa con el signo +, y su resultado es un conjunto formado por todos los elementos de los conjuntos dados sin repetir elementos.[‘A’..’C’] + [‘B’..’D’,’G’] + [‘A’,’E’,’I’,’O’,’U’] = [‘A’,‘B’,’C’,’D’,’E’,’G’,’I’,’O’,’U’]

– Intersección:Intersección: Se expresa con el signo *, y su resultado es un conjunto formado por los elementos que se repitan en los conjuntos dados[‘A’..’C’] * [‘B’..’F’] = [‘B’..’C’]

– Diferencia:Diferencia: Se expresa con el signo -, y su resultado es un conjunto formado por los elementos del primer conjunto que no se encuentran en el segundo.[‘A’..’C’] - [‘B’..’F’] = [‘A’]

– Inclusión:Inclusión: Se utilizan dos símbolos:• El símbolo <= representa que el primer conjunto es un subconjunto del segundo.

[‘A’..’D’] <= [‘A’,’C’,’D’,’E’] = false• El símbolo >= representa que el segundo conjunto es un subconjunto del primero.

[‘A’..’Z’] >= [‘A’,’H’,’C’] = true

– Pertenencia:Pertenencia: Se utiliza la palabra reservada in, se utiliza para saber si n elemento pertenece a un conjunto dado.‘A’ in [‘A’..’D’] * [‘A’,’D’,’F’] = true

Unidad Grafica• Conceptos

• Características– Mejor uso de la resolución.– Se trabaja con mayor número de píxeles.– Inicialización de colores.– Mejor presentación de los datos.

• Ventana gráficaCaptura o muestra una información en un rango determinado según las coordenadas (x,y).

• Instrucciones básicasInstrucciones básicas

– InitgraphInitgraph:: Inicia el modo gráfico de Pascal.– GetmaxXGetmaxX:: Da la máxima coordenada x.– GetmaxYGetmaxY:: Da la máxima coordenada y.– OuttextxyOuttextxy:: Despliega un texto dado en las coordenadas (x,y). Los

primeros dos parámetros son para las coordenadas y el tercero para el texto.

– CleardeviceCleardevice:: Limpia la pantalla, funciona como el clrscr del modo texto.– SettextstyleSettextstyle:: Le da formato al texto. Tiene tres parámetros, el primero

es el estilo de letra, el segundo es la dirección (horizontal, vertical) y el tercero es el tamaño. Tienen valores de 0 a 4, 0 ó 1, y de1 a 10 respectivamente.

– SetcolorSetcolor:: Fija un color determinado. Tiene valores de 0 a 15.– SetfillstyleSetfillstyle:: Fija el estilo de llenado y el color. Tiene valores de 1 a 12 y

de 0 a 15 respectivamente– SetbkcolorSetbkcolor:: Cambia el color de fondo. Tiene valores de 0 a 15.