Upload
iqbggo
View
278
Download
0
Embed Size (px)
Citation preview
Introducción aIntroducción aPASCALPASCAL
CLSI, diciembre 2006CLSI, diciembre 2006
�� 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
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
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
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
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…
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
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)
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…
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
Uso de sentencias básicasUso de sentencias básicas
�� Cabecera:Cabecera:�� Nombrar el programaNombrar el programa
�� Palabra clave: Palabra clave: programprogram
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
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..
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 ___)
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
Sentencias de entrada y salidaSentencias de entrada y salida
�� Ejemplos:Ejemplos:
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
Sentencias condicionalesSentencias condicionales
�� Ejemplos una sola condición:Ejemplos una sola condición:
Sentencias condicionalesSentencias condicionales
�� Ejemplos varias condiciones:Ejemplos varias condiciones:
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_
Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)
�� Ejemplo:Ejemplo:
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;;
Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)
�� Ejemplo:Ejemplo:
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;;
Estructuras repetitivas (bucles)Estructuras repetitivas (bucles)
�� Ejemplo:Ejemplo:
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
Estructuras de datosEstructuras de datos
�� Ejemplo definición de un vector:Ejemplo definición de un vector:
Estructuras de datosEstructuras de datos
�� Ejemplo acceso a un vector:Ejemplo acceso a un vector:
Estructuras de datosEstructuras de datos
�� Ejemplo definición de un registro:Ejemplo definición de un registro:
Estructuras de datosEstructuras de datos
�� Ejemplo acceso a un registro:Ejemplo acceso a un registro:
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…))
GraciasGraciaspor vuestrapor vuestraatenciónatención