Sunteți pe pagina 1din 60

Bachillerato en Computacin con Orientacin Comercial

CONTENIDO PARA EL CURSO DE PROGRAMACIN I PRIMERA UNIDAD Qu es la Informtica Informacin Pasos en el tratamiento de la informacin Operaciones para el tratamiento de la Informacin Unidades de Medida de la Informacin La computadora Programas e instrucciones Elementos bsicos en la Informtica Representacin de la informacin en la computadora Sistemas numricos codificacin de la informacin ASCII Unicode SEGUNDA UNIDAD Resolucin de problemas con computadoras: Algoritmos Resolucin de problemas Etapas en la resolucin de problemas Anlisis del problema Diseo del algoritmo Codificacin de un programa Compilacin y ejecucin de un programa Verificacin y depuracin de un programa Documentacin y mantenimiento Algoritmos: Concepto y caractersticas Caractersticas de los algoritmos Diseo del algoritmo Escritura de algoritmos Mtodos de representacin de algoritmos Diagrama de flujo Trminos utilizados en diagramacin Pseudocdigo Programacin: Estructura de un programa Concepto de programa Partes de un programa Instrucciones y tipos de instrucciones Elementos bsicos de un programa Datos, tipos de datos y operaciones primitivas Constantes y variables Constantes variables Expresiones Expresiones aritmticas Reglas de prioridad Expresiones booleanas Operadores lgicos Escritura de algoritmos y programas
TERCERA UNIDAD El lenguaje de Turbo Pascal Palabras reservadas Identificadores Tipos de datos

Variables y constantes Comentarios


La estructura de los programas Estructura de los programas

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Sentencia PROGRAM Declaracin de unidades Declaracin de constantes, tipos y

Tipos reales Tipos carcter Tipos cadenas

variables

Tipos lgicos CUARTA UNIDAD ESTRUCTURAS DE CONTROL secuenciacion Seleccion if then else case iteracion definida: for Indefinida: repeat, while

Programa principal Ejecucin de los programas Compilacin y ejecucin en memoria La operacin de asignacin Asignacin o igualacin Entrada y salida de datos Salida de datos a la pantalla Entrada de datos desde teclado Tipos de datos Tipos enteros

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Qu es la Informtica? Informtica es una palabra de origen francs formada por la contraccin de los vocablos: INFORmacin y autoMATICA La Real Academia Espaola define Informtica como: El conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico y racional de la informacin por medio de computadoras. El objetivo marcado es el tratamiento automtico de la informacin y el medio utilizado la computadora. Por lo tanto, es imprescindible conocer: Todas las caractersticas tcnicas de las computadoras y sus componentes asociados (perifricos). Tipos de informacin y datos que se manejarn (sistemas de representacin, archivos y bases de datos). Los procesos y mtodos aplicados a la informacin o datos (programas). Los sistemas de comunicacin que permitirn tratar la informacin a distancia y Compartirla de forma fiable. Conocer con detalle estos aspectos y la relacin que existe entre ellos, permitir entender cmo se realiza el tratamiento automtico de la informacin, utilizando computadoras. Puesto en contexto de que trata la Informtica, sus teoras y mtodos, pasamos a detallar cada uno de los conceptos fundamentales: Informacin De una manera informal, podemos considerar la informacin como un conjunto de datos ordenados que nos aportan conocimiento sobre las cosas. Para dar una definicin ms formal tendremos en cuenta dos nuevos conceptos: carcter y dato. Carcter: es cualquier smbolo numrico, alfabtico o especial que se emplea en la escritura y en el clculo: - Numricos: 0, 1,2,.....9 Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

- Alfabticos: 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 carcter). Existen tres tipos bsicos de datos: - Numricos: Formados exclusivamente por dgitos. Ej. 213, 21.419. - Alfabticos: formados exclusivamente por letras del alfabeto. Ej. Juan, x, Costo. - Alfanumricos: Formados por caracteres numricos, alfabticos y especiales. Ej. Valor5, PA4, Junn 455. Considerando lo anterior, se puede definir la informacin como un conjunto de datos

(numricos, alfabticos y alfanumricos) ordenados con los que se representan convencionalmente hechos, objetos e ideas.

Pasos en el tratamiento de la informacin


Tratamiento de informacin 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 bsicas: 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 electrnicamente un sonido, una temperatura, un cdigo de barras) o pueden ser dados en forma de letras o nmeros (caracteres). Manipulacin de los datos: Sobre los datos de entrada podemos realizar las siguientes operaciones: - Agrupacin: consiste en organizar o clasificar elementos similares por grupos o clases. - Clculo: consiste en la manipulacin aritmtica de los datos. - Clasificacin: consiste en el ordenamiento de los datos agrupados segn una secuencia lgica (de mayor a menor, del ms antiguo a ms reciente). Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin 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 recuperacin: Con el proceso de almacenamiento nos aseguramos de poder conservar los datos para el futuro. Para realizar la consulta utilizaremos el proceso de recuperacin. - Comunicacin y reproduccin: El proceso de comunicacin de datos consiste en la transferencia de los mismos de un lugar a otro, donde sern utilizados o se procesarn de nuevo. Este proceso contina hasta que la informacin llega al usuario. Cuando la recibe puede necesitar copiar o duplicar la informacin (por ejemplo un listado de las ventas del ltimo mes) y esta tarea de reproduccin la realiza una mquina.

Operaciones para el tratamiento de la Informacin


En el tratamiento de la informacin aparecen implicadas algunas o todas las operaciones elementales que exponemos a continuacin: - Lectura: consiste en adquirir la informacin que despus utilizar el resto de las Operaciones elementales. - Almacenamiento: consiste en almacenar la informacin durante el tiempo que sea necesario para hacer uso de ella cuando se precise. - Clasificacin: Permite ordenar la informacin guardada usando la operacin anterior de almacenamiento. De este modo podemos acceder cuando sea necesario a parte o a la totalidad de la informacin. - Clculo aritmtico y lgico: Este tipo de operacin elemental nos permite procesar la informacin realizando sobre ellas operaciones aritmticas y lgicas. - Copia: Consiste en poder transcribir informacin a un soporte dado de forma automtica. - Escritura: Consiste en mostrar la informacin 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 automtico de la informacin, la informacin es mostrada de manera que sea inteligible para las personas mientras que en la copia dicha informacin se encuentra en el lenguaje que la mquina entiende.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Unidades de Medida de la Informacin


En el interior de las computadoras, la informacin se almacena y se transfiere de un sitio a otro segn un cdigo que utiliza slo dos valores (un cdigo binario) representado por 0 y 1. En la entrada y salida de la computadora se efectan automticamente los cambios de cdigo oportunos para que en su exterior la informacin sea directamente comprendida por los usuarios. La unidad ms elemental de informacin es un valor binario conocido como BIT, es una posicin o variable que toma el valor 0 1. Representa la informacin correspondiente a la ocurrencia de un suceso de entre dos posibilidades distintas: prendido o apagado, abierto o cerrado. Dijimos que la informacin se representa por medio de caracteres y que internamente se codifica en un alfabeto binario, es decir, en bits. Por tanto a cada carcter le corresponde un cierto nmero de bits. Un byte es el nmero de bits necesarios para almacenar un carcter. Este nmero depende del cdigo utilizado por la computadora, siendo generalmente 8, por lo que habitualmente byte se utiliza como sinnimo de 8 bits. La capacidad de almacenamiento de una computadora o de un soporte de informacin, (tal como disco, disquete o cinta magntica) se mide en bytes. Como es una unidad relativamente pequea, es usual utilizar mltiplos, 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

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

La razn por la que se utiliza el factor multiplicador 1024 en lugar de 1000 es por ser a potencia de 2 ms prxima a 1000, cuestin importante desde el punto de vista electrnico.

La computadora
Computador, computadora u ordenador, se define como una mquina capaz de aceptar

unos datos de entrada, efectuar con ellos operaciones lgicas y aritmticas, y proporcionar la informacin resultante a travs de un medio de salida todo ello sin intervencin de un operador humano y bajo el control de un programa de instrucciones previamente almacenado en el propio computador.
Se entiende por operaciones lgicas funciones tales como comparar seleccionar. La diferencia fundamental de la computadora respecto a otras mquinas que realizan un tratamiento automtico de la informacin (como las calculadoras) se encuentra en la propia definicin: el proceso lo controla el programa y no un operador humano.

Programas e instrucciones
Una instruccin es un conjunto de smbolos que representa una orden de operacin 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 indicndole las operaciones o tareas que se desea que realice. Las instrucciones se forman con elementos o smbolos 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 smbolos y reglas para escribir programas se denomina lenguaje de programacin.

Elementos bsicos en la Informtica


En general, en un sistema informtico, se encuentran tres partes fundamentales que interactan entre s: - El elemento fsico o hardware: Es el conjunto de elementos materiales:

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Computadoras, impresoras, perifricos (entrada, proceso y salida), redes de comunicacin, etc. - El elemento lgico o software: Se refiere a los programas, datos o conjunto de elementos lgicos: sistema operativo, lenguajes de programacin, programas de aplicacin especficos, archivos de datos, pginas web, etc. - El elemento humano: personal informtico que realizar los programas y los usuarios que realizarn los procedimientos y usarn la informacin del sistema.

Representacin de la informacin en las computadoras


Dos de los aspectos ms importantes que se presentan en Informtica, relacionados con la informacin, es cmo representarla y cmo materializarla o registrarla

fsicamente.
En la representacin al interior de las computadoras, se consideran cuatro tipos de informacin: textos, datos numricos, presenta caractersticas diferentes. El objetivo es comprender los procesos que transforman la informacin externa a la computadora en patrones de bits fcilmente almacenables y procesables por los elementos internos de la misma. sonidos e imgenes. Cada uno de ellos

