Está en la página 1de 60

Bachillerato en Computación con Orientación Comercial 

CONTENIDO PARA EL CURSO DE PROGRAMACIÓN I

PRIMERA UNIDAD ØCaracterísticas de los algoritmos


ØQué es la Informática ØDiseño del algoritmo
ØInformación ØEscritura de algoritmos
ØPasos en el tratamiento de la ØMétodos de representación de
información algoritmos
ØOperaciones para el tratamiento de ØDiagrama de flujo
la Información ØTérminos utilizados en diagramación
ØUnidades de Medida de la ØPseudocódigo
Información ØProgramación: Estructura de un
ØLa computadora programa
ØProgramas e instrucciones ØConcepto de programa
ØElementos básicos en la Informática ØPartes de un programa
ØRepresentación de la información en ØInstrucciones y tipos de
la computadora instrucciones
ØSistemas numéricos ØElementos básicos de un programa
Øcodificación de la información ØDatos, tipos de datos y operaciones
ØASCII primitivas
ØUnicode ØConstantes y variables
ØConstantes
SEGUNDA UNIDAD Øvariables
ØResolución de problemas con
ØExpresiones
computadoras: Algoritmos ØExpresiones aritméticas
ØResolución de problemas
ØReglas de prioridad
ØEtapas en la resolución de problemas ØExpresiones booleanas
ØAnálisis del problema
ØOperadores lógicos
ØDiseño del algoritmo ØEscritura de algoritmos y programas
ØCodificación de un programa
ØCompilación y ejecución de un TERCERA UNIDAD

programa ØEl lenguaje de Turbo Pascal

ØVerificación y depuración de un ØPalabras reservadas


ØIdentificadores
programa
ØTipos de datos
ØDocumentación y mantenimiento
ØVariables y constantes
ØAlgoritmos: Concepto y ØComentarios
características ØLa estructura de los programas
ØEstructura de los programas

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

ØSentencia PROGRAM ØTipos reales


ØDeclaración de unidades ØTipos carácter
ØDeclaración de constantes, tipos y ØTipos cadenas
variables ØTipos lógicos
ØPrograma principal
CUARTA UNIDAD
ØEjecución de los programas
ØCompilación y ejecución en ESTRUCTURAS DE CONTROL
memoria secuenciacion
ØLa operación de asignación Seleccion
ØAsignación o igualación if then else
ØEntrada y salida de datos case
ØSalida de datos a la pantalla iteracion
ØEntrada de datos desde teclado definida: for
ØTipos de datos Indefinida: repeat, while
ØTipos enteros

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

¿Qué es la Informática?

Informática es una palabra de origen francés formada por la contracción de los


vocablos: INFORmación y autoMATICA

La Real Academia Española define Informática como:

El conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento


automático y racional de la información por medio de computadoras.

El objetivo marcado es el “tratamiento automático” de la información y el medio


utilizado “la computadora”.

Por lo tanto, es imprescindible conocer: 

­  Todas las características técnicas de las computadoras y sus componentes


asociados (periféricos). 

­  Tipos de información y datos que se manejarán (sistemas de representación,


archivos y bases de datos). 

­  Los procesos y métodos aplicados a la información o datos (programas). 

­  Los sistemas de comunicación que permitirán tratar la información a distancia


y Compartirla de forma fiable.

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.

Puesto en contexto de que trata la Informática, sus teorías y métodos, pasamos a


detallar cada uno de los conceptos fundamentales:

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.

Carácter: es cualquier símbolo numérico, alfabético o especial que se emplea en la


escritura y en el cálculo:

- Numéricos: 0, 1,2,.....9

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

- Alfabéticos: a, b, c...., z, A, B, C..., Z.

- Especiales: *, /, +, #,..

- De control: retorno de carro (enter), Fin de fichero (EOF)...

Dato: es cualquier conjunto de caracteres (puede ser un único carácter). Existen tres
tipos básicos de datos:

- Numéricos: Formados exclusivamente por dígitos. Ej. 213, 21.419.

- Alfabéticos: formados exclusivamente por letras del alfabeto. Ej. Juan, x, Costo.

- Alfanuméricos: Formados por caracteres numéricos, alfabéticos y especiales. Ej.

Valor5, PA4, Junín 455.

Considerando lo anterior, se puede definir la información como un conjunto de datos


(numéricos, alfabéticos y alfanuméricos) ordenados con los que se representan
convencionalmente hechos, objetos e ideas.

Pasos en el tratamiento de la información


Tratamiento de información quiere decir operar o procesar un conjunto de datos
iniciales o datos de entrada, y, como resultado de este procesamiento, obtener un
conjunto de datos finales o de salida. El procesamiento de datos está constituido por
tres actividades básicas:

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:

- Agrupación: consiste en organizar o clasificar elementos similares por grupos o


clases.

- Cálculo: consiste en la manipulación aritmética de los datos.

- Clasificación: consiste en el ordenamiento de los datos agrupados según una


secuencia lógica (de mayor a menor, del más antiguo a más reciente).

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:

- Almacenamiento y recuperación: Con el proceso de almacenamiento nos aseguramos


de poder conservar los datos para el futuro. Para realizar la consulta utilizaremos el
proceso de recuperación.

- Comunicación y reproducción: El proceso de comunicación de datos consiste en la


transferencia de los mismos de un lugar a otro, donde serán utilizados o se procesarán
de nuevo. Este proceso continúa hasta que la información llega al usuario. Cuando la
recibe puede necesitar copiar o duplicar la información (por ejemplo un listado de las
ventas del último mes) y esta tarea de reproducción la realiza una máquina.

Operaciones para el tratamiento de la Información


