Introducción a PASCAL

32
Introducción a Introducción a PASCAL PASCAL CLSI, diciembre 2006 CLSI, diciembre 2006

Transcript of Introducción a PASCAL

Page 1: Introducción a PASCAL

Introducción aIntroducción aPASCALPASCAL

CLSI, diciembre 2006CLSI, diciembre 2006

Page 2: Introducción a PASCAL

�� Desarrollado por Desarrollado por NiklausNiklaus WirthWirth (finales 60s)(finales 60s)

�� Basado en ARGOL60Basado en ARGOL60

�� Diseñado para aprendizaje de la programación Diseñado para aprendizaje de la programación

�� Lenguaje de alto nivelLenguaje de alto nivel

�� Inicio de la programación estructuradaInicio de la programación estructurada

�� Potente y flexible, muy extendidoPotente y flexible, muy extendido

�� Base para muchos lenguajes modernosBase para muchos lenguajes modernos

BásicosBásicos

Page 3: Introducción a PASCAL

Entornos de programaciónEntornos de programación

�� Múltiples compiladores y versionesMúltiples compiladores y versiones

�� Entornos de pago:Entornos de pago:�� Turbo Pascal, Microsoft Turbo Pascal, Microsoft Pascal…Pascal…

�� Entornos gratuitos:Entornos gratuitos:�� FreePascalFreePascal, GNU Pascal, , GNU Pascal, SURPas…SURPas…

�� Pocas diferencias de uno a otroPocas diferencias de uno a otro

�� Más extendido: Turbo Pascal (Más extendido: Turbo Pascal (BorlandBorland))�� Licencia de 50$ USALicencia de 50$ USA

Page 4: Introducción a PASCAL

Turbo Pascal v. 7Turbo Pascal v. 7

�� Actualmente versión liberada (distribuida Actualmente versión liberada (distribuida de forma gratuita) por parte de de forma gratuita) por parte de BorlandBorland

�� Diseñada para Microsoft DOSDiseñada para Microsoft DOS

�� Totalmente Totalmente compatible compatible con Windowscon Windows

Page 5: Introducción a PASCAL

Turbo Pascal v.7Turbo Pascal v.7

�� Menú FILEMenú FILE�� AbirAbir, guardar, imprimir, , guardar, imprimir,

salir, cambiar directorio, salir, cambiar directorio, consola de MS Dosconsola de MS Dos

�� Menú EDITMenú EDIT�� Copiar, cortar, pegar, Copiar, cortar, pegar,

deshacer, rehacer, borrar, deshacer, rehacer, borrar, mostrar portapapelesmostrar portapapeles

Page 6: Introducción a PASCAL

Turbo Pascal v.7Turbo Pascal v.7

�� Menú RUNMenú RUN�� Ejecutar, paso a paso, Ejecutar, paso a paso,

ejecutar hasta, reiniciar ejecutar hasta, reiniciar programa, introducir programa, introducir parámetrosparámetros

�� Menú SEARCHMenú SEARCH�� Buscar, remplazar, ir a Buscar, remplazar, ir a

línea, buscar errores, línea, buscar errores, buscar buscar procedimientos…procedimientos…

Page 7: Introducción a PASCAL

Turbo Pascal v.7Turbo Pascal v.7

�� Menú COMPILEMenú COMPILE�� Compilar, crear ejecutable, Compilar, crear ejecutable,

recompilar archivo, recompilar archivo, mostrar información, elegir mostrar información, elegir partes externaspartes externas

�� Menú DEBUGMenú DEBUG�� Puntos de parada, mostrar Puntos de parada, mostrar

el procedimiento que el procedimiento que llama, abrir pantallas de llama, abrir pantallas de informacióninformación

Page 8: Introducción a PASCAL

Turbo Pascal v.7Turbo Pascal v.7

�� Menú OPTIONSMenú OPTIONS�� Permite modificar muchas Permite modificar muchas

funciones y componentes funciones y componentes de varias partes del de varias partes del compiladorcompilador

�� Menú TOOLSMenú TOOLS�� Mostrar mensajes, ir a Mostrar mensajes, ir a

