Вы находитесь на странице: 1из 27

Tema 1: Introduccion a la

programacion
[Programacin. Tema 1]

1.1 ELEMENTOS QUE COMPONEN UN ORDENADOR


Los ordenadores constan de muchos dispositivos diferentes, cada uno de
los cuales tiene su misin especfica. En el siguiente esquema podemos ver los
componentes de un equipo por funciones:

Los Perifricos de entrada permiten la introduccin de informacin en el


ordenador. Existen dos tipos:
- Aquellos que convierten los datos en un formato capaz de ser interpretado
por el ordenador, por ejemplo, el teclado

- Y los que permiten su entrada directa: escner, lectores de tarjetas o


cdigos de barras.

La Unidad de control interpreta y ejecuta las instrucciones. Controla tanto


el movimiento entre memoria y Unidad Aritmtico/Lgica (ALU), como las seales
que circulan entre la CPU y los perifricos...

Los Perifricos de salida permiten al usuario ver los resultados de los


clculos o de las manipulaciones de datos realizadas por el ordenador. Los ms
habituales son el monitor, la impresora y los altavoces.

La Unidad Aritmtico Lgica, tambin conocida como ALU (Arithmetic-


Logic Unit), es la parte encargada de procesar los datos. Las operaciones que
realiza son de tipo aritmtico: suma, resta, multiplicacin y divisin; y de tipo
lgico: igual, mayor que o menor que.

Pgina 1 de 26
[Programacin. Tema 1]

La Unidad de memoria es el dispositivo que permite almacenar y


recuperar informacin. Existen tres tipos:

- Memoria cach: De pequea capacidad, normalmente una fraccin de la


memoria principal, agiliza el intercambio de informacin entre sta y la CPU. As
cuando visite por segunda vez una pgina de Internet, sta se cargar mucho ms
rpido en su navegador, como consecuencia de la informacin almacenada en esta
memoria.

- Memoria principal (RAM, Ramdom Access Memory): De gran capacidad,


en ella residen programas y datos.

- Memorias auxiliares: Formada por dispositivos externos al ordenador,


discos duros, CD Rom, disquettes, DVD. Tiene una gran capacidad, pero un
tiempo de acceso lento. Su objetivo es archivar programas y datos.

1.2 CONCEPTO DE PROGRAMA


Una vez vistos los elementos fsicos de un ordenador, entre otros, ahora nos
disponemos a tratar la parte intangible, los Programas o Aplicaciones.
Estos elementos son los que nos permitirn escribir cartas, obtener grficas,
realizar presentaciones multimedia, conectarnos a internet.
Los programas son un conjunto de instrucciones que, haciendo uso de los
recursos fsicos de los ordenadores (memorias, disco duro, MODEM, ...) realizan
una serie de tareas para lo que fueron creados, como procesadores de texto o de
imgenes, gestores de bases de datos o de correo, etc.
Existen unos programas especiales que nos permiten crear programas, son
los desarrolladores o entornos de programacin, usados por los programadores
para crear aplicaciones que usarn otras personas.
Tambin existe el trmino Algoritmo que se define como un conjunto de
pasos a seguir para la resolucin de un problema. Dichos pasos seran las
instrucciones que veremos ms adelante.

Pgina 2 de 26
[Programacin. Tema 1]

1.3 CONCEPTO DE VARIABLE


Dentro de estos programas podemos encontrar multitud de LINEAS de
cdigo, datos, informacin, etc. Todos los datos que queramos manejar dentro de
un programa, deben ser almacenados en Variables. Las Variables son unos
almacenes de datos o informacin para su uso posterior. Los programas estn
llenos de variables de diferentes tipos, segn lo que contengan: enteros, reales,
caracteres, cadenas, ...

1.4 CONCEPTO DE INSTRUCCIN


Cmo funciona un programa? Aparte de las variables, los programas tienen
instrucciones, que no son ms que rdenes de qu hacer con dichas variables o
qu hacer ante diferentes opciones o condiciones. Por tanto, mediante las
instrucciones, el programador define qu hacer en cada momento y cmo hacerlo:
leer un valor, meter dicho valor en una variable, calcular el doble del valor de una
variable, ...
Existen una serie de instrucciones que segn su utilidad se clasifican en
varios tipos, que ya veremos ms adelante.

1.5 CONCEPTO DE FICHERO


Si las Variables eran unos almacenes de datos, los Ficheros son un almacn
igualmente. La informacin que contienen puede ser de muy diferentes orgenes:
texto, datos numricos, fotos, dibujos, ... Los ficheros se usan para guardar
informacin de una vez para otra. Toda la informacin que introduzcamos en un
programa desaparecer por completo, cuando salgamos del mismo, siempre y
cuando no hayamos grabado o guardado la informacin en un fichero.

