Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introprogra
Introprogra
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
¿Qué es la Informática?
Conocer con detalle estos aspectos y la relación que existe entre ellos, permitirá
entender cómo se realiza el tratamiento automático de la información, utilizando
computadoras.
Información
De una manera informal, podemos considerar la información como un conjunto de
datos ordenados que nos aportan conocimiento sobre las cosas. Para dar una definición
más formal tendremos en cuenta dos nuevos conceptos: carácter y dato.
- Numéricos: 0, 1,2,.....9
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
- Especiales: *, /, +, #,..
Dato: es cualquier conjunto de caracteres (puede ser un único carácter). Existen tres
tipos básicos de datos:
- Alfabéticos: formados exclusivamente por letras del alfabeto. Ej. Juan, x, Costo.
Captura de datos de entrada: Los datos deben ser registrados antes de procesarse.
Los datos pueden ser captados directamente por la computadora (por ejemplo,
detectando electrónicamente un sonido, una temperatura, un código de barras) o
pueden ser dados en forma de letras o números (caracteres).
Manipulación de los datos: Sobre los datos de entrada podemos realizar las
siguientes operaciones:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Manejo de los resultados de salida: Una vez que han sido manipulados los datos de
entrada, sobre ellos se pueden realizar las siguientes operaciones:
- Cálculo aritmético y lógico: Este tipo de operación elemental nos permite procesar la
información realizando sobre ellas operaciones aritméticas y lógicas.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
La unidad más elemental de información es un valor binario conocido como BIT, es una
posición o variable que toma el valor 0 ó 1. Representa la información correspondiente
a la ocurrencia de un suceso de entre dos posibilidades distintas: prendido o apagado,
abierto o cerrado.
MEDIDA EQUIVALENCIA
1 Byte 8 bits
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
La razón por la que se utiliza el factor multiplicador 1024 en lugar de 1000 es por ser
a potencia de 2 más próxima a 1000, cuestión importante desde el punto de vista
electrónico.
La computadora
Computador, computadora u ordenador, se define como una máquina capaz de aceptar
unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y
proporcionar la información resultante a través de un medio de salida; todo ello sin
intervención de un operador humano y bajo el control de un programa de instrucciones
previamente almacenado en el propio computador.
Programas e instrucciones
Una instrucción es un conjunto de símbolos que representa una orden de operación o
tratamiento para la computadora. En general, estas operaciones se realizan con datos.
Todo lo relativo a los símbolos y reglas para escribir programas se denomina lenguaje
de programación.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
- El elemento humano: personal informático que realizará los programas y los usuarios
que realizarán los procedimientos y usarán la información del sistema.
Sistemas Numéricos
El estudio de las computadoras y del procesamiento de datos requiere algún
conocimiento de los sistemas numéricos, ya que éstos constituyen la base de todas las
transformaciones de información que ocurren en el interior de la computadora.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Los sistemas numéricos difieren en cuanto a la disposición y al tipo de los símbolos que
utilizan. En este tema se analizaran los sistemas decimal, binario y hexadecimal.
Sistema decimal
El más importante factor en el desarrollo de la ciencia y la matemática fue la
invención del sistema decimal de numeración. Este sistema utiliza diez símbolos: 0, 1,
2, 3, 4, 5, 6, 7, 8,9, denominados generalmente "cifras decimales". La costumbre de
contar por decenas se originó probablemente en el hecho de tener el hombre diez
dedos.
Sistema binario
El sistema binario, en matemáticas e informática, es un sistema de numeración en el
que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Las
computadoras trabajan internamente con dos niveles de voltaje, por lo que su sistema
de numeración natural es el sistema binario (encendido 1, apagado 0).
A diferencia del sistema decimal, el valor relativo de los dígitos binarios a la izquierda
del dígito menos significativo aumenta en una potencia de dos cada vez, en lugar de
hacerlo en potencias de diez.
Sistema hexadecimal
El sistema hexadecimal, a veces abreviado como hex, es el sistema de numeración
posicional de base 16 —empleando por tanto 16 símbolos—. Su uso actual está muy
vinculado a la informática y ciencias de la computación, pues los computadores suelen
utilizar el byte u octeto como unidad básica de memoria; y, debido a que un byte
representa 28 valores posibles, y esto puede representarse como
, que, según el teorema
general de la numeración posicional, equivale al número en base 16 10016, dos dígitos
hexadecimales corresponden exactamente —permiten representar la misma línea de
enteros— a un byte.
En principio dado que el sistema usual de numeración es de base decimal y, por ello,
sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras
letras del alfabeto latino para suplir los dígitos que nos faltan. El conjunto de símbolos
sería, por tanto, el siguiente:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Representación de la información
Cuando se pretende plasmar la información de una forma transmisible y más o menos
permanente, se debe disponer de un soporte físico adecuado, el cual contenga a la
información. Existe una variedad de soportes físicos y algunos muy modernos, pero un
medio que sigue en plena vigencia es la ESCRITURA.
Han evolucionado los métodos pero el fundamento sigue siendo el mismo: poner en la
secuencia conveniente una serie de símbolos escogidos dentro de un conjunto
predefinido.
No es necesario que el alfabeto que usa una máquina en su interior sea el mismo que
utiliza el hombre que la ha construido y la maneja, basta con que la transformación de
los símbolos internos a los externos o viceversa se efectúe de una manera sencilla, de
ser posible automáticamente por la propia máquina.
Codificación de la información
Cuando una información que originalmente venía representada en un alfabeto A1 es
El caso más sencillo es cuando ambos alfabetos tienen la misma cantidad de símbolos y
a cada símbolo del primer alfabeto le corresponde un símbolo del segundo alfabeto
(correspondencia biunívoca o biyectiva).
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Videos Imágenes
WMV Mapa de Bits: BMP, TIFF, JPEG, GIF,
AVI PNG
MOV Mapa de Vectores: CDR, AI, EPS, WMF
MPG
MP4
UNICODE
Este código fue propuesto por un consorcio de empresas y entidades con el objetivo
representar texto de muy diversas culturas. Los códigos anteriores presentan varios
inconvenientes, tales como:
Los símbolos son insuficientes para representar los caracteres especiales que
requieren numerosas aplicaciones.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Están basados en los caracteres latinos, existiendo otras culturas que utilizan otros
símbolos muy distintos.
Unicode está reconocido como estándar ISO/IEC 1 0646, y presenta las siguientes
propiedades:
Uniformidad, ya que todos los símbolos se representan con un número fijo de bits
(16).
Números Enteros
Los números enteros son una generalización del conjunto de números naturales que
incluye números negativos (resultados de restar a un número natural otro mayor
además del cero). Así los números enteros están formados por un conjunto de enteros
positivos que podemos interpretar como los números naturales convencionales, el cero,
y un conjunto de enteros negativos que son los opuestos de los naturales (éstos
pueden ser interpretados como el resultado de restar a 0 un número natural).
Números Reales
En matemáticas, los números reales pueden ser descritos informalmente de varias
formas, las cuales aunque accesibles al lego, no tienen el rigor necesario para los
propósitos formales de matemáticas. En primera instancia, se puede describir a los
números reales como todos aquellos que poseen una expansión decimal. Los números
reales incluyen tanto a los números racionales como 31, 25.4, 37/22, así como a los
SEGUNDA UNIDAD
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Resolución de problemas
- Análisis: Consiste en el estudio detallado del problema con el fin de obtener una
serie de documentos (especificaciones o requerimientos) en los que quede totalmente
definido el proceso de la automatización.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
- Documentación: Se documentan las distintas etapas del ciclo de vida del software,
fundamentalmente el análisis, diseño y codificación, a los que se agrega manuales de
usuario y de referencia, así como también, normas para el mantenimiento.
Ejemplo:
Dado el radio de una circunferencia, se desea obtener su longitud y el área del círculo
que determina.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
El método o cálculo que relaciona los datos de entrada y genera la salida deseada, está
dado por siguientes fórmulas:
Los métodos más eficaces para el proceso de diseño se basan la estrategia divide y
vencerás. Esto quiere decir que la resolución de un problema complejo se realiza
dividiendo el problema en subproblemas menos complejos, hasta llegar a un nivel cuya
solución pueda ser implementada en una computadora. Este método se conoce
técnicamente como diseño descendente (top-down) o diseño modular. El proceso de
descomposición el problema en pasos más detallados se conoce como refinamiento
sucesivo.
Existen distintas técnicas para la construcción de algoritmos, las dos más utilizadas
son: diagramas de flujo y pseudocódigo, que describiremos más adelante.
Codificación de un programa
Codificación es la escritura en un lenguaje de programación de la representación de un
algoritmo desarrollado en las etapas precedentes. Dado que el algoritmo es
independiente del lenguaje de programación que será utilizado para su implementación,
el código se puede escribir con igual facilidad en un lenguaje u otro.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
- Errores lógicos: Se producen en la lógica del programa y la fuente del error suele
ser el diseño del algoritmo. Estos errores son los más difíciles de detectar porque el
programa funciona sin producir mensajes de error, el error sólo se advierte por la
obtención de resultados incorrectos. En este caso, se debe volver a la etapa de diseño
del algoritmo, modificar el algoritmo, cambiar el programa fuente y compilar y
ejecutar de nuevo.
Documentación y mantenimiento
La documentación de un programa consiste en la descripción de los distintos pasos en
el proceso de resolución de un problema. La importancia de la documentación debe ser
destacada por su decisiva influencia en el producto final: Programas pobremente
documentados son difíciles de leer, más difíciles de depurar y casi imposibles de
mantener y modificar.
Insistimos que el programador de computadora es antes que nada una persona que
resuelve problemas, por lo que para ser un programador eficaz se necesita aprender a
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
El término proviene del matemático persa Mohammed Al-khowarizmi que alcanzó gran
repercusión por el enunciado de reglas paso a paso para sumar, restar, multiplicar y
dividir números decimales. Euclides, el matemático griego que inventó un método para
encontrar el máximo común divisor de dos números, se considera el otro gran padre de
la algoritmia (ciencia que trata sobre los algoritmos).
Niklaus Wirth, creador de Pascal, Modula-2 y Oberon, sostiene que sólo se puede
llegar a realizar un buen programa con el diseño de un algoritmo y una correcta
estructura de datos.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
- Debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo
resultado cada vez.
- Debe ser finito. El algoritmo debe tener un fin; o sea, debe tener un número finito
de pasos hasta lograr su objetivo.
Ejemplos de algoritmos
Un cliente realiza una solicitud a una empresa. La empresa examina la ficha del cliente
en su base de datos, si el cliente es solvente entonces acepta el pedido, en caso
contrario, rechaza el pedido.
Los pasos del algoritmo son:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
1. Inicio
2. Tomar el pedido
3. Examinar ficha del cliente
4. Si el cliente es solvente, aceptar el pedido, caso contrario, rechazar el pedido.
5. Fin
Mencionamos antes que los problemas complejos pueden resolverse más eficazmente
con la computadora cuando este se descompone en subproblemas más fáciles de
solucionar. Esta estrategia de divide y vencerás conforma la técnica de diseño
descendente (top-down) ó diseño modular.
En este método, un programa bien diseñado consta de un programa principal (el módulo
de nivel más alto) que llama a subprogramas (módulos de nivel más bajo) que a su vez
pueden llamar a otros subprogramas. Los módulos pueden ser planificados,
codificados, comprobados y depurados, en forma independiente (incluso por
diferentes programadores) y luego, combinarlos entre sí.
Escritura de algoritmos
Como se dijo antes, escribir un algoritmo consiste en realizar una descripción paso a
paso en lenguaje natural de la solución que se propone para resolver un problema.
Recordemos que un algoritmo es un método o conjunto de reglas para solucionar un
problema. En cálculos elementales estas reglas tienen las siguientes propiedades:
- Deben estar seguidas de una secuencia definida de pasos hasta que se obtenga un
resultado coherente.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
_ Ir al cine
_ Comprar una entrada
_ Ver la película
_ Regresar a casa
El algoritmo consta de cuatro acciones básicas, cada una de las cuales debe ejecutarse
antes de realizar la siguiente. En términos de computadora, cada acción se codificará
en una o varias sentencias que ejecutan una tarea particular.
1. INICIO
2. ver la cartelera de cines en el diario
3. SI no proyectan “Piratas del Caribe” ENTONCES
3.1. decidir otra actividad
3.2. bifurcar al paso 7
SI_NO
3.3. ir al cine
FIN_SI
4. SI hay cola ENTONCES
4.1. ponerse en la cola
4.2. MIENTRAS haya personas delante HACER
4.2.1. avanzar en la cola
FIN_MIENTRAS
FIN_SI
5. SI hay localidades ENTONCES
5.1. comprar una entrada
5.2. pasar a la sala
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
a) Diagrama de flujo
b) Diagrama N-S (Nassi-Schneiderman)
c) Lenguaje de especificación de algoritmo: seudocódigo
d) Lenguaje natural: español, inglés, …
e) Fórmulas matemáticas
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
paea expresar el procedimiento algorítmico que se debe ejecutar para obtener las
raíces de la ecuación:
Diagrama de flujo
Un diagrama de flujo (flowchart) es una de las técnicas de representación de
algoritmos más antiguas y a la vez más utilizada, aunque su utilización ha disminuido
desde la aparición de los lenguajes de programación estructurados.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Ej. En el ejemplo, la variable ContAlum es una posición de memoria que al principio del
programa se pone en 0 para ir incrementando el valor que contiene por cada alumno
que se procese. Si, en lugar del nombre asignado al inicio, hacemos referencia a ella
con el nombre CuentaAlum, la computadora no entenderá que nos referimos al mismo
dato.
Acumulador:
Un acumulador es una variable, definida por el programador, que hace referencia a una
dirección de memoria que almacenará un "total móvil" de valores individuales a medida
vayan apareciendo en el proceso. Por ejemplo, las notas de los alumnos. Esta dirección
o posición de memoria debe ser inicializada en cero.
Contador:
Es una variable que se incrementa en un valor constante y se utiliza para registrar el
número de veces que se presenta un evento. Ejemplo: para contar los alumnos
procesados, se incrementa en 1 por cada lectura de datos de alumnos.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
- Documentación.
- Codificación eficiente.
Limitaciones:
Pseudocódigo
El pseudocódigo es un lenguaje de especificación (descripción) de algoritmos, que
facilita el paso a la codificación o traducción a un lenguaje de programación.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Se considera un primer borrador del programa, dado que necesariamente tiene que
ser traducido a un lenguaje de programación. Un pseudocódigo no puede ser ejecutado
por una computadora directamente.
Ventajas:
- El programador puede concentrarse en la lógica y en las estructuras de control del
programa sin preocuparse por las reglas de un lenguaje de programación específico.
- Instrucciones de entrada/salida.
- Instrucciones de proceso.
- Sentencias de control del flujo de ejecución.
START
// Cálculo de impuesto y salario
READ nombre, horas, precio_hora
salario_bruto = horas * precio_hora
impuesto = 0,25 * salario_bruto
salario_neto = salario_neto – impuesto
WRITE nombre, salario_bruto, impuesto, salario_neto
END
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
El algoritmo empieza con la palabra START y finaliza con la palabra END (INICIO,
FIN en español). Entre estas palabras sólo se escribe una instrucción o acción por
línea.
Concepto de programa
Conjunto de instrucciones (órdenes) dadas a la computadora para la ejecución de una
determinada tarea.
Se debe entender el programa como un medio para conseguir un fin. La idea de fin u
objetivo del programa está relacionada con la información que se requiere para resolver
un determinado problema.
Como ya se dijo antes, el proceso de programación es un proceso de resolución de
problema y se ha visto también que los pasos (ciclo de vida) para desarrollar un programa
son:
a) Definición o análisis del problema
b) Diseño del algoritmo de solución
c) Codificación
d) Compilación y ejecución
e) Verificación y depuración
f) Documentación
g) Mantenimiento
Partes de un programa
Al iniciar su tarea, el programador debe tener bien claro cuáles son las
especificaciones que debe contener el programa: Entrada, Salida, Algoritmo de la
solución.
Conceptualmente, un programa puede ser considerado como una “caja negra”.
esta caja negra es el algoritmo de solución que permitirá obtener la salida en
función de las entradas.
Programa
ENTRADA SALIDA
(Algoritmo)
El programador debe definir de donde provienen las entradas al programa, es decir,
debe indicar desde que dispositivo de entrada (teclado, disco,...) ingresarán los datos.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Instrucción_1
Instrucción_2
……………………
Instrucción_n
Un programa es no lineal cuando se interrumpe la secuencia mediante instrucciones de
bifurcación.
Instrucción_1
Instrucción_2
……………………
Instrucción_n
Instrucción_n+1
Tipos de instrucciones
Las instrucciones disponibles en un lenguaje de programación dependen de cada
lenguaje.
En este tema veremos las instrucciones básicas que soportan casi todos los lenguajes,
que son:
1. Inicio/fin
2. Asignación
3. Lectura (captura de datos)
4. Escritura (presentación de resultados)
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Instrucciones de asignación
Una instrucción de asignación coloca un determinado valor en una variable o posición
de memoria.
LEER A, B, C
Si se ingresan por teclados los valores 100, 50 y 30, entonces A=100, B=50, C=30
Una instrucción de lectura deposita valores en las posiciones de memoria indicadas por
los nombres de variables.
ESCRIBIR A, B, C
Tomando los valores del ejemplo anterior, se mostrarán en pantalla los datos 100, 50 y
30 (se asume pantalla cuando no se especifica otro dispositivo).
Instrucciones de bifurcación
La alteración de la secuencia lineal de las instrucciones de un programa se realiza a
través de las instrucciones de bifurcación.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
2) El programa opera con las posiciones de memoria o variables, no con los datos
directamente.
Para consolidar estos conceptos, modifique este programa para que además de la
salida indicada, calcule y muestre la cantidad de alumnos procesados. Siga las
instrucciones paso a paso y observe como se modifican las variables en la memoria
principal, utilizando este mismo lote de datos.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Los lenguajes de programación tienen elementos básicos que se usan como bloques
constructivos, así como reglas, que componen su sintaxis. Solamente las instrucciones
sintácticamente correctas serán reconocidas por la computadora, los programas con
errores de sintaxis no serán ejecutados.
Tipos de datos:
1. Simples (no estructurados)
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Datos Simples:
- Numéricos (integer, real)
- Lógicos (boolean)
- Carácter (char, string)
a) datos numéricos
El tipo numérico es el conjunto de los valores numéricos. Pueden representarse en dos
formas distintas:
- Numérico entero (integer)
- Numérico real (real)
Enteros: El tipo entero es un subconjunto finito de los números enteros. Pueden ser
positivos o negativos y no tienen decimales. Ejemplos: 5, 15, -30, 12567.
Los enteros son denominados también números de punto o coma fija. La mayoría de los
enteros se almacenan en 2 bytes (entero corto), de ahí que los valores mínimo y
máximo son, respectivamente, -32768 y 32767.
Real: El tipo real es un subconjunto de los números reales. Pueden ser positivos o
negativos y tienen punto decimal. Un número real consta de una parte entera y de una
parte decimal. Ejemplos: -45.78, 3.0, 0.008, -13456.89.
Una computadora sólo puede representar un número fijo de dígitos. Si bien este
número puede variar de una computadora a otra, este límite, dado por el tamaño de la
palabra, provocará problemas para representar y almacenar números muy grandes o
muy pequeños, de aquí surge la como flotante o notación exponencial para disminuir
estas dificultades.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Constantes y variables
Constantes
Los programas muchas vecen requieren valores que no deben cambiar durante la
ejecución del programa. Estos valores se denominan constantes.
Ejemplos de constantes
Constante real: 3.141592, 0.1234 (válidas) 1,456.63 (inválida, no se permiten comas)
Observaciones: Tener en cuenta en que el separador decimal (punto o coma) depende
del lenguaje de programación o de la configuración del sistema operativo.
Constante de tipo carácter: ‘B’, ‘4’
Constante de tipo cadena: ‘9 de julio 1449’, ‘Ciencias Exactas’
Constantes lógicas: verdadero, falso
La mayoría de los lenguajes de programación admiten diferentes tipos de constantes:
enteras, reales, de carácter, de cadena, lógicas y representan datos de esos tipos.
Variables
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Una variable es un objeto de datos cuyo valor puede cambiar durante del desarrollo del
algoritmo o durante la ejecución en el transcurso del programa. Dependiendo del
lenguaje, hay diferentes tipos de variables: enteras, reales, carácter, lógicas y de cadena.
Una variable que es de cierto tipo sólo puede recibir datos del mismo tipo, dará error caso
contrario.
Una variable se identifica con los siguientes atributos: Nombre que la identifica y Tipo que
describe el uso de la variable.
Los nombres, denominados identificadores, son un conjunto de caracteres que tienen que
cumplir determinadas condiciones en función del lenguaje de programación. No pueden
utilizar palabras reservadas, ni comenzar con números o utilizar algunos caracteres
especiales.
Ejemplos válidos: Apellido_Nombre, Notaexamen, A510.
Los nombres de las variables elegidas para el algoritmo o programa deben ser
significativos y tener relación con el objeto que representan, por ejemplo:
NOMBRE para representar nombre de personas
Expresiones
Las expresiones son combinaciones de constantes, variables, operadores, paréntesis y
nombres de funciones. Maneja las mismas ideas que la notación matemática
convencional.
Cada expresión toma un valor que se determina tomando los valores de las variables y
constantes implicadas y la ejecución de las operaciones indicadas. Una expresión
consta de operandos y operadores. Según sea el tipo de objetos que manipulan, las
expresiones se clasifican en:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Expresiones aritméticas:
Son análogas a las formulas matemáticas. Las variables y constantes son numéricas
(entera o real) y las operaciones son las aritméticas.
Operadores aritméticos:
Ejemplos:
Reglas de prioridad
Las expresiones que tienen dos o más operandos requieren reglas matemáticas que
permitan determinar el orden de las operaciones, se denominan reglas de prioridad o
precedencia y son:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
2° - Operadores *, /,
4° - Operadores +, -,
Expresiones booleanas
Otro tipo de expresión, es la expresión lógica o booleana, cuyo valor es siempre
verdadero o falso. Dijimos que existen dos constantes lógicas, verdadera (true) o
falsa (false) y que las variables lógicas sólo pueden tomar estos valores. En esencia,
una expresión lógica es una expresión que puede tomar estos dos valores, verdadero o
falso.
Operadores de relación:
Permiten realizar comparaciones de valores de tipo numérico o carácter. Los
operadores de relación sirven para expresar las condiciones en los algoritmos.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
(A-2) < (B-4) es falsa (reemplazando valores: (4-2) < (3-4), esto es 2 < -1, es falso)
Operadores lógicos:
Los operadores lógicos o booleanos básicos son not (no), and (y) y or (o). El
funcionamiento de estos operadores se muestra en la tabla siguiente:
En las expresiones lógicas se pueden mezclar operadores de relación y lógicos. Así, por
ejemplo:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Las declaraciones definen o declaran las variables o constantes que tengan nombres.
Las acciones ejecutables son las acciones que posteriormente se realizarán cuando el
algoritmo convertido en programa se ejecute.
ALGORITMO
Cabecera del programa
Sección de declaración
Sección de acciones
Declaración de variables
En esta sección se declaran o describen todas las variables utilizadas en el algoritmo,
listando sus nombres y especificando sus tipos. Esta sección comienza con la palabra
reservada VARIABLES y tiene el formato:
VARIABLES
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
………………………………………….
tipo-2: lista de variables-2
Donde cada lista de variables es una variable simple o una lista de variables separadas
por comas y cada tipo es uno de los tipos básicos (entero, real, char, boolean).
Ejemplo:
Entera: Numero_Empleado
Real: horas
Real: impuesto
Real: salario
O de modo equivalente:
VARIABLES
Entera: Numero_Empleado
Real: horas, impuesto, salario
También es una buena práctica incluir breves comentarios que indique como se utiliza
la variable.
Declaración de constantes
Se declaran las constantes del programa.
CONST
PI = 3.141592
IVA = 21
Horas = 8
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Las constantes de carácter simple y cadenas de caracteres se declaran igual que las
numéricas:
CONST
estrella: ‘*‛
frase: `12 de octubre‛
Comentarios
Como dijimos, es conveniente y útil, incluir en el código comentarios significativos con
el objeto de facilitar la corrección y mantenimiento de los programas. Existen
diferentes notaciones de acuerdo al lenguaje de programación. Por ejemplo:
- Pascal:
Notas:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
TERCERA UNIDAD:
Palabras reservadas
Para poder programar en cualquier lenguaje es necesario conocer los códigos
mediante los cuales podamos expresar las tareas que queremos realizar. El
Turbo Pascal, como lenguaje de programación poseé su propio código con
palabras de uso exclusivo para ciertas funciones, a estas palabras les
llamaremos palabras reservadas de Turbo Pascal.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Las palabras reservadas de Turbo Pascal (versiones 6.0 o mayores) son:
Pascal Estandar y Turbo Pascal 6.0
AND ARRAY BEGIN CASE
CONST DIV DO DOWNTO
ELSE END FILE FOR
FORWARD FUNCTION GOTO IF
IN LABEL MOD NIL
NOT OF OR PACKED
PROCEDURE PROGRAM RECORD REPEAT
SET THEN TO TYPE
Turbo Pascal
ABSOLUTE ASM DESTRUCTOR
IMPLEMENTATION INTERFACE OBJECT
PRIVATE SHR UNIT
VIRTUAL CONSTRUCTOR EXTERNAL
INLINE INTERRUPT SHL
STRING USES XOR
Estas palabras no pueden ser usadas como identificadores (siguiente tópico) ya
que cada una de ellas tiene una función definida en Turbo Pascal.
Identificadores
Los identificadores son palabras que representan constantes, variables, tipos de
datos, procedimientos, funciones y algunos otros datos. Existen dos tipos de
identificadores: los predefinidos de Turbo Pascal y los definidos por el
programador.
Algunos de los identificadores predefinidos son: integer, real, byte, sin, ...
Los identificadores definidos por el programador son los elementos del lenguaje
tales como variables, procedimientos, funciones, etc.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Un identificador es una secuencia de 1 a 127 caracteres, que inicia con una letra,
no tienen espacios ni símbolos: &, !, *, etc. y no es alguna palabra reservada.
Para el Turbo Pascal no existen diferencias entre mayúsculas y minúsculas, así
que a un identificador denominado "valor" se le puede referir como "VALOR" o
"VaLoR".
Todo identificador en Pascal debe ser definido previamente a su utilización.
Tipos de datos
El manejo de la información en Turbo Pascal se realiza mediante diferentes
clases de datos. En este apartado se tratarán los principales tipos y conforme se
vayan necesitando se explicaran los demás.
Integer Números enteros sin parte decimal.
Char Caracteres del código ASCII
Boolean Pueden contener los valores de falso o verdadero
Real Números que pueden incluir una parte decimal
String En una secuencia de caracteres que se trata como un solo dato.
Variables y constantes
Los tipos de datos que manejaremos en nuestro programa pueden ser de dos
clases: variables o constantes.
Como su nombre lo indica las variables pueden cambiar a lo largo de la
ejecución de un programa, en cambio las constantes serán valores fijos durante
todo el proceso.
Un ejemplo de una variable es cuando vamos a sumar dos números que serán
introducidos por el usuario del programa, éste puede introducir dos valores
cualesquiera y no sería nada útil restringirlo a dos valores predefinidos, así que
dejamos que use los valores que el necesite sumar.
Ahora, si nuestro programa de operaciones matemáticas va a utilizar el valor de
PI para algunos cálculos podemos definir un identificador PI con el valor de
3.1415926 constante, de tal forma que PI no pueda cambiar de valor, ahora en
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
lugar de escribir todo el número cada vez que se necesite en nuestro programa,
solo tenemos que escribir PI.
Comentarios
Es posible introducir comentarios en nuestro programa que sirvan unicamente
para mejorar la comprensión del código fuente.
Un comentario no es tomado en cuenta al momento de la compilación del
programa y es de enorme importancia al momento de crearlo, modificarlo o
mantenerlo.
Existen dos formas de colocar comentarios en un programa de Turbo Pascal,
entre llaves: {Comentario} o entre parentesis y asteriscos: (*Comentario*).
Estructura de los programas
El lenguaje utilizado en Turbo Pascal es estructurado, lo que significa que cada
programa requiere una forma específica de escritura para que sea entendido
por el compilador.
Todo programa cuenta con algunas partes o módulos los cuales son:
Cabecera
Declaraciones
Programa
La cabecera del programa unicamente lleva el nombre del programa. En la
sección de declaraciones se le indica al compilador todos los identificadores y
unidades que se utilizarán durante la ejecución del programa. En la sección del
programa se escribe el código de instrucciones que se llevarán a cabo.
Sentencia PROGRAM
La sentencia PROGRAM es la declaración del nombre del programa.
Consta de tres partes: la palabra reservada PROGRAM, a continuación un
identificador utilizado como el nombre del programa y al final un punto y coma
";". Por ejemplo:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
PROGRAM suma_de_dos_numeros ;
Esta declaración es siempre la primer línea en cualquier programa de Turbo
Pascal.
Declaración de unidades
Las unidades son módulos independientes del programa que, aunque no son
ejecutables por si mismos, pueden ser utilizados por el programa principal sin
necesidad de reescribir el código que contienen. Para la utilización de estos
"subprogramas" es necesaria su declaración.
La palabra reservada USES cumple el propósito de declarar las unidades en el
formato siguiente:
USES crt, dos;
Cada unidad que se declara debera estar separada de la siguiente por una coma.
Al final de todas las unidades declaradas se deberá colocar un punto y coma ";".
Declaración de constantes y variables
Para declarar las constantes se utiliza la palabra reservada CONST seguida de un
identificador al que se le dará un valor determinado, un signo de igual "=", el
valor que recibirá el identificador y al final un punto y coma ";". Ejemplo:
CONST pi = 3.1415926;
De esta forma el identificador pi recibirá el valor de 3.1415926 y no será posible
cambiarlo en el transcurso del programa.
Es posible declarar varias constantes sucesivamente, puede ser una por renglón
o varias en un solo renglón. Cuando se hace ésto, la palabra CONST solo se pone
una sola vez como cabecera y a continuación todas las constantes por definir.
Ejemplo:
CONST
PI = 3.1415926;
Nombre = 'Juan Gutiérrez';
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Unidad = 1;
Otra forma de escribir lo mismo es así:
CONST PI = 3.1415926; Nombre = 'Juan Gutiérrez'; Unidad = 1;
Pero por cuestiones de legibilidad es preferible la primera opción.
La declaración de variables se lleva a cabo de la misma forma, solo que en lugar
de la palabra CONS utilizamos la palabra VAR, y en lugar de "= valor;", utilizamos
: tipo , sustituyendo "tipo" por alguna clase válida de datos en Turbo Pascal.
Ejemplo:
VAR Num_entero : Integer;
Nombre : String;
Programa principal
Despues de haber realizado todas las declaraciones se puede iniciar con el
programa principal. (Es posible, antes del programa, declarar las funciones y
procedimientos, pero eso se analizará posteriormente).
El programa principal inicia con la palabara reservada BEGIN y termina con la
palabra END., esta última con un punto al final.
Cada linea de código, enunciado, sentencia o instrucción completa que se
escriba deberá terminar con un punto y coma ";".
Solo se omitirá el punto y coma cuando se utiliza la palabra reservada ELSE.
Aunque puede también omitirse si la siguiente expresión es END o UNTIL.
Ya conociendo la estructura es posible escribir un primer programa:
PROGRAM Primera_Prueba;
VAR
Entero : Integer;
CONST
Mensaje = 'Introduce un valor entero: ';
Respuesta = 'El valor es: ';
BEGIN
Write(Mensaje);
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
{Escribe en pantalla el mensaje definido como constante}
ReadLn(Entero);
{Lee un valor de teclado y lo almacena en la variable Entero}
WriteLn(Respuesta, Entero);
{Escribe en pantalla el contenido de Respuesta y el valor que se ingresó de teclado}
END.
Como podrá apreciarse, no es importante el orden en el que se declaran las
variables y constantes (aplicable solo al Turbo Pascal), es decir, pueden
declararse primero las variables y luego las constantes y viceversa:
PROGRAM Primera_Prueba;
CONST
Mensaje = 'Introduce un valor entero: ';
Respuesta = 'El valor es: ';
VAR
Entero : Integer;
BEGIN
Write(Mensaje);
{Escribe en pantalla el mensaje definido como constante}
ReadLn(Entero);
{Lee un valor de teclado y lo almacena en la variable Entero}
WriteLn(Respuesta, Entero);
{Escribe en pantalla el contenido de Respuesta y el valor que se ingresó de teclado}
END.
Compilación y ejecución en memoria
La compilación de un programa es el paso mediante el cual traducimos dicho
programa al lenguaje maquina entendible por la computadora.
Para lograr la compilación en el entorno integrado de desarrollo de Turbo Pascal
se utiliza la opción Compile del menú del mismo nombre. Para accesar al menú
se utiliza la secuencia de teclas: [ALT] + [C], y luego se escoge la opción Compile.
Otra forma de realizar la compilación es con la secuencia de teclas: [ALT] + [F9].
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Asignación o igualación
La operación de asignación es una de las más utilizadas en Turbo Pascal ya que
nos permite darle un valor determinado a las variables que declaramos en el
programa o lo que es lo mismo, igualarla a algún valor determinado.
El símbolo utilizado para la operación es los dos puntos seguidos por un signo de
igual := , a la izquierda de dicho símbolo se coloca el identificador al que se le
asignará un nuevo valor y a la derecha se colocará un identificador o algún valor
directo que se almacenará en el primer identificador. Ejemplo:
Nombre := 'Juan Pérez';
{Nombre guardará la cadena "Juan Pérez"}
Resta := Numero1 ‐ Numero2;
{Resta gurdará el resultado de la resta de Numero2 a Numero1}
Area := (Base*Altura)/2;
{Obtiene el area de un triangulo y la guarda en el identificador Area}
Salida de datos a la pantalla
Las instrucciones que permiten mostrar datos en la pantalla de la computadora
son: Write y WriteLn. Aunque ya se hizo uso de ellas en los pequeños
programas anteriores de ejemplo, aqui se describirán a fondo.
La sintaxis de los procedimientos es la siguiente:
Write (indentificadores);
WriteLn (indentificadores);
Donde los identificadores son aquellos que contienen la información que se
desea mandar a la pantalla. Es posible utilizar varios de ellos por cada
instrucción Write o WriteLn, unicamente se separan unos de otros por comas
",". Ejemplo:
Write (Nombre, ApellidoP, ApellidoM);
Esta linea de código desplegará consecutivamente los contenidos de los
identificadores Nombre, ApellidoP y ApellidoM. En caso de que la variable
Nombre almacenara el valor 'Rodrigo ', la variable ApellidoP 'González ' y la
variable ApellidoM 'García', el resultado en pantalla sería:
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Rodrigo González García
Podemos obtener el mismo resultado si utilizamos la siguiente estructura:
Write (Nombre);
Write (ApellidoP);
Write (ApellidoM);
Si en lugar de utilizar la instrucción Write hacemos uso de WriteLn con la misma
sintaxis del ejemplo anterior:
WriteLn (Nombre);
WriteLn (ApellidoP);
WriteLn (ApellidoM);
lo que obtendriamos sería:
Rodrigo
González
García
De este ejemplo es posible concluir que la diferencia entre las instrucciones
Write y WriteLn es que esta última imprime el contenido de los identificadores y
cambia el cursor al siguiente renglón de la pantalla, y la primera solo escribe el
contenido y deja el cursor al final del dato escrito.
Entrada de datos desde teclado
Las instrucciones estandar de Turbo Pascal para obtener datos desde el teclado
son Read y ReadLn. La sintaxis de estas instrucciones es muy parecida a la de
Write y WriteLn:
Read (Identificador);
El identificador puede ser cualquier variable definida previamente, NO puede
ser una constante. Puede ser también un conjunto de variables, separadas entre
comas, en este caso se guardara el primer valor dado antes del [Enter] en el
primer identificador proporcionado, luego el segundo y así sucesivamente hasta
el último identificador.
La diferencia en el uso de la instrucción Read con respecto a ReadLn es que en la
primera, si se le dan mas datos de los que se introducirán se guardan en un
buffer y se usarán en la siguiente instrucción Read o ReadLn del programa, en
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
cambio ReadLn ignora todo dato posterior a los que esten definidos en la
instrucción.
En caso de que se le indique a Read o ReadLn que lea un tipo específico de
valor, y se le proporcione otro diferente se generará un error y se detendrá la
ejecución del programa.
Tipos de datos
Un programa debe ser capaz de manejar diferentes tipo de datos, como pueden
ser números enteros, reales, caracteres, cadenas de caracteres, etc. Para lograr
el manejo de toda esta información Turbo Pascal proveé diferentes tipos de
datos para los identificadores que se utilizarán. Algunos de los más importantes
se citan en seguida:
Tipos enteros
En esta categoría Turbo Pascal cuenta con 5 tipos diferentes, cada uno abarca
un rango específico de valores y utilizan una diferente cantidad de memoria
dependiendo de ese rango. Naturalmente el trabajar con rangos menores nos
ofrece una mayor velocidad y menor espacio en memoria, pero si se utilizan
enteros largos se cuenta con mayor presición. Los tipos de enteros en Turbo
Pascal son:
Tipo Rango de valores que acepta
Integer ‐32,768 a 32,767
Word 0 a 65535
ShortInt ‐128 a 127
Byte 0 a 255
LongInt ‐2,147,483,648 a 2,147,483,648
Al utilizar los tipos enteros es posible representar en el programa un número en
formato hexadecimal, para hacer esto solo se le antepone el símbolo "$" al valor
hexadecimal, al momento de visualizar dicho valor, o utilizarlo en alguna
operación será como decimal. Por ejemplo:
Cantidad := $10;
El valor que se guarda en "Cantidad" es 16.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Tipos reales
Los números reales son aquellos que cuentan con una parte decimal. En Turbo
Pascal contamos con varios tipos de datos reales, pero no se puede utilizar, mas
que el tipo real, en máquinas que no cuenten con un coprocesador matemático.
Los tipos de datos reales son:
Tipo Rango de valores que acepta
Real 2.9E‐39 a 1.7E38
Single 1.5E‐45 a 3.4E38
Double 5.0E‐324 a 1.7E308
Extended 1.9E‐4851 a 1.1E4932
Comp ‐9.2E18 a 9.2E18
Los números reales deben llevar por fuerza al menos un dígito de cada lado del
punto decimal así sea éste un cero. Como ejemplo, el número 5 debe
representarse como: 5.0, el .5 como 0.5 , etc.
En este tipo de datos se utiliza la notación científica, que es igual a la de las
calculadoras, el dígito que se encuentra a continuación de la E representa la
potencia a la que se elevará el número 10 para multiplicarlo por la cantidad a la
izquierda de dicha E:
3.0E5 = 3.0 * 10^5 = 3.0 * 100000 = 300000
1.5E‐4 = 1.5 * 10^‐4 = 1.5 * 0.0001 = 0.00015
Tipos carácter
Los caracteres son cada uno de los símbolos que forman el código ASCII, el tipo
estándar de Pascal para estos datos es Char. Los caracteres se especifican entre
apostrofes:
'a' 'B' '2' '#'
El tipo Char es un tipo ordinal de Pascal, esto quiere decir que sus elementos
válidos siguen una secuencia ordenada de valores individuales. La secuencia de
caracteres para este tipo corresponde al número del código ASCII, del 0 al 255.
Es posible accesar a cada uno de los caracteres utilizando un signo # antes de su
valor correspondiente, por ejemplo, la letra A puede ser representada como
#65, el retorno de carro, o enter, se representa como #13, y así cualquier
caracter.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Tipo cadena
Las cadenas son secuencias de caracteres o arreglos que tienen una longitud
maxima de 255 caracteres. Se definen entre apostrofes. El tipo de Pascal para
las cadenas es String.
PROGRAM Cadena;
VAR
Nombre : String;
BEGIN
Nombre := 'Ernesto Chávez';
WriteLn (Nombre);
END.
Este programa guarda la cadena 'Ernesto Chávez' en la variable definida como
tipo string, y la visualiza en la pantalla por medio de la instrucción WriteLn.
El tamaño por defecto para un tipo string es de 255 caracteres, pero es posible
definir uno mas pequeño utilizando el siguiente formato:
Variable : String[Tamaño];
Donde Variable es la variable a definir y Tamaño es el número maximo de
caracteres que podrá contener esa variable (naturalmente mayor a 0 y menor a
256).
Es posible acceder a un solo caracter de una cadena utilizando inmediatamente
despues del nombre de la misma la posición del caracter encerrada entre
corchetes. Por ejemplo:
PROGRAM Cadena01;
VAR
Nombre : String[30];
{Permite un máximo de 30 caracteres en la variable}
BEGIN
Nombre := 'Ernesto Chávez';
WriteLn (Nombre[5]);
{Visualiza el 5to caracter de la cadena}
END.
El tipo está definido como Boolean.
Los datos lógicos tienen una enorme aplicación en la evaluación de ciertos procesos, así
como en el control de flujo de los programas.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
CUARTA UNIDAD
ESTRUCTURAS DE CONTROL
La estructuras de control son las encargadas de dirigir el flujo del programa. Se pueden clasificar
en los siguientes grupos:
— Secuenciación
— Selección
◦ if‐then‐else
◦ case
— Iteración
◦ definida: for
◦ indefinida: while, repeat
SECUENCIA
Es la estructura de control más sencilla. Se escriben las instrucciones por orden
cronológico de ejecución separándolas mediante un punto y coma (;):
Write(1);
Write(2);
Write(3);
SENTENCIAS DE SELECCIÓN
Con ella se pueden ejecutar instrucciones distintas en función del valor resultante de
la evaluación de una expresión.
— Pseudocódigo:
SI <expresión_lógica> ENTONCES
< bloque_de_instrucciones_1 >
SINO
< bloque_de_instrucciones_2 >
FIN- SI
— Pascal
If (<expresión_lógica> ) then
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Begin
< bloque_de_instrucciones_1 >
end
Else
Begin
< bloque_de_instrucciones_2 >
end;
Ahora vamos a suponer que queremos realizar un programa que pregunte al usuario su nombre y
su sexo, y dependiendo de éste último emplee una forma de cortesía u otra. El pseudocódigo sería
este:
pregunta nombre
pregunta sexo
si hombre saludo1
si mujer saludo2
El código en Pascal:
program saludos; uses crt;
var
nombre: string;
sexo: char;
begin
clrscr;
writeln('¿Cuál es su nombre?');
readln(nombre)
writeln('¿Cuál es su sexo?(H/M)');
readln(sexo)
if (sexo='H') then
writeln('Hola señor ', nombre); (*una instrucción, no es necesario poner begin end*)
if (sexo='M') then
begin
writeln('Hola señora', nombre); (*dos instrucciones, begin end necesario*)
writeln('Encantado de conocerla')
end;
end.
De nuevo tenemos otro tipo de variable, el tipo string. Este tipo se usa para almacenar cadenas de
caracteres como "Antonio", "Rodrigo Díaz de Vivar" o "En un lugar de la capital", con la única
limitación de que no excedan de 255 caracteres.
Aquí el programa pregunta al usuario su nombre y su sexo, a continuación compara si el sexo es
hombre y en ese caso le saluda de una forma. Después compara si el sexo es mujer y en ese caso
le saluda de otra forma.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
Como puedes ver el programa hace dos comparaciones, aunque en realidad sólo una sería
necesaria, puesto que si no es hombre tiene que ser mujer. Para ello existe la instrucción de Pascal
else, que se utiliza en combinación con el if para aquellos casos en los que no se cumple la
condición expresada en el if. Aplicado esto al ejemplo anterior éste nos quedaría:
if (sexo)='H' then
writeln('Hola señor ', nombre);
else
writeln('Hola señora', nombre);
Aquí obtenemos el mismo resultado haciendo una sóla comparación con lo que ahorramos
tiempo.
Este programa es muy sencillo, pero en programas más extensos resulta de vital importancia
optimizar el código de forma que no se realicen operaciones innecesarias que ralentizan el
proceso.
— Pseudocódigo:
SEGUN‐SEA <expresión>
<constante1> : <sentencia1>;
<constante2> : <sentencia2>;
…
<constanteN> : <sentenciaN>
[ SINO : <sentenciaElse>]
FIN‐SEGUN‐SEA
— Pascal
Case selector of
<constante1> : <sentencia1>;
<constante2> : <sentencia2>;
…
<constanteN> : <sentenciaN>
else <sentenciaElse>
end;
Por ejemplo imagina que queremos que el usuario seleccione un idioma de cinco posibles
(Español, Inglés, Francés, Alemán o Italiano). Podemos hacer lo siguiente:
if (idioma=español) then...
else
if (idioma=inglés) then...
else
if (idioma=francés) then...
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
else
...
Pero esto resulta tedioso y además poco claro, resultaría mucho más intuitivo si pudiéramos
comparar en una sola instrucción todos los posibles valores, y eso es lo que hace la
instrucción case opción of. Veamos un ejemplo:
program multilengua;
uses crt;
var
num: integer;
begin
clrscr;
writeln('Seleccione un idioma');
writeln('1. Español');
writeln('2. English');
writeln('3. Français');
writeln('4. Deutsch');
writeln('5. Italiano');
readln(num);
case num of
1: writeln ('Hola');
2: writeln ('Hello');
3: writeln('Salut');
4: writeln('Hallo');
5: writeln('Ciao');
else (* Si no contiene ninguno de los valores especificados
anteriormente*)
writeln('Error')
end;
readkey; (*esperamos a que se pulse una tecla*)
end.
El programa muestra las opciones disponibles y luego se prepara para recibir el valor que le
indiquemos a través de una variable. Después compara el valor contenido en esa variable
(num) con los cinco valores posibles y según el valor contenido en ella realiza una acción u
otra.
SENTENCIA DE ITERACIÓN DEFINIDA
Se conoce antes de su ejecución el número de iteraciones que realizará sobre una
determinada sentencia también llamada cuerpo de bucle.
FOR DO (PARA)
Como ya sabes, un programa no es más que un conjunto secuencial de instrucciones que después
el ordenador ejecutará una por una. Sin embargo en muchas ocasiones nos interesa que el
ordenador no ejecute todas las instrucciones en un orden cronológico, sino que en ocasiones
"salte" a una determinada instrucción, vuelva al principio, etc... Por ejemplo, si queremos que
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
nuestro programa escriba 100 veces "Hola" podríamos teclear 100 instrucciones writeln('hola');
pero esto sería un rollo :‐( y además poco elegante, lo lógico sería incluir una única instrucción
writeln('hola') y después hacer que el programa repita esta instrucción 100 veces antes de pasar a
la siguiente.
— Pseudocódigo:
PARA < variable> DESDE < inicio> HASTA < tope> [I NCREMENTO < in>]
< bloque_de_instrucciones >
FINPARA
— Pascal:
For < variable> := < inicio> {to|downTo} < tope> do
Begin
< bloque_de_instrucciones >
End;
El bucle for:
En el ejemplo anterior queremos conseguir más o menos esto (en pseudocódigo):
Repetir 100 veces
(Escribir "hola")
Seguir con la siguiente instrucción.
En Pascal esto lo logramos con la instrucción FOR, cuya sintaxis es la siguiente:
Volviendo al ejemplo anterior el programa completo sería una cosa así:
program cien; uses crt;
var
a: integer;
begin
for a:=1 to 100 do
begin
writeln('hola'); (*Aquí no sería necesario poner la instrucción entre begin y end porque
sólo hay una*)
end;
end.
Así que en el caso anterior declaramos una variable de tipo integer(entero). Porque vamos
a utilizarla para contar de 1 hasta 100, por ello necesitamos que tome valores enteros.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
y se incrementará en 1 el valor de la variable contador. Por último cuando la variable tome
un valor superior a 100 el programa saldrá del bucle y finalizará su ejecución.
SENTENCIA DE ITERACIÓN INDEFINIDA
Ahora bien, también es posible que no sepamos cuántas veces han de ejecutarse determinadas
instrucciones, sino que éstas tienen que ejecutarse hasta que se cumpla una determinada
condición. Por ejemplo puede que nos interese mantener un menú en pantalla hasta que el
usuario pulse la tecla 'S'
DO –UNTIL (HACER – HASTA)
— Pseudocódigo:
HACER
< bloque_de_intrucciones>
HASTA <condición>
— Pascal:
Repeat
< bloque_de_intrucciones>
Until (<condición>)
Un ejemplo concreto en el que se nos muestra el nombre del programa hasta que pulsamos
la tecla 'S' sería:
program repetir; uses crt;
var:
tecla: char;
begin
repeat
begin
writeln('Programa repetir v: 1. 0'); (*aquí hay varias instrucciones, por ello
debemos ponerlas*)
writeln('¿Desea salir del programa(S/N)?'); (*entre begin y end*)
tecla:=readkey;
end;
until upcase(tecla)='S';
end.
Aquí aparece otro tipo de variable, char. Este tipo se utiliza cuando trabajamos con
caracteres alfanuméricos ("a", "b", "c", "1", "2",...)
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
Bachillerato en Computación con Orientación Comercial
— Pseudocódigo:
MIENTRAS <condición>
< bloque_de_intrucciones>
FIN- MIENTRAS
— Pascal:
While (<condición>) Do
Begin
< bloque_de_intrucciones>
End;
Volviendo al ejemplo:
program repetir2; uses crt;
var:
tecla: char;
begin
do while upcase(tecla)<>'S';
begin
writeln('Programa repetir v. 2. 0.');
writeln('¿Desea salir del programa(S/N)?');
tecla:=readkey;
end;
end.
Estos dos tipos de bucles a primera vista parecen hacer lo mismo, pero hay una importante
diferencia. En el caso del bucle r epeat primero entramos en el bucle y luego
comprobamos la condición, mientras que en el caso del bucle while primer o se
comprueba la condición y luego se entra en el bucle. Es decir, en el caso del bucle
repeat las instrucciones del bucle se ejecutarán siempr e al menos una vez (aunque la
condición sea falsa, puesto que esto sólo se comprueba al final del bucle). Por el contrario
en el caso del bucle while si la condición es falsa desde el principio las instrucciones del
bucle nunca se ejecutarán.
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com