otras partes del origen, otras partes del origen, ejecutar ejecutar GrepGrep (opcional)(opcional)

Page 9: Introducción a PASCAL

Turbo Pascal v.7Turbo Pascal v.7

�� Menú HELPMenú HELP�� Muestra la ayuda e Muestra la ayuda e

información general sobre información general sobre el compilador y el lenguajeel compilador y el lenguaje

�� Menú WINDOWMenú WINDOW�� Ordenar ventanas, Ordenar ventanas,

cerrarlas, pasar de unas a cerrarlas, pasar de unas a otras…otras…

Page 10: Introducción a PASCAL

Uso de sentencias básicasUso de sentencias básicas

�� Los programas en Pascal se dividen en 3 Los programas en Pascal se dividen en 3 partes: cabecera, sección de declaraciones partes: cabecera, sección de declaraciones y código de programay código de programa

�� Además, cada subprograma adicional ha Además, cada subprograma adicional ha de contener también estas 3 partesde contener también estas 3 partes

�� Obligatorio uso de “ ; ” al acabar cada Obligatorio uso de “ ; ” al acabar cada instruccióninstrucción

Page 11: Introducción a PASCAL

Uso de sentencias básicasUso de sentencias básicas

�� Cabecera:Cabecera:�� Nombrar el programaNombrar el programa

�� Palabra clave: Palabra clave: programprogram

Page 12: Introducción a PASCAL

Uso de sentencias básicasUso de sentencias básicas

�� Sección de declaraciones:Sección de declaraciones:�� Definición de variables, constantes y tipos de Definición de variables, constantes y tipos de datos personalizados.datos personalizados.

�� Palabras clave: Palabras clave: varvar, , constconst, , typetype

Page 13: Introducción a PASCAL

Uso de sentencias básicasUso de sentencias básicas

�� Código de programa:Código de programa:

�� Todo el código a ejecutarTodo el código a ejecutar

�� Palabras clave: Palabras clave: beginbegin y y endend..

Page 14: Introducción a PASCAL

Uso de sentencias básicasUso de sentencias básicas

�� Código de programa:Código de programa:�� Todo el código a ejecutarTodo el código a ejecutar

�� Los programas se inician con la palabra “ Los programas se inician con la palabra “ beginbegin ” y ” y han de acabar con la palabra “ han de acabar con la palabra “ endend. ” (el punto es . ” (el punto es obligatorio)obligatorio)

�� Dentro del programa podemos llamar a otros Dentro del programa podemos llamar a otros subprogramassubprogramas

�� Algunas sentencias disponibles:Algunas sentencias disponibles:�� Entrada (Entrada (readread) y salida () y salida (writewrite))

�� Sentencias condicionales (Sentencias condicionales (ifif ___ ___ thenthen ___ ___ elseelse ___) y ___) y (case ___ (case ___ ofof))

�� Diferentes bucles (ej. Diferentes bucles (ej. WHILE ___ _ ___ DO ___)WHILE ___ _ ___ DO ___)

�� Vectores y registros (ej. Vectores y registros (ej. _ = ARRAY [ _ , _ ] OF ___)_ = ARRAY [ _ , _ ] OF ___)

Page 15: Introducción a PASCAL

Sentencias de entrada y salidaSentencias de entrada y salida

�� Entrada: Entrada: readread

�� Introduce en una variable los datos Introduce en una variable los datos introducidos por tecladointroducidos por teclado

�� Salida: Salida: writewrite

�� Imprime por pantalla (defecto) o también si Imprime por pantalla (defecto) o también si se especifica por impresora o fichero los datos se especifica por impresora o fichero los datos de una variable o los introducidosde una variable o los introducidos

�� Para cambiar de línea añadimos el sufijo Para cambiar de línea añadimos el sufijo ““lnln” a las palabras ” a las palabras readread y y writewrite

Page 16: Introducción a PASCAL

Sentencias de entrada y salidaSentencias de entrada y salida

�� Ejemplos:Ejemplos:

Page 17: Introducción a PASCAL

Sentencias condicionalesSentencias condicionales

�� Una sola condición:Una sola condición:

�� Comprueba el valor de una variable y ejecuta Comprueba el valor de una variable y ejecuta una parte del código si se cumple.una parte del código si se cumple.

