SlideShare una empresa de Scribd logo
1 de 40
UNIVERSIDAD
PEDAGOGICA
NACIONAL
PROGRAMACION I
ORIENTADA A PASCAL
P R E U F O D
Etapas de la programación
El proceso de programación consta, teóricamente, de tres
partes:
1.- Especificación: consiste en detallar que tiene que hacer el programa
o, dicho de otra forma, concretar que problemas tiene que resolver
nuestro programa.
2.- Diseño: en esta se escribe el algoritmo que es el conjunto de pasos
que hay que realizar para resolver el problema planteado en la fase
de especificación
3.- Implementación: consiste de implementar el algoritmo en un lenguaje
de programación
Son un conjunto de reglas y símbolos que permiten la implementación de
los algoritmos.
En el caso de los lenguajes de alto nivel, estos son más cercanos a la
sintaxis humana y al programador mientras que los de bajo nivel son más
cercanos a las órdenes que entiende la máquina y en general más
alejados del lenguaje natural.
A consecuencia de esto los lenguajes de alto nivel se pueden emplear en
más de un sistema mientras que los de bajo nivel tienen un ámbito más
restringido. Los programas escritos en lenguajes de alto nivel tienen que
ser convertidos a lenguajes de bajo nivel para poder ser ejecutados en un
sistema. Con esta finalidad existen los compiladores y los intérpretes.
El compilador transforma el lenguaje de alto nivel en un lenguaje de bajo
nivel que suele ser código máquina (o sea, directamente ejecutable por el
procesador). Mientras que el intérprete codifica una o más instrucciones
de forma secuencial, a medida que las va leyendo.
Que son y como funcionan los lenguajes
de programación ?
El lenguaje Pascal
El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por
Niklaus Wirth con una finalidad eminentemente pedagógica. El 1983, el
Pascal fue estandarizado llamándose ISO Pascal, justo en el mismo año
en qué Borland lanzaría el Turbo Pascal 1.0, que sería el origen de una
saga de éxitos que constó de 7 versiones para el entorno Ms-Dos
Pascal incorpora un entorno de desarrollo integrado (IDE) en modo texto,
también se pueden emplear por ejemplo el Notepad para Windows.
También está muy bien el IDE totalmente integrado BloodShed's Dev-
Pascal
En cualquier caso es muy recomendable que el IDE o editor permita :
1.Resaltar la sintaxis de Pascal.
2.Ejecutar el compilador directamente desde el editor.
En algunos casos nos puede interesar emplear diferentes funciones y
procedimientos que están definidos en otros archivos. Esta especie de
almacenes de rutinas se llaman units y hay que explicitarlas cuando
queremos emplear alguna de sus rutinas en nuestro programa.
Las units estándar que incorpora Pascal son las siguientes :
Utilización de units
PARA TODAS LAS PLATAFORMAS
GETOPTS
Permite recuperar los parámetros pasados en la línea de
ordenes de un programa.
MMX
Aporta funcionalidad básica para el uso de las extensiones
multimedia de los procesadores INTEL.
OBJECTS Incorpora rutinas para gestionar objetos.
OBJPAS
Se emplea automáticamente cuando se activa el soporte
Delphi.
PORTS
Da acceso a los puertos I/O del PC. No se recomienda su uso
en Win32.
STRINGS Permite emplear el tipo de cadena PCHAR.
SYSUTILS
Implementación alternativa de la unit del mismo nombre en
Delphi.
TYPINFO
Permite acceder a la información de tipo en tiempo de ejecución,
como en Delphi.
PARA TODAS LAS PLATAFORMAS
PARA WINDOWS 32-BIT
DOS
Lleva rutinas de emulación de acceso al sistema DOS mediante
funciones del sistema de Windows.
CRT Rutinas básicas de gestión de la pantalla en modo texto.
GRAPH Gestión básica de gráficos.
WINDOWS
Esta unit permite acceder a las funciones de la API de 32-BIT de
Windows.
OPENGL Accede a les funciones de bajo nivel OpenGL de Windows 32-BIT.
WINMOUSE Funciones para emplear el ratón en Windows 32-BIT.
OLE2 Implementa las posibilidades OLE de Windows 32-BIT.
WINSOCK Interfaz a la API winsock de Windows 32-BIT.
SOCKETS
Encapsulación de WINSOCK de forma que sea compatible en
Windows 32-BIT y en Linux.
PARA WINDOWS 32-BIT
En la mayoría de ejemplos sólo emplearemos la unit CRT para mostrar
datos en modo texto. Para incluir una unit en nuestro programa
emplearemos la palabra reservada uses. Por ejemplo, si queremos incluir
las units CRT y GRAPH sólo habrá que añadir la siguiente cláusula
debajo de program :
uses CRT, GRAPH;
Cuando se emplee más de una unit se tendrá que separarlas en comas.
La línea siempre hay que finalizarla en punto y coma.
Declaración de constantes
Muchas veces puede ser útil emplear un valor numérico o un texto
determinado varias veces en un programa. Para evitar tener que definirlo
en cada punto que lo necesitemos emplearemos una referencia única en
todo el programa al que llamaremos constante.
Las constantes no varían en todo el programa y se declaran seguidas de la
palabra reservada const, un signo igual y el valor que representan. Por
ejemplo :
const
maximo = 1000;
e = 2.71828;
nombre = 'Roger Ferrer';
letra = 'a';
Declaración de variables y tipos de datos
fundamentales
Si pensamos en muchas fórmulas matemáticas veremos que emplean
variables en su expresión. Por ejemplo el área del triángulo es AT = b * h .
Cuando queremos calcular el area de un triángulo dado nos limitamos a
sustituir estas variables. En Pascal, y programación ocurre algo parecido.
Pascal exige que se declaren las variables que se emplearán. Las
variables pueden modificar su valor a lo largo del programa. Cada variable
tiene que ser de un tipo determinado. Los tipos de variables, llamados
tipos de datos, se dividen en cuatro grandes grupos fundamentales :
1. Numéricos: enteros o reales.
2. Alfanuméricos.: un carácter o una cadena de caracteres.
3. Booleanos: sólo pueden valer cierto o falso.
Tipos de Variables
Byte:
Entero corto natural, entre 0 y 255.
ShortInt: entero corto con signo, entre -128 y 127.
Integer:
Entero con signo, entre -32768 y 32767.
Word: entero natural, entre 0 y 65535.
LongInt:
Entero largo con signo, entre -2147483648 a
2147483647.
Tipos de Variables
Byte:
Entero corto natural, entre 0 y 255.
ShortInt: entero corto con signo, entre -128 y 127.
Integer:
Entero con signo, entre -32768 y 32767.
Word: entero natural, entre 0 y 65535.
LongInt:
Entero largo con signo, entre -2147483648 a
2147483647.
Tipos de Variables
Real:
Número real, con decimales.
Single:
Real, más corto.
Double:
Real, más largo.
Extended:
número real larguísimo.
Comp:
número real parecido a Double, más largo.
Boolean:
valor lógico (verdadero o falso), 1=V, 0=F
Comandos Básicos de Pascal
Fin de algoritmoEnd.
Fin de un subprocesoEnd;
Inicio de un (sub) procesoBegin
Seccion para declarar variablesVar
Comandos Básicos de Pascal
Lectura de una variable
cambiando de línea.
Readln(peso);
Lectura de una variable
sin cambiar de línea.
Read(peso);
Escribe texto/variable
cambiando de línea
Writeln([‘peso’]/[peso]);
Escribe texto/variable sin
cambiar de línea
Write([‘peso’]/[peso]);
Hola mundo (DF)
INICIO
FIN
‘Hola Mundo’
Hola Mundo (Pascal)
Begin
Write(‘Hola Mundo’);
End.
(DF)-Pascal
INICIO
FIN
‘Hola Mundo’
Begin
Write(‘Hola Mundo’);
End.
Leer un numero e imprimirlo (DF)
INICIO
FIN
Var:
numero
Lee numero
numero
Var
numero:integer;
Begin
Write(‘leer el numero’);
readln(numero);
Write(numero);
readln();
End.
Leer un numero e imprimirlo (Pascal)
(DF)-Pascal
INICIO
FIN
Var:
numero
Lee numero
numero
Var
numero:integer;
Begin
Write(‘leer el numero’);
readln(numero);
Write(numero);
readln();
End.
Tipos de Variables
Char:
Carácter (una sola letra, número o símbolo)
String:
Conjunto de letras, números y signos con espacio para
255 caracteres.
Estos dos últimos, al asignarles un valor, éste se debe
escribir entre comillas simples,
Por ejemplo:
Letra := 'a' (* Letra es Char *)
Nombre := 'Karen' (* Nombre es String *)
Salida de Información
Para mostrar información a pantalla desde pascal
se utiliza el comando Write() o Writeln(),
Como por ejemplo:
Con Write
…
Write(‘a’);
Write(‘b’);
Write(‘c’);
…
abc_
Salida de Información
Con Writeln
…
Writeln(‘a’);
Writeln(‘b’);
Writeln(‘c’);
…
a
b
c
_
Ingreso de Información
Para el ingreso de información se utiliza el
comando read() o readLn(), el comando es
independiente al tipo de la variable, es decir, que
no importa si es INTEGER, DOUBLE, o cualquiera
de las variables con las que cuenta PASCAL
De aquí en adelante se utilizara de forma exclusiva
Readln([variable]);
Ingreso de Información
Por ejemplo:
Var
i:integer;
j:double;
Begin
write(‘leer i:’);
readln(i);
write(‘leer j’);
readln(j);
readln();
End.
Operadores matemáticos
Operador: Suma
Símbolo : +
Tipo de datos a los que aplica: todos
Ejemplo:
x:=a + b;
Operadores matemáticos
Operador: Multiplicación
Símbolo : *
Tipo de datos a los que aplica: todo
Ejemplo:
x:=a * b;
Operadores matemáticos
Operador: División
Símbolo : /
Tipo de datos a los que aplica:
Decimales
Ejemplo:
x:=a / b;
Operadores matemáticos
Operador: división
Símbolo : div
Tipo de datos a los que aplica: Entero
Ejemplo:
x:=a div b;
Operadores matemáticos
Operador: modulo o residuo
Símbolo : mod
Tipo de dato a los que aplica: Entero
Ejemplo:
x:=a mod b;
Funciones mas comunes en pascal
Abs(x) Valor absoluto (|x|)
Random(x) Número al azar entre 0 y x (para que no
se repitan usa Randomize;)
Sqrt(x) Raíz cuadrada de x
Trunc(x) Parte entera de un número real x
(Trunc(3.141593) = 3)
Frac(x) Parte fraccionaria de un número real x
(opuesto a Trunc)
Funciones mas comunes en pascal
Ord(x) Código de una letra,
p. ej. Ord('A') = 65
Chr(x) Letra correspondiente al código,
p. ej. Chr(65) = 'A'
Concat(s1,s2) Une las cadenas s1 y s2 en otra cadena
Length(s) Muestra el tamaño de una cadena,
ej: Length('Alvaro') = 6
Funciones mas comunes en pascal
Arctan(x) Convierte x a radianes
Sin(x) Seno de x
Cos(x) Coseno de x
Exp(x) Número irracional e (2.718281828...)
elevado a x.
Funciones mas comunes en pascal
Round(x) Redondea x
(lo aproxima al entero más cercano)
Int(x) Parte entera del número x
Ln(x) Logaritmo natural/neperiano del número x
Sqr(x) Cuadrado de x
Operadores lógicos
= Igual A = b
> Mayor que A > b
< Menor que A < b
>= Mayor o igual que A >= b
<= Menor o igual que A <= b
<> Distinto a A <> b
Algebra boleana
valor operador valor resultado
True And True True
true And False False
false And true False
false and false false
Algebra boleana
valor operador valor resultado
True Or True True
true Or False True
false Or true True
false or false false
Expresiones Lógicas
Un enunciado es una sentencia de la cual se puede decir si
es verdadera o falsa. En Pascal existen diversos símbolos
para construir enunciados lógicos. Estos enunciados se
utilizan luego para alterar el flujo del programa. Los
enunciados también son llamados expresiones booleanas o
lógicas.
Las tablas de verdad de los conectivos lógicos son:
P NOT( P )
V F
F V
P P AND Q Q
V V V
V F F
F F V
F F F
P P OR Q Q
V V V
V V F
F V V
F F F
El resultado de una expresión lógica puede ser guardado en una
variable de tipo boolean. TRUE y FALSE son constantes que
representan los valores verdadero y falso respectivamente. Si uno
intenta imprimir con la instrucción writeln el contenido de una
variable de tipo boolean obtendrá TRUE o FALSE como resultado
en la pantalla.
Ejemplos con expresiones lógicas:
program ejemploExpresionesLogicas1;
begin
writeln(2 < 5);
end.
{el resultado es: TRUE}
program ejemploExpresionesLogicas1;
begin
writeln(2 < 5);
end.
{el resultado es: TRUE}
program ejemploExpresionesLogicas2;
begin
writeln(2 < 1);
end.
{el resultado es: FALSE}
program ejemploExpresionesLogicas2;
begin
writeln(2 < 1);
end.
{el resultado es: FALSE}program ejemploExpresionesLogicas3;
begin
writeln(1 < 1);
end.
{el resultado es: FALSE}
program ejemploExpresionesLogicas3;
begin
writeln(1 < 1);
end.
{el resultado es: FALSE}
program ejemploExpresionesLogicas4;
var
a : boolean;
begin
a := (8 >= 8);
writeln(a);
end.
{el resultado es: TRUE
program ejemploExpresionesLogicas4;
var
a : boolean;
begin
a := (8 >= 8);
writeln(a);
end.
{el resultado es: TRUE
program ejemploExpresionesLogicas5;
var
a : boolean;
begin
a := (8 = 8) AND (2 > 1);
writeln(a);
end.
{el resultado es: TRUE}
program ejemploExpresionesLogicas5;
var
a : boolean;
begin
a := (8 = 8) AND (2 > 1);
writeln(a);
end.
{el resultado es: TRUE} program ejemploExpresionesLogicas6;
var
a, b, c : boolean;
begin
a := (8 = 8);
b := (2 > 1);
c := (a AND b);
writeln(a);PASCALlogica6.pas
end.
{el resultado es: TRUE}
program ejemploExpresionesLogicas6;
var
a, b, c : boolean;
begin
a := (8 = 8);
b := (2 > 1);
c := (a AND b);
writeln(a);PASCALlogica6.pas
end.
{el resultado es: TRUE}
program ejemploExpresionesLogicas7
var
a, b, c : boolean;
begin
a := (8 = 8);
b := (2 > 1);
c := a AND ( NOT(b) ) ;
writeln(c);
end.
{el resultado es: FALSE}
program ejemploExpresionesLogicas7
var
a, b, c : boolean;
begin
a := (8 = 8);
b := (2 > 1);
c := a AND ( NOT(b) ) ;
writeln(c);
end.
{el resultado es: FALSE}

Más contenido relacionado

La actualidad más candente

Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 
Proyecto de base de datos
Proyecto de base de datosProyecto de base de datos
Proyecto de base de datosLissette Alerak
 
La minoridad Y sus Generalidades
La minoridad Y sus GeneralidadesLa minoridad Y sus Generalidades
La minoridad Y sus GeneralidadesGeraldineJuarez1
 
Métodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesMétodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesCesar Mendoza
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensambladorgbermeo
 
Creación de tablas y relaciones en MySQL y wamp server
Creación de tablas y relaciones en MySQL y  wamp serverCreación de tablas y relaciones en MySQL y  wamp server
Creación de tablas y relaciones en MySQL y wamp serverJair Ospino Ardila
 
Derecho constitucional, Apuntes Derecho Constitucional
Derecho constitucional, Apuntes Derecho Constitucional Derecho constitucional, Apuntes Derecho Constitucional
Derecho constitucional, Apuntes Derecho Constitucional Edwin Ziga
 
2.1 metodo de intervalo
2.1 metodo de intervalo2.1 metodo de intervalo
2.1 metodo de intervalomorenito9001
 
Algoritmos computacionales y programación: 3
Algoritmos computacionales y programación: 3Algoritmos computacionales y programación: 3
Algoritmos computacionales y programación: 3Universidad Veracruzana
 
Poder constituyente
Poder constituyentePoder constituyente
Poder constituyenteElena Tapias
 
Parcial (estructuras repetitivas"for y while" - herrmanientas case)
Parcial (estructuras repetitivas"for y while" - herrmanientas case)Parcial (estructuras repetitivas"for y while" - herrmanientas case)
Parcial (estructuras repetitivas"for y while" - herrmanientas case)Maria B. Ramos Osorio
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructuraProf. Javier Troya
 
Definición de Subprograma
Definición de SubprogramaDefinición de Subprograma
Definición de SubprogramaFernando Solis
 

La actualidad más candente (20)

Arreglos de registros
Arreglos de registros Arreglos de registros
Arreglos de registros
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Programacion de Cadenas
Programacion de CadenasProgramacion de Cadenas
Programacion de Cadenas
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
Proyecto de base de datos
Proyecto de base de datosProyecto de base de datos
Proyecto de base de datos
 
La minoridad Y sus Generalidades
La minoridad Y sus GeneralidadesLa minoridad Y sus Generalidades
La minoridad Y sus Generalidades
 
Métodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones linealesMétodos directos para solución de sistemas ecuaciones lineales
Métodos directos para solución de sistemas ecuaciones lineales
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Subjetos del derecho
Subjetos del derechoSubjetos del derecho
Subjetos del derecho
 
Fuentes del Derecho
Fuentes del DerechoFuentes del Derecho
Fuentes del Derecho
 
Creación de tablas y relaciones en MySQL y wamp server
Creación de tablas y relaciones en MySQL y  wamp serverCreación de tablas y relaciones en MySQL y  wamp server
Creación de tablas y relaciones en MySQL y wamp server
 
Sujeto de derecho
Sujeto de derechoSujeto de derecho
Sujeto de derecho
 
Derecho constitucional, Apuntes Derecho Constitucional
Derecho constitucional, Apuntes Derecho Constitucional Derecho constitucional, Apuntes Derecho Constitucional
Derecho constitucional, Apuntes Derecho Constitucional
 
2.1 metodo de intervalo
2.1 metodo de intervalo2.1 metodo de intervalo
2.1 metodo de intervalo
 
El derecho indiano
El derecho indiano El derecho indiano
El derecho indiano
 
Algoritmos computacionales y programación: 3
Algoritmos computacionales y programación: 3Algoritmos computacionales y programación: 3
Algoritmos computacionales y programación: 3
 
Poder constituyente
Poder constituyentePoder constituyente
Poder constituyente
 
Parcial (estructuras repetitivas"for y while" - herrmanientas case)
Parcial (estructuras repetitivas"for y while" - herrmanientas case)Parcial (estructuras repetitivas"for y while" - herrmanientas case)
Parcial (estructuras repetitivas"for y while" - herrmanientas case)
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructura
 
Definición de Subprograma
Definición de SubprogramaDefinición de Subprograma
Definición de Subprograma
 

Similar a Int. programacion

Similar a Int. programacion (20)

Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
 
Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)
 
Pascal
PascalPascal
Pascal
 
P01 secuencial
P01 secuencialP01 secuencial
P01 secuencial
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
PROGRAMACIÓN EN C
PROGRAMACIÓN EN CPROGRAMACIÓN EN C
PROGRAMACIÓN EN C
 
PROGRAMACION EN C
PROGRAMACION EN CPROGRAMACION EN C
PROGRAMACION EN C
 
Programacion c
Programacion cProgramacion c
Programacion c
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Visual
VisualVisual
Visual
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacion
 
Moviles
MovilesMoviles
Moviles
 
Moviles
MovilesMoviles
Moviles
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
 
Xd1
Xd1Xd1
Xd1
 
Pascal
PascalPascal
Pascal
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
 
Tutorial C
Tutorial CTutorial C
Tutorial C
 

Int. programacion

  • 2. Etapas de la programación El proceso de programación consta, teóricamente, de tres partes: 1.- Especificación: consiste en detallar que tiene que hacer el programa o, dicho de otra forma, concretar que problemas tiene que resolver nuestro programa. 2.- Diseño: en esta se escribe el algoritmo que es el conjunto de pasos que hay que realizar para resolver el problema planteado en la fase de especificación 3.- Implementación: consiste de implementar el algoritmo en un lenguaje de programación
  • 3. Son un conjunto de reglas y símbolos que permiten la implementación de los algoritmos. En el caso de los lenguajes de alto nivel, estos son más cercanos a la sintaxis humana y al programador mientras que los de bajo nivel son más cercanos a las órdenes que entiende la máquina y en general más alejados del lenguaje natural. A consecuencia de esto los lenguajes de alto nivel se pueden emplear en más de un sistema mientras que los de bajo nivel tienen un ámbito más restringido. Los programas escritos en lenguajes de alto nivel tienen que ser convertidos a lenguajes de bajo nivel para poder ser ejecutados en un sistema. Con esta finalidad existen los compiladores y los intérpretes. El compilador transforma el lenguaje de alto nivel en un lenguaje de bajo nivel que suele ser código máquina (o sea, directamente ejecutable por el procesador). Mientras que el intérprete codifica una o más instrucciones de forma secuencial, a medida que las va leyendo. Que son y como funcionan los lenguajes de programación ?
  • 4. El lenguaje Pascal El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica. El 1983, el Pascal fue estandarizado llamándose ISO Pascal, justo en el mismo año en qué Borland lanzaría el Turbo Pascal 1.0, que sería el origen de una saga de éxitos que constó de 7 versiones para el entorno Ms-Dos Pascal incorpora un entorno de desarrollo integrado (IDE) en modo texto, también se pueden emplear por ejemplo el Notepad para Windows. También está muy bien el IDE totalmente integrado BloodShed's Dev- Pascal En cualquier caso es muy recomendable que el IDE o editor permita : 1.Resaltar la sintaxis de Pascal. 2.Ejecutar el compilador directamente desde el editor.
  • 5. En algunos casos nos puede interesar emplear diferentes funciones y procedimientos que están definidos en otros archivos. Esta especie de almacenes de rutinas se llaman units y hay que explicitarlas cuando queremos emplear alguna de sus rutinas en nuestro programa. Las units estándar que incorpora Pascal son las siguientes : Utilización de units PARA TODAS LAS PLATAFORMAS GETOPTS Permite recuperar los parámetros pasados en la línea de ordenes de un programa. MMX Aporta funcionalidad básica para el uso de las extensiones multimedia de los procesadores INTEL. OBJECTS Incorpora rutinas para gestionar objetos. OBJPAS Se emplea automáticamente cuando se activa el soporte Delphi. PORTS Da acceso a los puertos I/O del PC. No se recomienda su uso en Win32.
  • 6. STRINGS Permite emplear el tipo de cadena PCHAR. SYSUTILS Implementación alternativa de la unit del mismo nombre en Delphi. TYPINFO Permite acceder a la información de tipo en tiempo de ejecución, como en Delphi. PARA TODAS LAS PLATAFORMAS PARA WINDOWS 32-BIT DOS Lleva rutinas de emulación de acceso al sistema DOS mediante funciones del sistema de Windows. CRT Rutinas básicas de gestión de la pantalla en modo texto. GRAPH Gestión básica de gráficos. WINDOWS Esta unit permite acceder a las funciones de la API de 32-BIT de Windows. OPENGL Accede a les funciones de bajo nivel OpenGL de Windows 32-BIT. WINMOUSE Funciones para emplear el ratón en Windows 32-BIT.
  • 7. OLE2 Implementa las posibilidades OLE de Windows 32-BIT. WINSOCK Interfaz a la API winsock de Windows 32-BIT. SOCKETS Encapsulación de WINSOCK de forma que sea compatible en Windows 32-BIT y en Linux. PARA WINDOWS 32-BIT En la mayoría de ejemplos sólo emplearemos la unit CRT para mostrar datos en modo texto. Para incluir una unit en nuestro programa emplearemos la palabra reservada uses. Por ejemplo, si queremos incluir las units CRT y GRAPH sólo habrá que añadir la siguiente cláusula debajo de program : uses CRT, GRAPH; Cuando se emplee más de una unit se tendrá que separarlas en comas. La línea siempre hay que finalizarla en punto y coma.
  • 8. Declaración de constantes Muchas veces puede ser útil emplear un valor numérico o un texto determinado varias veces en un programa. Para evitar tener que definirlo en cada punto que lo necesitemos emplearemos una referencia única en todo el programa al que llamaremos constante. Las constantes no varían en todo el programa y se declaran seguidas de la palabra reservada const, un signo igual y el valor que representan. Por ejemplo : const maximo = 1000; e = 2.71828; nombre = 'Roger Ferrer'; letra = 'a';
  • 9. Declaración de variables y tipos de datos fundamentales Si pensamos en muchas fórmulas matemáticas veremos que emplean variables en su expresión. Por ejemplo el área del triángulo es AT = b * h . Cuando queremos calcular el area de un triángulo dado nos limitamos a sustituir estas variables. En Pascal, y programación ocurre algo parecido. Pascal exige que se declaren las variables que se emplearán. Las variables pueden modificar su valor a lo largo del programa. Cada variable tiene que ser de un tipo determinado. Los tipos de variables, llamados tipos de datos, se dividen en cuatro grandes grupos fundamentales : 1. Numéricos: enteros o reales. 2. Alfanuméricos.: un carácter o una cadena de caracteres. 3. Booleanos: sólo pueden valer cierto o falso.
  • 10. Tipos de Variables Byte: Entero corto natural, entre 0 y 255. ShortInt: entero corto con signo, entre -128 y 127. Integer: Entero con signo, entre -32768 y 32767. Word: entero natural, entre 0 y 65535. LongInt: Entero largo con signo, entre -2147483648 a 2147483647.
  • 11. Tipos de Variables Byte: Entero corto natural, entre 0 y 255. ShortInt: entero corto con signo, entre -128 y 127. Integer: Entero con signo, entre -32768 y 32767. Word: entero natural, entre 0 y 65535. LongInt: Entero largo con signo, entre -2147483648 a 2147483647.
  • 12. Tipos de Variables Real: Número real, con decimales. Single: Real, más corto. Double: Real, más largo. Extended: número real larguísimo. Comp: número real parecido a Double, más largo. Boolean: valor lógico (verdadero o falso), 1=V, 0=F
  • 13. Comandos Básicos de Pascal Fin de algoritmoEnd. Fin de un subprocesoEnd; Inicio de un (sub) procesoBegin Seccion para declarar variablesVar
  • 14. Comandos Básicos de Pascal Lectura de una variable cambiando de línea. Readln(peso); Lectura de una variable sin cambiar de línea. Read(peso); Escribe texto/variable cambiando de línea Writeln([‘peso’]/[peso]); Escribe texto/variable sin cambiar de línea Write([‘peso’]/[peso]);
  • 18. Leer un numero e imprimirlo (DF) INICIO FIN Var: numero Lee numero numero
  • 21. Tipos de Variables Char: Carácter (una sola letra, número o símbolo) String: Conjunto de letras, números y signos con espacio para 255 caracteres. Estos dos últimos, al asignarles un valor, éste se debe escribir entre comillas simples, Por ejemplo: Letra := 'a' (* Letra es Char *) Nombre := 'Karen' (* Nombre es String *)
  • 22. Salida de Información Para mostrar información a pantalla desde pascal se utiliza el comando Write() o Writeln(), Como por ejemplo: Con Write … Write(‘a’); Write(‘b’); Write(‘c’); … abc_
  • 23. Salida de Información Con Writeln … Writeln(‘a’); Writeln(‘b’); Writeln(‘c’); … a b c _
  • 24. Ingreso de Información Para el ingreso de información se utiliza el comando read() o readLn(), el comando es independiente al tipo de la variable, es decir, que no importa si es INTEGER, DOUBLE, o cualquiera de las variables con las que cuenta PASCAL De aquí en adelante se utilizara de forma exclusiva Readln([variable]);
  • 25. Ingreso de Información Por ejemplo: Var i:integer; j:double; Begin write(‘leer i:’); readln(i); write(‘leer j’); readln(j); readln(); End.
  • 26. Operadores matemáticos Operador: Suma Símbolo : + Tipo de datos a los que aplica: todos Ejemplo: x:=a + b;
  • 27. Operadores matemáticos Operador: Multiplicación Símbolo : * Tipo de datos a los que aplica: todo Ejemplo: x:=a * b;
  • 28. Operadores matemáticos Operador: División Símbolo : / Tipo de datos a los que aplica: Decimales Ejemplo: x:=a / b;
  • 29. Operadores matemáticos Operador: división Símbolo : div Tipo de datos a los que aplica: Entero Ejemplo: x:=a div b;
  • 30. Operadores matemáticos Operador: modulo o residuo Símbolo : mod Tipo de dato a los que aplica: Entero Ejemplo: x:=a mod b;
  • 31. Funciones mas comunes en pascal Abs(x) Valor absoluto (|x|) Random(x) Número al azar entre 0 y x (para que no se repitan usa Randomize;) Sqrt(x) Raíz cuadrada de x Trunc(x) Parte entera de un número real x (Trunc(3.141593) = 3) Frac(x) Parte fraccionaria de un número real x (opuesto a Trunc)
  • 32. Funciones mas comunes en pascal Ord(x) Código de una letra, p. ej. Ord('A') = 65 Chr(x) Letra correspondiente al código, p. ej. Chr(65) = 'A' Concat(s1,s2) Une las cadenas s1 y s2 en otra cadena Length(s) Muestra el tamaño de una cadena, ej: Length('Alvaro') = 6
  • 33. Funciones mas comunes en pascal Arctan(x) Convierte x a radianes Sin(x) Seno de x Cos(x) Coseno de x Exp(x) Número irracional e (2.718281828...) elevado a x.
  • 34. Funciones mas comunes en pascal Round(x) Redondea x (lo aproxima al entero más cercano) Int(x) Parte entera del número x Ln(x) Logaritmo natural/neperiano del número x Sqr(x) Cuadrado de x
  • 35. Operadores lógicos = Igual A = b > Mayor que A > b < Menor que A < b >= Mayor o igual que A >= b <= Menor o igual que A <= b <> Distinto a A <> b
  • 36. Algebra boleana valor operador valor resultado True And True True true And False False false And true False false and false false
  • 37. Algebra boleana valor operador valor resultado True Or True True true Or False True false Or true True false or false false
  • 38. Expresiones Lógicas Un enunciado es una sentencia de la cual se puede decir si es verdadera o falsa. En Pascal existen diversos símbolos para construir enunciados lógicos. Estos enunciados se utilizan luego para alterar el flujo del programa. Los enunciados también son llamados expresiones booleanas o lógicas. Las tablas de verdad de los conectivos lógicos son: P NOT( P ) V F F V P P AND Q Q V V V V F F F F V F F F P P OR Q Q V V V V V F F V V F F F El resultado de una expresión lógica puede ser guardado en una variable de tipo boolean. TRUE y FALSE son constantes que representan los valores verdadero y falso respectivamente. Si uno intenta imprimir con la instrucción writeln el contenido de una variable de tipo boolean obtendrá TRUE o FALSE como resultado en la pantalla.
  • 39. Ejemplos con expresiones lógicas: program ejemploExpresionesLogicas1; begin writeln(2 < 5); end. {el resultado es: TRUE} program ejemploExpresionesLogicas1; begin writeln(2 < 5); end. {el resultado es: TRUE} program ejemploExpresionesLogicas2; begin writeln(2 < 1); end. {el resultado es: FALSE} program ejemploExpresionesLogicas2; begin writeln(2 < 1); end. {el resultado es: FALSE}program ejemploExpresionesLogicas3; begin writeln(1 < 1); end. {el resultado es: FALSE} program ejemploExpresionesLogicas3; begin writeln(1 < 1); end. {el resultado es: FALSE} program ejemploExpresionesLogicas4; var a : boolean; begin a := (8 >= 8); writeln(a); end. {el resultado es: TRUE program ejemploExpresionesLogicas4; var a : boolean; begin a := (8 >= 8); writeln(a); end. {el resultado es: TRUE
  • 40. program ejemploExpresionesLogicas5; var a : boolean; begin a := (8 = 8) AND (2 > 1); writeln(a); end. {el resultado es: TRUE} program ejemploExpresionesLogicas5; var a : boolean; begin a := (8 = 8) AND (2 > 1); writeln(a); end. {el resultado es: TRUE} program ejemploExpresionesLogicas6; var a, b, c : boolean; begin a := (8 = 8); b := (2 > 1); c := (a AND b); writeln(a);PASCALlogica6.pas end. {el resultado es: TRUE} program ejemploExpresionesLogicas6; var a, b, c : boolean; begin a := (8 = 8); b := (2 > 1); c := (a AND b); writeln(a);PASCALlogica6.pas end. {el resultado es: TRUE} program ejemploExpresionesLogicas7 var a, b, c : boolean; begin a := (8 = 8); b := (2 > 1); c := a AND ( NOT(b) ) ; writeln(c); end. {el resultado es: FALSE} program ejemploExpresionesLogicas7 var a, b, c : boolean; begin a := (8 = 8); b := (2 > 1); c := a AND ( NOT(b) ) ; writeln(c); end. {el resultado es: FALSE}