En el tratamiento de la información aparecen implicadas algunas o todas las
operaciones elementales que exponemos a continuación:

- Lectura: consiste en adquirir la información que después utilizará el resto de las


Operaciones elementales.

- Almacenamiento: consiste en almacenar la información durante el tiempo que sea


necesario para hacer uso de ella cuando se precise.

- Clasificación: Permite ordenar la información guardada usando la operación anterior


de almacenamiento. De este modo podemos acceder cuando sea necesario a parte o a
la totalidad de la información.

- 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.

- Copia: Consiste en poder transcribir información a un soporte dado de forma


automática.

- Escritura: Consiste en mostrar la información de una manera clara y ordenada sobre


un soporte dado. La diferencia con respecto a la copia radica en que, en el caso de
tratarse de un tratamiento automático de la información, la información es mostrada
de manera que sea inteligible para las personas mientras que en la copia dicha
información se encuentra en el lenguaje que la máquina entiende.

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

Unidades de Medida de la Información


En el interior de las computadoras, la información se almacena y se transfiere de un
sitio a otro según un código que utiliza sólo dos valores (un código binario)
representado por 0 y 1. En la entrada y salida de la computadora se efectúan
automáticamente los cambios de código oportunos para que en su exterior la
información sea directamente comprendida por los usuarios.

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.

Dijimos que la información se representa por medio de caracteres y que internamente


se codifica en un alfabeto binario, es decir, en bits. Por tanto a cada carácter le
corresponde un cierto número de bits.

Un byte es el número de bits necesarios para almacenar un carácter. Este número


depende del código utilizado por la computadora, siendo generalmente 8, por lo que
habitualmente byte se utiliza como sinónimo de 8 bits.

La capacidad de almacenamiento de una computadora o de un soporte de información,


(tal como disco, disquete o cinta magnética) se mide en bytes. Como es una unidad
relativamente pequeña, es usual utilizar múltiplos, que se muestran en la tabla
siguiente:

MEDIDA EQUIVALENCIA

1 Byte 8 bits

1 Kilobyte (KB) 1024 bytes = 210 bytes

1 Megabyte (MB) 1024 KB = 220 bytes = 1.048.576 bytes

1 Gigabyte (GB) 1024 MB = 230 bytes = 1.073.741.824 bytes

1 Terabyte (TB) 1024 GB = 240 bytes

1 Petabyte (PB) 1024 TB = 250 bytes

1 Exabyte (EB) 1024 PB = 2 60 bytes

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.

Se entiende por operaciones lógicas funciones tales como comparar ó seleccionar.

La diferencia fundamental de la computadora respecto a otras máquinas que realizan


un tratamiento automático de la información (como las calculadoras) se encuentra en
la propia definición: el proceso lo controla el programa y no un operador humano.

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.

Un programa es un conjunto ordenado de instrucciones que se dan a la computadora


indicándole las operaciones o tareas que se desea que realice.

Las instrucciones se forman con elementos o símbolos tomados de un determinado


repertorio, el “juego de instrucciones” de una CPU particular, y se construyen
siguiendo unas reglas precisas.

Los programas son formulaciones concretas de algoritmos abstractos basados en


ciertas representaciones y en estructuras de datos.

Todo lo relativo a los símbolos y reglas para escribir programas se denomina lenguaje
de programación.

Elementos básicos en la Informática


En general, en un sistema informático, se encuentran tres partes fundamentales que
interactúan entre sí:

- El elemento físico o hardware: Es el conjunto de elementos materiales:

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

Computadoras, impresoras, periféricos (entrada, proceso y salida), redes de


comunicación, etc.

- El elemento lógico o software: Se refiere a los programas, datos o conjunto de


elementos lógicos: sistema operativo, lenguajes de programación, programas de
aplicación específicos, archivos de datos, páginas web, etc.

- 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.

Representación de la información en las computadoras


Dos de los aspectos más importantes que se presentan en Informática, relacionados
con la información, es cómo representarla y cómo materializarla o registrarla
físicamente.

En la representación al interior de las computadoras, se consideran cuatro tipos de


información: textos, datos numéricos, sonidos e imágenes. Cada uno de ellos
presenta características diferentes.

El objetivo es comprender los procesos que transforman la información externa a la


computadora en patrones de bits fácilmente almacenables y procesables por los
elementos internos de la misma.

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.

El sistema binario, compuesto por los símbolos 1 y 0, es el que utiliza la computadora


en su funcionamiento interno. La computadora opera en binario debido a que sus
componentes físicos, pueden representar solamente dos estados de condición:

Apagado/prendido, abierto/cerrado, magnetizado/no magnetizado, etc. Estados de


condición a los que se les asigna el valor 1 ó 0.

El sistema decimal, compuesto por los símbolos 0 al 9, es el sistema numérico que


utilizamos a diario.

El sistema hexadecimal, con 16 símbolos, ofrece la posibilidad de comprimir los


números binarios para hacerlos más sencillos de tratar.

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 

Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se


emplean letras minúsculas en lugar de mayúsculas. Como en cualquier sistema de
numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su
posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la
base del sistema, que en este caso es 16. Por ejemplo: 3E0,A16 = 3×162 + E×161 + 0×160
+ A×16-1 = 3×256 + 14×16 + 0×1 + 10×0,0625 = 992,625.

El sistema hexadecimal actual fue introducido en el ámbito de la computación por


primera vez por IBM en 1963. Una representación anterior, con 0–9 y u–z, fue usada
en 1956 por la computadora Bendix G-15.

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

transcrita a un segundo alfabeto A2, se dice que ha sido codificada.

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).

Códigos de representación de la información en las computadoras


Los datos ó cualquier información que se manejan internamente en un sistema
informático se pueden representar, según sus características, de la siguiente manera:

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