1.6 SISTEMAS DECIMAL, BINARIO, OCTAL Y HEXADECIMAL


Los sistemas ms usuales relacionados con el lenguaje de las computadoras
son el Decimal, el Binario, el Octal y el Hexadecimal.

Un Sistema de Numeracin no es ms que un sistema para representar


cantidades o nmeros e incluso letras.
Pgina 3 de 26
[Programacin. Tema 1]

A lo largo de la historia podemos encontrar cientos de sistemas de


numeracin, unos ms eficientes que otros: egipcios, romanos, sumerios, rabes,...

Desde el final de la Edad Media se viene usando el Sistema Decimal,


compuesto por 10 dgitos como base. La Base consiste en el conjunto mnimo de
dgitos con el que se pueden representar todos los dems mediante una serie de
normas. Este sistema es el ms natural debido a que fundamentalmente se usa
para contar, y precisamente 10 es el nmero de dedos que tiene el ser humano.

Los dgitos de la base son por todos conocidos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9.


Mediante operaciones, uniones, combinaciones, ... podemos generar todas las
cantidades que queramos, por grandes que sean. Si a esto unimos el punto decimal,
tambin tendremos los nmeros llamados Reales.

Un nmero se suele representar uniendo los dgitos que lo forman, as, el


nmero 1.234 se formara con los dgitos 1, 2, 3 y 4. En el sistema Decimal, los
nmeros se pueden representar de la siguiente forma: 1.234 = 1*103 + 2* 102 +
3*101 + 4*100. Al ser base decimal, el nmero 10 se repite en todos ellos, como el
factor por el que multiplicar para obtener el nmero. El exponente de la base viene
indicado por la posicin que ocupa el nmero a representar en cuestin: un 0 para
las unidades, un 1 para las decenas, un 2 para las centenas, ...

El Sistema Binario tiene 2 dgitos: el 0 y el 1. Su base es el 2 y es el lenguaje


que domina la electrnica (encendido / apagado) y por tanto la informtica. Los

Pgina 4 de 26
[Programacin. Tema 1]

ordenadores piensan con unos y con ceros. Cada 0 y cada 1 se denomina bit, del
ingls binary digit. El sistema binario es la lengua verncula de los ordenadores.

Una de las muchas aplicaciones del sistema binario es una familia particular
de caracteres diseados de tal forma que cada carcter tena una longitud de 8 bits,
es decir, un byte.

Estos caracteres, denominados alfanumricos, son el conjunto de signos


bsicos empleados en la comunicacin convencional, y se le denomina cdigo
ASCII.

El Sistema Octal tiene 8 dgitos (0, 1, 2, 3, 4, 5, 6 y 7) y su base es el nmero


8. Tambin es usado por los ordenadores para representar agrupacin de
informacin.

Por ltimo, tenemos el Sistema Hexadecimal formado por 16 dgitos (0, 1,


2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F) y su base es 16.

1.7 OPERACIONES MATEMTICAS Y LGICAS


Tanto en un sistema como el cualquier otro, existen toda una serie de
operaciones que podemos aplicar a sus elementos: sumar, restar, multiplicar,
dividir, ...

Pgina 5 de 26
[Programacin. Tema 1]

Veremos las Suma de nmeros Binarios. Al sumar dos nmeros binarios, lo


haremos de dgito en dgito empezando por la derecha. Los valores que se obtienen
son los siguientes:

0+0=0 1+0=1 0+1=1 1 + 1 = 0 y me llevo 1

Para la Resta son los siguientes:

0-0=0 1-0=1 0 - 1 = 1 y me llevo 1 1-1=0

Los resultados de la Multiplicacin son los siguientes:

0*0=0 1*0=0 0*1=0 1*1=1

Tambin existen una serie de operaciones lgicas (Y, O, NO) utilizadas por
el Sistema Binario. Para ver cmo funcionan, observemos estos cuadros llamados
Tablas de Verdad de los operadores:

Operador 1 Operador 2 O (OR) Y (AND)


0 0 0 0
0 1 1 0
1 0 1 0
1 1 1 1

Operador NO (NOT)
0 1
1 0
Existen un par de operaciones ms sobre los nmeros binarios llamadas
Complemento a 1 y Complemento a 2.

Para pasar un nmero binario a Complemento a 1 se cambian los ceros por


unos y viceversa:
1010 0101

Pgina 6 de 26
[Programacin. Tema 1]

