sábado, 19 de julio de 2014


INTRODUCCIÓN:



jueves, 10 de julio de 2014

1- DISEÑO ESTRUCTURADO DE ALGORITMOS

INTRODUCCION

Para realizar un proceso en la computadora se le debe suministrar al procesador un algoritmo adecuado, por ejemplo al cocinero debe dársele una receta, al pianista una partitura, y así sucesivamente considerando al cocinero y al pianista como procesadores.

En la computadora el algoritmo ha de expresarse de una forma que recibe el nombre de programa , un programa se escribe en un lenguaje de programación , y a la actividad de expresar un algoritmo en forma de programa se llama Programación.

Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. Esas instrucciones son las operaciones que debe realizar la computadora.

Grupo de instrucciones que realizadas en orden conducen a obtener la solución de un problema. En esencia, todo problema se puede describir por medio de un algoritmo.

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. El diseño de algoritmos requiere creatividad y conocimientos profundos de la técnica de programación (Joyanes, 1990). Luis Joyanes, programador experto y escritor de muchos libros acerca de lógica y programación dice que 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 sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo”.

Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje diferente de programación. El algoritmo es la infraestructura de cualquier solución, escrita en cualquier lenguaje. Así por ejemplo en una analogía con la vida diaria, una receta de un plato de comida se puede expresar en español, ingles o francés, pero en cualquiera que sea el lenguaje, los pasos para la elaboración de él, se realizara sin importar el idioma.

En síntesis:

Un lenguaje de programación es tan solo un medio para expresar un algoritmo y una computadora es solo 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 efectúe el proceso correspondiente.

miércoles, 9 de julio de 2014

2- CONCEPTOS BÁSICOS Y METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS POR MEDIO DE COMPUTADORAS.

Un lenguaje de programación es usado para escribir instrucciones para la computadora.

Permite que el programador exprese el procesamiento de datos de una forma simbólica sin tener en cuenta los detalles específicos de máquina. Las sentencias que escribe el programador se denominan lenguaje fuente, y son traducidas al lenguaje de máquina de la computadora por medio de programas llamados ensambladores, compiladores e interpretes. Por ejemplo, cuando un programador escribe multiplicar horas por tarifa, el verbo MULTIPLICAR debe traducirse a un código que signifique multiplicación y HORAS y TARIFA deben convertirse en direcciones de memoria donde están verdaderamente almacenados esos elementos.

Como los lenguajes humanos, cada lenguaje de programación tiene su propia gramática y sintaxis. Existen muchos dialectos del mismo lenguaje, y cada dialecto requiere su propio sistema de traducción. El ANSI (American National Standards Institute - Instituto Americano de Estándares Nacionales) ha establecido estándares para muchos lenguajes de programación, y cada lenguaje del que se dice que se adhiere a las normas ANSI, es un lenguaje libre de dialectos. Sin embargo, la inclusión de nuevas características en los estándares ANSI puede llevar años, y, como resultado de ello, emergerán siempre nuevos dialectos.

Los lenguajes de programación pueden englobarse en dos grandes categorías: lenguajes ensambladores de bajo nivel y lenguajes de alto nivel. Los lenguajes ensambladores están disponibles para cada familia de CPU, y traducen una línea de código en una instrucción de máquina. Los lenguajes de alto nivel traducen sentencias de programación en varias instrucciones de máquina.

En la actualidad, los lenguajes de alto nivel más comunes para negocios son el BASIC, COBOL, DBASE y Pascal. El FORTRAN Y El APL se utilizan en áreas científicas, y el C se emplea extensamente en software comercial. El LISP y el PROLOG son usados en aplicaciones de inteligencia artificial, el FORTH es utilizado en el control de procesos y el ADA es empleado por el Departament of Defense. La nueva ola es la programación orientada a objetos, y el C++ está ganando popularidad.

LENGUAJES DE PROGRAMACIÓN

Es un conjunto de símbolos, caracteres y reglas (programas) que les permiten a las personas comunicarse con la computadora.

Los lenguajes de programación tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada/salida, calculo, manipulación de textos, lógica/comparación y almacenamiento/recuperación.

martes, 8 de julio de 2014

3- INTRODUCCION AL PASCAL

Qué es Pascal

Pascal es un lenguaje de programación de ordenadores, de propósito general. Es muy estructurado, y bastante adecuado para introducirse en la programación de ordenadores.

Turbo Pascal ha sido durante mucho tiempo la versión más extendida del lenguaje Pascal. Fue desarrollada por la compañía Borland, para el sistema operativo Dos. Este puesto actualmente lo ocupa una versión de libre distribución (y código fuente abierto) llamada Free Pascal, disponible para varios sistemas operativos.

