1.- CONCEPTOS BASICOS Para realizar programas lo primero que hay que hacer es un plan para solucionar el problema en cuestion, este plan debe ser sencillo, directo, y bastante concreto. Imaginemos que queremos multiplicar 2 numeros. - Requerimientos : Dos numeros. (a,b) Pasos: 1.- Leer los 2 numeros. 2.- Aplicarles el operador de la multiplicacion : (*) 3.- Mostrar el resultado. Esto que acabamos de hacer se dice que es un algoritmo. En general los algoritmos son muy utiles, en los cuales una oracion en ellos representan muchisimas instrucciones en Pascal y son mas generales que los programas. Adicionalmente se pueden elaborar diagramas de flujo que consisten en dibujos que indican como sera el orden de las instrucciones que ejecute un programa, pero ese analisis lo considero un poco lento y ademas poco productivo con respecto al uso de algoritmos que son verdaderamente utiles en muchos casos. Fijese que si no estuviese construido el proceso de multiplicar numeros habria que desarrollarlo. Pero de hecho debe haber antes una base sobre la cual apoyarse para poder hacer cualquier cosa, asi si no existiera la multiplicacion deberia existir por lo menos la suma sino nuestro problema no hubiera podido ser resuelto. Es esta base la que vamos a estudiar para sobre ella desarrollar las aplicaciones y una vez estudiada esta podremos extenderla en "librerias" las cuales haran mas facil nuestro trabajo posterior. Afortunadamente la base que proporciona el pascal es amplia y los procesos de multiplicacion y entrada de datos ya estan incluidos en ella, por lo cual nuestro programa queda asi: PROGRAM MULTIPLICAR; {LE DA NOMBRE DEL PROGRAMA } VAR A,B,PRODUCTO : INTEGER; {DECLARA A,B,PRODUCTO ENTEROS} BEGIN {COMIENZO DEL PROGRAMA } WRITELN ('INGRESE DOS NUMEROS'); {COLOCA MENSAJE PARA USUARIO } READ (A,B); {LECTURA DE A Y B } PRODUCTO := A*B; {EN PRODUCTO ESTAR LO DE A*B} WRITELN (A,'*',B,'=',PRODUCTO); {IMPRIME LAS CANTIDADES } END. {FIN DEL PROGRAMA } Note el lector que el programa se atiene perfectamente al algoritmo creado anteriormente. Por lo general es una buena practica no salirse de los esquemas de nuestros algoritmos. Explicacion del programa La sentencia Program Es opcional pero es muy deseable ponerla. El nombre del programa es solo indicativo al programador. La sentencia Var Declara variables que se van usar, en este caso a,b y producto. Toda variable tiene que declararse en la seccion var para poder ser usada y ademas poseen un tipo que se coloca luego de los 2 puntos, en este caso usamos el tipo integer (entero). La sentecia begin Marca el comienzo de un grupo de sentencias (todo lo que esta entre un begin...end puede considerarse como una sola sentencia) que en este caso indica el inicio del programa principal. La sentencia read Es una forma que existe para ingresar datos. El read acepta cualquier tipo de dato como entrada y el valor ingresado lo deja en la variable. La sentencia asignacion (:=) Asigna a la variable de la derecha la cantidad (calculable) que esta a la izquierda (!! no olvide esta definicion !!). La advertencia se hace con el sentido que el principiante no se confunda, asi por la definicion anterior es perfectamente legal decir lo siguiente: A := A + 1; Si "A" tenia el valor de 5 la maquina reemplaza este en la expresion de la derecha, la evalua y la asigna a la variable de la izquierda. Veamos: A := A + 1; -> A := (5) + 1; -> A := 6; Con lo que el valor de "A" queda en 6. El resultado es que la variable se vera incrementada en la unidad. El lector debe observar tambien que esta es una forma de acumular resultados. La sentencia write Produce la salida de datos, en este caso por la pantalla y en la posicion actual del cursor. Las cadenas deben encerrarse entre comillas y las variables deben estar separadas por comas. En caso de usar writeln la salida se imprime y luego el cursor salta al principio de la linea siguiente. La sentencia end Marca fin de cualquier bloque (no necesariamente empezado con un begin). Para indicar el fin del programa se usa punto. .