Para pasar un nmero binario a Complemento a 2, primero se pasa a


Complemento a 1 y despus se suma 1 al bit menos significativo (LSB):
00101101 11010010 +1 11010011

1.8 CAMBIOS DE BASE


Cuando tenemos un nmero en un sistema numrico y queremos pasarlo a
otro sistema tenemos los siguientes mtodos para realizarlo:
Pasar de Decimal a otro Sistema: Se divide sucesivamente el nmero
decimal por la base, hasta no poder seguir dividiendo (no hay que sacar
decimales). Una vez llegados a este punto, se obtiene el nmero en el
nuevo sistema cogiendo como primer dgito el ltimo cociente, y a
continuacin, los siguientes dgitos son los restos que han ido quedando,
desde el ltimo hasta el primer resto. Ejemplo:
13 2
1 6 2

0 3 2

1 1 Empezamos desde este cociente


El nmero 13 en decimal sera el 1 1 0 1 en binario.

668 8

4 83 8

3 10 8

2 1 Empezamos desde este cociente

El nmero 668 en decimal ser el 1234 en octal.


Pasar de cualquier sistema al decimal: se multiplica cada dgito por la
base elevada a la posicin que ocupa. Para obtener el nmero se hace la
suma de todos estos productos. Ejemplo:
1101 en base 2 = 1*23 + 1* 22 + 0*21 + 1*20 = 13 en base 10

1234 en base 8 = 1*83 + 2* 82 + 3*81 + 4*80 = 668 en base 10

Pgina 7 de 26
[Programacin. Tema 1]

1.9 OPERACIONES CON NMEROS FRACCIONARIOS EN EL SISTEMA


BINARIO
En el caso de convertir un nmero decimal FRACCIONARIO, la parte
fraccionaria debe ser multiplicada por 2 y el nmero binario es formado por 0's o
1's que aparecen en la parte correspondiente al entero. Solo que en este caso el
nmero binario se escribe de izquierda a derecha, a diferencia de lo explicado
antes para los nmeros enteros. Las multiplicaciones se efectan SOLO sobre la
parte fraccionaria del nmero por lo que siempre sern 0.XXX. Nunca debe
multiplicar 1.XXX. El proceso de multiplicaciones sucesivas concluye cuando
quedan en cero la parte entera y la fraccionaria.
En este ejemplo convertiremos el nmero fraccionario 0.62510
0.625 x 2 = 1.250 (bit ms prximo al punto binario)
0.250 x 2 = 0.500 (bit a la derecha del uno obtenido anteriormente)
0.500 x 2 = 1.000 (bit a la derecha del cero obtenido anteriormente)
La operacin concluye porque no queda parte fraccionaria para seguir
multiplicando.
0.62510 = 0.1012

Pueden ocurrir situaciones donde cualquier nmero multiplicado por 2


nunca llegue a cero. Esto causa que el nmero binario obtenido sea aproximado,
como se observa en el ejemplo de abajo:
0.610

0.6 x 2 = 1.2 (bit ms prximo al punto binario)


0.2 x 2 = 0.4 (bit a la derecha del uno obtenido arriba)
0.4 x 2 = 0.8 (bit a la derecha del cero obtenido arriba)
0.8 x 2 = 1.6 (bit a la derecha del cero obtenido arriba)
0.6 x 2 = 1.2 (bit a la derecha del uno obtenido arriba)
0.2 x 2 = 0.4 (Retorna a la situacin inicial... Ver segunda LINEA del proceso)

Pgina 8 de 26
[Programacin. Tema 1]

1.10 ESTRUCTURA DE UN PROGRAMA


Cuando empecemos a programar tendremos que seguir un esquema donde
colocaremos nuestras instrucciones. Dicho esquema es como sigue:
PROGRAMA Nombre_del_programa
CONSTANTES
Declaracin y Asignacin de constantes
VARIABLES
Declaracin de Variables
INICIO
Instrucciones del Programa
FIN
Todos nuestros programas deben tener este esquema, aunque se puede dar
el caso que no sea necesario poner los apartados de Variables y/o de Constantes.

La Indentacin solamente sirve para escribir programas ms claros y


legibles. Consiste en colocar las instrucciones que van en un bloque, un poco
desplazados hacia la derecha para que todas las instrucciones se vena claramente
en qu bloques estn y cmo afectan al programa completo.

1.11 DECLARACIN DE VARIABLES Y CONSTANTES