Delphi es una herramienta visual para Windows desarrollada por Borland, basada en el lenguaje Pascal. Kylix es la versión para Linux de Delphi. Lazarus es un clónico de Delphi, open source, disponible gratuitamente para Windows, Linux y otros sistemas operativos.


 

lunes, 7 de julio de 2014

4- GENERALIDADES DEL PASCAL

Vamos a empezar "al revés" de lo habitual: veremos un ejemplo de programa básico en Pascal (que se limitará a escribir la palabra "Hola" en la pantalla) y comentaremos cada una de las cosas que aparecen en él:


Lo primero que llama la atención es que casi todas las palabras están escritas en inglés. Esto será lo habitual: la gran mayoría de las palabras clave de Pascal (palabras con un significado especial dentro del lenguaje) son palabras en inglés o abreviaturas de éstas.

Los colores que se ven en este programa NO aparecerán en cualquier editor que utilicemos.

En el lenguaje Pascal no existe distinción entre mayúsculas y minúsculas, por lo que "BEGIN" haría el mismo efecto que "begin" o "Begin".

Si sabemos un poco de inglés, podríamos traducir literalmente el programa anterior, y así podremos darnos cuenta de lo que hace (aunque en un instante lo veremos con más detalle):

programa saludo
comienzo
escribir 'Hola'
final

Otra cosa que puede extrañar es eso de que algunas líneas terminen con un punto y coma. Pues bien, cada sentencia (u orden) de Pascal debe terminar con un punto y coma (;), salvo el último "end", que lo hará con un punto (.)

También hay otras tres excepciones: no es necesario un punto y coma después de un "begin", ni antes de una palabra "end" o de un "until" (se verá la función de esta palabra clave más adelante), aunque no es mala técnica terminar siempre cada sentencia con un punto y coma, al menos hasta que se tenga bastante soltura.

Cuando definamos variables, tipos, constantes, etc., veremos que tampoco va punto y coma después de las cabeceras de las declaraciones. Pero eso ya llegará...

Pues ahora ya sí que vamos a ver con un poco más de detalle lo que hace este programa.

Comienza con la palabra program. Esta palabra no es necesaria en muchos compiladores, como Turbo Pascal o Surpas, pero sí lo era incialmente en Pascal estándar, y el formato era
program NombrePrograma (input, output);
(entre paréntesis se escribía "input, output" para indicar que el programa iba a manejar los dispositivos de entrada y salida). Por ejemplo, como este programa escribe en la pantalla, si alguien usa una de las primeras versiones del Pascal de GNU, o algún otro compilador que siga estrictamente el Pascal estándar, deberá poner:

program Saludo(output);

Aunque para nosotros no sea necesario, su empleo puede resultar cómodo si se quiere poder recordar el objetivo del programa con sólo un vistazo rápido a su cabecera.

En algunos compiladores, puede que "nos regañe" si la palabra que sigue a "program" es distinta del nombre que tiene el fichero (es el caso de las primeras versiones de Tmt Pascal Lite), pero normalmente el programa funcionará a pesar de ello.

En nuestro caso, a nuestro programa lo hemos llamado "Saludo". La palabra "Saludo" es un identificador. Los "identificadores" son palabras que usaremos para referirnos a una variable, una constante, el nombre de una función o de un procedimiento, etc. Ya iremos viendo todos estos conceptos, pero sí vamos a anticipar un poco uno de ellos: una variable equivale a la clásica incógnita "x" que todos hemos usado en matemáticas , que puede tomar cualquier valor. Ahora nuestras "incógnitas" podrán tener cualquier valor (no sólo un número: también podremos guardar textos, fichas sobre personas o libros, etc) y podrán tener nombres más largos (y que expliquen mejor su contenido, no hará falta limitarnos a una única letra, como en el caso de "x").

Estos nombres de "identificadores" serán combinaciones de letras (sin acentos) y números, junto con algunos (pocos) símbolos especiales, como el de subrayado (_). No podrán empezar con un número, sino por un carácter alfabético (A a Z, sin Ñ ni acentos) o un subrayado, y no podrán contener espacios.

Así, serían identificadores correctos: Nombre_De_Programa, programa2, _SegundoPrograma pero no serían admisibles 2programa, 2ºprog, tal&tal, Prueba de programa, ProgramaParaMí (unos por empezar por números, otros por tener caracteres no aceptados, y otros por las dos cosas).
________________________________________
Las palabras "begin" y "end" marcan el principio y el final del programa, que esta vez sólo se compone de una línea. Nótese que, como se dijo, el último "end" debe terminar con un punto.
"Write" es la orden que permite escribir un texto en pantalla. El conjunto de todo lo que se desee escribir se indica entre paréntesis. Cuando se trata de un texto que queremos que aparezca "tal cual", éste se encierra entre comillas (una comilla simple para el principio y otra para el final, como aparece en el ejemplo).