Sistemas Numricos
El estudio de las computadoras y del procesamiento de datos requiere algn conocimiento de los sistemas numricos, ya que stos constituyen la base de todas las transformaciones de informacin que ocurren en el interior de la computadora. El sistema binario, compuesto por los smbolos 1 y 0, es el que utiliza la computadora en su funcionamiento interno. La computadora opera en binario debido a que sus componentes fsicos, pueden representar solamente dos estados de condicin: Apagado/prendido, abierto/cerrado, magnetizado/no magnetizado, etc. Estados de condicin a los que se les asigna el valor 1 0. El sistema decimal, compuesto por los smbolos 0 al 9, es el sistema numrico que utilizamos a diario. El sistema hexadecimal, con 16 smbolos, ofrece la posibilidad de comprimir los nmeros binarios para hacerlos ms sencillos de tratar. Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Los sistemas numricos difieren en cuanto a la disposicin y al tipo de los smbolos que utilizan. En este tema se analizaran los sistemas decimal, binario y hexadecimal. Sistema decimal El ms importante factor en el desarrollo de la ciencia y la matemtica fue la invencin del sistema decimal de numeracin. Este sistema utiliza diez smbolos: 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 matemticas e informtica, es un sistema de numeracin en el que los nmeros 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 numeracin natural es el sistema binario (encendido 1, apagado 0). A diferencia del sistema decimal, el valor relativo de los dgitos binarios a la izquierda del dgito 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 numeracin posicional de base 16 empleando por tanto 16 smbolos. Su uso actual est muy vinculado a la informtica y ciencias de la computacin, pues los computadores suelen utilizar el byte u octeto como unidad bsica de memoria y, debido a que un byte representa 28 valores posibles, y esto puede representarse como , que, segn el teorema general de la numeracin posicional, equivale al nmero en base 16 10016, dos dgitos hexadecimales corresponden exactamente permiten representar la misma lnea de enteros a un byte. En principio dado que el sistema usual de numeracin es de base decimal y, por ello, slo se dispone de diez dgitos, se adopt la convencin de usar las seis primeras letras del alfabeto latino para suplir los dgitos que nos faltan. El conjunto de smbolos sera, por tanto, el siguiente:

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras minsculas en lugar de maysculas. Como en cualquier sistema de numeracin posicional, el valor numrico de cada dgito es alterado dependiendo de su posicin en la cadena de dgitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0,A16 = 3162 + E161 + 0160 + A16-1 = 3256 + 1416 + 01 + 100,0625 = 992,625. El sistema hexadecimal actual fue introducido en el mbito de la computacin por primera vez por IBM en 1963. Una representacin anterior, con 09 y uz, fue usada en 1956 por la computadora Bendix G-15.

Representacin de la informacin
Cuando se pretende plasmar la informacin de una forma transmisible y ms o menos permanente, se debe disponer de un soporte fsico adecuado, el cual contenga a la informacin. Existe una variedad de soportes fsicos y algunos muy modernos, pero un medio que sigue en plena vigencia es la ESCRITURA. Han evolucionado los mtodos pero el fundamento sigue siendo el mismo: poner en la secuencia conveniente una serie de smbolos escogidos dentro de un conjunto predefinido. No es necesario que el alfabeto que usa una mquina en su interior sea el mismo que utiliza el hombre que la ha construido y la maneja, basta con que la transformacin de los smbolos internos a los externos o viceversa se efecte de una manera sencilla, de ser posible automticamente por la propia mquina.

Codificacin de la informacin
Cuando una informacin que originalmente vena representada en un alfabeto A1 es transcrita a un segundo alfabeto A2, se dice que ha sido codificada. El caso ms sencillo es cuando ambos alfabetos tienen la misma cantidad de smbolos y a cada smbolo del primer alfabeto le corresponde un smbolo del segundo alfabeto (correspondencia biunvoca o biyectiva).

Cdigos de representacin de la informacin en las computadoras


Los datos cualquier informacin que se manejan internamente en un sistema informtico se pueden representar, segn sus caractersticas, de la siguiente manera:

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Textos B CD de 6 bits E BCDIC A SCII U NICODE

Datos Numricos Enteros Reales

Sonidos WAV MIDI MP3 WMA

Videos WMV AVI MOV MPG MP4

Imgenes Mapa de Bits: BMP, TIFF, JPEG, GIF, PNG Mapa de Vectores: CDR, AI, EPS, WMF

En esta ocasin solo explicaremos los ms necesarios.

ASCII: Cdigo Estndar Americano para el Intercambio de Informacin.


El cdigo ASCII bsico utiliza 7 bits y se usa especialmente para la transmisin de datos. Existen otras versiones ampliadas de este cdigo que utilizan 8 bits y respetan los cdigos normalizados del ASCII bsico, aprovechando las combinaciones no usadas para representar smbolos adicionales. Entre ellas se encuentran los cdigos ISO 8859-n, donde n es el nmero que identifica el juego de los nuevos caracteres introducidos dependiendo de los lenguajes. Por ejemplo, la norma, ISO 8859-1, tambin denominada ISO-Latin1, se proyect para Amrica y Europa occidental e incluye vocales con acentos, tildes, diresis y otras letras latinas no usadas en los pases anglosajones.

UNICODE
Este cdigo fue propuesto por un consorcio de empresas y entidades con el objetivo representar texto de muy diversas culturas. Los cdigos anteriores presentan varios inconvenientes, tales como: L os smbolos son insuficientes para representar los caracteres especiales que requieren numerosas aplicaciones. L os smbolos y cdigos aadidos en las versiones ampliadas a 8 bits no estn normalizados.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

E stn basados en los caracteres latinos, existiendo otras culturas que utilizan otros smbolos muy distintos. L os lenguajes escritos de diversas culturas orientales, como la china, japonesa y coreana se basan en la utilizacin de ideogramas o smbolos que representan palabras, frases o ideas completas, siendo, por tanto, inoperantes los cdigos que slo codifican letras individuales. Unicode est reconocido como estndar ISO/IEC 1 0646, y presenta las siguientes propiedades:

U niversalidad, trata de cubrir la mayora de lenguajes escritos: 16 bits => 5.356 6


smbolos.

U nicidad, a cada carcter se le asigna exactamente un nico cdigo. U niformidad, ya que todos los smbolos se representan con un nmero fijo de bits
(16).

Nmeros Enteros
Los nmeros enteros son una generalizacin del conjunto de nmeros naturales que incluye nmeros negativos (resultados de restar a un nmero natural otro mayor adems del cero). As los nmeros enteros estn formados por un conjunto de enteros positivos que podemos interpretar como los nmeros 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 nmero natural).

Nmeros Reales
En matemticas, los nmeros reales pueden ser descritos informalmente de varias formas, las cuales aunque accesibles al lego, no tienen el rigor necesario para los propsitos formales de matemticas. En primera instancia, se puede describir a los nmeros reales como todos aquellos que poseen una expansin decimal. Los nmeros reales incluyen tanto a los nmeros racionales como 31, 25.4, 37/22, as como a los nmeros irracionales tales como .

SEGUNDA UNIDAD

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Resolucin de problemas con computadoras: Algoritmos


Resolucin de problemas
La resolucin de cualquier problema con una computadora se hace escribiendo un programa, que tendr como mnimo las siguientes actividades: - Definicin o anlisis del problema - Diseo del algoritmo de solucin - Codificacin del algoritmo en un programa que la computadora pueda interpretar - Compilacin y ejecucin - Verificacin - Mantenimiento - Documentacin

Etapas en la resolucin de problemas (ciclo de vida del software)


Desde el planteo inicial de un problema hasta que se obtiene el correspondiente programa o aplicacin, su instalacin y funcionamiento en una computadora, se sigue una serie de pasos que en conjunto constituyen lo que en Ingeniera de Software se denomina ciclo de vida del software. Si bien se reconoce que el proceso de disear programas es esencialmente- creativo, los pasos o etapas comunes que generalmente deben seguir los programadores son: - Anlisis: 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 automatizacin. - Diseo: Consiste en la determinacin de una solucin o algoritmo del problema planteado. - Codificacin (implementacin): La solucin se escribe en la sintaxis de un lenguaje de programacin y se obtiene el programa o cdigo fuente. - Compilacin, ejecucin, verificacin y depuracin: 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 funcin de los requerimientos de los usuarios. Esta es la etapa ms larga del ciclo de vida de desarrollo de software y puede durar muchos aos

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

- Documentacin: Se documentan las distintas etapas del ciclo de vida del software, fundamentalmente el anlisis, diseo y codificacin, a los que se agrega manuales de usuario y de referencia, as como tambin, normas para el mantenimiento. Las dos primeras etapas conducen a un diseo 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 cdigo escrito en un lenguaje de programacin, reflejando las ideas generadas en las etapas anteriores. En la etapa de compilacin y ejecucin, el cdigo se traduce a un lenguaje que la mquina pueda entender y se ejecuta el programa, esto es, la computadora realiza una a una las instrucciones dadas en el programa. La verificacin y depuracin, consiste en la bsqueda y eliminacin de los errores. Cuanto ms tiempo se invierta en la etapa de anlisis y diseo menos tiempo se requerir en la etapa de depuracin. La documentacin es un paso importante que hace a las buenas prcticas de programacin, ayudan a la comprensin del cdigo y facilitan su mantenimiento.

Anlisis del problema


Esta etapa requiere una clara definicin donde se contemple exactamente lo que debe hacer el programa y el resultado o solucin deseada. Para definir correctamente un problema es conveniente responder a las siguientes preguntas: - Qu entradas se requieren? (tipo y cantidad) - Cul es la salida deseada? (tipo y cantidad) - Qu mtodo produce la salida deseada?

Ejemplo: Dado el radio de una circunferencia, se desea obtener su longitud y el rea del crculo que determina. Para este problema la entrada es el radio de la circunferencia, el nico dato necesario para realizar los clculos. Respecto a la informacin resultante, para este problema son, la longitud de la circunferencia y el rea del crculo.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

El mtodo o clculo que relaciona los datos de entrada y genera la salida deseada, est dado por siguientes frmulas: Longitud = 2 * 3,1416 * radio rea = 3,1416 * radio * radio Diseo del algoritmo En la etapa de anlisis del proceso de programacin se determina qu hace el programa y en la etapa de diseo se especifica cmo hace el programa la tarea solicitada. Los mtodos ms eficaces para el proceso de diseo se basan la estrategia divide y