Para poder hacer uso de una Variable, necesitamos en primer lugar
declararla, es decir, indicar al programa que reserve espacio en memoria para
poder guardar el valor que le ser asignado a dicha variable. Para declarar una
Variable usaremos el siguiente cdigo:
TIPO_VARIABLE Nombre_variable
Ejemplos:
ENTERO a
REAL elemento
Las Constantes se declaran de la siguiente forma:
CONSTANTE Nombre_constante TIPO_CONSTANTE = valor_invariable

Pgina 9 de 26
[Programacin. Tema 1]

Ejemplos:
CONSTANTE PI REAL = 3,141516
CONSTANTE MAX ENTERO = 100

1.12 TIPOS DE DATOS


Como podemos ver en la declaracin, tanto de variables como de
constantes, tras el nombre se debe incluir el Tipo de dicha variable o constante. El
Tipo va a indicar al programa el tipo de informacin que contendr la variable o
constante. Por tanto, los tipos sern Enteros, Reales, Caracteres, etc.

Los tipos con los que nos encontraremos son los siguientes, indicando el
rango1:
TIPO RANGO
ENTEROS ..., -2, -1, 0, 1, 2, ...
REALES ..., -2, -1, 0, 1, 2, ...
...-24, -166, 0, 1234, 2132, ...
CARACTERES A, B, C, D, ..., a, b, c, ...
CADENAS Hola, Casa, Perro, ...

1.13 INSTRUCCIONES DE ASIGNACIN


Las instrucciones de asignacin nos sirven para dar valores a las variables.
Se utiliza el operador igual (=). Ejemplos:
ENTERO a
REAL b
a=7
b = 35
En el caso de las variables podemos realizar tantas asignaciones como
queramos, es decir, una variable puede variar (de ah su nombre) de valor tantas
veces como sea necesario a lo largo del desarrollo de un programa. En el caso de
las constantes, al declararlas, se le asigna su valor y ya no podremos hacer sobre
ella ms asignaciones.

1
RANGO: Intervalo de valores posibles que puede contener dicha variable.

Pgina 10 de 26
[Programacin. Tema 1]

1.14 OPERADORES MATEMTICOS Y LGICOS


Los distintos operadores permiten formar expresiones tanto aritmticas
como lgicas. Los operadores aritmticos y lgicos son:
+, - Suma y concatenacin de cadenas, resta
*, /, % multiplicacin, divisin, mdulo
Y AND lgico
O OR lgico
NO NOT lgico
=, igualdad, desigualdad
<, <= menor, menor o igual
>, >= mayor, mayor o igual

1.15 CONTADORES Y ACUMULADORES


Los Contadores nos servirn para llevar un conteo de ciertos hechos: contar
palabras, contar veces que aparece cierto nmero, personas que tienen el pelo
rubio, etc. Los Acumuladores nos servirn para ir acumulando cantidades como
por ejemplo la suma de las notas de una persona para luego calcular su media, o la
suma de ventas de una empresa.

1.16 INSTRUCCIONES SECUENCIALES


Cuando diseamos un programa, ste consta de un punto de inicio y un
punto de finalizacin. Entre dichos puntos existirn una serie de instrucciones que
debern ser procesadas por el ordenador. Cmo toma las instrucciones el
ordenador? Pues las toma en orden de aparicin, es decir la primera que aparece
es la primera que se ejecuta, la segunda despus y as con todas. Esta forma de
tratar las instrucciones recibe el nombre de Secuencializacin. Ms adelante
veremos la forma de poder pegar saltos en dicha secuencia de instrucciones.

1.17 BLOQUES DE INSTRUCCIONES


Algunas veces veremos que ciertas instrucciones estn relacionadas por
realizar unas tareas similares o bien porque forman un grupo para realizar una
Pgina 11 de 26
[Programacin. Tema 1]

tarea en concreto. En dichos casos se dice que las instrucciones forman un bloque y
pueden ser tratadas como un todo. En el apartado de los Mdulos profundizaremos
en este tema.

1.18 INSTRUCCIONES DE ENTRADA Y DE SALIDA


Unas de las primeras instrucciones que veremos sern las de Entrada y
Salida de Datos. Cuando queremos obtener o leer informacin de algn dispositivo,
normalmente el teclado, usaremos la instruccin de Lectura de Datos:
LEER dato
Si tenemos que mostrar algn dato o resultado por pantalla, usaremos la
instruccin de Salida de Datos:
ESCRIBIR dato
En el siguiente ejemplo declaramos una variable de tipo CADENA, nos
aparece por pantalla un mensaje indicndonos que introduzcamos una cadena,
leemos una cadena por teclado y la escribimos en pantalla:
PROGRAMA Ejemplo_Entrada_Salida
VARIABLES
CADENA a
INICIO
ESCRIBIR Introduzca una cadena
LEER a
ESCRIBIR La cadena introducida es + a
FIN