El punto y coma que sigue a la orden "write" no es necesario (va justo antes de un "end"), pero tampoco es un error, y puede ser cómodo, porque si después añadimos otra orden entre "write" y "end", sería dicha orden la que no necesitaría el punto y coma (estaría justo antes de "end"), pero sí que pasaría a requerirlo el "write".

Para que no quede duda, probar de hacerlo: escribir ese "write" sin punto y coma al final, y se verá que no hay problema. En cambio, si ahora se añade otro "write" después, el compilador sí que protesta.

La orden "write" aparece algo más a la derecha que el resto. Esto se llama escritura indentada, y consiste en escribir a la misma altura todos los comandos que se encuentran a un mismo nivel, algo más a la derecha los que están en un nivel inferior, y así sucesivamente, buscando mayor legibilidad. Se irá viendo con más detalle a medida que se avanza.
________________________________________
En un programa en Pascal no hay necesidad de conservar una estructura tal que aparezca cada orden en una línea distinta. Se suele hacer así por claridad, pero realmente son los puntos y coma (cuando son necesarios) lo que indica el final de una orden, por lo que el programa anterior se podría haber escrito:
program Saludo; begin write('Hola'); end.

o bien

program Saludo;
begin write('Hola');
end.

lo que desde luego no se puede hacer es "partir palabras": si escribimos
pro gram Saludo;
el ordenador creerá que "pro" y "gram" son dos órdenes distintas, y nos dirá que no sabe qué es eso.
________________________________________
Los detalles concretos sobre cómo probar este programa dependerán del compilador que se esté utilizando. Unos tendrán un Entorno Integrado, desde el que escribir los programas y probarlos (como Free Pascal, Turbo Pascal y Surpas), mientras que en otros hará falta un editor para teclear los programas y el compilador para probarlos (como Tmt Lite) y otros no incluyen editor en la distribución normal, pero es fácil conseguir uno adaptado para ellos (es el caso de FPK y de Gnu Pascal).

Nosotros usaremos Free Pascal en la mayoría de los ejemplos de este curso, porque es un compilador gratuito, que sigue bastante el estándar que marcó Turbo Pascal, que funciona bien en ordenadores modernos (Turbo Pascal da problemas en algunos) y que está disponible para distintos sistemas operativos: MsDos, Windows, Linux, etc.

Tienes instrucciones sobre cómo instalar Free Pascal, pero en este momento vamos a suponer que ya está instalado y a ver cómo se teclearía y se probaría este programa bajo Windows:
Al entrar al compilador, nos aparece la pantalla de "bienvenida":


En el menú "File", usamos la opción "New" para comenzar a teclear un nuevo programa



Una vez que esté tecleado, seleccionamos la opción "Run" del menú "Run" (o pulsamos Ctrl+F9) para probarlo. Si todavía no hemos guardado el fichero, nos pedirá en primer lugar que lo hagamos.



Y ya está listo. Eso sí, posiblemente tendremos un "problema": nuestro programa realmente escribe Hola en nuestra pantalla, pero lo hace muy rápido y vuelve a la pantalla de edición del programa, así que no tenemos tiempo de leerlo. Podemos ver el resultado (la "pantalla de usuario") pulsando las teclas Alt+F5 (o la opción "User Screen" del menú "Debug"). Veremos algo como esto:
Running "c:\leng\pp\bin\go32v2\ej01.exe "
Hola
Si estamos bajo Linux, usaremos cualquiera de los editores del sistema para teclear nuestro programa, lo guardaremos con el nombre "ejemplo.pas", y después teclearemos
fpc ejemplo.pas
Si no hay ningún error, obtendremos un programa "ejecutable", capaz de funcionar por sí solo, y que podremos probar tecleando
./ejemplo

________________________________________
Ejercicio propuesto: Crea un programa similar al ejemplo que hemos visto, pero que, en vez de escribir Hola, escriba Hola Free Pascal.
Ver Video:

domingo, 6 de julio de 2014

5- INTRODUCCIÓN A LAS VARIABLES

Las variables son una posición de memoria a la que nosotros asignamos un nombre y en la que podremos almacenar datos, a diferencia de las constantes, que son algo que contiene un valor predeterminado.

En el primer ejemplo que vimos, puede que no nos interese escribir siempre el mensaje "Hola", sino uno más personalizado según quien ejecute el programa. Podríamos preguntar su nombre al usuario, guardarlo en una variable y después escribirlo a continuación de la palabra "Hola", con lo que el programa quedaría:


sábado, 5 de julio de 2014

6- ESTRUCTURA SECUENCIAL

Programa: Suma de dos números enteros:



Programa: Calculo del área del Cuadrado



Programa: Calculo del área del Círculo



Programa: Códigos ASCII