Textos Datos Numéricos Sonidos


 BCD de 6 bits Enteros WAV
 EBCDIC Reales MIDI
 ASCII MP3
 UNICODE WMA

Videos Imágenes
WMV Mapa de Bits: BMP, TIFF, JPEG, GIF,
AVI PNG
MOV Mapa de Vectores: CDR, AI, EPS, WMF
MPG
MP4

En esta ocasión solo explicaremos los más necesarios.

ASCII: Código Estándar Americano para el Intercambio de Información.


El código ASCII básico utiliza 7 bits y se usa especialmente para la transmisión de
datos. Existen otras versiones ampliadas de este código que utilizan 8 bits y respetan
los códigos normalizados del ASCII básico, aprovechando las combinaciones no usadas
para representar símbolos adicionales. Entre ellas se encuentran los códigos ISO

8859-n, donde n es el número que identifica el juego de los nuevos caracteres


introducidos dependiendo de los lenguajes. Por ejemplo, la norma, ISO 8859-1,
también denominada ISO-Latin1, se proyectó para América y Europa occidental e
incluye vocales con acentos, tildes, diéresis y otras letras latinas no usadas en los
países anglosajones.

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.

 Los símbolos y códigos añadidos en las versiones ampliadas a 8 bits no están


normalizados.

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.

 Los lenguajes escritos de diversas culturas orientales, como la china, japonesa y


coreana se basan en la utilización de ideogramas o símbolos que representan palabras,
frases o ideas completas, siendo, por tanto, inoperantes los códigos que sólo codifican
letras individuales.

Unicode está reconocido como estándar ISO/IEC 1 0646, y presenta las siguientes

propiedades:

 Universalidad, trata de cubrir la mayoría de lenguajes escritos: 16 bits => 65.356


símbolos.

 Unicidad, a cada carácter se le asigna exactamente un único código.

 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

números irracionales tales como .

SEGUNDA UNIDAD

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

Resolución de problemas con computadoras: Algoritmos

Resolución de problemas

La resolución de cualquier problema con una computadora se hace escribiendo un


programa, que tendrá como mínimo las siguientes actividades:

- Definición o análisis del problema


- Diseño del algoritmo de solución
- Codificación del algoritmo en un programa que la computadora pueda interpretar
- Compilación y ejecución
- Verificación
- Mantenimiento
- Documentación

Etapas en la resolución de problemas (ciclo de vida del software)


Desde el planteo inicial de un problema hasta que se obtiene el correspondiente
programa o aplicación, su instalación y funcionamiento en una computadora, se sigue
una serie de pasos que en conjunto constituyen lo que en Ingeniería de Software se
denomina ciclo de vida del software.

Si bien se reconoce que el proceso de diseñar programas es – esencialmente- creativo,


los pasos o etapas comunes que generalmente deben seguir los programadores son:

- 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.

- Diseño: Consiste en la determinación de una solución o algoritmo del problema


planteado.

- Codificación (implementación): La solución se escribe en la sintaxis de un lenguaje


de programación y se obtiene el programa o código fuente.

- Compilación, ejecución, verificación y depuración: El programa se ejecuta, se

comprueba rigurosamente y se eliminan todos los errores que puedan detectarse.

- Mantenimiento. El programa se actualiza y modifica cada vez que sea necesario en


función de los requerimientos de los usuarios. Esta es la etapa más larga del ciclo de
vida de desarrollo de software y puede durar muchos años

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.

Las dos primeras etapas conducen a un diseño detallado escrito en forma de


algoritmo. Un algoritmo es una secuencia de pasos que, seguidos uno a uno, y en el
orden en que fueron planteados, permiten resolver un problema.

En la tercera etapa se implementa el algoritmo en un código escrito en un lenguaje de


programación, reflejando las ideas generadas en las etapas anteriores.

En la etapa de compilación y ejecución, el código se traduce a un lenguaje que la


máquina pueda entender y se ejecuta el programa, esto es, la computadora realiza una
a una las instrucciones dadas en el programa. La verificación y depuración, consiste en
la búsqueda y eliminación de los errores. Cuanto más tiempo se invierta en la etapa de
análisis y diseño menos tiempo se requerirá en la etapa de depuración.

La documentación es un paso importante que hace a las buenas prácticas de


programación, ayudan a la comprensión del código y facilitan su mantenimiento.

Análisis del problema


Esta etapa requiere una clara definición donde se contemple exactamente lo que debe
hacer el programa y el resultado o solución deseada.

Para definir correctamente un problema es conveniente responder a las siguientes


preguntas:
- ¿Qué entradas se requieren? (tipo y cantidad)
- ¿Cuál es la salida deseada? (tipo y cantidad)
- ¿Qué método produce la salida deseada?

Ejemplo:
Dado el radio de una circunferencia, se desea obtener su longitud y el área del círculo
que determina.

Para este problema la entrada es el radio de la circunferencia, el único dato necesario


para realizar los cálculos.

Respecto a la información resultante, para este problema son, la longitud de la


circunferencia y el área del círculo.

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:

Longitud = 2 * 3,1416 * radio

Área = 3,1416 * radio * radio

Diseño del algoritmo


En la etapa de análisis del proceso de programación se determina qué hace el
programa y en la etapa de diseño se especifica cómo hace el programa la tarea
solicitada.

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.

Para realizar la conversión de un algoritmo en un programa, las operaciones indicadas


en el algoritmo se expresan en el lenguaje de programación correspondiente,
respetando sus reglas y sintaxis.

Una buena práctica de programación consiste en agregar en el programa fuente