1.19 INSTRUCCIONES CONDICIONALES


Una instruccin condicional es aquella que nos permite "preguntar" sobre el
entorno que nos rodea, pudiendo as actuar segn la respuesta obtenida. Estas
respuestas siempre sern Verdadero o Falso, pudiendo as tomar, en un principio,
dos caminos diferentes si hablamos de las Instrucciones Simples o las Compuestas
o bien varios posibles caminos si hablamos de las Instrucciones Mltiple.

Pgina 12 de 26
[Programacin. Tema 1]

1.19.1 Simples
Esta instruccin sirve para conocer si se produce una situacin o no en cuyo
caso se realizar un bloque de instrucciones o se saltar dicho bloque y se pasar a
la siguiente instruccin:

SI condicin ENTONCES
Bloque de Instrucciones
FINSI
En el siguiente ejemplo, si la variable a tiene el valor de 4, entonces escribir
el mensaje Hola y despus el mensaje Adis. Si no vale 4, escribir solamente el
mensaje Adis:

LEER a
SI a = 4 ENTONCES
ESCRIBIR Hola
LINEA NUEVA2
FINSI
ESCRIBIR Adis

1.19.2 Compuestas
Las instrucciones Condicionales Compuestas comprueban una condicin. Si
se cumple se realiza un bloque de instrucciones y si no se cumple, no se salta a la
siguiente instruccin del bloque SI...FINSI, sino que existe otro bloque donde se
realizan las tareas en el caso de que la condicin no se cumpla.

En el ejemplo siguiente se escribir Hola o Adis, dependiendo de si la


variable a vale 4 o no:
LEER a
SI a = 4 ENTONCES
ESCRIBIR Hola
SINO
ESCRIBIR Adis
FINSI
2
Ver Apartado 1.22.1

Pgina 13 de 26
[Programacin. Tema 1]

En el ejemplo de la condicional simple, el mensaje Adis siempre apareca.


En este solamente si a NO vale 4.

1.19.3 Mltiples
En el caso de las instrucciones condicionales Mltiples tenemos una
condicin que evaluar y varios posibles caminos que tomar.
SEGN variable HACER
CASO valor1:
Bloque CASO a
CASO valor2:
Bloque CASO b
...
DEFECTO:
Bloque por DEFECTO
FIN SEGN
Estas instrucciones funcionan de la siguiente manera: Comprobamos qu
valor coincide con la variable indicada y entonces realizaremos el bloque que le
corresponde y slo ese bloque. En caso de que no coincida con ningn valor, se
realizar el bloque correspondiente a DEFECTO. Una vez realiza cualquier bloque,
se sigue por la instruccin siguiente al FIN SEGN.

Veamos un ejemplo que segn la variable color, se escribir un mensaje u


otro. En el caso de que la variable no coincida con ningn caso, se escribir un
mensaje al respecto:
LEER a
SEGUN a HACER
CASO 1:
ESCRIBIR Rojo
CASO 2:
ESCRIBIR Verde
DEFECTO:
ESCRIBIR El color elegido no es correcto
FIN SEGUN

Pgina 14 de 26
[Programacin. Tema 1]

1.20 INSTRUCCIONES REPETITIVAS


En algunas ocasiones, una misma instruccin se repite varias veces y
necesitamos alguna forma de realizar esta tarea de forma sencilla y sin tener que
repetir nosotros la instruccin. Existe un mecanismo para repetir instrucciones
que se denomina Bucles y consiste en un bloque de instrucciones que se repite un
nmero de veces indicado o bien hasta que deja de cumplirse una condicin.

1.20.1 Instrucciones Repetitivas un nmero determinado de veces


Con la instruccin PARA podemos repetir un bloque de instrucciones un
nmero determinado de veces que se indica en la misma instruccin PARA. Dicha
instruccin tiene la siguiente forma:

PARA iterador = valor_inicial HASTA iterador = valor_final/condicin [INCREMENTO incremento] HACER


Bloque de instrucciones
FIN PARA
Tenemos una variable llamada iterador que toma un valor inicial y realiza
el bloque de las instrucciones. Al llegar al FIN PARA, dicho iterador se incrementa
en le valor indicado por INCREMENTO. Si no se indica ningn incremento se
considera que su valor es de 1. Si una vez incrementado el iterador toma el valor
de valor_final o no se cumple la condicin, se acaba el bucle y se sigue por la
instruccin siguiente a FIN PARA, pero si no tiene el mismo valor, se vuelve a hacer
el bloque de instrucciones y as hasta que el iterador tenga el valor de valor_final o
no se cumpla la condicin.

Con el siguiente ejemplo aclararemos ideas. Mediante las siguientes


instrucciones escribiremos por pantalla el mensaje Hola cinco veces.
PARA i = 0 HASTA 4 HACER
ESCRIBIR Hola
LINEA NUEVA
FIN PARA

Pgina 15 de 26
[Programacin. Tema 1]

Y con este otro ejemplo escribiremos los nmeros pares desde el 0 al 100:
PARA j = 0 HASTA j<=100 INCREMENTO 2 HACER
ESCRIBIR j
LINEA NUEVA
FIN PARA

1.20.2 Instrucciones Repetitivas un nmero indeterminado de veces


El otro tipo de instrucciones repetitivas se utilizan cuando no conocemos el
nmero de veces que se desea repetir un bloque de instrucciones. Solamente
sabemos que queremos repetir dicho bloque mientras se cumpla cierta condicin y
deje de repetirse cuando dicha condicin ya no sea verdadera. Para realizar esto
tenemos dos opciones: la instruccin MIENTRAS...FIN MIENTRAS y
HACER...MIENTRAS. Vemoslas ambas:

MIENTRAS condicin HACER


Bloque de instrucciones
FIN MIENTRAS
Mientras se cumpla la condicin, se realizan las instrucciones del bloque. Al
llegar al FIN MIENTRAS, se comprueba de nuevo la condicin. Si se cumple, se
vuelve a repetir el bloque de instrucciones y si no se cumple seguimos por la
instruccin siguiente a FIN MIENTRAS.

Un detalle importante a tener en cuenta es que dentro del Bloque de


instrucciones debe haber una instruccin que permita cambiar la condicin a falsa,
sino, estaremos dentro de un bucle infinito, es decir que no se acaba nunca.
Algunas veces esta ser nuestra intencin, pero slo en contadas ocasiones.

La otra instruccin es:


HACER
Bloque de instrucciones
MIENTRAS condicin
Esto hace prcticamente lo mismo que la anterior. La diferencia est en que
con el MIENTRAS...FIN MIENTRAS, si la primera vez que evaluamos la condicin no
es cierta, el bloque de instrucciones no se realizar ni una sola vez. Con el
Pgina 16 de 26
[Programacin. Tema 1]

HACER...MIENTRAS condicin se realizar, al menos, en una ocasin. Veamos un


par de ejemplos:
ESCRIBIR Introduzca un nmero
LEER a
LINEA NUEVA
MIENTRAS a 0 HACER
ESCRIBIR Introduzca un nmero
LEER a
LINEA NUEVA
FIN MIENTRAS

HACER
ESCRIBIR Introduzca un nmero
LEER a
LINEA NUEVA
MIENTRAS a 0
En ambos casos se lee varios nmeros hasta que se escriba un 0. Como se
puede observar el 2 ejemplo es ms simple, aunque esto no siempre ocurrir. Si
este ejemplo lo modificamos de manera que cada vez que no sea un 0 se muestre
un mensaje al respecto, el 2 mtodo sera ms engorroso:
ESCRIBIR Introduzca un nmero
LEER a
LINEA NUEVA
MIENTRAS a 0 HACER
ESCRIBIR No es un cero
LINEA NUEVA
ESCRIBIR Introduzca un nmero
LEER a
LINEA NUEVA
FIN MIENTRAS

Pgina 17 de 26
[Programacin. Tema 1]

HACER
ESCRIBIR Introduzca un nmero
LEER a
LINEA NUEVA
SI a 0 ENTONCES
ESCRIBIR No es un cero
LINEA NUEVA
FINSI
MIENTRAS a 0

1.21 MDULOS: FUNCIONES Y PROCEDIMIENTOS


Anteriormente hemos comentado la utilidad de los Bloques de
Instrucciones para agruparlas dentro de las Instrucciones condicionales o en los
Bucles.

Las Funciones y los Procedimientos son Bloques de Instrucciones que


tienen unas tareas concretas y que separan del resto del programa para tenerlos
localizados en caso de que necesitemos realizar alguna modificacin o ampliacin.
De esta forma crearemos programas que no son de una sola pieza o monolticos,
sino que un programa estar compuesto por pequeos subprogramas o mdulos
que juntos, realizarn la tarea que tiene asignada el programa en s. Es una especie
de reparto del trabajo. Hay que hacer un trabajo, que a su vez se puede dividir en
pequeos trabajos. Pues bien, cada uno de estos subtrabajos se realizar en un
mdulo aparte.