�� El código acaba al encontrar el “;”El código acaba al encontrar el “;”

�� Varias condiciones:Varias condiciones:

�� Comprueba el valor de una variable con Comprueba el valor de una variable con diferentes posibilidades y ejecuta el código diferentes posibilidades y ejecuta el código estipulado para esa condición en concretoestipulado para esa condición en concreto

Page 18: Introducción a PASCAL

Sentencias condicionalesSentencias condicionales

�� Ejemplos una sola condición:Ejemplos una sola condición:

Page 19: Introducción a PASCAL

Sentencias condicionalesSentencias condicionales

�� Ejemplos varias condiciones:Ejemplos varias condiciones:

Page 20: Introducción a PASCAL

Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)

�� Repetir hasta que se cumpla la condición:Repetir hasta que se cumpla la condición:

�� Compara si no se cumple la condición dada, y Compara si no se cumple la condición dada, y si es así repite el mismo código hasta que se si es así repite el mismo código hasta que se cumplacumpla

�� Estructura:Estructura:

�� repeatrepeat_sentencias__sentencias_

_sentencias__sentencias_

untiluntil _condición__condición_

Page 21: Introducción a PASCAL

Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)

�� Ejemplo:Ejemplo:

Page 22: Introducción a PASCAL

Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)

�� Mientras se cumpla una condición:Mientras se cumpla una condición:

�� Compara si se cumple la condición dada, y si Compara si se cumple la condición dada, y si es así repite el mismo código hasta que deje es así repite el mismo código hasta que deje de cumplirsede cumplirse

�� Estructura:Estructura:

�� whilewhile _condición_ DO_condición_ DObeginbegin

_sentencias__sentencias_

_sentencias__sentencias_

endend;;

Page 23: Introducción a PASCAL

Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)

�� Ejemplo:Ejemplo:

Page 24: Introducción a PASCAL

Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)

�� Repetir un número fijo de veces:Repetir un número fijo de veces:

�� Repite el código del bucle un número de Repite el código del bucle un número de veces ya establecidoveces ya establecido

�� Estructura:Estructura:

�� forfor k :=1 k :=1 toto 25 do25 dobeginbegin

_sentencias__sentencias_

_sentencias__sentencias_

endend;;

Page 25: Introducción a PASCAL

Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)

�� Ejemplo:Ejemplo:

Page 26: Introducción a PASCAL

Estructuras de datosEstructuras de datos

�� VectoresVectores�� Todos los datos son del mismo tipoTodos los datos son del mismo tipo

�� Se accede mediante índicesSe accede mediante índices

�� 1 dimensión1 dimensión

�� 2 o más dimensiones >>> matrices2 o más dimensiones >>> matrices

�� RegistrosRegistros�� Varios campos de diferentes tiposVarios campos de diferentes tipos

�� Se accede mediante nombresSe accede mediante nombres

�� Es obligatorio declararlos para poderlos utilizarEs obligatorio declararlos para poderlos utilizar

Page 27: Introducción a PASCAL

Estructuras de datosEstructuras de datos

�� Ejemplo definición de un vector:Ejemplo definición de un vector:

Page 28: Introducción a PASCAL

Estructuras de datosEstructuras de datos

�� Ejemplo acceso a un vector:Ejemplo acceso a un vector:

Page 29: Introducción a PASCAL

Estructuras de datosEstructuras de datos

�� Ejemplo definición de un registro:Ejemplo definición de un registro:

Page 30: Introducción a PASCAL

Estructuras de datosEstructuras de datos

�� Ejemplo acceso a un registro:Ejemplo acceso a un registro:

Page 31: Introducción a PASCAL

ConclusiónConclusión

�� Ideal para aprender a programarIdeal para aprender a programar

�� Muy potenteMuy potente

�� Actualmente gratuitoActualmente gratuito

�� Reemplazado por otros lenguajes más Reemplazado por otros lenguajes más actuales ( ej. C, C++, actuales ( ej. C, C++, Delphi…Delphi…))

Page 32: Introducción a PASCAL

GraciasGraciaspor vuestrapor vuestraatenciónatención