vencers. Esto quiere decir que la resolucin de un problema complejo se realiza


dividiendo el problema en subproblemas menos complejos, hasta llegar a un nivel cuya solucin pueda ser implementada en una computadora. Este mtodo se conoce tcnicamente como diseo descendente (top-down) o diseo modular. El proceso de descomposicin el problema en pasos ms detallados se conoce como refinamiento

sucesivo.
Existen distintas tcnicas para la construccin de algoritmos, las dos ms utilizadas son: diagramas de flujo y pseudocdigo, que describiremos ms adelante.

Codificacin de un programa
Codificacin es la escritura en un lenguaje de programacin de la representacin de un algoritmo desarrollado en las etapas precedentes. Dado que el algoritmo es independiente del lenguaje de programacin que ser utilizado para su implementacin, el cdigo se puede escribir con igual facilidad en un lenguaje u otro. Para realizar la conversin de un algoritmo en un programa, las operaciones indicadas en el algoritmo se expresan en el lenguaje de programacin correspondiente, respetando sus reglas y sintaxis. Una buena prctica de programacin consiste en agregar en el programa fuente comentarios que ayuden a la comprensin del cdigo. Estos comentarios constituyen lo que se llama documentacin interna. Las lneas de comentarios se identifican porque comienzan con un smbolo, por ejemplo /*. Estas lneas son ignoradas por el compilador, slo sirven para que los programas sean ms fciles de entender. El objetivo del programador debe ser escribir programas sencillos y claros, que sean fciles de actualizar, por quin los escribi y por otros programadores.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Compilacin y ejecucin 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 operacin se realiza con un programa editor propio del lenguaje de programacin o un editor de texto de uso general. La compilacin consiste en la traduccin del programa fuente a lenguaje de mquina. De esta tarea se encargar el programa compilador del lenguaje de programacin. Si luego de la compilacin se presentan errores (errores de compilacin), es necesario volver a editar el programa, corregir los errores y compilar de nuevo. Este proceso se repite hasta que no se presenten ms errores, obtenindose el programa objeto, que todava no es ejecutable directamente. A continuacin, se indica al sistema operativo que se realice la fase de montaje o enlace (link), que completa el programa objeto con libreras o rutinas propias del compilador, que genera el programa ejecutable. Cuando el programa ejecutable se ha creado (generalmente la extensin del archivo ser .exe .com), se puede ejecutar el programa desde el sistema operativo con slo 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 ejecucin se obtendrn los resultados del programa. Verificacin y depuracin de un programa La verificacin de un programa es el proceso de comprobacin de la correccin de un programa. Consiste en la ejecucin 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 lmites, valores errneos y valores de entrada que comprueben casos especiales del programa. La depuracin es el proceso de encontrar los errores y corregir o eliminar dichos errores. En general, existen tres tipos de errores:

-Errores de compilacin: Se producen normalmente por un uso incorrecto de las reglas


del lenguaje de programacin y suelen ser errores de sintaxis. Si hay errores de sintaxis, la computadora no puede entender la instruccin, no se genera el programa objeto y el compilador emite una lista con todos los errores encontrados durante la compilacin.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

- Errores de ejecucin: Se producen por errores que la computadora puede comprender pero no ejecutar. Ejemplos tpicos son: operaciones en las que se pretende dividir por cero y races cuadradas de nmeros negativos. En estos casos, se detiene la ejecucin del programa y se imprime un mensaje de error. El programa cancela, es el trmino en la jerga informtica. - Errores lgicos: Se producen en la lgica del programa y la fuente del error suele ser el diseo del algoritmo. Estos errores son los ms difciles de detectar porque el programa funciona sin producir mensajes de error, el error slo se advierte por la obtencin de resultados incorrectos. En este caso, se debe volver a la etapa de diseo del algoritmo, modificar el algoritmo, cambiar el programa fuente y compilar y ejecutar de nuevo.

Documentacin y mantenimiento
La documentacin de un programa consiste en la descripcin de los distintos pasos en el proceso de resolucin de un problema. La importancia de la documentacin debe ser destacada por su decisiva influencia en el producto final: Programas pobremente documentados son difciles de leer, ms difciles de depurar y casi imposibles de mantener y modificar. La documentacin de un programa puede ser: interna o externa. La interna es la contenida en los comentarios del programa fuente. La externa incluye anlisis, diagramas de flujo y/o seudocdigos, manuales del usuario con instrucciones para ejecutar el programa y para interpretar los resultados.

La documentacin es importante cuando deben introducirse cambios en los programas. Despus de cada cambio, la documentacin debe ser actualizada. Es prctica frecuente numerar las sucesivas versiones de los programas 1.0, 1.1, 2.0, 2.1, etc. Si los cambios son significativos, se vara el primer dgito [1.0, 2.9,]., si son pequeos cambios se vara el segundo dgito [2.0, 2.1,].

Algoritmos: Concepto y caractersticas


La nocin del algoritmo es bsica en la programacin de computadoras, ya que la resolucin de un problema exige el diseo 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

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

resolver problemas de un modo riguroso y sistemtico. De aqu que una metodologa de la programacin es una metodologa para resolver problemas mediante programas. El eje central de esta metodologa en el concepto de algoritmo. Un algoritmo es un mtodo para resolver problemas. Ms explcitamente es un conjunto finito de reglas que dan una secuencia de operaciones para resolver un problema especfico. El trmino proviene del matemtico persa Mohammed Al-khowarizmi que alcanz gran repercusin por el enunciado de reglas paso a paso para sumar, restar, multiplicar y dividir nmeros decimales. Euclides, el matemtico griego que invent un mtodo para encontrar el mximo comn divisor de dos nmeros, 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 slo se puede llegar a realizar un buen programa con el diseo de un algoritmo y una correcta estructura de datos.

PROBLEMA

DISEODEL ALGORITMO

PROGRAMA DE COMPUTADORA

Esquema de resolucin de un problema mediante programas de computadoras. Los pasos para la resolucin de un problema son: 1. Diseo del algoritmo, que describe la secuencia ordenada de pasos sin ambigedades que conducen a la solucin de un problema dado. (Anlisis del problema y desarrollo del algoritmo). 2. Expresar el algoritmo como un programa en un lenguaje de programacin Adecuado. (Codificacin.) 3. Ejecucin y validacin del programa por la computadora. Para llegar a la realizacin de un programa es necesario el diseo previo de un algoritmo, de modo que sin algoritmo no puede existir un programa. Los algoritmos son independientes tanto del lenguaje de programacin en que se expresan como de la computadora que los ejecuta. En cada problema el algoritmo se

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

puede expresar en un lenguaje diferente de programacin o ejecutarse en una computadora distinta sin embargo, el algoritmo ser siempre el mismo. As, por ejemplo, en una analoga con la vida diaria, una receta de un plato de cocina se puede expresar en espaol, ingls o francs, pero cualquiera que sea el lenguaje, los pasos para la elaboracin del plato se realizarn sin importar el idioma del cocinero. En la ciencia de la computacin y en la programacin, los algoritmos son ms importantes que los lenguajes de programacin o las computadoras. Un lenguaje de programacin es tan slo un medio para expresar un algoritmo y una computadora es slo un procesador para ejecutarlo. Tanto el lenguaje de programacin como la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute y se efecte el proceso correspondiente. Dada la importancia del algoritmo en la ciencia de la computacin, un aspecto muy importante ser el diseo de algoritmos. El diseo de la mayora de los algoritmos requiere creatividad y conocimientos profundos de la tcnica de la programacin.

Caractersticas de los algoritmos


Las caractersticas fundamentales que debe cumplir todo algoritmo son: - Debe ser preciso e indicar el orden de realizacin 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 nmero finito de pasos hasta lograr su objetivo. La definicin 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: elaboracin de la receta en la cocina. Salida: terminacin 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:

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin 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

Diseo del algoritmo


Una computadora slo 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 mquina constituyen como ya hemos visto, el algoritmo. La informacin proporcionada al algoritmo constituye su entrada y la informacin producida por el algoritmo constituye su salida. Mencionamos antes que los problemas complejos pueden resolverse ms eficazmente con la computadora cuando este se descompone en subproblemas ms fciles de solucionar. Esta estrategia de divide y vencers conforma la tcnica de diseo

descendente (top-down) diseo modular.


En el diseo modular cada subproblema es resuelto mediante un mdulo (subprograma) que tiene un solo punto de entrada y uno solo de salida. En este mtodo, un programa bien diseado consta de un programa principal (el mdulo de nivel ms alto) que llama a subprogramas (mdulos de nivel ms bajo) que a su vez pueden llamar a otros subprogramas. Los mdulos 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 descripcin paso a paso en lenguaje natural de la solucin que se propone para resolver un problema. Recordemos que un algoritmo es un mtodo o conjunto de reglas para solucionar un problema. En clculos elementales estas reglas tienen las siguientes propiedades: - Deben estar seguidas de una secuencia definida de pasos hasta que se obtenga un resultado coherente. - Slo puede ejecutarse una operacin a la vez.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin 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 pelcula Piratas del Caribe? El algoritmo es muy sencillo pero se cumplen las propiedades mencionadas anteriormente: _ Ir al cine _ Comprar una entrada _ Ver la pelcula _ Regresar a casa El algoritmo consta de cuatro acciones bsicas, cada una de las cuales debe ejecutarse antes de realizar la siguiente. En trminos de computadora, cada accin 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 prrafos anteriores, el algoritmo general se descompondr en pasos ms simples mediante el refinamiento sucesivo, ya que cada accin 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

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

5.3. localizar la butaca 5.4. MIENTRAS proyectan la pelcula HACER 5.4.1. ver la pelcula FIN_MIENTRAS 5.5. abandonar el cine SI_NO 5.6. refunfuar FIN_SI 6. volver a casa 7. FIN En este ltimo ejemplo existen diferentes aspectos a considerar: - Ciertas palabras reservadas se han escrito en maysculas y negrita para resaltarlas de las dems. Estas palabras describen las estructuras de control fundamentales y procesos de toma de decisin en el algoritmo. Estas incluyen los conceptos importantes de seleccin, (expresadas en la estructura SI-ENTONCES-SI_NO (ifthen-else)) y de repeticin (expresadas con MIENTRAS-HACER (while-do), o REPETIR-HASTA (repeatuntil)) que se encuentran en casi todos los algoritmos. - Empleo de indentacin (sangrado o justificacin) en la descripcin del algoritmo. Este mtodo facilita la identificacin de las acciones y de sus estructuras.

Mtodos de representacin de algoritmos


Para representar un algoritmo se debe utilizar algn mtodo que permita independizar dicho algoritmo de los lenguajes de programacin. Permitiendo que pueda ser codificado posteriormente en cualquiera de ellos. Los mtodos usuales para representar un algoritmo son: a) Diagrama de flujo b) Diagrama N-S (Nassi-Schneiderman) c) Lenguaje de especificacin de algoritmo: seudocdigo d) Lenguaje natural: espaol, ingls, e) Frmulas matemticas Los mtodos d) y e) no son fciles de transformar en programas. Una descripcin en espaol narrativo no es satisfactoria porque puede presentar ambigedades. Una frmula sin embargo es un buen sistema de representacin. Por ejemplo, las frmulas para la solucin de una ecuacin cuadrtica (de segundo grado) son un medio apropiado

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

paea expresar el procedimiento algortmico que se debe ejecutar para obtener las races de la ecuacin: 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 frmulas. Diagrama de flujo Un diagrama de flujo (flowchart) es una de las tcnicas de representacin de algoritmos ms antiguas y a la vez ms utilizada, aunque su utilizacin ha disminuido desde la aparicin de los lenguajes de programacin estructurados. Un diagrama de flujo es un mtodo de representacin grfica que utiliza un conjunto de smbolos, de forma que cada paso del algoritmo se visualiza dentro del smbolo adecuado y el orden en que se realizan los pasos se representa por medio de flechas que indican el flujo lgico del algoritmo. Los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin (ANSI) y los ms frecuentemente empleados son:

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Un ejercicio simple de diagramacin:

Problema: Obtener el promedio de notas de alumnos:

En el diagrama A, se utiliza el lenguaje natural para la especificacin de las instrucciones (Leer nota de un alumno), la idea principal es mostrar el tipo de instruccin que se especifica en cada smbolo y el orden en que deben realizarse las rdenes para llegar al resultado.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

En el diagrama B, las especificaciones se formalizan utilizando variables. Las variables representan a los datos que se procesan. Ms adelante veremos que estas variables representan la posicin de memoria RAM en la que estn ubicados los datos. Esta referencia a una ubicacin 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 posicin 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 nemotcnico, es decir, representativo de su contenido. Este nombre debe respetarse en todo el diagrama. Las constantes alfanumricas 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 ejecucin de las instrucciones. Observe en el ejercicio que la instruccin de poner en 0 las variables se realiza una sola vez, mientras que la instruccin leer nota del alumno se realiza tantas veces como alumnos se procesen.

Trminos utilizados en diagramacin:


Acumulador: Un acumulador es una variable, definida por el programador, que hace referencia a una direccin de memoria que almacenar un "total mvil" de valores individuales a medida vayan apareciendo en el proceso. Por ejemplo, las notas de los alumnos. Esta direccin o posicin de memoria debe ser inicializada en cero. Contador: Es una variable que se incrementa en un valor constante y se utiliza para registrar el nmero de veces que se presenta un evento. Ejemplo: para contar los alumnos procesados, se incrementa en 1 por cada lectura de datos de alumnos. Iteracin o bucle (loop):

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Es un conjunto de instrucciones que se procesa repetidamente hasta que se cumpla la condicin 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: - Rpida comprensin de las relaciones. - Anlisis efectivo: Puede dividirse en secciones detalladas para su estudio. - Comunicacin: es ms visual, "una imagen dice ms que mil palabras". - Documentacin. - Codificacin 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 tambin, que los impuestos aplicados constituyen el 25% del salario bruto.

Pseudocdigo
El pseudocdigo es un lenguaje de especificacin (descripcin) de algoritmos, que facilita el paso a la codificacin o traduccin a un lenguaje de programacin. El pseudocdigo naci como un lenguaje similar al ingls y era un medio de representar las estructuras de control de la programacin estructurada, que veremos ms adelante.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Se considera un primer borrador del programa, dado que necesariamente tiene que ser traducido a un lenguaje de programacin. Un pseudocdigo no puede ser ejecutado por una computadora directamente. Ventajas: - El programador puede concentrarse en la lgica y en las estructuras de control del programa sin preocuparse por las reglas de un lenguaje de programacin especfico. - Facilita la modificacin del algoritmo si se descubren errores. - Puede ser traducido fcilmente a lenguajes de programacin estructurados tales como Pascal, Fortran, C, C#, etc. Todo seudocdigo debe posibilitar la descripcin de: - Instrucciones de entrada/salida. - Instrucciones de proceso. - Sentencias de control del flujo de ejecucin. - 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 pseudocdigo original utiliza para representar las acciones sucesivas palabras reservadas en ingls - similares a sus homnimas en los lenguajes de programacin -, tales como start, end, stop, if-then-else, while-end, repeat-until, etc. La escritura de pseudocdigo exige normalmente la indentacin (sangra en el margen izquierdo) para describir las acciones en sus estructuras de control correspondientes. La representacin en pseudocdigo del diagrama ejemplo mostrado en a) sera: START // Clculo 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

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

El algoritmo empieza con la palabra START y finaliza con la palabra END (INICIO, FIN en espaol). Entre estas palabras slo se escribe una instruccin o accin por lnea. La lnea precedida por // se denomina comentario. Es informacin al lector del programa y no realiza ninguna accin ejecutable, slo tiene efecto de documentacin

interna.
Actualmente el uso del pseudocdigo se ha extendido a la comunidad hispana con trminos en espaol, como inicio, fin, leer, escribir, si- entonces- si_no, mientras, fin_mientras, etc.

Programacin: Estructura de un programa


Conceptodeprograma
Conjunto de instrucciones (rdenes) dadas a la computadora para la ejecucin de una determinadatarea. Se debe entender el programa como un medio para conseguir un fin. La idea de fin u objetivodelprogramaestrelacionadaconlainformacinqueserequierepararesolver undeterminadoproblema. Como ya se dijo antes, el proceso de programacin es un proceso de resolucin de problemaysehavistotambinquelospasos(ciclodevida)paradesarrollarunprograma son: a)Definicinoanlisisdelproblema b)Diseodelalgoritmodesolucin c)Codificacin d)Compilacinyejecucin e)Verificacinydepuracin f)Documentacin g)Mantenimiento

Partesdeunprograma Al iniciar su tarea, el programador debe tener bien claro cules son las especificacionesquedebecontenerelprograma:Entrada,Salida,Algoritmodela solucin. Conceptualmente, un programa puede ser considerado como una caja negra. esta caja negra es el algoritmo de solucin que permitir obtener la salida en funcindelasentradas.

ENTRADA

Programa (Algoritmo)

SALIDA

El programador debe definir de donde provienen las entradas al programa, es decir, debe indicar desde que dispositivo de entrada (teclado, disco,...) ingresarn los datos.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

El proceso de ingresar la informacin de entrada datos en la memoria de la computadora se denomina entrada de datos, operacin de lectura o accin de leer. Las salidas de los datos se deben presentar en dispositivos perifricos de salida: pantalla, impresora, disco, etc. La operacin de salida se conoce tambin como escritura o accin de escribir.

Instrucciones y tipos de instrucciones


El proceso de diseo del algoritmo o posteriormente la codificacin consiste en definir las ACCIONES o INSTRUCCIONES que resolvern 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. Instruccin_1 Instruccin_2 Instruccin_n Un programa es no lineal cuando se interrumpe la secuencia mediante instrucciones de bifurcacin. Instruccin_1 Instruccin_2 Instruccin_n Instruccin_n+1

Tipos de instrucciones
Las instrucciones disponibles en un lenguaje de programacin dependen de cada lenguaje. En este tema veremos las instrucciones bsicas que soportan casi todos los lenguajes, que son: 1. Inicio/fin 2. Asignacin 3. Lectura (captura de datos) 4. Escritura (presentacin de resultados)

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

5. bifurcacin (alteracin de la secuencia del flujo de instrucciones)

Instrucciones de asignacin
Una instruccin de asignacin coloca un determinado valor en una variable o posicin de memoria. Ejemplo 1: A= 80 la variable denominada A toma el valor 80

Instrucciones de lectura de datos (entrada)


Esta instruccin lee datos de un dispositivo de entrada. Cul 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 instruccin de lectura deposita valores en las posiciones de memoria indicadas por los nombres de variables.

Instrucciones de escritura de resultados (salida)


Esta instruccin escribe datos en un dispositivo de salida. Cul es el significado de las instrucciones siguientes? ESCRIBIR A, B, C Tomando los valores del ejemplo anterior, se mostrarn en pantalla los datos 100, 50 y 30 (se asume pantalla cuando no se especifica otro dispositivo).

Instrucciones de bifurcacin
La alteracin de la secuencia lineal de las instrucciones de un programa se realiza a travs de las instrucciones de bifurcacin. Las bifurcaciones pueden ser condicionales, si depende del cumplimiento de una determinada condicin (por ejemplo: SI N > 0 THEN ir al fin) o incondicionales si la

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

bifurcacin no depende de ninguna condicin (por ejemplo, IR a la instruccin 5). En general, las bifurcaciones incondicionales (GOTO) no son una prctica recomendada en programacin, debido a que no respetan las estructuras de control propuestas por la programacin estructura. Es importante que observe y comprenda los siguientes conceptos: 1) Las variables indicadas en un programa son posiciones de memorias (celdas) que internamente sern reconocidas con una direccin (un nmero 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 instruccin. 5) La instruccin de bifurcacin condicional (N=0) posibilita cambiar la linealidad de ejecucin de las instrucciones, en este caso, para terminar el programa. 6) La instruccin de bifurcacin incondicional (ir a leer los datos de otro alumno) altera la secuencia forzando al programa que vuelva a ejecutar una instruccin anterior. 7) La instruccin de asignacin para el clculo del promedio evala la expresin 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 iteracin 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 adems 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.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Elementos bsicos de un programa


En programacin se debe tener presente la diferencia entre diseo del algoritmo y su Implementacin en un lenguaje de programacin especfico. Sin embargo, una vez que se comprendan los conceptos de programacin la codificacin en un nuevo lenguaje de Programacin, ser relativamente fcil. Los lenguajes de programacin tienen elementos bsicos que se usan como bloques constructivos, as como reglas, que componen su sintaxis. Solamente las instrucciones sintcticamente correctas sern reconocidas por la computadora, los programas con errores de sintaxis no sern ejecutados. Los elementos bsicos constitutivos de un programa o algoritmo son: - Palabras reservadas (INICIO, FIN, SI-ENTONCES-THEN) - Identificadores (nombres de variables, funciones, procedimientos, etc.) - Caracteres especiales (coma, apstrofos, etc.) - Constantes - Variables - Expresiones - Instrucciones Adems de estos elementos bsicos, existen otros cuya comprensin y funcionamiento es esencial para el diseo correcto de algoritmos y programas. Estos elementos son: Bucles, contadores, acumuladores, estructuras de control (1-Secuencia, 2-Seleccin, 3- Repetitivas).

Datos, tipos de datos y operaciones primitivas


Un dato es la expresin 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 resolucin de problemas el diseo de las estructura de los datos es tan importante como el diseo 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)

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin 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 mquina, un dato es un conjunto de bits (dgitos 0 o 1). Los lenguajes de alto nivel permiten basarse en abstracciones e ignorar los detalles de la representacin interna. Aparece el concepto de tipo de dato, as como de su representacin. Datos Simples: - Numricos (integer, real) - Lgicos (boolean) - Carcter (char, string) a) datos numricos El tipo numrico es el conjunto de los valores numricos. Pueden representarse en dos formas distintas: - Numrico entero (integer) - Numrico real (real) Enteros: El tipo entero es un subconjunto finito de los nmeros enteros. Pueden ser positivos o negativos y no tienen decimales. Ejemplos: 5, 15, -30, 12567. Los enteros son denominados tambin nmeros de punto o coma fija. La mayora de los enteros se almacenan en 2 bytes (entero corto), de ah que los valores mnimo y mximo son, respectivamente, -32768 y 32767. Real: El tipo real es un subconjunto de los nmeros reales. Pueden ser positivos o negativos y tienen punto decimal. Un nmero real consta de una parte entera y de una parte decimal. Ejemplos: -45.78, 3.0, 0.008, -13456.89. En aplicaciones cientficas se requiere una representacin especial para manejar nmeros muy grandes, como la masa de la Tierra, o muy pequeos, como la masa de un electrn. Una computadora slo puede representar un nmero fijo de dgitos. Si bien este nmero puede variar de una computadora a otra, este lmite, dado por el tamao de la palabra, provocar problemas para representar y almacenar nmeros muy grandes o muy pequeos, de aqu surge la como flotante o notacin exponencial para disminuir estas dificultades.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

b) datos lgicos (booleanos) El tipo lgico tambin denominado booleano - Solo pueden tomar 2 valores: Cierto o verdadero (true) y falso (false) c) datos de tipo Carcter y tipo Cadena El tipo carcter es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato de de este tipo contiene un solo smbolo. Los caracteres que reconocen las diferentes computadoras no son estndar, pero la mayora reconoce los siguientes caracteres: - Alfabticos: (A, B, C, ., Z) (a, b, c, , z) - Numricos: (1, 2, 3, , 9, 0) - Especiales: (+, -, *, /, ^, ., , <, >, $, .)

Una cadena (string) de caracteres es una sucesin de caracteres que se encuentran delimitados por apstrofos () o comillas (), segn el lenguaje de programacin. La longitud de una cadena es el nmero de caracteres comprendidos entre los apstrofos 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 ejecucindelprograma.Estosvaloressedenominanconstantes. Ejemplosdeconstantes Constantereal:3.141592,0.1234(vlidas)1,456.63(invlida,nosepermitencomas) Observaciones: Tener en cuenta en que el separador decimal (punto o coma) depende dellenguajedeprogramacinodelaconfiguracindelsistemaoperativo. Constantedetipocarcter:B,4 Constantedetipocadena:9dejulio1449,CienciasExactas Constanteslgicas:verdadero,falso La mayora de los lenguajes de programacin admiten diferentes tipos de constantes: enteras,reales,decarcter,decadena,lgicasyrepresentandatosdeesostipos.

Variables

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Unavariableesunobjetodedatoscuyovalorpuedecambiardurantedeldesarrollodel algoritmo o durante la ejecucin en el transcurso del programa. Dependiendo del lenguaje,haydiferentestiposdevariables:enteras,reales,carcter,lgicasydecadena. Unavariablequeesdeciertotiposlopuederecibirdatosdelmismotipo,darerrorcaso contrario. Unavariableseidentificaconlossiguientesatributos:NombrequelaidentificayTipoque describeelusodelavariable. Losnombres,denominadosidentificadores,sonunconjuntodecaracteresquetienenque cumplir determinadas condiciones en funcin del lenguaje de programacin. No pueden utilizar palabras reservadas, ni comenzar con nmeros o utilizar algunos caracteres especiales. Ejemplosvlidos:Apellido_Nombre,Notaexamen,A510. Los nombres de las variables elegidas para el algoritmo o programa deben ser significativosytenerrelacinconelobjetoquerepresentan,porejemplo: NOMBREpararepresentarnombredepersonas PRECIO para representar el precio de un artculo NOTA para representar la nota obtenida por un alumno en un examen.

Expresiones
Las expresiones son combinaciones de constantes, variables, operadores, parntesis y nombres de funciones. Maneja las mismas ideas que la notacin matemtica convencional. Por ejemplo: a + (b+3) + XC. Los parntesis indican el orden de clculo y la X representa la raz cuadrada. Cada expresin toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecucin de las operaciones indicadas. Una expresin consta de operandos y operadores. Segn sea el tipo de objetos que manipulan, las expresiones se clasifican en: - Aritmticas (Resultado de tipo Numrico) - Relaciones (Resultado de tipo Lgico) - Lgicas (Resultado de tipo Lgico) - Carcter (Carcter)

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Expresiones aritmticas:
Son anlogas a las formulas matemticas. Las variables y constantes son numricas (entera o real) y las operaciones son las aritmticas. Operadores aritmticos:

Operadores div y mod Generalmente, el smbolo / se utiliza para la divisin real y el operador div representa la divisin de enteros. El operador mod representa el resto de la divisin entera. En ambos casos, esta representacin puede diferir de acuerdo al lenguaje de programacin. Ejemplos: A div B A mod B si A=19 y B= 6 el resultado es 3 (entero) si A=19 y B=6 el resultado es 1 (entero)

Reglas de prioridad
Las expresiones que tienen dos o ms operandos requieren reglas matemticas que permitan determinar el orden de las operaciones, se denominan reglas de prioridad o precedencia y son: 1) Las operaciones encerradas entre parntesis se evalan primero. Si existen diferentes parntesis anidados (interiores unos a otros), las expresiones ms internas se evalan primero. 2) Las operaciones aritmticas dentro de una expresin siguen el siguiente orden de prioridad:

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

1 - Operador de exponenciacin (**, ^, _) 2 - Operadores *, /, 3 - Operadores div y mod 4 - Operadores +, -, Cuando hay varios operadores con igual prioridad en la expresin, el orden de prioridad es de izquierda a derecha. Ejemplo 1: Cul ser el resultado de las siguientes expresiones?

Expresiones booleanas
Otro tipo de expresin, es la expresin lgica o booleana, cuyo valor es siempre verdadero o falso. Dijimos que existen dos constantes lgicas, verdadera (true) o falsa (false) y que las variables lgicas slo pueden tomar estos valores. En esencia, una expresin lgica es una expresin que puede tomar estos dos valores, verdadero o falso. Las expresiones lgicas se forman combinando constantes lgicas, variables lgicas y otras expresiones lgicas utilizando los operadores lgicos not, and y or y los operadores relacionales (de relacin o comparacin) que se muestran en la tabla. Operadores de relacin: Permiten realizar comparaciones de valores de tipo numrico o carcter. Los operadores de relacin sirven para expresar las condiciones en los algoritmos.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Ejemplo: Dadas las variables A y B, con los valores A=4 y B=3. La expresin 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 relacin se pueden aplicar a cualquiera de los tipos de datos estndar: enteros, real, lgicos y de carcter. La aplicacin a valores numricos es evidente. Para realizar comparaciones de datos de tipo carcter, se requiere una secuencia de ordenacin de los caracteres, creciente o decreciente. En general, para las letras se utiliza el orden alfabtico. Pero tenemos que recordar del tema 2, que dentro de la computadora todos los datos son nmeros, en el caso de los caracteres la comparacin se realizar con el valor numrico de su representacin interna (ASCII).

Operadores lgicos:
Los operadores lgicos o booleanos bsicos 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 lgicas se pueden mezclar operadores de relacin y lgicos. As, por ejemplo: (11 < 20) y (3 < 9) la evaluacin de la expresin es verdadera (15 > 30) o (X < Z) ) la evaluacin de la expresin es verdadera

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Prioridad de los operadores lgicos:

Escritura de algoritmos y programas


La escritura de un algoritmo mediante un lenguaje de programacin debe ser lo ms clara posible y estructurada, de modo que su lectura facilite la comprensin del algoritmo y su posterior codificacin. Un algoritmo consta de dos componentes: una cabecera de programa y un bloque de algoritmo. La cabecera es una accin 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 realizarn cuando el algoritmo convertido en programa se ejecute. ALGORITMO Cabecera del programa Seccin de declaracin Seccin de acciones Cabecera del programa o algoritmo Indica el nombre del programa ALGORITMO Demo Declaracin de variables En esta seccin se declaran o describen todas las variables utilizadas en el algoritmo, listando sus nombres y especificando sus tipos. Esta seccin comienza con la palabra reservada VARIABLES y tiene el formato: VARIABLES tipo-1: lista de variables-1 tipo-2: lista de variables-2

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin 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 bsicos (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 prctica de programacin utilizar nombres de variables significativos que sugieran lo que ellas representan, ya que eso har ms fcil y legible el programa. Tambin es una buena prctica incluir breves comentarios que indique como se utiliza la variable. Entera: Numero_Empleado // Nmero que identifica al empleado Real: horas Real: impuesto Real: salario Declaracin de constantes Se declaran las constantes del programa. CONST PI = 3.141592 IVA = 21 Horas = 8 Declaracin de constantes y variables de tipo carcter // horas trabajadas mensuales // deducciones establecidas // cantidad a percibir por el empleado

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Las constantes de carcter simple y cadenas de caracteres se declaran igual que las numricas: CONST estrella: * frase: `12 de octubre Las variables de carcter se declaran de dos modos: a) Cuando almacenan un solo carcter carcter: letra, nota, digito B) Cuando almacenan mltiples caracteres (cadenas) cadena: nombre[20] Comentarios Como dijimos, es conveniente y til, incluir en el cdigo comentarios significativos con el objeto de facilitar la correccin y mantenimiento de los programas. Existen diferentes notaciones de acuerdo al lenguaje de programacin. Por ejemplo: - Pascal: Los comentarios se encierran entre los smbolos (* y *)

Formato para escribir algoritmos/programas


El mtodo que seguiremos para representar algoritmos/programas tendr este formato: ALGORITMO identificador // seccin de declaraciones VARIABLES tipo de datos: lista de identificadores CONST lista de identificadores = valor INICIO sentencia_ 1 sentencia_ 2 sentencia_ n FIN Notas: // cuerpo del algoritmo //cabecera

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

a) Las cadenas de caracteres pueden encerrarse entre comillas simples o dobles, indistintamente. b) Utilizar siempre sangras 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 dcada de los 70 con el objetivo de disponer de un lenguaje de programacin de alto nivel y propsito general (se utiliza para gran diversidad de aplicaciones) orientado hacia los nuevos conceptos de programacin, desarrollado por el profesor suizo Niklaus Wirth como un lenguaje para la ensear la programacin de modo disciplinado, fcil de aprender y con la complejidad suficiente para permitir una correcta preparacin de los programadores futuros. El lenguaje estndar presenta una serie de caractersticas que lo hacen el lenguaje perfecto para aquellas personas iniciadas en la programacin:

Excelente para el aprendizaje de la programacin. Lenguaje de propsito general, es decir, se puede aplicar a gran diversidad de aplicaciones. Utilizacin de procedimiento (programacin modular). Lenguaje estructurado, se utilizan secuencias de control de bifurcacin y bucles(if, for, while, repeat) sin necesidad de la famosa instruccin 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 dinmicas), de este modo permite definir nuestras propias estructuras de datos dinmicas (lista, pilas, colas, extc).

Palabrasreservadas Para poder programar en cualquier lenguaje es necesario conocer los cdigos mediante los cuales podamos expresar las tareas que queremos realizar. El Turbo Pascal, como lenguaje de programacin pose su propio cdigo con palabras de uso exclusivo para ciertas funciones, a estas palabras les llamaremospalabrasreservadasdeTurboPascal.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

LaspalabrasreservadasdeTurboPascal(versiones6.0omayores)son: PascalEstandary TurboPascal6.0


AND CONST ELSE FORWARD IN NOT ARRAY DIV END BEGIN DO FILE CASE DOWNTO FOR IF NIL PACKED

FUNCTION GOTO LABEL OF MOD OR

PROCEDURE PROGRAM RECORD REPEAT SET UNTIL THEN VAR TO WHILE TYPE WITH

TurboPascal
ABSOLUTE ASM DESTRUCTOR OBJECT UNIT

IMPLEMENTATION INTERFACE PRIVATE VIRTUAL INLINE STRING SHR

CONSTRUCTOR EXTERNAL INTERRUPT USES SHL XOR

Estaspalabrasnopuedenserusadascomoidentificadores(siguientetpico)ya quecadaunadeellastieneunafuncindefinida enTurboPascal. Identificadores Losidentificadoressonpalabrasquerepresentanconstantes,variables,tiposde datos, procedimientos, funciones y algunos otros datos. Existen dos tipos de identificadores: los predefinidos de Turbo Pascal y los definidos por el programador. Algunosdelosidentificadorespredefinidosson:integer,real,byte,sin,... Losidentificadoresdefinidosporelprogramadorsonloselementosdellenguaje talescomovariables,procedimientos,funciones,etc.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Unidentificadoresunasecuenciade1a127caracteres,queiniciaconunaletra, notienenespaciosnismbolos:&,!,*,etc.ynoesalgunapalabrareservada. Para el Turbo Pascal no existen diferencias entre maysculas y minsculas, as queaunidentificadordenominado"valor"selepuedereferircomo"VALOR"o "VaLoR". TodoidentificadorenPascaldebeserdefinidopreviamenteasuutilizacin. Tiposdedatos ElmanejodelainformacinenTurboPascalserealizamediantediferentes clasesdedatos.Enesteapartadose tratarnlosprincipalestiposyconformese vayannecesitandoseexplicaranlosdems.
Integer Nmerosenterossinpartedecimal. Char CaracteresdelcdigoASCII

Boolean Puedencontenerlosvaloresdefalsooverdadero Real String Nmerosquepuedenincluir unapartedecimal Enunasecuenciadecaracteresquesetratacomounsolodato.

Variablesyconstantes Lostiposdedatosquemanejaremosennuestroprogramapuedenserdedos clases:variablesoconstantes. Como su nombre lo indica las variables pueden cambiar a lo largo de la ejecucindeunprograma,encambiolasconstantessernvaloresfijosdurante todoelproceso. Unejemplodeunavariable escuandovamosasumardosnmerosquesern introducidos por el usuario del programa, ste puede introducir dos valores cualesquieraynoseranadatilrestringirloadosvalorespredefinidos,asque dejamosqueuselosvaloresqueelnecesitesumar. Ahora,sinuestroprogramadeoperacionesmatemticasvaautilizarelvalorde PI para algunos clculos podemos definir un identificador PI con el valor de 3.1415926constante,detalformaquePInopuedacambiardevalor,ahoraen

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

lugardeescribirtodoelnmerocadavezquesenecesiteennuestroprograma, solotenemosqueescribirPI. Las variablesyconstantes puedenserdetodoslostiposvistosanteriormente: numricostantoenteroscomoreales,caracteres,cadenasdecaracteres,etc. Comentarios Esposibleintroducircomentariosennuestroprogramaquesirvanunicamente paramejorarlacomprensindelcdigofuente. Un comentario no es tomado en cuenta al momento de la compilacin 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, entrellaves:{Comentario}oentreparentesisyasteriscos:(*Comentario*). Estructuradelosprogramas EllenguajeutilizadoenTurboPascalesestructurado,loquesignificaquecada programa requiere una forma especfica de escritura para que sea entendido porelcompilador. Todoprogramacuentaconalgunaspartesomdulosloscualesson:
Cabecera Declaraciones Programa

La cabecera del programa unicamente lleva el nombre del programa. En la seccin de declaraciones se le indica al compilador todos los identificadores y unidadesqueseutilizarndurantelaejecucindelprograma.Enlaseccindel programaseescribeelcdigodeinstruccionesquesellevarnacabo. SentenciaPROGRAM LasentenciaPROGRAMesladeclaracindelnombredelprograma. Consta de tres partes: la palabra reservada PROGRAM, a continuacin un identificadorutilizadocomoelnombredelprogramayalfinalunpuntoycoma ";".Porejemplo:

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

PROGRAMsuma_de_dos_numeros; Esta declaracin es siempre la primer lnea en cualquier programa de Turbo Pascal. Declaracindeunidades Lasunidadessonmdulosindependientesdelprogramaque,aunquenoson ejecutablesporsimismos,puedenserutilizadosporelprogramaprincipalsin necesidaddereescribirelcdigoquecontienen.Paralautilizacindeestos "subprogramas"esnecesariasudeclaracin. LapalabrareservadaUSEScumpleelpropsitodedeclararlasunidadesenel formatosiguiente: USEScrt,dos; Estalineadeclarayhabilitaparasuusoalaunidad crt yalaunidad dos Cadaunidadquesedeclaradeberaestarseparadadelasiguienteporunacoma. Alfinaldetodaslasunidadesdeclaradassedebercolocarunpuntoycoma ";". Declaracindeconstantesyvariables ParadeclararlasconstantesseutilizalapalabrareservadaCONSTseguidadeun identificadoralqueseledarunvalordeterminado,unsignodeigual"=",el valorquerecibirelidentificadoryalfinalunpuntoycoma";".Ejemplo: CONSTpi=3.1415926; Deestaformaelidentificadorpirecibirelvalorde3.1415926ynoserposible cambiarloeneltranscursodelprograma. Esposibledeclararvariasconstantessucesivamente,puedeserunaporrengln ovariasenunsolorengln.Cuandosehacesto,lapalabraCONSTsolosepone una sola vez comocabecera y acontinuacin todas las constantes por definir. Ejemplo:
CONST PI=3.1415926; Nombre='JuanGutirrez';

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Unidad=1;

Otraformadeescribirlomismoesas:
CONSTPI=3.1415926;Nombre='JuanGutirrez';Unidad=1;

Peroporcuestionesdelegibilidadespreferiblelaprimeraopcin. Ladeclaracindevariablessellevaacabodelamismaforma,soloqueenlugar delapalabraCONSutilizamoslapalabra VAR,yenlugarde"=valor;",utilizamos : tipo , sustituyendo "tipo" por alguna clase vlida de datos en Turbo Pascal. Ejemplo:
VARNum_entero:Integer; Nombre:String;

Programaprincipal Despues de haber realizado todas las declaraciones se puede iniciar con el programa principal. (Es posible, antes del programa, declarar las funciones y procedimientos,peroesoseanalizarposteriormente). El programa principal inicia con la palabara reservada BEGIN y termina con la palabra END.,estaltimaconunpuntoalfinal. Cadalineadecdigo,enunciado,sentenciaoinstruccincompletaquese escribadeberterminarconunpuntoycoma ";". Solo se omitir el punto y coma cuando se utiliza la palabra reservada ELSE. Aunquepuedetambinomitirsesilasiguienteexpresines END o UNTIL. Yaconociendolaestructuraesposibleescribirunprimerprograma:
PROGRAMPrimera_Prueba; VAR Entero:Integer; CONST Mensaje='Introduceunvalorentero:'; Respuesta='Elvalores:'; BEGIN Write(Mensaje);

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

{Escribeenpantallaelmensajedefinidocomoconstante} ReadLn(Entero); {Leeunvalordetecladoylo almacenaenlavariableEntero} WriteLn(Respuesta,Entero); {EscribeenpantallaelcontenidodeRespuestayelvalorqueseingresdeteclado} 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 declararseprimerolasvariablesyluegolasconstantesyviceversa:
PROGRAMPrimera_Prueba; CONST Mensaje='Introduceunvalorentero:'; Respuesta='Elvalores:'; VAR Entero:Integer; BEGIN Write(Mensaje); {Escribeenpantallaelmensajedefinidocomoconstante} ReadLn(Entero); {LeeunvalordetecladoyloalmacenaenlavariableEntero} WriteLn(Respuesta,Entero); {EscribeenpantallaelcontenidodeRespuestayelvalorqueseingresdeteclado} END.

Compilacinyejecucinenmemoria La compilacin de un programa es el paso mediante el cual traducimos dicho programaallenguajemaquinaentendibleporlacomputadora. ParalograrlacompilacinenelentornointegradodedesarrollodeTurboPascal seutilizalaopcinCompiledelmendelmismonombre.Paraaccesaralmen seutilizalasecuenciadeteclas:[ALT]+[C],yluegoseescogelaopcinCompile. Otraformaderealizarlacompilacinesconlasecuenciadeteclas:[ALT]+[F9]. Es posible compilarlo y ejecutarlo automticamente utilizando la secuencia: [CONTROL]+[F9]

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Asignacinoigualacin LaoperacindeasignacinesunadelasmsutilizadasenTurboPascalyaque nos permite darle un valor determinado a las variables que declaramos en el programaoloqueeslomismo,igualarlaaalgnvalordeterminado. Elsmboloutilizadoparalaoperacineslosdospuntosseguidosporunsignode igual:=,alaizquierdadedichosmbolosecolocael identificadoralquesele asignarunnuevovaloryaladerechasecolocarunidentificadoroalgnvalor directoquesealmacenarenelprimeridentificador.Ejemplo:
Nombre:='JuanPrez'; {Nombreguardarlacadena"JuanPrez"} Resta:=Numero1 Numero2; {RestagurdarelresultadodelarestadeNumero2aNumero1} Area:=(Base*Altura)/2; {ObtieneelareadeuntrianguloylaguardaenelidentificadorArea}

Esindispensable paratodoprogramaquecuenteconlacapacidad demanejar entradas y salidas de informacin, ya que sin estas capacidades sera un programaintil. Salidadedatosalapantalla Lasinstruccionesquepermitenmostrardatosenlapantalladelacomputadora son: Write y WriteLn. Aunque ya se hizo uso de ellas en los pequeos programasanterioresdeejemplo,aquisedescribirnafondo. Lasintaxisdelosprocedimientoseslasiguiente:
Write(indentificadores); WriteLn(indentificadores);

Donde los identificadores son aquellos que contienen la informacin que se desea mandar a la pantalla. Es posible utilizar varios de ellos por cada instruccin Write o WriteLn, unicamente se separan unos de otros por comas ",".Ejemplo: Write(Nombre,ApellidoP,ApellidoM); Esta linea de cdigo 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 'Gonzlez ' y la variableApellidoM'Garca',elresultadoenpantallasera:

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

RodrigoGonzlezGarca Podemosobtenerelmismoresultadosiutilizamoslasiguienteestructura:
Write(Nombre); Write(ApellidoP); Write(ApellidoM);

Sienlugardeutilizarlainstruccin Write hacemosusode WriteLn conlamisma sintaxisdelejemploanterior:


WriteLn(Nombre); WriteLn(ApellidoP); WriteLn(ApellidoM);

loqueobtendriamossera:
Rodrigo Gonzlez Garca

De este ejemplo es posible concluir que la diferencia entre las instrucciones WriteyWriteLnesqueestaltimaimprimeelcontenidodelosidentificadoresy cambiaelcursoralsiguienterenglndelapantalla,ylaprimerasoloescribeel contenidoydejaelcursoralfinaldeldatoescrito. Entradadedatosdesdeteclado LasinstruccionesestandardeTurboPascalparaobtenerdatosdesdeelteclado son Read y ReadLn. La sintaxis de estas instrucciones es muy parecida a la de WriteyWriteLn: Read(Identificador); El identificador puede ser cualquier variable definida previamente, NO puede serunaconstante.Puedesertambinunconjuntodevariables,separadasentre comas, en este caso se guardara el primer valor dado antes del [Enter] en el primeridentificadorproporcionado,luegoelsegundoyassucesivamentehasta elltimoidentificador. LadiferenciaenelusodelainstruccinReadconrespectoaReadLnesqueenla primera, si se le dan mas datos de los que se introducirn se guardan en un bufferyse usarnenlasiguienteinstruccinReadoReadLn del programa,en

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

cambio ReadLn ignora todo dato posterior a los que esten definidos en la instruccin. EncasodequeseleindiqueaReadoReadLnquelea untipoespecficode valor,yseleproporcioneotrodiferentesegenerarunerrorysedetendrla ejecucindelprograma. Tiposdedatos Unprogramadebesercapazdemanejardiferentestipodedatos,comopueden sernmerosenteros,reales,caracteres,cadenasdecaracteres,etc.Paralograr el manejo de toda esta informacin Turbo Pascal prove diferentes tipos de datosparalosidentificadoresqueseutilizarn.Algunosdelosmsimportantes secitanenseguida: Tiposenteros EnestacategoraTurboPascalcuentacon 5tipos diferentes,cada unoabarca un rango especfico 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 presicin. Los tipos de enteros en Turbo Pascalson:

Tipo Rangodevaloresqueacepta
Integer Word ShortInt Byte LongInt 32,768a32,767 0a65535 128a127 0a255 2,147,483,648a2,147,483,648

Alutilizarlostiposenterosesposiblerepresentarenelprogramaunnmeroen formatohexadecimal,parahacerestosoloseleanteponeelsmbolo"$"alvalor hexadecimal, al momento de visualizar dicho valor, o utilizarlo en alguna operacinsercomodecimal.Porejemplo: Cantidad:=$10; Elvalorqueseguardaen"Cantidad"es16.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Tiposreales Losnmerosrealessonaquellosquecuentanconunapartedecimal.EnTurbo Pascalcontamosconvariostiposdedatosreales,peronosepuedeutilizar,mas queeltipo real,enmquinasquenocuentenconuncoprocesadormatemtico. Lostiposdedatosrealesson:

Tipo Rangodevaloresqueacepta
Real Single Double Extended Comp 2.9E39a1.7E38 1.5E45a3.4E38 5.0E324a1.7E308 1.9E4851a1.1E4932 9.2E18a9.2E18

Losnmerosrealesdebenllevarporfuerzaalmenosundgitodecadaladodel punto decimal as sea ste un cero. Como ejemplo, el nmero 5 debe representarsecomo: 5.0,el.5como 0.5 ,etc. En este tipo de datos se utiliza la notacin cientfica, que es igual a la de las calculadoras, el dgito que se encuentra a continuacin de la E representa la potenciaalaqueseelevarelnmero10paramultiplicarloporlacantidadala izquierdadedicha E:
3.0E5=3.0* 10^5=3.0*100000=300000 1.5E4=1.5*10^4=1.5*0.0001=0.00015

Tipos carcter LoscaracteressoncadaunodelossmbolosqueformanelcdigoASCII,eltipo estndardePascalparaestosdatoses Char.Loscaracteresseespecificanentre apostrofes:


'a''B''2''#'

El tipo Char es un tipo ordinal de Pascal, esto quiere decir que sus elementos vlidossiguenunasecuenciaordenadadevaloresindividuales.Lasecuenciade caracteresparaestetipo corresponde alnmerodelcdigoASCII,del0al255. Esposibleaccesaracadaunodeloscaracteresutilizandounsigno#antesdesu 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.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Tipocadena Lascadenassonsecuenciasdecaracteresoarreglosquetienenunalongitud maximade255caracteres.Sedefinenentreapostrofes.EltipodePascalpara lascadenases String.


PROGRAMCadena; VAR Nombre:String; BEGIN Nombre:='ErnestoChvez'; WriteLn(Nombre); END.

Esteprogramaguardalacadena'ErnestoChvez'enlavariabledefinidacomo tipostring,ylavisualizaenlapantallapormediodelainstruccinWriteLn. Eltamaopordefectoparauntipostringesde255caracteres,peroesposible definirunomaspequeoutilizandoelsiguienteformato: Variable:String[Tamao]; Donde Variable es la variable a definir y Tamao es el nmero maximo de caracteresquepodrconteneresavariable(naturalmentemayora0ymenora 256). Esposibleaccederaunsolocaracterdeunacadenautilizandoinmediatamente despues del nombre de la misma la posicin del caracter encerrada entre corchetes.Porejemplo:
PROGRAMCadena01; VAR Nombre:String[30]; {Permiteunmximode30caracteresenlavariable} BEGIN Nombre:='ErnestoChvez'; WriteLn(Nombre[5]); {Visualizael5tocaracterdelacadena} END. El tipo est definido como Boolean. Los datos lgicos tienen una enorme aplicacin en la evaluacin de ciertos procesos, as como en el control de flujo de los programas.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

CUARTAUNIDAD
ESTRUCTURASDECONTROL
Laestructurasdecontrolsonlasencargadasdedirigirelflujodelprograma.Sepuedenclasificar enlossiguientesgrupos: Secuenciacin Seleccin ifthenelse case Iteracin definida: for indefinida: while, repeat

SECUENCIA
Es la estructura de control ms sencilla. Se escriben las instrucciones por orden cronolgico de ejecucin separndolas mediante un punto y coma (): Write(1) Write(2) Write(3)

SENTENCIASDESELECCIN
Con ella se pueden ejecutar instrucciones distintas en funcin del valor resultante de la evaluacin de una expresin.

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. Pseudocdigo: SI <expresin_lgica> ENTONCES

< bloque_de_instrucciones_1 >


SINO

< bloque_de_instrucciones_2 >


FIN- SI Pascal If (<expresin_lgica> ) then

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Begin

< bloque_de_instrucciones_1 >


end Else Begin

< bloque_de_instrucciones_2 >


end Ahoravamosasuponerquequeremosrealizarunprogramaquepreguntealusuariosunombrey susexo,ydependiendodesteltimoempleeunaformadecortesauotra.Elpseudocdigosera este: preguntanombre preguntasexo sihombresaludo1 simujersaludo2

Elcdigoen Pascal:
programsaludos;usescrt; var nombre:string; sexo:char; begin clrscr; writeln('Culessunombre?'); readln(nombre) writeln('Culessusexo?(H/M)'); readln(sexo) if(sexo='H')then writeln('Holaseor',nombre); (*unainstruccin,noesnecesarioponerbeginend*) if(sexo='M')then begin writeln('Holaseora',nombre);(*dosinstrucciones,beginendnecesario*) writeln('Encantadodeconocerla') end; end. Denuevotenemosotrotipodevariable,eltipo string.Estetiposeusaparaalmacenarcadenasde caracteres como "Antonio", "Rodrigo Daz de Vivar" o "En un lugar de la capital", con la nica limitacindequenoexcedande255caracteres. Aquelprogramapreguntaalusuariosunombreysusexo,acontinuacincomparasielsexoes hombreyenesecasolesaludadeunaforma.Despuscomparasielsexoesmujeryenesecaso lesaludadeotraforma.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

Como puedes ver el programa hace dos comparaciones, aunque en realidad slo una sera necesaria,puestoquesinoeshombretienequesermujer.ParaelloexistelainstruccindePascal else, que se utiliza en combinacin con el if para aquellos casos en los que no se cumple la condicinexpresadaenelif.Aplicadoestoalejemploanteriorstenosquedara: if(sexo)='H'then writeln('Holaseor',nombre); else writeln('Holaseora',nombre); Aquobtenemoselmismoresultadohaciendounaslacomparacinconloqueahorramos tiempo. Este programa es muy sencillo, pero en programas ms extensos resulta de vital importancia optimizar el cdigo de forma que no se realicen operaciones innecesarias que ralentizan el proceso.

CASE (SEGN SEA)


Tambinpuedeserquetengamosquecompararunvalorconmltiplesvaloresposibles. Pseudocdigo: SEGUNSEA <expresin> <constante1>:<sentencia1>; <constante2>:<sentencia2>; <constanteN>:<sentenciaN> [ SINO : <sentenciaElse>] FINSEGUNSEA Pascal Case selector of <constante1>:<sentencia1>; <constante2>:<sentencia2>; <constanteN>:<sentenciaN> else<sentenciaElse> end;

Porejemploimaginaquequeremosqueelusuarioseleccioneunidiomadecincoposibles (Espaol,Ingls,Francs,AlemnoItaliano).Podemoshacerlosiguiente: if(idioma=espaol)then... else if(idioma=ingls)then... else if(idioma=francs)then...

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

else ... Peroestoresultatediosoyademspococlaro,resultaramuchomsintuitivosipudiramos comparar en una sola instruccin todos los posibles valores, y eso es lo que hace la instruccincaseopcinof.Veamosunejemplo: programmultilengua usescrt var num:integer begin clrscr writeln('Seleccioneunidioma') writeln('1.Espaol') writeln('2.English') writeln('3.Franais') writeln('4.Deutsch') writeln('5.Italiano') readln(num) casenumof 1:writeln('Hola') 2:writeln('Hello') 3:writeln('Salut') 4:writeln('Hallo') 5:writeln('Ciao') else (*Sinocontieneningunodelosvaloresespecificados anteriormente*) writeln('Error') end readkey (*esperamosaquesepulseunatecla*) end. Elprogramamuestralasopcionesdisponiblesyluegosepreparapararecibirelvalorquele indiquemosatravsdeuna variable.Despuscomparael valorcontenidoenesa variable (num)conloscincovaloresposiblesysegnelvalorcontenidoenellarealizaunaaccinu otra. SENTENCIADEITERACINDEFINIDA Se conoce antes de su ejecucin el nmero de iteraciones que realizar sobre una determinadasentenciatambinllamadacuerpodebucle. FORDO(PARA)
Comoyasabes,unprogramanoesmsqueunconjuntosecuencialdeinstruccionesquedespus el ordenador ejecutar una por una. Sin embargo en muchas ocasiones nos interesa que el ordenador no ejecute todas las instrucciones en un orden cronolgico, sino que en ocasiones "salte" a una determinada instruccin, vuelva al principio, etc... Por ejemplo, si queremos que

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

nuestro programa escriba 100 veces "Hola" podramos teclear 100 instrucciones writeln('hola'); pero esto sera un rollo :( y adems poco elegante, lo lgico seraincluir una nicainstruccin writeln('hola')ydespushacerqueelprogramarepitaestainstruccin100vecesantesdepasara lasiguiente.

Pseudocdigo: PARA< variable>DESDE < inicio> HASTA< tope> [I NCREMENTO < in>] < bloque_de_instrucciones> FINPARA Pascal: For < variable> := < inicio>{to|downTo} < tope> do Begin <bloque_de_instrucciones> End

Elbuclefor:
Enelejemploanteriorqueremosconseguirmsomenosesto(enpseudocdigo):

Repetir100veces (Escribir"hola") Seguirconlasiguienteinstruccin. EnPascalestolologramosconlainstruccin FOR,cuyasintaxiseslasiguiente: Volviendoalejemploanteriorelprogramacompletoseraunacosaas: programcienusescrt var a:integer begin fora:=1to100do begin writeln('hola') (*Aqunoseranecesarioponerlainstruccinentrebeginyendporque slohayuna*) end end. Asqueenelcasoanteriordeclaramosunavariabledetipointeger(entero).Porquevamos autilizarlaparacontarde1hasta100,porellonecesitamosquetomevaloresenteros. Despusentramosenel buclefor que seejecutar mientras la variablequeusamoscomo contador tome valores entre 1 y 100. Dentro de este bucle hay una nica instruccin: writeln('Hola')porloquecadavezqueseejecuteelbucleseescribir"Hola"enlapantalla

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

yseincrementaren1elvalordelavariablecontador.Porltimocuandolavariabletome unvalorsuperiora100elprogramasaldrdelbucleyfinalizarsuejecucin. SENTENCIADEITERACININDEFINIDA


Ahora bien, tambin es posible que no sepamos cuntas veces han de ejecutarse determinadas instrucciones, sino que stas tienen que ejecutarse hasta que se cumpla una determinada condicin. Por ejemplo puede que nos interese mantener un men en pantalla hasta que el usuariopulselatecla'S' Aqunoseespecificaexplcitamenteel nmero deiteracionessinolacondicindeentradaosalida delbucle.

DO UNTIL(HACER HASTA) Pseudocdigo: HACER <bloque_de_intrucciones> HASTA<condicin> Pascal: Repeat <bloque_de_intrucciones> Until (<condicin>) Unejemploconcretoenelquesenosmuestraelnombredelprogramahastaquepulsamos latecla'S'sera: programrepetirusescrt var: tecla:char begin repeat begin writeln('Programarepetirv:1.0') (*aquhayvariasinstrucciones,porello debemosponerlas*) writeln('Deseasalirdelprograma(S/N)?')(*entrebeginyend*) tecla:=readkey end untilupcase(tecla)='S' end. Aqu aparece otro tipo de variable, char. Este tipo se utiliza cuando trabajamos con caracteresalfanumricos("a","b","c","1","2",...) Ademsaparece lainstruccin upcase(tecla),queloquehaceesconvertiramaysculas.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

Bachillerato en Computacin con Orientacin Comercial

WHILE DO (MIENTRAS HACER)


Unaformaalternativadeconseguirloanteriorserautilizandounbucle while. Pseudocdigo: MIENTRAS <condicin>

< bloque_de_intrucciones>
FIN- MIENTRAS Pascal: While (<condicin>) Do Begin

< bloque_de_intrucciones>
End

Volviendoalejemplo: programrepetir2usescrt var: tecla:char begin dowhileupcase(tecla)<>'S' begin writeln('Programarepetirv.2.0.') writeln('Deseasalirdelprograma(S/N)?') tecla:=readkey end end. Estosdostiposdebuclesaprimeravistaparecenhacerlomismo,perohayunaimportante diferencia. En el caso del bucle r epeat primero entramos en el bucle y luego comprobamos la condicin, mientras que en el caso del bucle while primer o se comprueba la condicin y luego se entra en el bucle. Es decir, en el caso del bucle repeat las instrucciones del bucle se ejecutarn siempr e al menos una vez(aunque la condicinseafalsa,puestoqueestoslosecompruebaalfinaldelbucle).Porelcontrario enelcasodel buclewhilesilacondicinesfalsadesdeelprincipiolasinstruccionesdel buclenuncaseejecutarn.

Desarrolladopor:EdgarLucas edgarlucas@gmail.com

S-ar putea să vă placă și