comentarios que ayuden a la comprensión del código. Estos comentarios constituyen lo
que se llama documentación interna. Las líneas de comentarios se identifican porque
comienzan con un símbolo, por ejemplo /*. Estas líneas son ignoradas por el
compilador, sólo sirven para que los programas sean más fáciles de entender. El
objetivo del programador debe ser escribir programas sencillos y claros, que sean
fáciles de actualizar, por quién los escribió y por otros programadores.

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

Compilación y ejecución de un programa


Una vez que el algoritmo se ha convertido en un programa fuente, es preciso
introducirlo a la computadora y almacenarlo en un disco. Esta operación se realiza con
un programa editor propio del lenguaje de programación o un editor de texto de uso
general.

La compilación consiste en la traducción del programa fuente a lenguaje de máquina.


De esta tarea se encargar el programa compilador del lenguaje de programación. Si
luego de la compilación se presentan errores (errores de compilación), es necesario
volver a editar el programa, corregir los errores y compilar de nuevo. Este proceso se
repite hasta que no se presenten más errores, obteniéndose el programa objeto, que
todavía no es ejecutable directamente. A continuación, se indica al sistema operativo
que se realice la fase de montaje o enlace (link), que completa el programa objeto con
librerías o rutinas propias del compilador, que genera el programa ejecutable.

Cuando el programa ejecutable se ha creado (generalmente la extensión del archivo


será .exe ó .com), se puede ejecutar el programa desde el sistema operativo con sólo
teclear su nombre o hacer doble clic sobre el nombre (estas acciones dependen del
sistema operativo de la computadora particular). Suponiendo que no existan errores
durante la ejecución se obtendrán los resultados del programa.

Verificación y depuración de un programa


La verificación de un programa es el proceso de comprobación de la corrección de un
programa. Consiste en la ejecución del mismo con un conjunto de datos de pruebas
para determinar si el programa tiene errores. Este conjunto de datos de prueba o
test debe contener valores de datos de entrada normales, valores extremos de los
datos para comprobar los límites, valores erróneos y valores de entrada que
comprueben casos especiales del programa.

La depuración es el proceso de encontrar los errores y corregir o eliminar dichos


errores. En general, existen tres tipos de errores:

-Errores de compilación: Se producen normalmente por un uso incorrecto de las reglas


del lenguaje de programación y suelen ser errores de sintaxis. Si hay errores de
sintaxis, la computadora no puede entender la instrucción, no se genera el programa
objeto y el compilador emite una lista con todos los errores encontrados durante la
compilación.

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

- Errores de ejecución: Se producen por errores que la computadora puede


comprender pero no ejecutar. Ejemplos típicos son: operaciones en las que se
pretende dividir por cero y raíces cuadradas de números negativos. En estos casos, se
detiene la ejecución del programa y se imprime un mensaje de error. El programa
“cancela”, es el término en la jerga informática.

- 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.

La documentación de un programa puede ser: interna o externa. La interna es la


contenida en los comentarios del programa fuente. La externa incluye análisis,
diagramas de flujo y/o seudocódigos, manuales del usuario con instrucciones para
ejecutar el programa y para interpretar los resultados.

La documentación es importante cuando deben introducirse cambios en los programas.


Después de cada cambio, la documentación debe ser actualizada. Es práctica
frecuente numerar las sucesivas versiones de los programas 1.0, 1.1, 2.0, 2.1, etc. Si
los cambios son significativos, se varía el primer dígito [1.0, 2.9,…]., si son pequeños
cambios se varía el segundo dígito [2.0, 2.1,…].

Algoritmos: Concepto y características


La noción del algoritmo es básica en la programación de computadoras, ya que la
resolución de un problema exige el diseño previo de un algoritmo que resuelva dicho
problema.

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 

resolver problemas de un modo riguroso y sistemático. De aquí que una metodología de


la programación es una metodología para resolver problemas mediante programas. El
eje central de esta metodología en el concepto de algoritmo.

Un algoritmo es un método para resolver problemas. Más explícitamente es un


conjunto finito de reglas que dan una secuencia de operaciones para resolver un
problema específico.

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.

PROBLEMA  DISEÑO DEL  PROGRAMA DE 


ALGORITMO  COMPUTADORA

Esquema de resolución de un problema mediante programas de computadoras.

Los pasos para la resolución de un problema son:

1. Diseño del algoritmo, que describe la secuencia ordenada de pasos —sin


ambigüedades— que conducen a la solución de un problema dado. (Análisis del
problema y desarrollo del algoritmo).

2. Expresar el algoritmo como un programa en un lenguaje de programación Adecuado.


(Codificación.)

3. Ejecución y validación del programa por la computadora.

Para llegar a la realización de un programa es necesario el diseño previo de un


algoritmo, de modo que sin algoritmo no puede existir un programa.

Los algoritmos son independientes tanto del lenguaje de programación en que se


expresan como de la computadora que los ejecuta. En cada problema el algoritmo se 

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

puede expresar en un lenguaje diferente de programación o ejecutarse en una


computadora distinta; sin embargo, el algoritmo será siempre el mismo. Así, por
ejemplo, en una analogía con la vida diaria, una receta de un plato de cocina se puede
expresar en español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos
para la elaboración del plato se realizarán sin importar el idioma del cocinero.

En la ciencia de la computación y en la programación, los algoritmos son más


importantes que los lenguajes de programación o las computadoras. Un lenguaje de
programación es tan sólo un medio para expresar un algoritmo y una computadora es
sólo un procesador para ejecutarlo. Tanto el lenguaje de programación como la
computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute
y se efectúe el proceso correspondiente.

Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy


importante será el diseño de algoritmos. El diseño de la mayoría de los algoritmos
requiere creatividad y conocimientos profundos de la técnica de la programación.

Características de los algoritmos


Las características fundamentales que debe cumplir todo algoritmo son:
- Debe ser preciso e indicar el orden de realización de cada paso.

- 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.

La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.


En el algoritmo de receta de cocina citado anteriormente se tendrá:

Entrada: ingredientes y utensilios empleados.


Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, tarta de manzanas).

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

Diseño del algoritmo


Una computadora sólo es capaz de resolver un problema si se le instruye paso a paso
en las acciones que debe realizar. Estos pasos sucesivos que indican las instrucciones a
ejecutar por la máquina constituyen como ya hemos visto, el algoritmo.

La información proporcionada al algoritmo constituye su entrada y la información


producida por el algoritmo constituye su salida.

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 el diseño modular cada subproblema es resuelto mediante un módulo (subprograma)


que tiene un solo punto de entrada y uno solo de salida.

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.

- Sólo puede ejecutarse una operación a la vez.

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

El flujo de control usual de un algoritmo es secuencial. Por ejemplo, consideremos el


algoritmo que responde a la pregunta: ¿qué hacer para ver la película “Piratas del
Caribe”?

El algoritmo es muy sencillo pero se cumplen las propiedades mencionadas


anteriormente:

_ 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.

El algoritmo descripto es muy sencillo, sin embargo, como ya se ha indicado en


párrafos anteriores, el algoritmo general se descompondrá en pasos más simples
mediante el refinamiento sucesivo, ya que cada acción se puede descomponer en otras
acciones simples. Un primer refinamiento del algoritmo anterior se puede describir de
la siguiente forma:

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 

5.3. localizar la butaca


5.4. MIENTRAS proyectan la película HACER
5.4.1. ver la película
FIN_MIENTRAS
5.5. abandonar el cine
SI_NO
5.6. refunfuñar
FIN_SI
6. volver a casa
7. FIN

En este último ejemplo existen diferentes aspectos a considerar:

- Ciertas palabras reservadas se han escrito en mayúsculas y negrita para resaltarlas


de las demás. Estas palabras describen las estructuras de control fundamentales y
procesos de toma de decisión en el algoritmo. Estas incluyen los conceptos
importantes de selección, (expresadas en la estructura SI-ENTONCES-SI_NO (if-
then-else)) y de repetición (expresadas con MIENTRAS-HACER (while-do), o
REPETIR-HASTA (repeatuntil)) que se encuentran en casi todos los algoritmos.

- Empleo de indentación (sangrado o justificación) en la descripción del algoritmo.


Este método facilita la identificación de las acciones y de sus estructuras.

Métodos de representación de algoritmos


Para representar un algoritmo se debe utilizar algún método que permita independizar
dicho algoritmo de los lenguajes de programación. Permitiendo que pueda ser
codificado posteriormente en cualquiera de ellos. Los métodos usuales para
representar un algoritmo son:

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

Los métodos d) y e) no son fáciles de transformar en programas. Una descripción en


español narrativo no es satisfactoria porque puede presentar ambigüedades. Una
fórmula sin embargo es un buen sistema de representación. Por ejemplo, las fórmulas
para la solución de una ecuación cuadrática (de segundo grado) son un medio apropiado

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:

X1 = (-b + V(b2 -4ac)/2ª X2 = (-b -V(b2 -4ac)/2a)

Sin embargo, no es frecuente que un algoritmo se exprese por medio de fórmulas.

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.

Un diagrama de flujo es un método de representación gráfica que utiliza un conjunto


de símbolos, de forma que cada paso del algoritmo se visualiza dentro del símbolo
adecuado y el orden en que se realizan los pasos se representa por medio de flechas
que indican el flujo lógico del algoritmo.

Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de


Normalización (ANSI) y los más frecuentemente empleados son:

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

Un ejercicio simple de diagramación:

Problema: Obtener el promedio de notas de alumnos:

En el diagrama A, se utiliza el lenguaje natural para la especificación de las


instrucciones (“Leer nota de un alumno”), la idea principal es mostrar el tipo de
instrucción que se especifica en cada símbolo y el orden en que deben realizarse las
órdenes para llegar al resultado.

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

En el diagrama B, las especificaciones se formalizan utilizando variables. Las variables


representan a los datos que se procesan. Más adelante veremos que estas variables
representan la posición de memoria RAM en la que están ubicados los datos. Esta
referencia a una ubicación obliga a que se respete el nombre asignado cada vez que
hacemos referencia a ese dato.

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.

El nombre de una variable debe ser nemotécnico, es decir, representativo de su


contenido. Este nombre debe respetarse en todo el diagrama.

Las constantes alfanuméricas se utilizan en un diagrama como caracteres encerrados


entre comillas. En el ejercicio ejemplo, el valor del promedio calculado se mostrará en
papel impreso con la leyenda “Promedio de notas”.

El sentido de las flechas indica la secuencia de ejecución de las instrucciones.


Observe en el ejercicio que la instrucción de poner en 0 las variables se realiza una
sola vez, mientras que la instrucción leer nota del alumno se realiza tantas veces como
alumnos se procesen.

Términos utilizados en diagramación:

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.

Iteración o bucle (loop):

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

Es un conjunto de instrucciones que se procesa repetidamente hasta que se cumpla la


condición de salida. En el ejemplo, las instrucciones de contar alumnos y acumular
notas se realizan tantas veces como alumnos se procesen.

Ventajas de los diagramas:


- Rápida comprensión de las relaciones.

- Análisis efectivo: Puede dividirse en secciones detalladas


para su estudio.

- Comunicación: es más visual, "una imagen dice más que mil


palabras".

- Documentación.

- Codificación eficiente.

Limitaciones:

- Los diagramas complejos y detallados pueden ser muy laboriosos de realizar y de


consultar.

- No existen normas que indiquen el nivel de detalles que debe incluirse en un


diagrama.

Ejemplos de diagramas de flujo:

a) Programa que deduce el salario neto de un


trabajador a partir de la lectura del nombre,
horas trabajadas, precio de la hora. Se sabe
también, que los impuestos aplicados
constituyen el 25% del salario bruto.

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.

El pseudocódigo nació como un lenguaje similar al inglés y era un medio de representar


las estructuras de control de la programación estructurada, que veremos más
adelante.

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.

- Facilita la modificación del algoritmo si se descubren errores.

- Puede ser traducido fácilmente a lenguajes de programación estructurados tales


como Pascal, Fortran, C, C#, etc.

Todo seudocódigo debe posibilitar la descripción de:

- Instrucciones de entrada/salida.
- Instrucciones de proceso.
- Sentencias de control del flujo de ejecución.

- Acciones compuestas, que se refinan posteriormente (subprogramas o rutinas).

Asimismo, tendrá la posibilidad de describir datos, tipos de datos, variables,


expresiones, archivos y cualquier otro objeto que sea manipulado por el programa.

El pseudocódigo original utiliza para representar las acciones sucesivas palabras


reservadas en inglés - similares a sus homónimas en los lenguajes de programación -,
tales como start, end, stop, if-then-else, while-end, repeat-until, etc.

La escritura de pseudocódigo exige normalmente la indentación (sangría en el margen


izquierdo) para describir las acciones en sus estructuras de control correspondientes.

La representación en pseudocódigo del diagrama ejemplo mostrado en a) sería:

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.

La línea precedida por // se denomina comentario. Es información al lector del


programa y no realiza ninguna acción ejecutable, sólo tiene efecto de documentación
interna.

Actualmente el uso del pseudocódigo se ha extendido a la comunidad hispana con


términos en español, como inicio, fin, leer, escribir, si- entonces- si_no, mientras,
fin_mientras, etc.

Programación: Estructura de un programa 

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 

El proceso de ingresar la información de entrada – datos – en la memoria de la


computadora se denomina entrada de datos, operación de lectura o acción de leer.

Las salidas de los datos se deben presentar en dispositivos periféricos de salida:


pantalla, impresora, disco, etc. La operación de salida se conoce también como
escritura o acción de escribir.

Instrucciones y tipos de instrucciones


El proceso de diseño del algoritmo o posteriormente la codificación consiste en definir
las ACCIONES o INSTRUCCIONES que resolverán el problema.

Las acciones o instrucciones se deben escribir y posteriormente almacenar en


memoria en el mismo orden en que han de ejecutarse, es decir, en secuencia.

Un programa es lineal cuando sus instrucciones se ejecutan secuencialmente sin


bifurcaciones.

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 

5. bifurcación (alteración de la secuencia del flujo de instrucciones)

Instrucciones de asignación
Una instrucción de asignación coloca un determinado valor en una variable o posición
de memoria.

Ejemplo 1: A= 80 la variable denominada A toma el valor 80

Instrucciones de lectura de datos (entrada)


Esta instrucción lee datos de un dispositivo de entrada. Cuál es el significado de las
instrucciones siguientes?

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.

Instrucciones de escritura de resultados (salida)


Esta instrucción escribe datos en un dispositivo de salida. Cuál es el significado de las
instrucciones siguientes?

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.

Las bifurcaciones pueden ser condicionales, si depende del cumplimiento de una


determinada condición (por ejemplo: SI N > 0 THEN ir al fin); o incondicionales si la

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

bifurcación no depende de ninguna condición (por ejemplo, IR a la instrucción 5). En


general, las bifurcaciones incondicionales (GOTO) no son una práctica recomendada en
programación, debido a que no respetan las estructuras de control propuestas por la
programación estructura.

Es importante que observe y comprenda los siguientes conceptos:

1) Las variables indicadas en un programa son posiciones de memorias (celdas) que


internamente serán reconocidas con una “dirección” (un número binario, por
supuesto).

2) El programa opera con las posiciones de memoria o variables, no con los datos
directamente.

3) Las instrucciones de lectura asignan datos de entrada a las posiciones de


memoria, en forma “destructiva”, es decir, cada nueva lectura destruye el valor
anterior de la variable y coloca un nuevo valor.

4) Las instrucciones de salida muestran, en el dispositivo indicado (en este caso


una impresora), el contenido de las variables referenciadas en la instrucción.

5) La instrucción de bifurcación condicional (N=0) posibilita cambiar la linealidad


de ejecución de las instrucciones, en este caso, para terminar el programa.

6) La instrucción de bifurcación incondicional (ir a leer los datos de otro alumno)


altera la secuencia forzando al programa que vuelva a ejecutar una instrucción
anterior.

7) La instrucción de asignación para el cálculo del promedio evalúa la expresión a


la derecha del signo igual y el resultado lo coloca en la variable a la izquierda
del signo.

8) El algoritmo propuesto puede ejecutarse para N alumnos con la misma eficacia.


En cada iteración se dispone de los datos de UN ALUMNO, de aquí que los
datos deben ser usados (operados) “mientras” se encuentren en la memoria
principal, es decir, en el ciclo de lectura.

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 

Elementos básicos de un programa


En programación se debe tener presente la diferencia entre diseño del algoritmo y su
Implementación en un lenguaje de programación específico. Sin embargo, una vez que
se comprendan los conceptos de programación la codificación en un nuevo lenguaje de
Programación, será relativamente fácil.

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.

Los elementos básicos constitutivos de un programa o algoritmo son:

- Palabras reservadas (INICIO, FIN, SI-ENTONCES-THEN…)

- Identificadores (nombres de variables, funciones, procedimientos, etc.)

- Caracteres especiales (coma, apóstrofos, etc.)


- Constantes
- Variables
- Expresiones
- Instrucciones

Además de estos elementos básicos, existen otros cuya comprensión y funcionamiento


es esencial para el diseño correcto de algoritmos y programas. Estos elementos son:
Bucles, contadores, acumuladores, estructuras de control (1-Secuencia, 2-Selección,
3- Repetitivas).

Datos, tipos de datos y operaciones primitivas


Un dato es la expresión general que describe los objetos con los que opera la
computadora. En general, las computadoras pueden operar con varios tipos de datos.
Los programas y algoritmos operan sobre esos tipos de datos.

En el proceso de resolución de problemas el diseño de las estructura de los datos es


tan importante como el diseño del algoritmo y del programa que se basa en el mismo.
Ejemplos de datos son: el nombre de una persona, el valor de una temperatura, una
cifra de venta de supermercado, la fecha de un cheque. Etc.

Tipos de datos:
1. Simples (no estructurados)

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

2. Compuestos (con estructura: registros, vectores)

Los distintos tipos de datos se representan en diferentes formas en la computadora,


tal como se ha visto en el tema 2. A nivel de máquina, un dato es un conjunto de bits
(dígitos 0 o 1). Los lenguajes de alto nivel permiten basarse en abstracciones e ignorar
los detalles de la representación interna. Aparece el concepto de tipo de dato, así
como de su representación.

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.

En aplicaciones científicas se requiere una representación especial para manejar


números muy grandes, como la masa de la Tierra, o muy pequeños, como la masa de un
electrón.

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 

b) datos lógicos (booleanos)


El tipo lógico – también denominado booleano - Solo pueden tomar 2 valores:
Cierto o verdadero (true) y falso (false)

c) datos de tipo Carácter y tipo Cadena


El tipo carácter es el conjunto finito y ordenado de caracteres que la computadora
reconoce. Un dato de de este tipo contiene un solo símbolo. Los caracteres que
reconocen las diferentes computadoras no son estándar, pero la mayoría reconoce los
siguientes caracteres:

- Alfabéticos: (A, B, C, …., Z) (a, b, c, …, z)


- Numéricos: (1, 2, 3, …, 9, 0)
- Especiales: (+, -, *, /, ^, ., ;, <, >, $, ….)

Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran


delimitados por apóstrofos (‘) o comillas (“), según el lenguaje de programación. La
longitud de una cadena es el número de caracteres comprendidos entre los apóstrofos
o las comillas. Ejemplos de cadenas: ‘Total de importes‛, “12 de octubre de 1492”

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, Nota­examen, 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 

PRECIO para representar el precio de un artículo

NOTA para representar la nota obtenida por un alumno en un examen.

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.

Por ejemplo: a + (b+3) + XC. Los paréntesis indican el orden de cálculo y la X


representa la raíz cuadrada.

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:

- Aritméticas (Resultado de tipo Numérico)


- Relaciones (Resultado de tipo Lógico)
- Lógicas (Resultado de tipo Lógico)
- Carácter (Carácter)

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:

Operadores div y mod


Generalmente, el símbolo / se utiliza para la división real y el operador div representa
la división de enteros.

El operador mod representa el resto de la división entera.

En ambos casos, esta representación puede diferir de acuerdo al lenguaje de


programación.

Ejemplos:

A div B si A=19 y B= 6 el resultado es 3 (entero)

A mod B si A=19 y B=6 el resultado es 1 (entero)

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:

1) Las operaciones encerradas entre paréntesis se evalúan primero. Si existen


diferentes paréntesis anidados (interiores unos a otros), las expresiones más internas
se evalúan primero.

2) Las operaciones aritméticas dentro de una expresión siguen el siguiente orden de


prioridad:

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

1° - Operador de exponenciación (**, ^, _)

2° - Operadores *, /,

3° - Operadores div y mod

4° - Operadores +, -,

Cuando hay varios operadores con igual prioridad en la expresión, el orden de


prioridad es de izquierda a derecha.

Ejemplo 1: Cuál será el resultado de las siguientes expresiones?

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.

Las expresiones lógicas se forman combinando constantes lógicas, variables lógicas y


otras expresiones lógicas utilizando los operadores lógicos not, and y or y los
operadores relacionales (de relación o comparación) que se muestran en la tabla.

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 

Ejemplo: Dadas las variables A y B, con los valores A=4 y B=3.

La expresión A > B es verdadera

(A-2) < (B-4) es falsa (reemplazando valores: (4-2) < (3-4), esto es 2 < -1, es falso)

Los operadores de relación se pueden aplicar a cualquiera de los tipos de datos


estándar: enteros, real, lógicos y de carácter. La aplicación a valores numéricos es
evidente.

Para realizar comparaciones de datos de tipo carácter, se requiere una secuencia de


ordenación de los caracteres, creciente o decreciente. En general, para las letras se
utiliza el orden alfabético. Pero tenemos que recordar del tema 2, que dentro de la
computadora todos los datos son números, en el caso de los caracteres la comparación
se realizará con el valor numérico de su representación interna (ASCII).

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:

Las definiciones de las operaciones no, y, o se resumen en las llamadas tablas de


verdad.

En las expresiones lógicas se pueden mezclar operadores de relación y lógicos. Así, por
ejemplo:

(11 < 20) y (3 < 9) la evaluación de la expresión es verdadera

(15 > 30) o (‘X‛ < ‘Z‛) ) la evaluación de la expresión es verdadera

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

Prioridad de los operadores lógicos:

Escritura de algoritmos y programas

La escritura de un algoritmo mediante un lenguaje de programación debe ser lo más


clara posible y estructurada, de modo que su lectura facilite la comprensión del
algoritmo y su posterior codificación.

Un algoritmo consta de dos componentes: una cabecera de programa y un bloque de


algoritmo. La cabecera es una acción simple que comienza con la palabra ALGORITMO,
seguida del nombre asignado al programa. El bloque algoritmo es el resto del programa
y consta de dos secciones: las acciones de declaraciones y las acciones ejecutables.

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

Cabecera del programa o algoritmo


Indica el nombre del programa
ALGORITMO Demo

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

tipo-1: lista de variables-1


tipo-2: lista de variables-2

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

Es una buena práctica de programación utilizar nombres de variables significativos que


sugieran lo que ellas representan, ya que eso hará más fácil y legible el programa.

También es una buena práctica incluir breves comentarios que indique como se utiliza
la variable.

Entera: Numero_Empleado // Número que identifica al empleado


Real: horas // horas trabajadas mensuales
Real: impuesto // deducciones establecidas
Real: salario // cantidad a percibir por el empleado

Declaración de constantes
Se declaran las constantes del programa.
CONST
PI = 3.141592
IVA = 21
Horas = 8

Declaración de constantes y variables de tipo carácter

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‛

Las variables de carácter se declaran de dos modos:

a) Cuando almacenan un solo carácter


carácter: letra, nota, digito
B) Cuando almacenan múltiples caracteres (cadenas)
cadena: nombre[20]

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:

Los comentarios se encierran entre los símbolos (* y *)

Formato para escribir algoritmos/programas


El método que seguiremos para representar algoritmos/programas tendrá este
formato:

ALGORITMO identificador //cabecera


// sección de declaraciones
VARIABLES
tipo de datos: lista de identificadores
CONST lista de identificadores = valor
INICIO
sentencia_ 1
sentencia_ 2 // cuerpo del algoritmo
…………………
sentencia_ n
FIN

Notas:

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

a) Las cadenas de caracteres pueden encerrarse entre comillas simples o dobles,


indistintamente.

b) Utilizar siempre sangrías en los bucles o en aquellas instrucciones que proporcionen


legibilidad al programa, por ejemplo, INICIO y FIN.

TERCERA UNIDAD:

INTRODUCCION AL LENGUAJE PASCAL


El lenguaje Pascal se creó en la década de los 70 con el objetivo de disponer de un
lenguaje de programación de alto nivel y propósito general (se utiliza para gran
diversidad de aplicaciones) orientado hacia los nuevos conceptos de programación,
desarrollado por el profesor suizo Niklaus Wirth como un lenguaje para la enseñar la
programación de modo disciplinado, fácil de aprender y con la complejidad suficiente
para permitir una correcta preparación de los programadores futuros.

El lenguaje estándar presenta una serie de características que lo hacen el lenguaje


perfecto para aquellas personas iniciadas en la programación:

· Excelente para el aprendizaje de la programación.


· Lenguaje de propósito general, es decir, se puede aplicar a gran diversidad de
aplicaciones.
· Utilización de procedimiento (programación modular).
· Lenguaje estructurado, se utilizan secuencias de control de bifurcación y
bucles(if, for, while, repeat) sin necesidad de la famosa instrucción GOTO tan
utilizada en muchos lenguajes como BASIC.
· Soporta la recursividad, es decir, propiedad que tienen los procedimienrtos
para llamarse a sí mismo.
· Tipo de datos simples y estructurado, así como definidos por el usuario.
· Posibilidad de trabajar con punteros (variables dinámicas), de este modo
permite definir nuestras propias estructuras de datos dinámicas (lista, pilas,
colas, extc). 

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 

UNTIL  VAR  WHILE  WITH 

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. 

Las  variables y constantes  pueden ser de todos los tipos vistos anteriormente: 


numéricos tanto enteros como reales, caracteres, cadenas de caracteres, etc. 

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; 

Esta linea declara y habilita para su uso a la unidad crt y a la unidad 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]. 

Es  posible  compilarlo  y  ejecutarlo  automáticamente  utilizando  la  secuencia: 


[CONTROL] + [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} 

Es indispensable  para todo programa que cuente con la capacidad  de manejar 


entradas  y  salidas  de  información,  ya  que  sin  estas  capacidades  sería  un 
programa inútil. 

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. 

IF  ‐ ELSE (SI ‐ SINO) 


A menudo al programar nos podemos hallar en la necesidad de hacer comparaciones.
Por ejemplo si queremos escribir un procesador de textos nos puede interesar que al
ejecutar la orden de salir del programa se compruebe si se han grabado todos los
documentos antes, como ya hemos visto en nuestro procesador de textos favorito.

— 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. 

CASE (SEGÚN ‐ SEA) 


También puede ser que tengamos que comparar un valor con múltiples valores posibles. 

—  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 >  
FIN­PARA 

—  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. 

Después entramos en el  bucle for  que  se ejecutará  mientras  la  variable que usamos como 


contador  tome  valores  entre  1  y  100.  Dentro  de  este  bucle  hay  una  única  instrucción: 
writeln('Hola'); por lo que cada vez que se ejecute el bucle se escribirá "Hola" en la pantalla

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' 

Aquí no se especifica explícitamente el número de iteraciones sino la condición de entrada o salida 


del bucle. 

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",...) 

Además aparece  la instrucción upcase (tecla), que lo que hace es convertir a mayúsculas.

Desarrollado por: Edgar Lucas – edgarlucas@gmail.com 
Bachillerato en Computación con Orientación Comercial 

WHILE – DO (MIENTRAS ‐ HACER) 


Una forma alternativa de conseguir lo anterior sería utilizando un bucle while. 

— 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 

También podría gustarte