Imaginemos que queremos calcular el determinante de una matriz. Ese


trabajo se podra dividir en otros tres trabajos: leer la matriz, calcular el
determinante y mostrar el resultado. Supongamos que todo lo realizamos en el
mismo programa. Si tuviramos que cambiar el mtodo de calcular el
determinante (por otro ms rpido, por ejemplo), tendramos que repasar todo el
programa en busca no slo de la parte donde se realiza el clculo, sino comprobar
que los cambios que realicemos no afectan a ninguna otra parte del resto del
programa.

Pgina 18 de 26
[Programacin. Tema 1]

Si este mismo programa lo diseamos dividiendo el trabajo en cuatro partes


(el programa principal y los tres mdulos), solamente tendremos que cambiar el
mdulo que calcula el determinante y solamente tenemos que cuidar la forma en
que dicho mdulo interacta con las dems partes del programa, pero eso no
implica repasar el resto del programa, solamente la forma en que se comunican los
mdulos ente s y con el programa principal.

Los Mdulos son de dos tipos: Funciones y Procedimientos. En los primeros


se recibe informacin, se procesa dicha informacin y se devuelve otra
informacin. Los procedimientos actan igual que las funciones con la diferencia
que no devuelven nada, simplemente reciben datos y realizan una tarea.

Sus esquemas son parecidos al programa principal que hemos visto hasta
ahora:
FUNCION nombre_funcin (lista de parmetros con sus tipos) DEVUELVE tipo_dato_devuelto
CONSTANTES
Declaracin de Constantes
VARIABLES
Declaracin de Variables
INICIO
Bloque de instrucciones
DEVOLVER variable
FIN

PROCEDIMIENTO nombre_procedimiento (lista de parmetros con sus tipos)


CONSTANTES
Declaracin de Constantes
VARIABLES
Declaracin de Variables
INICIO
Bloque de instrucciones
FIN

Pgina 19 de 26
[Programacin. Tema 1]

Comentar que las variables y constantes usadas dentro de un mdulo


solamente tienen vida dentro de dicho mdulo, es decir, que fuera de l es como si
no existiera. Es por ello por lo que en dos mdulos diferentes podemos tener dos
variables con el mismo nombre. A todos los efectos, aunque tengan el mismo
nombre, son dos variables distintas.

Veamos algunos ejemplos ilustrativos: Primero tenemos una funcin que se


le enva un nmero entero y devuelve su cuadrado.
FUNCION cuadrado_fun(ENTERO a) DEVUELVE ENTERO
VARIABLES
ENTERO c
INICIO
c=a*a
DEVOLVER c
FIN
Ahora un procedimiento que hace lo mismo, pero como no lo puede
devolver, lo escribe directamente en pantalla:
PROCEDIMIENTO cuadrado_proc(ENTERO a)
VARIABLES
ENTERO c
INICIO
c=a*a
ESCRIBIR c
FIN

Pgina 20 de 26
[Programacin. Tema 1]

Y por ltimo escribiremos un programa completo que utiliza el mdulo


cuadrado_fun para ver cmo se integra todo en dicho programa, llamado Programa
Principal:
PROGRAMA Ejemplo_uso_funciones
VARIABLES
ENTERO a, c
INICIO
ESCRIBIR Introduzca un nmero entero
LEER a
LINEA NUEVA
c = cuadrado_fun(a)
ESCRIBIR El cuadrado de + a + es igual a + c
FIN

1.22 FUNCIONES DE UTILIDAD


Existen una serie de funciones que nos permitirn obtener una serie de
datos necesarios para ciertos programas.

1.22.1 Instruccin de nueva LINEA


Esta instruccin nos permitir saltar en la pantalla a la siguiente LINEA de
manera que lo que se escriba a continuacin, aparecer en la LINEA de debajo de
donde se ha escrito la ltima informacin.
PROGRAMA Ejemplo_Linea_Nueva
VARIABLES
INICIO
ESCRIBIR Primera LINEA
ESCRIBIR Tambin en primera LINEA
LINEA NUEVA
ESCRIBIR Esto en la siguiente LINEA
FIN

Pgina 21 de 26
[Programacin. Tema 1]

1.22.2Instrucciones para obtener nmeros aleatorios


En ocasiones necesitaremos simular el azar mediante instrucciones
aleatorias. Estas instrucciones nos permiten indicar un rango y nos devolver un
valor en dicho rango, pero cada vez uno diferente, aunque se pueden repetir en el
tiempo.

En el siguiente programa obtendremos una serie de 5 nmeros entre el 1 y


el 10, pero no siempre ser la misma serie. Ejecutamos el programa y podemos
obtener la serie 3,4,1,7,4. En la siguiente ejecucin se puede obtener la serie
5,7,10,4,1. Y as para cada ejecucin, una serie diferente. Cuidado porque los
nmeros se pueden repetir en una misma serie. Para evitarlo, debemos programar
instrucciones adicionales que se vern ms adelante.
PROGRAMA Ejemplo_Aleatorio
VARIABLES
ENTERO i, x
INICIO
PARA i = 0 HASTA 4 HACER
x = ALEATORIO(1,10)
ESCRIBIR x
LINEA NUEVA
FIN PARA
FIN

Pgina 22 de 26
[Programacin. Tema 1]

1.22.3 Instrucciones de tiempo y fecha


Por ltimo, veremos dos funciones ms que nos darn la hora y la fecha del
sistema. Por defecto trabajaremos con horas con formato 12:12:12 y la fecha
01/01/2099. Una vez llevemos estas instrucciones a un lenguaje en concreto
debemos averiguar el formato exacto de estos tipos de datos.
PROGRAMA Ejemplo_Fecha_Hora
VARIABLES
HORA h
FECHA f
INICIO
h = TIEMPOACTUAL
f = FECHACTUAL
ESCRIBIR La hora actual es + h
LINEA NUEVA
ESCRIBIR La fecha actual es + f
FIN

Pgina 23 de 26
[Programacin. Tema 1]

1.23 DIAGRAMAS DE FLUJOS


Los Diagramas de Flujo consisten en una representacin grfica del flujo
que sigue un programa al ejecutarse dentro de un ordenador. Tenemos una serie
de smbolos que tienen su propio significado, como veremos a continuacin. Es una
tcnica parecida al Pseudocdigo, pero ms limitado.

En la siguiente figura podemos ver los elementos que componen los


Diagramas de Flujos:

Pgina 24 de 26
[Programacin. Tema 1]

Veamos un ejemplo sencillo como por ejemplo leer un nmero entero, e


indicar si es par o impar.

1.24 DOCUMENTACIN: MANUAL DE USUARIO


Programar no es solamente realizar complicados Algoritmos que resuelvan
problemas matemticos, fsicos o de gestin. Tambin debemos documentar dicho
trabajo. Empezaremos documentando nuestro trabajo con el Manual de Usuario

Dicho documento consiste en una explicacin detallada de la forma en que


debemos manejar un programa para realizar las tareas que desarrolla dicho
programa o aplicacin. Por ejemplo, si hacemos un programa para invertir
matrices, debemos indicar las necesidades tcnicas de instalacin, cmo se instala,

Pgina 25 de 26
[Programacin. Tema 1]

cmo se ejecuta, y una vez ejecutado cmo realizar las diferentes acciones que nos
permite hacer, en este caso, cmo meter los datos de las matrices y dnde debemos
pulsar o qu opcin elegir para calcular la inversa. Adems, tendremos que
explicar todos los detalles del programa como configuraciones, cmo
personalizarlo y todo aquello que interese al usuario.

Se debe tener en cuenta en la redaccin de dicho Manual, las personas a las


que va dirigida para evitar palabras y expresiones informticas que puedan
ignorar dichas personas.

1.25 DOCUMENTACIN: MANUAL TCNICO


El Manual Tcnico es una documentacin que tambin debe acompaar a
todos nuestros programas. Sus destinatarios son los propios programadores,
analistas y administradores de sistemas con lo cual debe especificar entre otras
cosas, los algoritmos usados, las estructuras de datos utilizadas, el listado completo
del cdigo fuente del programa, etc. Este documento est destinado al
mantenimiento del programa del que trata con lo cual debemos incluir todos los
aspectos tcnicos que sean necesarios para un entendimiento profundo de la
aplicacin.

1.26 DOCUMENTACIN: MANUAL DE INSTALACIN


Por ltimo, debemos crear tambin un Manual de Instalacin, en el que
especificaremos cmo instalar nuestra aplicacin y todos sus componentes.
Dependiendo de la complejidad de nuestro programa, este manual ir desde un
nivel bsico para programas que se instalan con el mtodo Siguiente, Siguiente,
siguiente, o bien se tendr que especificar paso a paso cmo debemos proceder
en una instalacin ms compleja que implique montar servidores web, servidores
de aplicaciones, creacin de bases de datos y sus correspondientes conexiones, etc.

13/10/2016

Pgina 26 de 26

Вам также может понравиться