Source: https://www.scribd.com/document/90075558/introprogra
Timestamp: 2018-02-23 08:57:52+00:00

Document:
introprogra
Uploaded by Julian RG
CONTENIDO PARA EL CURSO DE PROGRAMACIÓN I PRIMERA UNIDAD ØQué es la Informática ØInformación ØPasos en el tratamiento de la información ØOperaciones para el tratamiento de la Información ØUnidades de Medida de la Información ØLa computadora ØProgramas e instrucciones ØElementos básicos en la Informática ØRepresentación de la información en la computadora ØSistemas numéricos Øcodificación de la información ØASCII ØUnicode SEGUNDA UNIDAD ØResolución de problemas con computadoras: Algoritmos ØResolución de problemas ØEtapas en la resolución de problemas ØAnálisis del problema ØDiseño del algoritmo ØCodificación de un programa ØCompilación y ejecución de un programa ØVerificación y depuración de un programa ØDocumentación y mantenimiento ØAlgoritmos: Concepto y características ØCaracterísticas de los algoritmos ØDiseño del algoritmo ØEscritura de algoritmos ØMétodos de representación de algoritmos ØDiagrama de flujo ØTérminos utilizados en diagramación ØPseudocódigo ØProgramación: Estructura de un programa ØConcepto de programa ØPartes de un programa ØInstrucciones y tipos de instrucciones ØElementos básicos de un programa ØDatos, tipos de datos y operaciones primitivas ØConstantes y variables ØConstantes Øvariables ØExpresiones ØExpresiones aritméticas ØReglas de prioridad ØExpresiones booleanas ØOperadores lógicos Ø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
Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
ØSentencia PROGRAM ØDeclaración de unidades ØDeclaración de constantes, tipos y
ØTipos reales ØTipos carácter ØTipos cadenas
ØTipos lógicos CUARTA UNIDAD ESTRUCTURAS DE CONTROL secuenciacion Seleccion if then else case iteracion definida: for Indefinida: repeat, while
ØPrograma principal ØEjecución de los programas ØCompilación y ejecución en memoria ØLa operación de asignación ØAsignación o igualación ØEntrada y salida de datos ØSalida de datos a la pantalla ØEntrada de datos desde teclado ØTipos de datos ØTipos enteros
¿Qué es la Informática? Informática es una palabra de origen francés formada por la contracción de los vocablos: INFORmación y autoMATICA La Real Academia Española define Informática como: El conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático y racional de la información por medio de computadoras. El objetivo marcado es el “tratamiento automático” de la información y el medio utilizado “la computadora”. Por lo tanto, es imprescindible conocer: ­ Todas las características técnicas de las computadoras y sus componentes asociados (periféricos). ­ Tipos de información y datos que se manejarán (sistemas de representación, archivos y bases de datos). ­ ­ Los procesos y métodos aplicados a la información o datos (programas). Los sistemas de comunicación que permitirán tratar la información a distancia y Compartirla de forma fiable. Conocer con detalle estos aspectos y la relación que existe entre ellos, permitirá entender cómo se realiza el tratamiento automático de la información, utilizando computadoras. Puesto en contexto de que trata la Informática, sus teorías y métodos, pasamos a detallar cada uno de los conceptos fundamentales: Información De una manera informal, podemos considerar la información como un conjunto de datos ordenados que nos aportan conocimiento sobre las cosas. Para dar una definición más formal tendremos en cuenta dos nuevos conceptos: carácter y dato. Carácter: es cualquier símbolo numérico, alfabético o especial que se emplea en la escritura y en el cálculo: - Numéricos: 0, 1,2,.....9 Desarrollado por: Edgar Lucas – edgarlucas@gmail.com
. C. .. Ej.Alfabéticos: formados exclusivamente por letras del alfabeto. Existen tres tipos básicos de datos: . Ej. se puede definir la información como un conjunto de datos (numéricos. Costo. Ej. Dato: es cualquier conjunto de caracteres (puede ser un único carácter). . /.Alfabéticos: a. del más antiguo a más reciente). Considerando lo anterior. detectando electrónicamente un sonido.419. alfabéticos y especiales. una temperatura. b. z. Los datos pueden ser captados directamente por la computadora (por ejemplo...Especiales: *. como resultado de este procesamiento.. PA4. Pasos en el tratamiento de la información Tratamiento de información quiere decir operar o procesar un conjunto de datos iniciales o datos de entrada. Desarrollado por: Edgar Lucas – edgarlucas@gmail. Manipulación de los datos: Sobre los datos de entrada podemos realizar las siguientes operaciones: . .Agrupación: consiste en organizar o clasificar elementos similares por grupos o clases. 213. y. Juan. . #. un código de barras) o pueden ser dados en forma de letras o números (caracteres).De control: retorno de carro (enter).. .Cálculo: consiste en la manipulación aritmética de los datos. +.Bachillerato en Computación con Orientación Comercial .. Valor5.Alfanuméricos: Formados por caracteres numéricos... A.. objetos e ideas. alfabéticos y alfanuméricos) ordenados con los que se representan convencionalmente hechos. El procesamiento de datos está constituido por tres actividades básicas: Captura de datos de entrada: Los datos deben ser registrados antes de procesarse.. Junín 455. c. 21. Z.Numéricos: Formados exclusivamente por dígitos. obtener un conjunto de datos finales o de salida.com . Fin de fichero (EOF). . B.Clasificación: consiste en el ordenamiento de los datos agrupados según una secuencia lógica (de mayor a menor. x.
Para realizar la consulta utilizaremos el proceso de recuperación. sobre ellos se pueden realizar las siguientes operaciones: . Operaciones para el tratamiento de la Información En el tratamiento de la información aparecen implicadas algunas o todas las operaciones elementales que exponemos a continuación: . . Cuando la recibe puede necesitar copiar o duplicar la información (por ejemplo un listado de las ventas del último mes) y esta tarea de reproducción la realiza una máquina.Escritura: Consiste en mostrar la información de una manera clara y ordenada sobre un soporte dado. Este proceso continúa hasta que la información llega al usuario. De este modo podemos acceder cuando sea necesario a parte o a la totalidad de la información. .Cálculo aritmético y lógico: Este tipo de operación elemental nos permite procesar la información realizando sobre ellas operaciones aritméticas y lógicas. .Comunicación y reproducción: El proceso de comunicación de datos consiste en la transferencia de los mismos de un lugar a otro.Copia: Consiste en poder transcribir información a un soporte dado de forma automática.Almacenamiento: consiste en almacenar la información durante el tiempo que sea necesario para hacer uso de ella cuando se precise. donde serán utilizados o se procesarán de nuevo. Desarrollado por: Edgar Lucas – edgarlucas@gmail.Almacenamiento y recuperación: Con el proceso de almacenamiento nos aseguramos de poder conservar los datos para el futuro. en el caso de tratarse de un tratamiento automático de la información. .Clasificación: Permite ordenar la información guardada usando la operación anterior de almacenamiento. . la información es mostrada de manera que sea inteligible para las personas mientras que en la copia dicha información se encuentra en el lenguaje que la máquina entiende.Bachillerato en Computación con Orientación Comercial Manejo de los resultados de salida: Una vez que han sido manipulados los datos de entrada.com .Lectura: consiste en adquirir la información que después utilizará el resto de las Operaciones elementales. La diferencia con respecto a la copia radica en que. .
073. la información se almacena y se transfiere de un sitio a otro según un código que utiliza sólo dos valores (un código binario) representado por 0 y 1.824 bytes 1 Terabyte (TB) 1024 GB = 240 bytes 1 Petabyte (PB) 1024 TB = 250 bytes 1 Exabyte (EB) 1024 PB = 2 60 bytes Desarrollado por: Edgar Lucas – edgarlucas@gmail.com . siendo generalmente 8. Como es una unidad relativamente pequeña.741. abierto o cerrado.576 bytes 1 Gigabyte (GB) 1024 MB = 230 bytes = 1. Representa la información correspondiente a la ocurrencia de un suceso de entre dos posibilidades distintas: prendido o apagado. La unidad más elemental de información es un valor binario conocido como BIT.Bachillerato en Computación con Orientación Comercial Unidades de Medida de la Información En el interior de las computadoras. 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. Este número depende del código utilizado por la computadora. (tal como disco. por lo que habitualmente byte se utiliza como sinónimo de 8 bits. es decir. en bits. Por tanto a cada carácter le corresponde un cierto número de bits.048. es usual utilizar múltiplos. Un byte es el número de bits necesarios para almacenar un carácter. disquete o cinta magnética) se mide en bytes. Dijimos que la información se representa por medio de caracteres y que internamente se codifica en un alfabeto binario. En la entrada y salida de la computadora se efectúan automáticamente los cambios de código oportunos para que en su exterior la información sea directamente comprendida por los usuarios. es una posición o variable que toma el valor 0 ó 1. La capacidad de almacenamiento de una computadora o de un soporte de información.
Todo lo relativo a los símbolos y reglas para escribir programas se denomina lenguaje de programación. Las instrucciones se forman con elementos o símbolos tomados de un determinado repertorio. La computadora Computador. Un programa es un conjunto ordenado de instrucciones que se dan a la computadora indicándole las operaciones o tareas que se desea que realice.Bachillerato en Computación con Orientación Comercial La razón por la que se utiliza el factor multiplicador 1024 en lugar de 1000 es por ser a potencia de 2 más próxima a 1000. Los programas son formulaciones concretas de algoritmos abstractos basados en ciertas representaciones y en estructuras de datos. La diferencia fundamental de la computadora respecto a otras máquinas que realizan un tratamiento automático de la información (como las calculadoras) se encuentra en la propia definición: el proceso lo controla el programa y no un operador humano. En general. el “juego de instrucciones” de una CPU particular. se encuentran tres partes fundamentales que interactúan entre sí: . y proporcionar la información resultante a través de un medio de salida; todo ello sin intervención de un operador humano y bajo el control de un programa de instrucciones previamente almacenado en el propio computador. en un sistema informático. y se construyen siguiendo unas reglas precisas. Se entiende por operaciones lógicas funciones tales como comparar ó seleccionar.El elemento físico o hardware: Es el conjunto de elementos materiales: Desarrollado por: Edgar Lucas – edgarlucas@gmail. cuestión importante desde el punto de vista electrónico. efectuar con ellos operaciones lógicas y aritméticas. Elementos básicos en la Informática En general.com . estas operaciones se realizan con datos. computadora u ordenador. se define como una máquina capaz de aceptar unos datos de entrada. Programas e instrucciones Una instrucción es un conjunto de símbolos que representa una orden de operación o tratamiento para la computadora.
periféricos (entrada. ya que éstos constituyen la base de todas las transformaciones de información que ocurren en el interior de la computadora.Bachillerato en Computación con Orientación Comercial Computadoras. El sistema decimal. El objetivo es comprender los procesos que transforman la información externa a la computadora en patrones de bits fácilmente almacenables y procesables por los elementos internos de la misma. etc. etc. archivos de datos. pueden representar solamente dos estados de condición: Apagado/prendido. Cada uno de ellos Sistemas Numéricos El estudio de las computadoras y del procesamiento de datos requiere algún conocimiento de los sistemas numéricos. redes de comunicación. datos numéricos. En la representación al interior de las computadoras. Estados de condición a los que se les asigna el valor 1 ó 0. La computadora opera en binario debido a que sus componentes físicos. es cómo representarla y cómo materializarla o registrarla físicamente. Representación de la información en las computadoras Dos de los aspectos más importantes que se presentan en Informática. presenta características diferentes. se consideran cuatro tipos de información: textos. magnetizado/no magnetizado. El sistema binario. compuesto por los símbolos 0 al 9. programas de aplicación específicos. es el sistema numérico que utilizamos a diario. datos o conjunto de elementos lógicos: sistema operativo. . con 16 símbolos. El sistema hexadecimal.El elemento humano: personal informático que realizará los programas y los usuarios que realizarán los procedimientos y usarán la información del sistema. impresoras. lenguajes de programación. ofrece la posibilidad de comprimir los números binarios para hacerlos más sencillos de tratar. relacionados con la información. sonidos e imágenes. proceso y salida). páginas web. abierto/cerrado. . etc. compuesto por los símbolos 1 y 0.El elemento lógico o software: Se refiere a los programas.com . Desarrollado por: Edgar Lucas – edgarlucas@gmail. es el que utiliza la computadora en su funcionamiento interno.
binario y hexadecimal. 5. dos dígitos hexadecimales corresponden exactamente —permiten representar la misma línea de enteros— a un byte. Sistema decimal El más importante factor en el desarrollo de la ciencia y la matemática fue la invención del sistema decimal de numeración. equivale al número en base 16 10016. El conjunto de símbolos sería. el valor relativo de los dígitos binarios a la izquierda del dígito menos significativo aumenta en una potencia de dos cada vez. Su uso actual está muy vinculado a la informática y ciencias de la computación. pues los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y. que.9. denominados generalmente "cifras decimales". 6. se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. 3. debido a que un byte representa 28 valores posibles. 2. 7. por lo que su sistema de numeración natural es el sistema binario (encendido 1. Sistema binario El sistema binario. es el sistema de numeración posicional de base 16 —empleando por tanto 16 símbolos—. por ello. 4. En principio dado que el sistema usual de numeración es de base decimal y. Este sistema utiliza diez símbolos: 0. en matemáticas e informática. Sistema hexadecimal El sistema hexadecimal. según el teorema general de la numeración posicional. apagado 0). por tanto.com . 8. La costumbre de contar por decenas se originó probablemente en el hecho de tener el hombre diez dedos. a veces abreviado como hex. y esto puede representarse como . sólo se dispone de diez dígitos. en lugar de hacerlo en potencias de diez. el siguiente: Desarrollado por: Edgar Lucas – edgarlucas@gmail.Bachillerato en Computación con Orientación Comercial Los sistemas numéricos difieren en cuanto a la disposición y al tipo de los símbolos que utilizan. es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). 1. A diferencia del sistema decimal. En este tema se analizaran los sistemas decimal. Las computadoras trabajan internamente con dos niveles de voltaje.
D = 13.Bachillerato en Computación con Orientación Comercial Se debe notar que A = 10. No es necesario que el alfabeto que usa una máquina en su interior sea el mismo que utiliza el hombre que la ha construido y la maneja. según sus características. se debe disponer de un soporte físico adecuado. El caso más sencillo es cuando ambos alfabetos tienen la misma cantidad de símbolos y a cada símbolo del primer alfabeto le corresponde un símbolo del segundo alfabeto (correspondencia biunívoca o biyectiva). basta con que la transformación de los símbolos internos a los externos o viceversa se efectúe de una manera sencilla. Como en cualquier sistema de numeración posicional. E = 14 y F = 15. Existe una variedad de soportes físicos y algunos muy modernos. Códigos de representación de la información en las computadoras Los datos ó cualquier información que se manejan internamente en un sistema informático se pueden representar. El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. Una representación anterior. B = 11.com . quedando multiplicado por una cierta potencia de la base del sistema. fue usada en 1956 por la computadora Bendix G-15.0625 = 992. pero un medio que sigue en plena vigencia es la ESCRITURA. Por ejemplo: 3E0. con 0–9 y u–z. de ser posible automáticamente por la propia máquina. Representación de la información Cuando se pretende plasmar la información de una forma transmisible y más o menos permanente. que en este caso es 16. el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos. se dice que ha sido codificada. En ocasiones se emplean letras minúsculas en lugar de mayúsculas. de la siguiente manera: Desarrollado por: Edgar Lucas – edgarlucas@gmail. Codificación de la información Cuando una información que originalmente venía representada en un alfabeto A1 es transcrita a un segundo alfabeto A2. el cual contenga a la información. Han evolucionado los métodos pero el fundamento sigue siendo el mismo: poner en la secuencia conveniente una serie de símbolos escogidos dentro de un conjunto predefinido.A16 = 3×162 + E×161 + 0×160 + A×16-1 = 3×256 + 14×16 + 0×1 + 10×0. C = 12.625.
también denominada ISO-Latin1. Entre ellas se encuentran los códigos ISO 8859-n. diéresis y otras letras latinas no usadas en los países anglosajones. Por ejemplo. Existen otras versiones ampliadas de este código que utilizan 8 bits y respetan los códigos normalizados del ASCII básico.com . TIFF.Bachillerato en Computación con Orientación Comercial Textos B CD de 6 bits E BCDIC A SCII U NICODE Datos Numéricos Enteros Reales Sonidos WAV MIDI MP3 WMA Videos WMV AVI MOV MPG MP4 Imágenes Mapa de Bits: BMP. ASCII: Código Estándar Americano para el Intercambio de Información. la norma. JPEG. L os símbolos y códigos añadidos en las versiones ampliadas a 8 bits no están normalizados. tildes. donde n es el número que identifica el juego de los nuevos caracteres introducidos dependiendo de los lenguajes. UNICODE Este código fue propuesto por un consorcio de empresas y entidades con el objetivo representar texto de muy diversas culturas. Desarrollado por: Edgar Lucas – edgarlucas@gmail. GIF. se proyectó para América y Europa occidental e incluye vocales con acentos. aprovechando las combinaciones no usadas para representar símbolos adicionales. AI. Los códigos anteriores presentan varios inconvenientes. tales como: L os símbolos son insuficientes para representar los caracteres especiales que requieren numerosas aplicaciones. PNG Mapa de Vectores: CDR. WMF En esta ocasión solo explicaremos los más necesarios. EPS. ISO 8859-1. El código ASCII básico utiliza 7 bits y se usa especialmente para la transmisión de datos.
356 6 símbolos. L os lenguajes escritos de diversas culturas orientales. 37/22. 25. el cero. U niformidad. U nicidad. a cada carácter se le asigna exactamente un único código. las cuales aunque accesibles al lego. frases o ideas completas.4. los números reales pueden ser descritos informalmente de varias formas. se puede describir a los números reales como todos aquellos que poseen una expansión decimal. Así los números enteros están formados por un conjunto de enteros positivos que podemos interpretar como los números naturales convencionales. ya que todos los símbolos se representan con un número fijo de bits (16). Números Reales En matemáticas. así como a los números irracionales tales como . y un conjunto de enteros negativos que son los opuestos de los naturales (éstos pueden ser interpretados como el resultado de restar a 0 un número natural). Números Enteros Los números enteros son una generalización del conjunto de números naturales que incluye números negativos (resultados de restar a un número natural otro mayor además del cero). inoperantes los códigos que sólo codifican letras individuales. SEGUNDA UNIDAD Desarrollado por: Edgar Lucas – edgarlucas@gmail.Bachillerato en Computación con Orientación Comercial E stán basados en los caracteres latinos.com . En primera instancia. por tanto. Unicode está reconocido como estándar ISO/IEC 1 0646. Los números reales incluyen tanto a los números racionales como 31. y presenta las siguientes propiedades: U niversalidad. no tienen el rigor necesario para los propósitos formales de matemáticas. existiendo otras culturas que utilizan otros símbolos muy distintos. japonesa y coreana se basan en la utilización de ideogramas o símbolos que representan palabras. siendo. trata de cubrir la mayoría de lenguajes escritos: 16 bits => 5. como la china.
ejecución. El programa se actualiza y modifica cada vez que sea necesario en función de los requerimientos de los usuarios.Compilación y ejecución . que tendrá como mínimo las siguientes actividades: . . .Definición o análisis del problema .Diseño del algoritmo de solución .Bachillerato en Computación con Orientación Comercial Resolución de problemas con computadoras: Algoritmos Resolución de problemas La resolución de cualquier problema con una computadora se hace escribiendo un programa. se sigue una serie de pasos que en conjunto constituyen lo que en Ingeniería de Software se denomina ciclo de vida del software.Diseño: Consiste en la determinación de una solución o algoritmo del problema planteado. . Esta es la etapa más larga del ciclo de vida de desarrollo de software y puede durar muchos años Desarrollado por: Edgar Lucas – edgarlucas@gmail.Mantenimiento.Codificación (implementación): La solución se escribe en la sintaxis de un lenguaje de programación y se obtiene el programa o código fuente.com .Análisis: Consiste en el estudio detallado del problema con el fin de obtener una serie de documentos (especificaciones o requerimientos) en los que quede totalmente definido el proceso de la automatización. verificación y depuración: El programa se ejecuta.Codificación del algoritmo en un programa que la computadora pueda interpretar .Mantenimiento . Si bien se reconoce que el proceso de diseñar programas es – esencialmente. se comprueba rigurosamente y se eliminan todos los errores que puedan detectarse.Compilación. su instalación y funcionamiento en una computadora.Documentación Etapas en la resolución de problemas (ciclo de vida del software) Desde el planteo inicial de un problema hasta que se obtiene el correspondiente programa o aplicación. los pasos o etapas comunes que generalmente deben seguir los programadores son: .Verificación .creativo. .
La verificación y depuración. diseño y codificación. Respecto a la información resultante. esto es.¿Cuál es la salida deseada? (tipo y cantidad) . seguidos uno a uno.¿Qué entradas se requieren? (tipo y cantidad) . Análisis del problema Esta etapa requiere una clara definición donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. se desea obtener su longitud y el área del círculo que determina. Para este problema la entrada es el radio de la circunferencia. la computadora realiza una a una las instrucciones dadas en el programa. reflejando las ideas generadas en las etapas anteriores. ayudan a la comprensión del código y facilitan su mantenimiento. normas para el mantenimiento.Bachillerato en Computación con Orientación Comercial . Un algoritmo es una secuencia de pasos que. la longitud de la circunferencia y el área del círculo. Cuanto más tiempo se invierta en la etapa de análisis y diseño menos tiempo se requerirá en la etapa de depuración. y en el orden en que fueron planteados. En la etapa de compilación y ejecución. fundamentalmente el análisis. Las dos primeras etapas conducen a un diseño detallado escrito en forma de algoritmo. para este problema son.¿Qué método produce la salida deseada? Ejemplo: Dado el radio de una circunferencia. a los que se agrega manuales de usuario y de referencia.Documentación: Se documentan las distintas etapas del ciclo de vida del software. el único dato necesario para realizar los cálculos. En la tercera etapa se implementa el algoritmo en un código escrito en un lenguaje de programación. consiste en la búsqueda y eliminación de los errores. así como también. el código se traduce a un lenguaje que la máquina pueda entender y se ejecuta el programa. Desarrollado por: Edgar Lucas – edgarlucas@gmail.com . permiten resolver un problema. La documentación es un paso importante que hace a las buenas prácticas de programación. Para definir correctamente un problema es conveniente responder a las siguientes preguntas: .
Para realizar la conversión de un algoritmo en un programa. sólo sirven para que los programas sean más fáciles de entender. por quién los escribió y por otros programadores. respetando sus reglas y sintaxis. Existen distintas técnicas para la construcción de algoritmos.Bachillerato en Computación con Orientación Comercial El método o cálculo que relaciona los datos de entrada y genera la salida deseada. Una buena práctica de programación consiste en agregar en el programa fuente comentarios que ayuden a la comprensión del código. que sean fáciles de actualizar. Estas líneas son ignoradas por el compilador. está dado por siguientes fórmulas: Longitud = 2 * 3. Este método se conoce técnicamente como diseño descendente (top-down) o diseño modular. Esto quiere decir que la resolución de un problema complejo se realiza dividiendo el problema en subproblemas menos complejos.1416 * radio Área = 3. que describiremos más adelante. El proceso de descomposición el problema en pasos más detallados se conoce como refinamiento sucesivo. El objetivo del programador debe ser escribir programas sencillos y claros. Los métodos más eficaces para el proceso de diseño se basan la estrategia divide y vencerás. Desarrollado por: Edgar Lucas – edgarlucas@gmail. hasta llegar a un nivel cuya solución pueda ser implementada en una computadora. las dos más utilizadas son: diagramas de flujo y pseudocódigo. por ejemplo /*. Dado que el algoritmo es independiente del lenguaje de programación que será utilizado para su implementación.1416 * radio * radio Diseño del algoritmo En la etapa de análisis del proceso de programación se determina qué hace el programa y en la etapa de diseño se especifica cómo hace el programa la tarea solicitada. Codificación de un programa Codificación es la escritura en un lenguaje de programación de la representación de un algoritmo desarrollado en las etapas precedentes. las operaciones indicadas en el algoritmo se expresan en el lenguaje de programación correspondiente. Las líneas de comentarios se identifican porque comienzan con un símbolo.com . el código se puede escribir con igual facilidad en un lenguaje u otro. Estos comentarios constituyen lo que se llama documentación interna.
Consiste en la ejecución del mismo con un conjunto de datos de pruebas para determinar si el programa tiene errores. Verificación y depuración de un programa La verificación de un programa es el proceso de comprobación de la corrección de un programa. Si hay errores de sintaxis. Este conjunto de datos de prueba o test debe contener valores de datos de entrada normales. que completa el programa objeto con librerías o rutinas propias del compilador. es necesario volver a editar el programa. que genera el programa ejecutable. obteniéndose el programa objeto.Bachillerato en Computación con Orientación Comercial Compilación y ejecución de un programa Una vez que el algoritmo se ha convertido en un programa fuente. Suponiendo que no existan errores durante la ejecución se obtendrán los resultados del programa. A continuación. corregir los errores y compilar de nuevo.exe ó . existen tres tipos de errores: -Errores de compilación: Se producen normalmente por un uso incorrecto de las reglas del lenguaje de programación y suelen ser errores de sintaxis.com). Si luego de la compilación se presentan errores (errores de compilación). En general. que todavía no es ejecutable directamente. Cuando el programa ejecutable se ha creado (generalmente la extensión del archivo será .com . valores extremos de los datos para comprobar los límites. la computadora no puede entender la instrucción. Esta operación se realiza con un programa editor propio del lenguaje de programación o un editor de texto de uso general. valores erróneos y valores de entrada que comprueben casos especiales del programa. se puede ejecutar el programa desde el sistema operativo con sólo teclear su nombre o hacer doble clic sobre el nombre (estas acciones dependen del sistema operativo de la computadora particular). Este proceso se repite hasta que no se presenten más errores. es preciso introducirlo a la computadora y almacenarlo en un disco. La depuración es el proceso de encontrar los errores y corregir o eliminar dichos errores. La compilación consiste en la traducción del programa fuente a lenguaje de máquina. De esta tarea se encargar el programa compilador del lenguaje de programación. se indica al sistema operativo que se realice la fase de montaje o enlace (link). Desarrollado por: Edgar Lucas – edgarlucas@gmail. no se genera el programa objeto y el compilador emite una lista con todos los errores encontrados durante la compilación.
- Errores de ejecución: Se producen por errores que la computadora puede comprender pero no ejecutar. Ejemplos típicos son: operaciones en las que se pretende dividir por cero y raíces cuadradas de números negativos. En estos casos, se detiene la ejecución del programa y se imprime un mensaje de error. El programa “cancela”, es el término en la jerga informática. - Errores lógicos: Se producen en la lógica del programa y la fuente del error suele ser el diseño del algoritmo. Estos errores son los más difíciles de detectar porque el programa funciona sin producir mensajes de error, el error sólo se advierte por la obtención de resultados incorrectos. En este caso, se debe volver a la etapa de diseño del algoritmo, modificar el algoritmo, cambiar el programa fuente y compilar y ejecutar de nuevo.
La documentación de un programa consiste en la descripción de los distintos pasos en el proceso de resolución de un problema. La importancia de la documentación debe ser destacada por su decisiva influencia en el producto final: Programas pobremente documentados son difíciles de leer, más difíciles de depurar y casi imposibles de mantener y modificar. La documentación de un programa puede ser: interna o externa. La interna es la contenida en los comentarios del programa fuente. La externa incluye análisis, diagramas de flujo y/o seudocódigos, manuales del usuario con instrucciones para ejecutar el programa y para interpretar los resultados.
La documentación es importante cuando deben introducirse cambios en los programas. Después de cada cambio, la documentación debe ser actualizada. Es práctica frecuente numerar las sucesivas versiones de los programas 1.0, 1.1, 2.0, 2.1, etc. Si los cambios son significativos, se varía el primer dígito [1.0, 2.9,…]., si son pequeños cambios se varía el segundo dígito [2.0, 2.1,…].
Algoritmos: Concepto y características
La noción del algoritmo es básica en la programación de computadoras, ya que la resolución de un problema exige el diseño previo de un algoritmo que resuelva dicho problema. Insistimos que el programador de computadora es antes que nada una persona que
resuelve problemas, por lo que para ser un programador eficaz se necesita aprender a
resolver problemas de un modo riguroso y sistemático. De aquí que una metodología de la programación es una metodología para resolver problemas mediante programas. El eje central de esta metodología en el concepto de algoritmo. Un algoritmo es un método para resolver problemas. Más explícitamente es un conjunto finito de reglas que dan una secuencia de operaciones para resolver un problema específico. El término proviene del matemático persa Mohammed Al-khowarizmi que alcanzó gran repercusión por el enunciado de reglas paso a paso para sumar, restar, multiplicar y dividir números decimales. Euclides, el matemático griego que inventó un método para encontrar el máximo común divisor de dos números, se considera el otro gran padre de la algoritmia (ciencia que trata sobre los algoritmos). Niklaus Wirth, creador de Pascal, Modula-2 y Oberon, sostiene que sólo se puede llegar a realizar un buen programa con el diseño de un algoritmo y una correcta estructura de datos.
Esquema de resolución de un problema mediante programas de computadoras. Los pasos para la resolución de un problema son: 1. Diseño del algoritmo, que describe la secuencia ordenada de pasos —sin ambigüedades— que conducen a la solución de un problema dado. (Análisis del problema y desarrollo del algoritmo). 2. Expresar el algoritmo como un programa en un lenguaje de programación Adecuado. (Codificación.) 3. Ejecución y validación del programa por la computadora. Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo, de modo que sin algoritmo no puede existir un programa. Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que los ejecuta. En cada problema el algoritmo se
puede expresar en un lenguaje diferente de programación o ejecutarse en una computadora distinta; sin embargo, el algoritmo será siempre el mismo. Así, por ejemplo, en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar en español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración del plato se realizarán sin importar el idioma del cocinero. En la ciencia de la computación y en la programación, los algoritmos son más importantes que los lenguajes de programación o las computadoras. Un lenguaje de programación es tan sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo. Tanto el lenguaje de programación como la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute y se efectúe el proceso correspondiente. Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy importante será el diseño de algoritmos. El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos profundos de la técnica de la programación.
Las características fundamentales que debe cumplir todo algoritmo son: - Debe ser preciso e indicar el orden de realización de cada paso. - Debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. - Debe ser finito. El algoritmo debe tener un fin; o sea, debe tener un número finito de pasos hasta lograr su objetivo. La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. En el algoritmo de receta de cocina citado anteriormente se tendrá:
Entrada: ingredientes y utensilios empleados. Proceso: elaboración de la receta en la cocina. Salida: terminación del plato (por ejemplo, tarta de manzanas).
Ejemplos de algoritmos Un cliente realiza una solicitud a una empresa. La empresa examina la ficha del cliente en su base de datos, si el cliente es solvente entonces acepta el pedido, en caso contrario, rechaza el pedido. Los pasos del algoritmo son:
Examinar ficha del cliente 4. Mencionamos antes que los problemas complejos pueden resolverse más eficazmente con la computadora cuando este se descompone en subproblemas más fáciles de solucionar. comprobados y depurados. escribir un algoritmo consiste en realizar una descripción paso a paso en lenguaje natural de la solución que se propone para resolver un problema. en forma independiente (incluso por diferentes programadores) y luego.Bachillerato en Computación con Orientación Comercial 1. En este método. 5. Fin Diseño del algoritmo Una computadora sólo es capaz de resolver un problema si se le instruye paso a paso en las acciones que debe realizar.Sólo puede ejecutarse una operación a la vez. codificados. Estos pasos sucesivos que indican las instrucciones a ejecutar por la máquina constituyen como ya hemos visto. el algoritmo. Tomar el pedido 3. caso contrario. aceptar el pedido. combinarlos entre sí. Si el cliente es solvente. . En cálculos elementales estas reglas tienen las siguientes propiedades: . En el diseño modular cada subproblema es resuelto mediante un módulo (subprograma) que tiene un solo punto de entrada y uno solo de salida. Escritura de algoritmos Como se dijo antes. Esta estrategia de divide y vencerás conforma la técnica de diseño descendente (top-down) ó diseño modular.com . un programa bien diseñado consta de un programa principal (el módulo de nivel más alto) que llama a subprogramas (módulos de nivel más bajo) que a su vez pueden llamar a otros subprogramas. La información proporcionada al algoritmo constituye su entrada y la información producida por el algoritmo constituye su salida. Los módulos pueden ser planificados. Inicio 2. rechazar el pedido. Desarrollado por: Edgar Lucas – edgarlucas@gmail. Recordemos que un algoritmo es un método o conjunto de reglas para solucionar un problema.Deben estar seguidas de una secuencia definida de pasos hasta que se obtenga un resultado coherente.
cada una de las cuales debe ejecutarse antes de realizar la siguiente.1. como ya se ha indicado en párrafos anteriores. El algoritmo descripto es muy sencillo. ponerse en la cola 4. ver la cartelera de cines en el diario 3. cada acción se codificará en una o varias sentencias que ejecutan una tarea particular.com . ya que cada acción se puede descomponer en otras acciones simples.3. sin embargo. decidir otra actividad 3. avanzar en la cola FIN_MIENTRAS FIN_SI 5.1.1. ir al cine FIN_SI 4. comprar una entrada 5. MIENTRAS haya personas delante HACER 4. consideremos el algoritmo que responde a la pregunta: ¿qué hacer para ver la película “Piratas del Caribe”? El algoritmo es muy sencillo pero se cumplen las propiedades mencionadas anteriormente: _ Ir al cine _ Comprar una entrada _ Ver la película _ Regresar a casa El algoritmo consta de cuatro acciones básicas. pasar a la sala Desarrollado por: Edgar Lucas – edgarlucas@gmail.2.1.2. SI hay localidades ENTONCES 5. SI no proyectan “Piratas del Caribe” ENTONCES 3. En términos de computadora.2. INICIO 2. el algoritmo general se descompondrá en pasos más simples mediante el refinamiento sucesivo.Bachillerato en Computación con Orientación Comercial El flujo de control usual de un algoritmo es secuencial. Un primer refinamiento del algoritmo anterior se puede describir de la siguiente forma: 1. bifurcar al paso 7 SI_NO 3. SI hay cola ENTONCES 4. Por ejemplo.2.
Por ejemplo. MIENTRAS proyectan la película HACER 5.com . Métodos de representación de algoritmos Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo de los lenguajes de programación. volver a casa 7.Empleo de indentación (sangrado o justificación) en la descripción del algoritmo. Una fórmula sin embargo es un buen sistema de representación. abandonar el cine SI_NO 5.4.6. .Bachillerato en Computación con Orientación Comercial 5. … e) Fórmulas matemáticas Los métodos d) y e) no son fáciles de transformar en programas. inglés. Estas incluyen los conceptos importantes de selección. ver la película FIN_MIENTRAS 5. localizar la butaca 5. refunfuñar FIN_SI 6. Los métodos usuales para representar un algoritmo son: a) Diagrama de flujo b) Diagrama N-S (Nassi-Schneiderman) c) Lenguaje de especificación de algoritmo: seudocódigo d) Lenguaje natural: español. FIN En este último ejemplo existen diferentes aspectos a considerar: . las fórmulas para la solución de una ecuación cuadrática (de segundo grado) son un medio apropiado Desarrollado por: Edgar Lucas – edgarlucas@gmail.4. Permitiendo que pueda ser codificado posteriormente en cualquiera de ellos. Este método facilita la identificación de las acciones y de sus estructuras.5.1. Estas palabras describen las estructuras de control fundamentales y procesos de toma de decisión en el algoritmo. o REPETIR-HASTA (repeatuntil)) que se encuentran en casi todos los algoritmos. Una descripción en español narrativo no es satisfactoria porque puede presentar ambigüedades.Ciertas palabras reservadas se han escrito en mayúsculas y negrita para resaltarlas de las demás.3. (expresadas en la estructura SI-ENTONCES-SI_NO (ifthen-else)) y de repetición (expresadas con MIENTRAS-HACER (while-do).
Un diagrama de flujo es un método de representación gráfica que utiliza un conjunto de símbolos. no es frecuente que un algoritmo se exprese por medio de fórmulas. Diagrama de flujo Un diagrama de flujo (flowchart) es una de las técnicas de representación de algoritmos más antiguas y a la vez más utilizada.com .Bachillerato en Computación con Orientación Comercial paea expresar el procedimiento algorítmico que se debe ejecutar para obtener las raíces de la ecuación: X1 = (-b + V(b2 -4ac)/2ª X2 = (-b -V(b2 -4ac)/2a) Sin embargo. Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalización (ANSI) y los más frecuentemente empleados son: Desarrollado por: Edgar Lucas – edgarlucas@gmail. de forma que cada paso del algoritmo se visualiza dentro del símbolo adecuado y el orden en que se realizan los pasos se representa por medio de flechas que indican el flujo lógico del algoritmo. aunque su utilización ha disminuido desde la aparición de los lenguajes de programación estructurados.
com . Desarrollado por: Edgar Lucas – edgarlucas@gmail.Bachillerato en Computación con Orientación Comercial Un ejercicio simple de diagramación: Problema: Obtener el promedio de notas de alumnos: En el diagrama A. la idea principal es mostrar el tipo de instrucción que se especifica en cada símbolo y el orden en que deben realizarse las órdenes para llegar al resultado. se utiliza el lenguaje natural para la especificación de las instrucciones (“Leer nota de un alumno”).
es decir. las notas de los alumnos. que hace referencia a una dirección de memoria que almacenará un "total móvil" de valores individuales a medida vayan apareciendo en el proceso. la variable ContAlum es una posición de memoria que al principio del programa se pone en 0 para ir incrementando el valor que contiene por cada alumno que se procese. Esta dirección o posición de memoria debe ser inicializada en cero. las especificaciones se formalizan utilizando variables. Observe en el ejercicio que la instrucción de poner en 0 las variables se realiza una sola vez. mientras que la instrucción leer nota del alumno se realiza tantas veces como alumnos se procesen. Términos utilizados en diagramación: Acumulador: Un acumulador es una variable. Ejemplo: para contar los alumnos procesados. hacemos referencia a ella con el nombre CuentaAlum. Si. el valor del promedio calculado se mostrará en papel impreso con la leyenda “Promedio de notas”. definida por el programador.com . En el ejercicio ejemplo. Iteración o bucle (loop): Desarrollado por: Edgar Lucas – edgarlucas@gmail. Este nombre debe respetarse en todo el diagrama. Ej. Contador: Es una variable que se incrementa en un valor constante y se utiliza para registrar el número de veces que se presenta un evento. Por ejemplo. la computadora no entenderá que nos referimos al mismo dato. en lugar del nombre asignado al inicio. Más adelante veremos que estas variables representan la posición de memoria RAM en la que están ubicados los datos. El sentido de las flechas indica la secuencia de ejecución de las instrucciones. En el ejemplo.Bachillerato en Computación con Orientación Comercial En el diagrama B. representativo de su contenido. El nombre de una variable debe ser nemotécnico. Las constantes alfanuméricas se utilizan en un diagrama como caracteres encerrados entre comillas. Las variables representan a los datos que se procesan. Esta referencia a una ubicación obliga a que se respete el nombre asignado cada vez que hacemos referencia a ese dato. se incrementa en 1 por cada lectura de datos de alumnos.
. que veremos más adelante.Comunicación: es más visual.Análisis efectivo: Puede dividirse en secciones detalladas para su estudio. horas trabajadas. Limitaciones: .Documentación.Los diagramas complejos y detallados pueden ser muy laboriosos de realizar y de consultar. precio de la hora. Pseudocódigo El pseudocódigo es un lenguaje de especificación (descripción) de algoritmos.Codificación eficiente. que facilita el paso a la codificación o traducción a un lenguaje de programación. . Se sabe también. .Rápida comprensión de las relaciones.com .Bachillerato en Computación con Orientación Comercial Es un conjunto de instrucciones que se procesa repetidamente hasta que se cumpla la condición de salida. "una imagen dice más que mil palabras". Ventajas de los diagramas: . .No existen normas que indiquen el nivel de detalles que debe incluirse en un diagrama. En el ejemplo. Desarrollado por: Edgar Lucas – edgarlucas@gmail. El pseudocódigo nació como un lenguaje similar al inglés y era un medio de representar las estructuras de control de la programación estructurada. las instrucciones de contar alumnos y acumular notas se realizan tantas veces como alumnos se procesen. que los impuestos aplicados constituyen el 25% del salario bruto. Ejemplos de diagramas de flujo: a) Programa que deduce el salario neto de un trabajador a partir de la lectura del nombre. .
end.Instrucciones de entrada/salida.Instrucciones de proceso. salario_neto END Desarrollado por: Edgar Lucas – edgarlucas@gmail. etc. etc. El pseudocódigo original utiliza para representar las acciones sucesivas palabras reservadas en inglés . repeat-until. Asimismo. archivos y cualquier otro objeto que sea manipulado por el programa. if-then-else. . tipos de datos. salario_bruto. Todo seudocódigo debe posibilitar la descripción de: . dado que necesariamente tiene que ser traducido a un lenguaje de programación. precio_hora salario_bruto = horas * precio_hora impuesto = 0. impuesto. tales como start. que se refinan posteriormente (subprogramas o rutinas). La representación en pseudocódigo del diagrama ejemplo mostrado en a) sería: START // Cálculo de impuesto y salario READ nombre. Fortran.Acciones compuestas. while-end. . stop. C. Un pseudocódigo no puede ser ejecutado por una computadora directamente.Bachillerato en Computación con Orientación Comercial Se considera un primer borrador del programa.25 * salario_bruto salario_neto = salario_neto – impuesto WRITE nombre. La escritura de pseudocódigo exige normalmente la indentación (sangría en el margen izquierdo) para describir las acciones en sus estructuras de control correspondientes.com . horas. variables. .Sentencias de control del flujo de ejecución. tendrá la posibilidad de describir datos. . expresiones. . C#.Facilita la modificación del algoritmo si se descubren errores.similares a sus homónimas en los lenguajes de programación -.Puede ser traducido fácilmente a lenguajes de programación estructurados tales como Pascal.El programador puede concentrarse en la lógica y en las estructuras de control del programa sin preocuparse por las reglas de un lenguaje de programación específico. Ventajas: .
ENTRADA Programa (Algoritmo) SALIDA El programador debe definir de donde provienen las entradas al programa. disco. es decir.com . Salida. Conceptualmente.entonces. La idea de fin u objetivo del programa está relacionada con la información que se requiere para resolver un determinado problema. Es información al lector del programa y no realiza ninguna acción ejecutable. Algoritmo de la solución. fin. etc.. leer.si_no. el proceso de programación es un proceso de resolución de problema y se ha visto también que los pasos (ciclo de vida) para desarrollar un programa son: a) Definición o análisis del problema b) Diseño del algoritmo de solución c) Codificación d) Compilación y ejecución e) Verificación y depuración f) Documentación g) Mantenimiento Partes de un programa Al iniciar su tarea. escribir. La línea precedida por // se denomina comentario.. el programador debe tener bien claro cuáles son las especificaciones que debe contener el programa: Entrada. Se debe entender el programa como un medio para conseguir un fin.) ingresarán los datos. si. un programa puede ser considerado como una “caja negra”. Como ya se dijo antes. mientras. Entre estas palabras sólo se escribe una instrucción o acción por línea. fin_mientras. esta caja negra es el algoritmo de solución que permitirá obtener la salida en función de las entradas. Desarrollado por: Edgar Lucas – edgarlucas@gmail. Programación: Estructura de un programa Concepto de programa Conjunto de instrucciones (órdenes) dadas a la computadora para la ejecución de una determinada tarea. Actualmente el uso del pseudocódigo se ha extendido a la comunidad hispana con términos en español. como inicio. sólo tiene efecto de documentación interna..Bachillerato en Computación con Orientación Comercial El algoritmo empieza con la palabra START y finaliza con la palabra END (INICIO. debe indicar desde que dispositivo de entrada (teclado. FIN en español).
Las salidas de los datos se deben presentar en dispositivos periféricos de salida: pantalla. en secuencia. En este tema veremos las instrucciones básicas que soportan casi todos los lenguajes. Las acciones o instrucciones se deben escribir y posteriormente almacenar en memoria en el mismo orden en que han de ejecutarse. etc. que son: 1. impresora. es decir. Escritura (presentación de resultados) Desarrollado por: Edgar Lucas – edgarlucas@gmail. operación de lectura o acción de leer.Bachillerato en Computación con Orientación Comercial El proceso de ingresar la información de entrada – datos – en la memoria de la computadora se denomina entrada de datos. Lectura (captura de datos) 4.com . Instrucción_1 Instrucción_2 …………………… Instrucción_n Instrucción_n+1 Tipos de instrucciones Las instrucciones disponibles en un lenguaje de programación dependen de cada lenguaje. disco. Instrucciones y tipos de instrucciones El proceso de diseño del algoritmo o posteriormente la codificación consiste en definir las ACCIONES o INSTRUCCIONES que resolverán el problema. Un programa es lineal cuando sus instrucciones se ejecutan secuencialmente sin bifurcaciones. Inicio/fin 2. Asignación 3. Instrucción_1 Instrucción_2 …………………… Instrucción_n Un programa es no lineal cuando se interrumpe la secuencia mediante instrucciones de bifurcación. La operación de salida se conoce también como escritura o acción de escribir.
B. se mostrarán en pantalla los datos 100. 50 y 30. entonces A=100. Cuál es el significado de las instrucciones siguientes? LEER A. si depende del cumplimiento de una determinada condición (por ejemplo: SI N > 0 THEN ir al fin); o incondicionales si la Desarrollado por: Edgar Lucas – edgarlucas@gmail. C Tomando los valores del ejemplo anterior. B=50. C Si se ingresan por teclados los valores 100. bifurcación (alteración de la secuencia del flujo de instrucciones) Instrucciones de asignación Una instrucción de asignación coloca un determinado valor en una variable o posición de memoria. Ejemplo 1: A= 80 la variable denominada A toma el valor 80 Instrucciones de lectura de datos (entrada) Esta instrucción lee datos de un dispositivo de entrada. Cuál es el significado de las instrucciones siguientes? ESCRIBIR A.com . 50 y 30 (se asume pantalla cuando no se especifica otro dispositivo).Bachillerato en Computación con Orientación Comercial 5. B. Las bifurcaciones pueden ser condicionales. Instrucciones de bifurcación La alteración de la secuencia lineal de las instrucciones de un programa se realiza a través de las instrucciones de bifurcación. C=30 Una instrucción de lectura deposita valores en las posiciones de memoria indicadas por los nombres de variables. Instrucciones de escritura de resultados (salida) Esta instrucción escribe datos en un dispositivo de salida.
utilizando este mismo lote de datos. para terminar el programa. cada nueva lectura destruye el valor anterior de la variable y coloca un nuevo valor. es decir. debido a que no respetan las estructuras de control propuestas por la programación estructura. Es importante que observe y comprenda los siguientes conceptos: 1) Las variables indicadas en un programa son posiciones de memorias (celdas) que internamente serán reconocidas con una “dirección” (un número binario.com . en el dispositivo indicado (en este caso una impresora). modifique este programa para que además de la salida indicada. 3) Las instrucciones de lectura asignan datos de entrada a las posiciones de memoria. el contenido de las variables referenciadas en la instrucción.Bachillerato en Computación con Orientación Comercial bifurcación no depende de ninguna condición (por ejemplo. Para consolidar estos conceptos. En general. 7) La instrucción de asignación para el cálculo del promedio evalúa la expresión a la derecha del signo igual y el resultado lo coloca en la variable a la izquierda del signo. es decir. las bifurcaciones incondicionales (GOTO) no son una práctica recomendada en programación. Siga las instrucciones paso a paso y observe como se modifican las variables en la memoria principal. de aquí que los datos deben ser usados (operados) “mientras” se encuentren en la memoria principal. 6) La instrucción de bifurcación incondicional (ir a leer los datos de otro alumno) altera la secuencia forzando al programa que vuelva a ejecutar una instrucción anterior. en el ciclo de lectura. 4) Las instrucciones de salida muestran. no con los datos directamente. 8) El algoritmo propuesto puede ejecutarse para N alumnos con la misma eficacia. calcule y muestre la cantidad de alumnos procesados. 5) La instrucción de bifurcación condicional (N=0) posibilita cambiar la linealidad de ejecución de las instrucciones. En cada iteración se dispone de los datos de UN ALUMNO. en forma “destructiva”. en este caso. Desarrollado por: Edgar Lucas – edgarlucas@gmail. 2) El programa opera con las posiciones de memoria o variables. por supuesto). IR a la instrucción 5).
SI-ENTONCES-THEN…) .com .Repetitivas). En el proceso de resolución de problemas el diseño de las estructura de los datos es tan importante como el diseño del algoritmo y del programa que se basa en el mismo. los programas con errores de sintaxis no serán ejecutados.Expresiones . FIN. Simples (no estructurados) Desarrollado por: Edgar Lucas – edgarlucas@gmail.Bachillerato en Computación con Orientación Comercial Elementos básicos de un programa En programación se debe tener presente la diferencia entre diseño del algoritmo y su Implementación en un lenguaje de programación específico.Identificadores (nombres de variables. existen otros cuya comprensión y funcionamiento es esencial para el diseño correcto de algoritmos y programas.Palabras reservadas (INICIO. funciones.Instrucciones Además de estos elementos básicos.) . En general. Solamente las instrucciones sintácticamente correctas serán reconocidas por la computadora. Los elementos básicos constitutivos de un programa o algoritmo son: . Datos. así como reglas.Variables . acumuladores. Etc. 3.Constantes . una cifra de venta de supermercado. Ejemplos de datos son: el nombre de una persona.Caracteres especiales (coma. tipos de datos y operaciones primitivas Un dato es la expresión general que describe los objetos con los que opera la computadora. apóstrofos. que componen su sintaxis.) . Sin embargo. estructuras de control (1-Secuencia. Estos elementos son: Bucles. etc. procedimientos. etc. la fecha de un cheque. Los lenguajes de programación tienen elementos básicos que se usan como bloques constructivos. Los programas y algoritmos operan sobre esos tipos de datos. una vez que se comprendan los conceptos de programación la codificación en un nuevo lenguaje de Programación. el valor de una temperatura. las computadoras pueden operar con varios tipos de datos. 2-Selección. contadores. Tipos de datos: 1. será relativamente fácil.
-13456.78. respectivamente.Numéricos (integer. Pueden ser positivos o negativos y no tienen decimales.89.Lógicos (boolean) . 12567. Pueden representarse en dos formas distintas: . dado por el tamaño de la palabra.Bachillerato en Computación con Orientación Comercial 2. Un número real consta de una parte entera y de una parte decimal. real) . -30.com . Ejemplos: 5. así como de su representación. Aparece el concepto de tipo de dato. Datos Simples: . Pueden ser positivos o negativos y tienen punto decimal. de ahí que los valores mínimo y máximo son. La mayoría de los enteros se almacenan en 2 bytes (entero corto). Si bien este número puede variar de una computadora a otra. Ejemplos: -45. 3. string) a) datos numéricos El tipo numérico es el conjunto de los valores numéricos. 15. Real: El tipo real es un subconjunto de los números reales. En aplicaciones científicas se requiere una representación especial para manejar números muy grandes.0.Carácter (char.008. de aquí surge la como flotante o notación exponencial para disminuir estas dificultades. como la masa de la Tierra. Los enteros son denominados también números de punto o coma fija. como la masa de un electrón. Compuestos (con estructura: registros. un dato es un conjunto de bits (dígitos 0 o 1).Numérico entero (integer) . provocará problemas para representar y almacenar números muy grandes o muy pequeños. Desarrollado por: Edgar Lucas – edgarlucas@gmail. A nivel de máquina. Los lenguajes de alto nivel permiten basarse en abstracciones e ignorar los detalles de la representación interna.Numérico real (real) Enteros: El tipo entero es un subconjunto finito de los números enteros. 0. Una computadora sólo puede representar un número fijo de dígitos. o muy pequeños. -32768 y 32767. este límite. tal como se ha visto en el tema 2. vectores) Los distintos tipos de datos se representan en diferentes formas en la computadora.
lógicas y representan datos de esos tipos. pero la mayoría reconoce los siguientes caracteres: .456. falso La mayoría de los lenguajes de programación admiten diferentes tipos de constantes: enteras.Especiales: (+. ^. ‘Ciencias Exactas’ Constantes lógicas: verdadero. c. Ejemplos de cadenas: ‘Total de importes‛. Variables Desarrollado por: Edgar Lucas – edgarlucas@gmail. …. 9. …. Z) (a.Solo pueden tomar 2 valores: Cierto o verdadero (true) y falso (false) c) datos de tipo Carácter y tipo Cadena El tipo carácter es el conjunto finito y ordenado de caracteres que la computadora reconoce.Alfabéticos: (A. según el lenguaje de programación. /. >. b. . de cadena.Bachillerato en Computación con Orientación Comercial b) datos lógicos (booleanos) El tipo lógico – también denominado booleano . Constante de tipo carácter: ‘B’. 3.63 (inválida.141592. 0) . -. reales. $. ‘4’ Constante de tipo cadena: ‘9 de julio 1449’.Numéricos: (1. …. ­0. no se permiten comas) Observaciones: Tener en cuenta en que el separador decimal (punto o coma) depende del lenguaje de programación o de la configuración del sistema operativo. Ejemplos de constantes Constante real: 3. C. *. Los caracteres que reconocen las diferentes computadoras no son estándar. “12 de octubre de 1492” Constantes y variables Constantes Los programas muchas vecen requieren valores que no deben cambiar durante la ejecución del programa.. <.1234 (válidas) 1. de carácter. La longitud de una cadena es el número de caracteres comprendidos entre los apóstrofos o las comillas.) Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran delimitados por apóstrofos (‘) o comillas (“). ;.. 2. Estos valores se denominan constantes. …. B.com . Un dato de de este tipo contiene un solo símbolo. z) .
dará error caso contrario. Maneja las mismas ideas que la notación matemática convencional. denominados identificadores. Una variable se identifica con los siguientes atributos: Nombre que la identifica y Tipo que describe el uso de la variable.com . paréntesis y nombres de funciones. operadores. Los nombres de las variables elegidas para el algoritmo o programa deben ser significativos y tener relación con el objeto que representan. Los nombres. las expresiones se clasifican en: . No pueden utilizar palabras reservadas.Aritméticas (Resultado de tipo Numérico) . Una expresión consta de operandos y operadores. variables. Por ejemplo: a + (b+3) + XC. Ejemplos válidos: Apellido_Nombre.Carácter (Carácter) Desarrollado por: Edgar Lucas – edgarlucas@gmail. A510. por ejemplo: NOMBRE para representar nombre de personas PRECIO para representar el precio de un artículo NOTA para representar la nota obtenida por un alumno en un examen.Relaciones (Resultado de tipo Lógico) . son un conjunto de caracteres que tienen que cumplir determinadas condiciones en función del lenguaje de programación.Bachillerato en Computación con Orientación Comercial Una variable es un objeto de datos cuyo valor puede cambiar durante del desarrollo del algoritmo o durante la ejecución en el transcurso del programa. Expresiones Las expresiones son combinaciones de constantes. Una variable que es de cierto tipo sólo puede recibir datos del mismo tipo. carácter. Nota­examen. Dependiendo del lenguaje. Los paréntesis indican el orden de cálculo y la X representa la raíz cuadrada. hay diferentes tipos de variables: enteras. Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. reales. ni comenzar con números o utilizar algunos caracteres especiales.Lógicas (Resultado de tipo Lógico) . lógicas y de cadena. Según sea el tipo de objetos que manipulan.
Bachillerato en Computación con Orientación Comercial Expresiones aritméticas: Son análogas a las formulas matemáticas. esta representación puede diferir de acuerdo al lenguaje de programación. Operadores aritméticos: Operadores div y mod Generalmente. se denominan reglas de prioridad o precedencia y son: 1) Las operaciones encerradas entre paréntesis se evalúan primero. 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 más operandos requieren reglas matemáticas que permitan determinar el orden de las operaciones. En ambos casos.com . El operador mod representa el resto de la división entera. Las variables y constantes son numéricas (entera o real) y las operaciones son las aritméticas. Si existen diferentes paréntesis anidados (interiores unos a otros). el símbolo / se utiliza para la división real y el operador div representa la división de enteros. 2) Las operaciones aritméticas dentro de una expresión siguen el siguiente orden de prioridad: Desarrollado por: Edgar Lucas – edgarlucas@gmail. las expresiones más internas se evalúan primero.
Las expresiones lógicas se forman combinando constantes lógicas. ^. cuyo valor es siempre verdadero o falso. Ejemplo 1: Cuál será el resultado de las siguientes expresiones? Expresiones booleanas Otro tipo de expresión.Operadores div y mod 4° . and y or y los operadores relacionales (de relación o comparación) que se muestran en la tabla.Operador de exponenciación (**. el orden de prioridad es de izquierda a derecha. verdadero o falso. /.Operadores +. 3° . Los operadores de relación sirven para expresar las condiciones en los algoritmos.Bachillerato en Computación con Orientación Comercial 1° . variables lógicas y otras expresiones lógicas utilizando los operadores lógicos not.Operadores *.com . Cuando hay varios operadores con igual prioridad en la expresión. Operadores de relación: Permiten realizar comparaciones de valores de tipo numérico o carácter. _) 2° . verdadera (true) o falsa (false) y que las variables lógicas sólo pueden tomar estos valores. -. Dijimos que existen dos constantes lógicas. es la expresión lógica o booleana. Desarrollado por: Edgar Lucas – edgarlucas@gmail. una expresión lógica es una expresión que puede tomar estos dos valores. En esencia.
Bachillerato en Computación con Orientación Comercial Ejemplo: Dadas las variables A y B. es falso) Los operadores de relación se pueden aplicar a cualquiera de los tipos de datos estándar: enteros. o se resumen en las llamadas tablas de verdad.com . que dentro de la computadora todos los datos son números. La aplicación a valores numéricos es evidente. lógicos y de carácter. El funcionamiento de estos operadores se muestra en la tabla siguiente: Las definiciones de las operaciones no. se requiere una secuencia de ordenación de los caracteres. and (y) y or (o). Para realizar comparaciones de datos de tipo carácter. con los valores A=4 y B=3. real. Operadores lógicos: Los operadores lógicos o booleanos básicos son not (no). esto es 2 < -1. para las letras se utiliza el orden alfabético. En general. en el caso de los caracteres la comparación se realizará con el valor numérico de su representación interna (ASCII). Así. por ejemplo: (11 < 20) y (3 < 9) la evaluación de la expresión es verdadera (15 > 30) o (‘X‛ < ‘Z‛) ) la evaluación de la expresión es verdadera Desarrollado por: Edgar Lucas – edgarlucas@gmail. Pero tenemos que recordar del tema 2. creciente o decreciente. En las expresiones lógicas se pueden mezclar operadores de relación y lógicos. y. La expresión A > B es verdadera (A-2) < (B-4) es falsa (reemplazando valores: (4-2) < (3-4).
Las acciones ejecutables son las acciones que posteriormente se realizarán cuando el algoritmo convertido en programa se ejecute. La cabecera es una acción simple que comienza con la palabra ALGORITMO.Bachillerato en Computación con Orientación Comercial Prioridad de los operadores lógicos: Escritura de algoritmos y programas La escritura de un algoritmo mediante un lenguaje de programación debe ser lo más clara posible y estructurada. Un algoritmo consta de dos componentes: una cabecera de programa y un bloque de algoritmo. de modo que su lectura facilite la comprensión del algoritmo y su posterior codificación. Esta sección comienza con la palabra reservada VARIABLES y tiene el formato: VARIABLES tipo-1: lista de variables-1 tipo-2: lista de variables-2 Desarrollado por: Edgar Lucas – edgarlucas@gmail. Las declaraciones definen o declaran las variables o constantes que tengan nombres. El bloque algoritmo es el resto del programa y consta de dos secciones: las acciones de declaraciones y las acciones ejecutables. listando sus nombres y especificando sus tipos. ALGORITMO Cabecera del programa Sección de declaración Sección de acciones Cabecera del programa o algoritmo Indica el nombre del programa ALGORITMO Demo Declaración de variables En esta sección se declaran o describen todas las variables utilizadas en el algoritmo. seguida del nombre asignado al programa.com .
impuesto. real. También es una buena práctica incluir breves comentarios que indique como se utiliza la variable. char.com . Entera: Numero_Empleado // Número que identifica al empleado Real: horas Real: impuesto Real: salario Declaración de constantes Se declaran las constantes del programa. ya que eso hará más fácil y legible el programa. Ejemplo: Entera: Numero_Empleado Real: horas Real: impuesto Real: salario O de modo equivalente: VARIABLES Entera: Numero_Empleado Real: horas. CONST PI = 3. salario Es una buena práctica de programación utilizar nombres de variables significativos que sugieran lo que ellas representan.Bachillerato en Computación con Orientación Comercial …………………………………………. tipo-2: lista de variables-2 Donde cada lista de variables es una variable simple o una lista de variables separadas por comas y cada tipo es uno de los tipos básicos (entero. boolean).141592 IVA = 21 Horas = 8 Declaración de constantes y variables de tipo carácter // horas trabajadas mensuales // deducciones establecidas // cantidad a percibir por el empleado Desarrollado por: Edgar Lucas – edgarlucas@gmail.
nota.com . Existen diferentes notaciones de acuerdo al lenguaje de programación. incluir en el código comentarios significativos con el objeto de facilitar la corrección y mantenimiento de los programas. es conveniente y útil.Bachillerato en Computación con Orientación Comercial Las constantes de carácter simple y cadenas de caracteres se declaran igual que las numéricas: CONST estrella: ‘*‛ frase: `12 de octubre‛ Las variables de carácter se declaran de dos modos: a) Cuando almacenan un solo carácter carácter: letra. Por ejemplo: .Pascal: Los comentarios se encierran entre los símbolos (* y *) Formato para escribir algoritmos/programas El método que seguiremos para representar algoritmos/programas tendrá este formato: ALGORITMO identificador // sección 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 Desarrollado por: Edgar Lucas – edgarlucas@gmail. digito B) Cuando almacenan múltiples caracteres (cadenas) cadena: nombre[20] Comentarios Como dijimos.
for. desarrollado por el profesor suizo Niklaus Wirth como un lenguaje para la enseñar la programación de modo disciplinado. Posibilidad de trabajar con punteros (variables dinámicas). pilas. Utilización de procedimiento (programación modular).com . b) Utilizar siempre sangrías en los bucles o en aquellas instrucciones que proporcionen legibilidad al programa. Palabras reservadas Para poder programar en cualquier lenguaje es necesario conocer los códigos mediante los cuales podamos expresar las tareas que queremos realizar. así como definidos por el usuario. indistintamente. El Turbo Pascal. Desarrollado por: Edgar Lucas – edgarlucas@gmail. while. repeat) sin necesidad de la famosa instrucción GOTO tan utilizada en muchos lenguajes como BASIC.Bachillerato en Computación con Orientación Comercial a) Las cadenas de caracteres pueden encerrarse entre comillas simples o dobles. colas. fácil de aprender y con la complejidad suficiente para permitir una correcta preparación de los programadores futuros. TERCERA UNIDAD: INTRODUCCION AL LENGUAJE PASCAL El lenguaje Pascal se creó en la década de los 70 con el objetivo de disponer de un lenguaje de programación de alto nivel y propósito general (se utiliza para gran diversidad de aplicaciones) orientado hacia los nuevos conceptos de programación. como lenguaje de programación poseé su propio código con palabras de uso exclusivo para ciertas funciones. es decir. propiedad que tienen los procedimienrtos para llamarse a sí mismo. a estas palabras les llamaremos palabras reservadas de Turbo Pascal. Lenguaje de propósito general. INICIO y FIN. Tipo de datos simples y estructurado. es decir. se puede aplicar a gran diversidad de aplicaciones. Lenguaje estructurado. por ejemplo. El lenguaje estándar presenta una serie de características que lo hacen el lenguaje perfecto para aquellas personas iniciadas en la programación: · · · · · · · Excelente para el aprendizaje de la programación. de este modo permite definir nuestras propias estructuras de datos dinámicas (lista. Soporta la recursividad. se utilizan secuencias de control de bifurcación y bucles(if. extc).
com . procedimientos. sin. tipos de datos..0 o mayores) son: Pascal Estandar y Turbo Pascal 6. funciones y algunos otros datos. variables. Existen dos tipos de identificadores: los predefinidos de Turbo Pascal y los definidos por el programador. . byte. etc.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 Turbo Pascal ABSOLUTE ASM DESTRUCTOR OBJECT UNIT IMPLEMENTATION INTERFACE PRIVATE VIRTUAL INLINE STRING SHR CONSTRUCTOR EXTERNAL INTERRUPT USES SHL XOR Estas palabras no pueden ser usadas como identificadores (siguiente tópico) ya que cada una de ellas tiene una función definida en Turbo Pascal. Los identificadores definidos por el programador son los elementos del lenguaje tales como variables. Identificadores Los identificadores son palabras que representan constantes. Desarrollado por: Edgar Lucas – edgarlucas@gmail. funciones. real. Algunos de los identificadores predefinidos son: integer. procedimientos.Bachillerato en Computación con Orientación Comercial Las palabras reservadas de Turbo Pascal (versiones 6..
Bachillerato en Computación con Orientación Comercial Un identificador es una secuencia de 1 a 127 caracteres. Tipos de datos El manejo de la información en Turbo Pascal se realiza mediante diferentes clases de datos. Todo identificador en Pascal debe ser definido previamente a su utilización. Integer Números enteros sin parte decimal. !. no tienen espacios ni símbolos: &. éste puede introducir dos valores cualesquiera y no sería nada útil restringirlo a dos valores predefinidos.1415926 constante. En este apartado se tratarán los principales tipos y conforme se vayan necesitando se explicaran los demás. ahora en Desarrollado por: Edgar Lucas – edgarlucas@gmail. Ahora. Para el Turbo Pascal no existen diferencias entre mayúsculas y minúsculas. Char Caracteres del código ASCII Boolean Pueden contener los valores de falso o verdadero Real String Números que pueden incluir una parte decimal En una secuencia de caracteres que se trata como un solo dato. si nuestro programa de operaciones matemáticas va a utilizar el valor de PI para algunos cálculos podemos definir un identificador PI con el valor de 3. *. en cambio las constantes serán valores fijos durante todo el proceso. de tal forma que PI no pueda cambiar de valor. Como su nombre lo indica las variables pueden cambiar a lo largo de la ejecución de un programa. así que a un identificador denominado "valor" se le puede referir como "VALOR" o "VaLoR". Un ejemplo de una variable es cuando vamos a sumar dos números que serán introducidos por el usuario del programa. etc. así que dejamos que use los valores que el necesite sumar. que inicia con una letra. Variables y constantes Los tipos de datos que manejaremos en nuestro programa pueden ser de dos clases: variables o constantes.com . y no es alguna palabra reservada.
entre llaves: {Comentario} o entre parentesis y asteriscos: (*Comentario*).". Comentarios Es posible introducir comentarios en nuestro programa que sirvan unicamente para mejorar la comprensión del código fuente. Sentencia PROGRAM La sentencia PROGRAM es la declaración del nombre del programa. En la sección de declaraciones se le indica al compilador todos los identificadores y unidades que se utilizarán durante la ejecución del programa. a continuación un identificador utilizado como el nombre del programa y al final un punto y coma ". solo tenemos que escribir PI. modificarlo o mantenerlo.Bachillerato en Computación con Orientación Comercial lugar de escribir todo el número cada vez que se necesite en nuestro programa. Un comentario no es tomado en cuenta al momento de la compilación del programa y es de enorme importancia al momento de crearlo.com . lo que significa que cada programa requiere una forma específica de escritura para que sea entendido por el compilador. cadenas de caracteres. Consta de tres partes: la palabra reservada PROGRAM. Estructura de los programas El lenguaje utilizado en Turbo Pascal es estructurado. Todo programa cuenta con algunas partes o módulos los cuales son: Cabecera Declaraciones Programa La cabecera del programa unicamente lleva el nombre del programa. En la sección del programa se escribe el código de instrucciones que se llevarán a cabo. Por ejemplo: Desarrollado por: Edgar Lucas – edgarlucas@gmail. Las variables y constantes pueden ser de todos los tipos vistos anteriormente: numéricos tanto enteros como reales. etc. caracteres. Existen dos formas de colocar comentarios en un programa de Turbo Pascal.
com . puede ser una por renglón o varias en un solo renglón. Ejemplo: CONST pi = 3.1415926 y no será posible cambiarlo en el transcurso del programa. el valor que recibirá el identificador y al final un punto y coma ".1415926. pueden ser utilizados por el programa principal sin necesidad de reescribir el código que contienen. La palabra reservada USES cumple el propósito de declarar las unidades en el formato siguiente: USES crt. un signo de igual "=". Declaración de unidades Las unidades son módulos independientes del programa que. Cuando se hace ésto. la palabra CONST solo se pone una sola vez como cabecera y a continuación todas las constantes por definir. De esta forma el identificador pi recibirá el valor de 3. Ejemplo: CONST PI = 3.1415926. Declaración de constantes y variables Para declarar las constantes se utiliza la palabra reservada CONST seguida de un identificador al que se le dará un valor determinado. Es posible declarar varias constantes sucesivamente. Para la utilización de estos "subprogramas" es necesaria su declaración.Bachillerato en Computación con Orientación Comercial PROGRAM suma_de_dos_numeros . Nombre = 'Juan Gutiérrez'. Al final de todas las unidades declaradas se deberá colocar un punto y coma ". dos. Desarrollado por: Edgar Lucas – edgarlucas@gmail. aunque no son ejecutables por si mismos. Esta linea declara y habilita para su uso a la unidad crt y a la unidad dos Cada unidad que se declara debera estar separada de la siguiente por una coma. Esta declaración es siempre la primer línea en cualquier programa de Turbo Pascal.".".
pero eso se analizará posteriormente). esta última con un punto al final. Programa principal Despues de haber realizado todas las declaraciones se puede iniciar con el programa principal. Unidad = 1. (Es posible. sentencia o instrucción completa que se escriba deberá terminar con un punto y coma ".Bachillerato en Computación con Orientación Comercial Unidad = 1. Ya conociendo la estructura es posible escribir un primer programa: PROGRAM Primera_Prueba. antes del programa.1415926. BEGIN Write(Mensaje). sustituyendo "tipo" por alguna clase válida de datos en Turbo Pascal. Respuesta = 'El valor es: '. utilizamos : tipo .". declarar las funciones y procedimientos.". y en lugar de "= valor. CONST Mensaje = 'Introduce un valor entero: '. Nombre : String.. Pero por cuestiones de legibilidad es preferible la primera opción. Cada linea de código. Otra forma de escribir lo mismo es así: CONST PI = 3. VAR Entero : Integer. Ejemplo: VAR Num_entero : Integer. enunciado.com . solo que en lugar de la palabra CONS utilizamos la palabra VAR. La declaración de variables se lleva a cabo de la misma forma. Desarrollado por: Edgar Lucas – edgarlucas@gmail. Nombre = 'Juan Gutiérrez'. Aunque puede también omitirse si la siguiente expresión es END o UNTIL. Solo se omitirá el punto y coma cuando se utiliza la palabra reservada ELSE. El programa principal inicia con la palabara reservada BEGIN y termina con la palabra END.
{Escribe en pantalla el contenido de Respuesta y el valor que se ingresó de teclado} END. {Escribe en pantalla el mensaje definido como constante} ReadLn(Entero). Para lograr la compilación en el entorno integrado de desarrollo de Turbo Pascal se utiliza la opción Compile del menú del mismo nombre. Es posible compilarlo y ejecutarlo automáticamente utilizando la secuencia: [CONTROL] + [F9] Desarrollado por: Edgar Lucas – edgarlucas@gmail.com . Otra forma de realizar la compilación es con la secuencia de teclas: [ALT] + [F9]. Entero). {Lee un valor de teclado y lo almacena en la variable Entero} WriteLn(Respuesta. es decir.Bachillerato en Computación con Orientación Comercial {Escribe en pantalla el mensaje definido como constante} ReadLn(Entero). y luego se escoge la opción Compile. Entero). Respuesta = 'El valor es: '. BEGIN Write(Mensaje). VAR Entero : Integer. no es importante el orden en el que se declaran las variables y constantes (aplicable solo al Turbo Pascal). Para accesar al menú se utiliza la secuencia de teclas: [ALT] + [C]. CONST Mensaje = 'Introduce un valor entero: '. Compilación y ejecución en memoria La compilación de un programa es el paso mediante el cual traducimos dicho programa al lenguaje maquina entendible por la computadora. pueden declararse primero las variables y luego las constantes y viceversa: PROGRAM Primera_Prueba. {Lee un valor de teclado y lo almacena en la variable Entero} WriteLn(Respuesta. {Escribe en pantalla el contenido de Respuesta y el valor que se ingresó de teclado} END. Como podrá apreciarse.
". {Nombre guardará la cadena "Juan Pérez"} Resta := Numero1 ‐ Numero2. ApellidoP y ApellidoM. Esta linea de código desplegará consecutivamente los contenidos de los identificadores Nombre. Ejemplo: Write (Nombre. WriteLn (indentificadores). Ejemplo: Nombre := 'Juan Pérez'. En caso de que la variable Nombre almacenara el valor 'Rodrigo '. la variable ApellidoP 'González ' y la variable ApellidoM 'García'. ya que sin estas capacidades sería un programa inútil. La sintaxis de los procedimientos es la siguiente: Write (indentificadores).Bachillerato en Computación con Orientación Comercial Asignación o igualación La operación de asignación es una de las más utilizadas en Turbo Pascal ya que nos permite darle un valor determinado a las variables que declaramos en el programa o lo que es lo mismo. unicamente se separan unos de otros por comas ".com . {Resta gurdará el resultado de la resta de Numero2 a Numero1} Area := (Base*Altura)/2. Aunque ya se hizo uso de ellas en los pequeños programas anteriores de ejemplo. Es posible utilizar varios de ellos por cada instrucción Write o WriteLn. Donde los identificadores son aquellos que contienen la información que se desea mandar a la pantalla. ApellidoP. aqui se describirán a fondo. {Obtiene el area de un triangulo y la guarda en el identificador Area} Es indispensable para todo programa que cuente con la capacidad de manejar entradas y salidas de información. Salida de datos a la pantalla Las instrucciones que permiten mostrar datos en la pantalla de la computadora son: Write y WriteLn. ApellidoM). El símbolo utilizado para la operación es los dos puntos seguidos por un signo de igual := . el resultado en pantalla sería: Desarrollado por: Edgar Lucas – edgarlucas@gmail. a la izquierda de dicho símbolo se coloca el identificador al que se le asignará un nuevo valor y a la derecha se colocará un identificador o algún valor directo que se almacenará en el primer identificador. igualarla a algún valor determinado.
y la primera solo escribe el contenido y deja el cursor al final del dato escrito. WriteLn (ApellidoM). WriteLn (ApellidoP). si se le dan mas datos de los que se introducirán se guardan en un buffer y se usarán en la siguiente instrucción Read o ReadLn del programa. La sintaxis de estas instrucciones es muy parecida a la de Write y WriteLn: Read (Identificador). Entrada de datos desde teclado Las instrucciones estandar de Turbo Pascal para obtener datos desde el teclado son Read y ReadLn. en Desarrollado por: Edgar Lucas – edgarlucas@gmail. Write (ApellidoM). luego el segundo y así sucesivamente hasta el último identificador.com .Bachillerato en Computación con Orientación Comercial Rodrigo González García Podemos obtener el mismo resultado si utilizamos la siguiente estructura: Write (Nombre). El identificador puede ser cualquier variable definida previamente. Puede ser también un conjunto de variables. Si en lugar de utilizar la instrucción Write hacemos uso de WriteLn con la misma sintaxis del ejemplo anterior: WriteLn (Nombre). Write (ApellidoP). separadas entre comas. lo que obtendriamos sería: Rodrigo González García De este ejemplo es posible concluir que la diferencia entre las instrucciones Write y WriteLn es que esta última imprime el contenido de los identificadores y cambia el cursor al siguiente renglón de la pantalla. en este caso se guardara el primer valor dado antes del [Enter] en el primer identificador proporcionado. NO puede ser una constante. La diferencia en el uso de la instrucción Read con respecto a ReadLn es que en la primera.
cada uno abarca un rango específico de valores y utilizan una diferente cantidad de memoria dependiendo de ese rango.147. cadenas de caracteres.767 0 a 65535 ‐128 a 127 0 a 255 ‐2.com . Por ejemplo: Cantidad := $10.648 Al utilizar los tipos enteros es posible representar en el programa un número en formato hexadecimal. como pueden ser números enteros. o utilizarlo en alguna operación será como decimal. reales.483. El valor que se guarda en "Cantidad" es 16. y se le proporcione otro diferente se generará un error y se detendrá la ejecución del programa.768 a 32. Tipos de datos Un programa debe ser capaz de manejar diferentes tipo de datos.Bachillerato en Computación con Orientación Comercial cambio ReadLn ignora todo dato posterior a los que esten definidos en la instrucción. caracteres. pero si se utilizan enteros largos se cuenta con mayor presición. etc. Algunos de los más importantes se citan en seguida: Tipos enteros En esta categoría Turbo Pascal cuenta con 5 tipos diferentes. Los tipos de enteros en Turbo Pascal son: Tipo Rango de valores que acepta Integer Word ShortInt Byte LongInt ‐32. Para lograr el manejo de toda esta información Turbo Pascal proveé diferentes tipos de datos para los identificadores que se utilizarán. En caso de que se le indique a Read o ReadLn que lea un tipo específico de valor. para hacer esto solo se le antepone el símbolo "$" al valor hexadecimal. al momento de visualizar dicho valor.648 a 2.147. Desarrollado por: Edgar Lucas – edgarlucas@gmail.483. Naturalmente el trabajar con rangos menores nos ofrece una mayor velocidad y menor espacio en memoria.
mas que el tipo real.1E4932 ‐9. pero no se puede utilizar. En Turbo Pascal contamos con varios tipos de datos reales.5E‐4 = 1.4E38 5. o enter.5 * 0. Los tipos de datos reales son: Tipo Rango de valores que acepta Real Single Double Extended Comp 2. el .0001 = 0. La secuencia de caracteres para este tipo corresponde al número del código ASCII.5 como 0. el dígito que se encuentra a continuación de la E representa la potencia a la que se elevará el número 10 para multiplicarlo por la cantidad a la izquierda de dicha E: 3. el retorno de carro.5 * 10^‐4 = 1.0E5 = 3.7E308 1.2E18 Los números reales deben llevar por fuerza al menos un dígito de cada lado del punto decimal así sea éste un cero.2E18 a 9.0.9E‐39 a 1. se representa como #13. etc.0E‐324 a 1. Como ejemplo.Bachillerato en Computación con Orientación Comercial Tipos reales Los números reales son aquellos que cuentan con una parte decimal. el número 5 debe representarse como: 5. esto quiere decir que sus elementos válidos siguen una secuencia ordenada de valores individuales.7E38 1.5 . que es igual a la de las calculadoras. y así cualquier caracter. la letra A puede ser representada como #65.00015 Tipos carácter Los caracteres son cada uno de los símbolos que forman el código ASCII. por ejemplo. del 0 al 255. Desarrollado por: Edgar Lucas – edgarlucas@gmail. En este tipo de datos se utiliza la notación científica.5E‐45 a 3. Los caracteres se especifican entre apostrofes: 'a' 'B' '2' '#' El tipo Char es un tipo ordinal de Pascal.9E‐4851 a 1. el tipo estándar de Pascal para estos datos es Char. en máquinas que no cuenten con un coprocesador matemático.0 * 10^5 = 3.0 * 100000 = 300000 1.com . Es posible accesar a cada uno de los caracteres utilizando un signo # antes de su valor correspondiente.
WriteLn (Nombre). pero es posible definir uno mas pequeño utilizando el siguiente formato: Variable : String[Tamaño].com . El tamaño por defecto para un tipo string es de 255 caracteres. Se definen entre apostrofes. y la visualiza en la pantalla por medio de la instrucción WriteLn. {Visualiza el 5to caracter de la cadena} END. VAR Nombre : String[30]. Por ejemplo: PROGRAM Cadena01. Los datos lógicos tienen una enorme aplicación en la evaluación de ciertos procesos. PROGRAM Cadena. WriteLn (Nombre[5]). BEGIN Nombre := 'Ernesto Chávez'. END. Es posible acceder a un solo caracter de una cadena utilizando inmediatamente despues del nombre de la misma la posición del caracter encerrada entre corchetes. Este programa guarda la cadena 'Ernesto Chávez' en la variable definida como tipo string. El tipo de Pascal para las cadenas es String.Bachillerato en Computación con Orientación Comercial Tipo cadena Las cadenas son secuencias de caracteres o arreglos que tienen una longitud maxima de 255 caracteres. El tipo está definido como Boolean. {Permite un máximo de 30 caracteres en la variable} BEGIN Nombre := 'Ernesto Chávez'. así como en el control de flujo de los programas. Desarrollado por: Edgar Lucas – edgarlucas@gmail. Donde Variable es la variable a definir y Tamaño es el número maximo de caracteres que podrá contener esa variable (naturalmente mayor a 0 y menor a 256). VAR Nombre : String.
repeat SECUENCIA Es la estructura de control más sencilla. IF ‐ ELSE (SI ‐ SINO) A menudo al programar nos podemos hallar en la necesidad de hacer comparaciones. — Pseudocódigo: SI <expresión_lógica> ENTONCES < bloque_de_instrucciones_1 > SINO < bloque_de_instrucciones_2 > FIN.SI — Pascal If (<expresión_lógica> ) then Desarrollado por: Edgar Lucas – edgarlucas@gmail. Se escriben las instrucciones por orden cronológico de ejecución separándolas mediante un punto y coma (;): Write(1); Write(2); Write(3); SENTENCIAS DE SELECCIÓN Con ella se pueden ejecutar instrucciones distintas en función del valor resultante de la evaluación de una expresión. Se pueden clasificar en los siguientes grupos: — Secuenciación — Selección ◦ if‐then‐else ◦ case — Iteración ◦ definida: for ◦ indefinida: while.com . 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.Bachillerato en Computación con Orientación Comercial CUARTA UNIDAD ESTRUCTURAS DE CONTROL La estructuras de control son las encargadas de dirigir el flujo del programa.
com . Después compara si el sexo es mujer y en ese caso le saluda de otra forma.Bachillerato en Computación con Orientación Comercial Begin < bloque_de_instrucciones_1 > end Else Begin < bloque_de_instrucciones_2 > end; Ahora vamos a suponer que queremos realizar un programa que pregunte al usuario su nombre y su sexo. (*dos instrucciones. uses crt. var nombre: string. readln(nombre) writeln('¿Cuál es su sexo?(H/M)'). sexo: char. nombre). writeln('¿Cuál es su nombre?'). Aquí el programa pregunta al usuario su nombre y su sexo. Desarrollado por: Edgar Lucas – edgarlucas@gmail. nombre). (*una instrucción. el tipo string. "Rodrigo Díaz de Vivar" o "En un lugar de la capital". a continuación compara si el sexo es hombre y en ese caso le saluda de una forma. no es necesario poner begin end*) if (sexo='M') then begin writeln('Hola señora'. De nuevo tenemos otro tipo de variable. end. El pseudocódigo sería este: pregunta nombre pregunta sexo si hombre saludo1 si mujer saludo2 El código en Pascal: program saludos. begin end necesario*) writeln('Encantado de conocerla') end. readln(sexo) if (sexo='H') then writeln('Hola señor '. con la única limitación de que no excedan de 255 caracteres. Este tipo se usa para almacenar cadenas de caracteres como "Antonio". y dependiendo de éste último emplee una forma de cortesía u otra. begin clrscr.
Bachillerato en Computación con Orientación Comercial Como puedes ver el programa hace dos comparaciones.. … <constanteN> : <sentenciaN> else <sentenciaElse> end. Para ello existe la instrucción de Pascal else. puesto que si no es hombre tiene que ser mujer. Aplicado esto al ejemplo anterior éste nos quedaría: if (sexo)='H' then writeln('Hola señor '. else if (idioma=francés) then. <constante2> : <sentencia2>.. pero en programas más extensos resulta de vital importancia optimizar el código de forma que no se realicen operaciones innecesarias que ralentizan el proceso. Inglés. Podemos hacer lo siguiente: if (idioma=español) then. Por ejemplo imagina que queremos que el usuario seleccione un idioma de cinco posibles (Español. else writeln('Hola señora'. Francés. Aquí obtenemos el mismo resultado haciendo una sóla comparación con lo que ahorramos tiempo.. CASE (SEGÚN ‐ SEA) También puede ser que tengamos que comparar un valor con múltiples valores posibles. … <constanteN> : <sentenciaN> [ SINO : <sentenciaElse>] FIN‐SEGUN‐SEA — Pascal Case selector of <constante1> : <sentencia1>. <constante2> : <sentencia2>. nombre).com . — Pseudocódigo: SEGUN‐SEA <expresión> <constante1> : <sentencia1>.. Desarrollado por: Edgar Lucas – edgarlucas@gmail. Este programa es muy sencillo. aunque en realidad sólo una sería necesaria. Alemán o Italiano). nombre).. que se utiliza en combinación con el if para aquellos casos en los que no se cumple la condición expresada en el if.. else if (idioma=inglés) then.
etc.­ Español'); writeln('2. sino que en ocasiones "salte" a una determinada instrucción.com .­ Deutsch'); writeln('5. si queremos que Desarrollado por: Edgar Lucas – edgarlucas@gmail.. y eso es lo que hace la instrucción case opción of. SENTENCIA DE ITERACIÓN DEFINIDA Se conoce ­antes de su ejecución­ el número de iteraciones que realizará sobre una determinada sentencia también llamada cuerpo de bucle.. resultaría mucho más intuitivo si pudiéramos comparar en una sola instrucción todos los posibles valores. vuelva al principio. FOR DO (PARA) Como ya sabes.. Veamos un ejemplo: program multilengua; uses crt; var num: integer; begin clrscr; writeln('Seleccione un idioma'); writeln('1.­ Français'); writeln('4.Bachillerato en Computación con Orientación Comercial else . El programa muestra las opciones disponibles y luego se prepara para recibir el valor que le indiquemos a través de una variable. Después compara el valor contenido en esa variable (num) con los cinco valores posibles y según el valor contenido en ella realiza una acción u otra.­ Italiano'); readln(num); case num of 1: writeln ('Hola'); 2: writeln ('Hello'); 3: writeln('Salut'); 4: writeln('Hallo'); 5: writeln('Ciao'); else (* Si no contiene ninguno de los valores especificados anteriormente*) writeln('Error') end; readkey; (*esperamos a que se pulse una tecla*) end..­ English'); writeln('3. un programa no es más que un conjunto secuencial de instrucciones que después el ordenador ejecutará una por una. Sin embargo en muchas ocasiones nos interesa que el ordenador no ejecute todas las instrucciones en un orden cronológico. Por ejemplo. Pero esto resulta tedioso y además poco claro.
Después entramos en el bucle for que se ejecutará mientras la variable que usamos como contador tome valores entre 1 y 100. Así que en el caso anterior declaramos una variable de tipo integer(entero).Bachillerato en Computación con Orientación Comercial nuestro programa escriba 100 veces "Hola" podríamos teclear 100 instrucciones writeln('hola'). por ello necesitamos que tome valores enteros. — Pseudocódigo: PARA < variable> DESDE < inicio> HASTA < tope> [I NCREMENTO < in>] < bloque_de_instrucciones > FIN­PARA — Pascal: For < variable> := < inicio> {to|downTo} < tope> do Begin < bloque_de_instrucciones > End; El bucle for: En el ejemplo anterior queremos conseguir más o menos esto (en pseudocódigo): Repetir 100 veces (Escribir "hola") Seguir con la siguiente instrucción. En Pascal esto lo logramos con la instrucción FOR. cuya sintaxis es la siguiente: Volviendo al ejemplo anterior el programa completo sería una cosa así: program cien; uses crt; var a: integer; begin for a:=1 to 100 do begin writeln('hola'); (*Aquí no sería necesario poner la instrucción entre begin y end porque sólo hay una*) end; end. pero esto sería un rollo :‐( y además poco elegante. lo lógico sería incluir una única instrucción writeln('hola') y después hacer que el programa repita esta instrucción 100 veces antes de pasar a la siguiente.com . Porque vamos a utilizarla para contar de 1 hasta 100. Dentro de este bucle hay una única instrucción: writeln('Hola'); por lo que cada vez que se ejecute el bucle se escribirá "Hola" en la pantalla Desarrollado por: Edgar Lucas – edgarlucas@gmail.
Este tipo se utiliza cuando trabajamos con caracteres alfanuméricos ("a". Aquí aparece otro tipo de variable. char.) Además aparece la instrucción upcase (tecla). "c". "2". "b". que lo que hace es convertir a mayúsculas. por ello debemos ponerlas*) writeln('¿Desea salir del programa(S/N)?'); (*entre begin y end*) tecla:=readkey; end; until upcase(tecla)='S'; end.com ... Desarrollado por: Edgar Lucas – edgarlucas@gmail. Por ejemplo puede que nos interese mantener un menú en pantalla hasta que el usuario pulse la tecla 'S' Aquí no se especifica explícitamente el número de iteraciones sino la condición de entrada o salida del bucle. también es posible que no sepamos cuántas veces han de ejecutarse determinadas instrucciones. SENTENCIA DE ITERACIÓN INDEFINIDA Ahora bien. "1". sino que éstas tienen que ejecutarse hasta que se cumpla una determinada condición. Por último cuando la variable tome un valor superior a 100 el programa saldrá del bucle y finalizará su ejecución. 0'); (*aquí hay varias instrucciones.. DO –UNTIL (HACER – HASTA) — Pseudocódigo: HACER < bloque_de_intrucciones> HASTA <condición> — Pascal: Repeat < bloque_de_intrucciones> Until (<condición>) Un ejemplo concreto en el que se nos muestra el nombre del programa hasta que pulsamos la tecla 'S' sería: program repetir; uses crt; var: tecla: char; begin repeat begin writeln('Programa repetir v: 1.Bachillerato en Computación con Orientación Comercial y se incrementará en 1 el valor de la variable contador.
pero hay una importante diferencia.com . Por el contrario en el caso del bucle while si la condición es falsa desde el principio las instrucciones del bucle nunca se ejecutarán.MIENTRAS — Pascal: While (<condición>) Do Begin < bloque_de_intrucciones> End; Volviendo al ejemplo: program repetir2; uses crt; var: tecla: char; begin do while upcase(tecla)<>'S'; begin writeln('Programa repetir v. en el caso del bucle repeat las instrucciones del bucle se ejecutarán siempr e al menos una vez (aunque la condición sea falsa. — Pseudocódigo: MIENTRAS <condición> < bloque_de_intrucciones> FIN. puesto que esto sólo se comprueba al final del bucle). mientras que en el caso del bucle while primer o se comprueba la condición y luego se entra en el bucle.'); writeln('¿Desea salir del programa(S/N)?'); tecla:=readkey; end; end. Desarrollado por: Edgar Lucas – edgarlucas@gmail. 2. Estos dos tipos de bucles a primera vista parecen hacer lo mismo. 0. En el caso del bucle r epeat primero entramos en el bucle y luego comprobamos la condición. Es decir.Bachillerato en Computación con Orientación Comercial WHILE – DO (MIENTRAS ‐ HACER) Una forma alternativa de conseguir lo anterior sería utilizando un bucle while.
Documents Similar To introprogra
UnidadII-Datos-AlgoritmoyPseudocodigos
ANÁLISIS+Y+SOLUCIÓN+DE+PROBLEMAS_r
MttoDeEquipoySistemas_GuiAprenMod2Sub3_Junio2009
Investigación Sistema Octal y Hexadecimal
Algoritsmo
one time pad decoding
Introd Fortran
More From Julian RG
Profesion Teleco
p2 Herramientas de Diseño de Algoritmos
p1introduccion logica
Caracterizacion 3 Termocuplas Tipo K
UCI Machine Learning Rep...Ete Slump Test Data Set
Presentación Potencia Recta Ac
2009-01-25 Carga profesores
Correct Sol Man
El_Ejecutivo_al_Minuto
CodigosLinea.
_5UqINwxDHV
A_todo_vapor
introprogra will be available on

References: resolución 
 Resolución 
 Resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución