Anda di halaman 1dari 27

Programar es la actividad del programador, que tiene por objetivo escribir las

lneas de cdigo de un programa o aplicacin.


Bsicamente programar es escribir las instrucciones para dar las rdenes al
programa para que realice una cierta tarea.

Qu es un algoritmo?
Un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solucin de
un determinado problema. Los hay tan sencillos y cotidianos como seguir la receta del mdico,
abrir una puerta, lavarse las manos, etc; hasta los que conducen a la solucin de problemas muy
complejos.
Los Algoritmos permiten describir claramente una serie de instrucciones que debe realizar el
computador para lograr un resultado previsible. Vale la pena recordar que un procedimiento de
computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de
programacin que el computador entienda, en este curso utilizaremos el entorno de desarrollo de
Scratch para programar nuestros algoritmos.
En la naturaleza hay muchos procesos que puedes considerar como Algoritmos ya que tienen
procedimientos y reglas. Incluso, muchas veces no somos conscientes de ellos.
Por ejemplo, el proceso digestivo es un concepto de algoritmo con el que convivimos a diario sin
que nos haga falta una definicin precisa de este proceso. El hecho de que conozcamos cmo
funciona el sistema digestivo, no implica que los alimentos que consumimos nos alimenten ms o
menos. La familiaridad de lo que sucede da a da nos impide ver muchos algoritmos que pasan a
nuestro alrededor. Procesos naturales como la gestacin, las estaciones, la circulacin sangunea,
los ciclos planetarios, etc, son algoritmos naturales que
generalmente pasan desapercibidos.

Lenguajes de programacin

Lenguajes de Programacin > Lenguajes de programacin

Los lenguajes de programacin son herramientas que nos permiten


crear programas y software. Entre ellos tenemos Delphi, Visual
Basic, Pascal, Java, etc..
Una computadora funciona bajo control de un programa el cual debe
estar almacenado en la unidad de memoria; tales como el disco
duro.

Los lenguajes de programacin de una computadora en particular se


conoce como cdigo de mquinas o lenguaje de mquinas.
Estos lenguajes codificados en una computadora especfica no
podrn ser ejecutados en otra computadora diferente.
Para que estos programas funcionen para diferentes computadoras
hay que realizar una versin para cada una de ellas, lo que implica
el aumento del costo de desarrollo.
Por otra parte, los lenguajes de programacin en cdigo de mquina
son verdaderamente difciles de entender para una persona, ya que
estn compuestos de cdigos numricos sin sentido nemotcnico.
Los lenguajes de programacin facilitan la tarea de programacin,
ya que disponen de formas adecuadas que permiten ser leidas y
escritas por personas, a su vez resultan independientes del modelo
de computador a utilizar.
Los lenguajes de programacin representan en forma simblica y en
manera de un texto los cdigos que podrn ser leidos por una
persona.
Los lenguajes de programacin son independientes de las
computadoras a utilizar.
Existen estrategias que permiten ejecutar en una computadora un
programa realizado en un lenguaje de programacin simblico. Los
procesadores del lenguaje son los programas que permiten el
tratamiento de la informacin en forma de texto, representada en
los lenguajes de programacin simblicos.
Hay lenguajes de programacin que utilizan compilador.
La ejecucin de un programa con compilador requiere de dos
etapas:
1) Traducir el programa simblico a cdigo mquina
2) Ejecucin y procesamiento de los datos.
Otros lenguajes de programacin utilizan un programa intrprete o
traductor, el cual analiza directamente la descripcin simblica del
programa fuente y realiza las instrucciones dadas.
El intrprete en los lenguajes de programacin simula una mquina
virtual, donde el lenguaje de mquina es similar al lenguaje fuente.
La ventaja del proceso interprete es que no necesita de dos fases
para ejecutar el programa, sin embargo su inconveniente es que la

velocidad de ejecucin es ms lenta ya que debe analizar e


interpretar las instrucciones contenidas en el programa fuente.

Programacin

Lenguajes de Programacin > Programacin

La programacin consiste en desarrollar programas para procesar


informacin.
programacin como termino se utiliza para designar la creacion de
programas a pequea escala, el desarrollo de sistemas complejos se
denomina ingenieria de software.
Una computadora es totalmente inutil si no dispone de un programa
capaz de procesar informacin.
Para que se realize dicho procesamiento de informacin habra sido
necesario construir un ordenador (hardware), pensar y crear un
programa (software) y ejecutar dicho programa o aplicacion en el
computador.
La ultima de estas fases es la que realiza el usuario, las anteriores
son realizadas por tecnicos que construyen el hardware y por
programadores que desarrollan el software.
programacin e ingenieria de software son complementarias
entre si. Para el desarrollo de grandes sistemas informaticos se
divide el trabajo en tareas que diversos programadores
desarrollaran. Al terminar se unen las piezas como en un puzzle
para completar el sistema en si. Asi programacin tambien se aplica
para el desarrollo de grandes sistemas en las ingenierias de
software.
La programacin tiene como objetivo el tratamiento de la
informacin correctamente, con lo que se espera que un programa
de el resultado correcto y no uno erroneo. Asi que cada aplicacion
debe funcionar segun lo esperado en terminos de programacin.

Otro objetivo fundamental de la programacin es que sean de


codigos claros y legibles, con lo que si un programador inicia un
programa y no lo termina, otro programador sea capaz de entender
la codificacion y poder terminarlo.
Normalmente en programacin existen ciertas normas no escritas
de como han de nombrarse los componentes, objetos o controles de
cada sistema, asi como sus variables que deben ser relativas al
termino al cual se van a vincular. Por ejemplo el texto que contenga
la edad del individuo se llamaria TxtEdad, y su variable se llamaria
Edad.
Por ultimo la programacin pretende que sus programas sean utiles
y eficientes.
De multitud de maneras la programacin nos dara el mismo
resultado de un programa, un buen programador llegara al mismo
resultado con un minimo de codigo y de la forma ms clara y logica
posible.
De los anteriormente nombrados objetivos de la programacin el
ms importante es el de la correccion, ya que un codigo claro y
legible facilita el mantenimiento de la aplicacion o sistema.
Algunos lenguajes de programacin:
programacin
programacin
programacin
programacin
programacin
programacin
programacin
programacin

en Pascal
en Visual Basic
en Delphi
Java
avanzada en Java
en C
orientada a objetos
en Excell

DATOS
DATOS
Los datos son nmeros, letras o smbolos que describen objetos, condiciones o
situaciones. Son el conjunto bsico de hechos referentes a una persona, cosa o
transaccin de inters para distintos objetivos, entre los cuales se encuentra la toma
de decisiones. Desde el punto de vista de la computacin, los datos se representan
como pulsaciones o pulsos electrnicos a travs de la combinacin de circuitos
(denominados seal digital). Pueden ser:

1- Datos alfabticos (las letras desde A a la Z).


2- Datos numricos (por ej. del 0 al 9)
3- Datos simblicos o de caracteres especiales (por ej. %, $, #, @, &, etc.)
Esos datos, cuando se trabaja en una computadora, son convertidos en nmeros
dgitos que, a su vez, son representados como pulsaciones o pulsos electrnicos.
En la actualidad para comunicarnos, expresarnos y guardar nuestra informacin,
usamos el sistema de numeracin decimal y el alfabeto, segn se trate de valores
numricos o de texto. Una computadora como funciona con electricidad, reconoce dos
clases de mensajes: cuando hay corriente elctrica el mensaje es s y cuando no hay
corriente, el mensaje es no. Para representar un valor dentro de una computadora se
usa el sistema de numeracin binario, que utiliza slo dos dgitos: el cero (0) y el uno
(1). La computadora utiliza un conjunto de ocho (8) dgitos binarios (0 y 1) para
representar un carcter, sea nmero o letra. Cada conjunto de 8 dgitos binarios se
denomina byte y cada uno de los ocho dgitos del byte se llama bit, como contraccin
de su nombre en ingls Binary Digit. (formulado por Claude Elwood Shanon en 1948,
que significa dgito binario).
El bit es la unidad de medida de informacin mnima por excelencia. Un bit puede
brindar slo dos clases de informacin: prendido apagado, si no, uno cero.
Digitalizar consiste en traducir toda la realidad a unos y ceros. La transicin digital se
produce en tanto todos los aspectos de la realidad se convierten en un conjunto de
bits, de manera que puedan ser preservados, manipulados y distribuidos a travs de
una herramienta comn: la computadora.
Una vez convertidos en bits, la informacin puede ser procesada y manipulada con
gran rapidez por las computadoras, puede reproducirse infinitamente sin prdidas de
calidad respecto del original y puede ser transportada y distribuida a la velocidad de la
luz.
En el Sistema Binario slo se emplean dos dgitos, con dos posibles valores 0 1,
equivalente a encendido apagado, si no, etc. En la siguiente tabla se muestra la
comparacin entre sistema binario y decimal:

binario

decimal

binario

decimal

binario

decimal

101

1010

10

110

1011

11

10

111

1100

12

11

1000

1101

13

100

1001

1110

14

Para medir la cantidad de informacin que se puede almacenar, o que est almacenado
en algn dispositivo, se utilizan los siguientes mltiplos del Byte: La abreviatura b se
utiliza para bits y B para bytes.
* Nibble o cuarteto Es el conjunto de cuatro bits (1001).
* Byte u octeto Es el conjunto de ocho bits (10101010).
* Kilobyte (Kb) Es el conjunto de 1024 bytes (1024*8 bits).210
* Megabytes (Mb) Es el conjunto de 1024 Kilobytes (10242*8 bits).220
* Gigabytes (Gb) Es el conjunto de 1024 Megabytes (10243*8 bits).230
* Terabyte (Tb) Es el conjunto de 1024 Gigabytes (10244*8 bits).240
* Petabyte (Pb) Es el conjunto de 1024 Terabyte (10245*8 bits)250
* Exabyte(Eb) Es el conjunto de 1024 Petabyte (10246*8 bits)260
* Zettabyte (Zb) - Es el conjunto de 1024 Exabyte (10247*8 bits)270
* Yottabyte (Yb) - Es el conjunto de 1024 Zettabyte (10248*8 bits)280
Los datos constan de los siguientes elementos:

* Nombre: que permite distinguirlo de los restantes elementos.


* Tamao: define los caracteres o nmeros que se pueden utilizar para definir su valor.
* Tipo: describe si el elemento est constituido por caracteres alfabticos, numricos o
smbolos especiales.
Las fuentes de obtencin de datos pueden provenir de los siguientes medios:

* Internos: Son provistos dentro de la organizacin (por distintos sectores o del propio
personal de la empresa)
* Externos: Son aquellos que provienen fuera de la organizacin (provisto por clientes,
bancos, proveedores, etc.)
La jerarqua de los datos:

JERARQUA
BIT

REPRESENTACIN
Que representa.

EJEMPLOS
01

CARCTER

Carcter espec., nmero o letra.

10101010

CAMPO

Conjunto de caracteres.

Garca

REGISTRO

Conjunto de campos.

Jos / Garca / 17 / San Martn

ARCHIVO

Conjunto de registros.

Carlos / Lopez / 19 /San


Andrs
Pedro / Luna / 18 / Villa
Ballester

TABLAS

Conj. De registros de igual


estructura.

Carlos / Lopez / 19 /San


Andrs
Pedro / Luna / 18 / Villa
Ballester

BASE DE
DATOS

Archivos relacionados

Archivo de clientes
Archivo de ventas
Archivo de personal

Representacin interna de datos


Los caracteres (nmeros, letras y caracteres especiales) para almacenarlos o
ingresarlos al sistema electrnico y tenerlos en algn rea de entrada en memoria, se
codifican en binario siguiendo algn formato de transformacin en byte segn un
esquema de codificacin predefinido.
Los dos formatos ms difundidos son el ASCII (American Standard Code of Information
Interchange Cdigo estndar de EE.UU para intercambio de Informacin) y el
EBCDIC (Extended Binary Code/Decimal Interchange Code Cdigo ampliado de
intercambio decimal codificado en binario), que utilizan 8 bits para conformar un byte,
en el que se almacena un carcter.
EBCDIC utiliza 8 bits para formar un byte. ASCII utiliza 7 bits para el mismo propsito.
Por lo tanto en EBCDIC tenemos 256 combinaciones diferentes (28) para representar
igual nmero de caracteres por byte, mientras que en ASCII la posibilidad se limita a
128 alternativas (27) y la versin de ASCII extendido utiliza 8 bits o sea 256
combinaciones diferentes (28).
Muchas veces tambin se utiliza el sistema de numeracin hexadecimal (base 16) para
exponer la informacin de un byte, simplificando la lectura al representar las 256

alternativas del byte (FF representa el nmero binario 1111 1111, es decir, la ltima
combinacin posible de las 256 binarias en 8 bits).
Cada tipo de informacin que se digitaliza necesita de mayor o menor cantidad de bits
para ser representada. Una pgina de texto plano ocupa 2 Kb. Pero al trabajar con otro
tipo de informacin (texto con formato, grficos, sonidos, etc., las cantidades de bits
aumentan significativamente.
Ejemplos:

Fotografa digital comprimida entre 100 y 500 Kb


Minuto de audio formato wav 10 Mb
Minuto de audio en formato mp3 1 Mb
Para digitalizar textos se utiliza el cdigo ASCII. (tecla Alt + nmero de cdigo) Ej: Alt
64.

Constantes

def: Una constante es un dato cuyo valor no puede cambiar


durante la ejecucin del programa. Recibe un valor en el
momento de la compilacin y este permanece inalterado
durante todo el programa.
Como ya se ha comentado en el tema sobre las partes de un
programa, las constantes se declaran en una seccin que
comienza con la palabra reservada const. Despus de declarar
una constante ya puedes usarla en el cuerpo principal del
programa. Tienen varios usos: ser miembro en unaexpresion, en
una comparacin, asignar su valor a una variable, etc.
En el siguiente ejemplo se contemplan varios casos:
const
Min
Max
Sep
var
i :
begin

= 0;
= 100;
= 10;
integer;

i := Min;
while i < Max do begin
writeln(i);
i := i + Sep
end
end.

En este ejemplo se declaran tres constantes (Min, Max y Sep).


En la primera lnea del cuerpo del programa se asigna una
constante a una variable. En la siguiente, se usa una constante
en una comparacin. Y en la cuarta, la constante Sep interviene
en una expresin que se asigna a una variable. El resultado de
ejecutar este programa sera una impresin en pantalla de los
nmeros: 0, 10, 20, 30, 40, 50, 60, 70, 80 y 90.

Se puede hacer una divisin de las constantes en tres clases:


constantes literales (sin nombre)
constantes declaradas (con nombre)
constantes expresin

Constantes literales
Son valores de cualquier tipo que se utilizan directamente, no se
declaran ya que no tienen nombre. En el siguiente ejemplo
tienes un par de constantes literales (el 3, el 4, y el 3.1416):
VolumenEsfera:=4/3*3.1416*Radio
*Radio*Radio;

Constantes declaradas
Tambin llamadas constantes con nombre, son las que se
declaran en la seccin const asignndoles un valor
directamente. Por ejemplo:
const

Pi=3.141592;(*valorreal*)
Min=0;(*entero*)
Max=99;(*entero*)
Saludo='Hola';(*cadenacaract.*)

Constantes expresin
Tambin se declaran en la seccin const, pero a estas no se les
asigna un valor directamente, sino que se les asigna
una expresin. Esta expresin se evala en tiempo de
compilacin y el resultado se le asigna a la constante. Ejemplo:
const
Min=0;
Max=100;
Intervalo=10;
N=(MaxMin)divIntervalo;
Centro=(MaxMin)div2;

Variables

def: Una variable es un nombre asociado a un elemento de


datos que est situado en posiciones contiguas de la memoria
principal, y su valor puede cambiar durante la ejecucin de un
programa.
Toda variable pertenece a un tipo de dato concreto. En la
declaracin de una variable se debe indicar el tipo al que
pertenece. As tendremos variables enteras, reales, booleanas,
etc. Por otro lado, distinguimos tres partes fundamentales en la
vida de una variable:
Declaracin
Iniciacin

Utilizacin

Declaracin de variables
Esta es la primera fase en la vida de cualquier variable. La
declaracin se realiza en la seccin que comienza con la
palabra var. Si quieres ms informacin, puedes ir al apartado
que trata sobre la declaracin de variables en el
tema Estructura de un programa.
Nota: Toda variable que vaya a ser utilizada en Pascal tiene
que ser previamente declarada.

Iniciacin de variables
Esto no es ms que darle un valor inicial a una variable. As
como lo primero que se hace con una variable es declararla, lo
siguiente tiene que ser iniciarla. Esto se hace para evitar
posibles errores en tiempo de ejecucin, pues una variable tiene
un valor indeterminado despus de declararla. Principalmente,
existen dos maneras de otorgar valores iniciales a variables:
Mediante una sentencia de asignacin
Mediante uno de los procedimientos de entrada de datos
(read o readln)
Veamos un ejemplo que rene los dos casos:
begin
...
i:=1;
readln(n);
while i < n do begin
(* cuerpo del bucle *)
i := i + 1
end;
...
end.

Utilizacin de variables
Una vez declarada e iniciada una variable, es el momento de
utilizarla. Esta es la parte que presenta un mayor abanico de
posibilidades. A continuacin tienes unas cuantas:
Incrementar su valor:
i:=i+1
Controlar un bucle:
fori:=1to10do...
Chequear una condicin:
ifi<10then...
Participar en una expresin:
n:=(MaxMin)divi
Y otras que ya irs descubriendo

Diferencias entre ambas

Despus de haber visto cada una por separado, pasemos a


explicar las diferencias que existen entre constantes y variables.
A primera vista pudieran parecer conceptos similares, pero
realmente son cosas muy distintas. Y esta distincin viene dada
por la posibilidad que tienen las variables paracambiar de
valor.

Principales diferencias:
Las constantes ya reciben un valor inicial en su declaracin

Las variables primero se declaran, luego se inician, y luego


se usan
Las constantes, una vez declaradas mantienen su valor
durante toda la ejecucin del programa
En cambio, las variables pueden cambiar su valor tantas
veces como deseen
Adems de cambiar su valor, las variables tambin pueden
cambiar de tamao en tiempo de ejecucin (punteros)
Nota: En el ltimo punto se alude a las variables que cambian su
tamao. Como curiosidad saber que se denominan variables
dinmicas o punteros, pero debido a su complejidad no son
objeto de este tutorial. Todas las dems variables son estticas y
se tratarn las ms significativas.

Ejemplo
A continuacin tienes un ejemplo con el que puedes interactuar
para que repases algunos de los conceptos que se han tratado
en este tema. En l puedes observar cmo se encuentran los
valores de dos variables y una constante en varios puntos del
programa.

Nota: Debido a la ltima sentencia, el ejemplo no compilara.


Pero se incluye para que veas que no puedes cambiar el valor de
una constante.

Las expresiones: operandos y operadores


Una expresin es una combinacin de operandos y operadores.
Los operandos pueden ser:
Constantes literales o con nombre

Variables
Otras expresiones
Lo que se hace con una expresin es evaluarla para que
devuelva un valor.

Tipos de expresiones
Dentro de las expresiones distinguimos dos clases segn el tipo
de datos que devuelven al evaluarlas:
Aritmticas: las que devuelven un valor numrico
Lgicas: las que devuelven true o false
Las expresiones se utilizan fundamentalmente en
las asignaciones y en las partes condicionales de las
sentencias if, while y repeat. Esto puedes verlo en el siguiente
ejemplo:
begin
i:=1;
encontrado:=false;
while(i<final)and(notencontrado)do
begin
(*mirarelelementoenlaposicioni*)
(*sies,cambiamos"encontrado"a"true"
*)
i:=i+1
end
end.
El ejemplo trata de una bsqueda en un conjunto ordenado de
elementos. En el while se chequea: si hay ms elementos y si
aun no lo hemos encontrado. Si no se cumple alguna de las dos
condiciones se sale del bucle.

Evaluacin de expresiones
Para evaluar una expresin no hay que hacer nada del otro

mundo, pues es bien sencillo. Slo hay que saber sumar, restar,
si un nmero es mayor que otro, ...
Hay tres reglas de prioridad a seguir para evaluar una expresin:
Primero, los parntesis (si tiene)
Despus, seguir el orden de prioridad de operadores
Por ltimo, si aparecen dos o ms operadores iguales, se
evalan de izquierda a derecha.

El proceso de resolucin de un problema


El proceso de resolucin de un problema con una computadora conduce a la escritura de un
programa y a su ejecucin en la misma. Aunque el proceso de disear programas es
esencialmente un proceso creativo, se pueden considerar una serie de fases o pasos
comunes, que generalmente deben seguir todos los programadores.
Tabla de contenidos
1.Definicin del problema
2.Anlisis del problema
3.Seleccin de la mejor alternativa
4.Diagramacin
5.Prueba de escritorio
6.Codificacin
7.Trascripcin
8.Compilacin
9.Pruebas de computador
10.Documentacin externa
Las siguientes son las etapas que se deben cumplir para resolver con xito un problema de
programacin:
1.- DEFINICIN DEL PROBLEMA
Est dada por el enunciado del problema, el cul debe ser claro y completo. Es importante

que conozcamos exactamente que se desea del computador; mientras qu esto no se


comprenda, no tiene caso pasar a la siguiente etapa.
2.- ANLISIS DEL PROBLEMA
Entendido el problema (que se desea obtener del computador), para resolverlo es preciso
analizar:
*Los datos o resultados que se esperan.
*Los datos de entrada que nos suministran.
*El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados.
*reas de trabajo, frmulas y otros recursos necesarios.
Una recomendacin muy prctica es el que nos pongamos en el lugar del computador, y
analizar que es necesario que me ordenen y en que secuencia, para poder producir los
resultados esperados. Tambin da buenos resultados hacer similitudes con la labor de un
empleado que hace el mismo trabajo que deseamos programarle al computador.
3.- SELECCIN DE LA MEJOR ALTERNATIVA
Analizado el problema, posiblemente tengamos varias formas de resolverlo; lo importante es
determinar cul es la mejor alternativa: la que produce los resultados esperados en el menor
tiempo y al menor costo. Claro que aqu tambin es muy vlido el principio de que las cosas
siempre se podrn hacer de una mejor forma.
4.- DIAGRAMACIN
Una vez que sabemos cmo resolver el problema, pasamos a dibujar grficamente la lgica
de la alternativa seleccionada. Eso es precisamente un Diagrama de Flujo: la representacin
grfica de una secuencia lgica de pasos a cumplir por el computador para producir un
resultado esperado.
La experiencia nos ha demostrado que resulta muy til trasladar esos pasos lgicos
planteados en el diagrama a frases que indiquen lo mismo; es decir, hacer una codificacin del
programa pero utilizando instrucciones en Espaol. Como si le estuviramos hablando al
computador. Esto es lo que denominaremos Algoritmo o Pseudocdigo.
Cuando logremos habilidad para desarrollar programas, es posible que no elaboremos el
diagrama de flujo; en su lugar podremos hacer directamente el pseudocdigo del programa.
5.- PRUEBA DE ESCRITORIO
Para cerciorarnos de que el diagrama (y/o el pseudocdigo) esta bien, y, para garantizar que
el programa que codifiquemos luego tambin funcione correctamente, es conveniente
someterlo a una Prueba de Escritorio. Esta prueba consiste en que damos diferentes datos de

entrada al programa y seguimos la secuencia indicada en el diagrama, hasta obtener los


resultados.
El anlisis de estos nos indicar si el diagrama esta correcto o si hay necesidad de hacer
ajustes (volver al paso 4). Se recomienda dar diferentes datos de entrada y considerar todos
los posibles casos, aun los de excepcin o no esperados, para asegurarnos de que el
programa no producir errores en ejecucin cuando se presenten estos casos.
6.- CODIFICACIN
Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio, codificamos
el programa en el lenguaje de computador seleccionado. Esto es, colocamos cada paso del
diagrama en una instruccin o sentencia, utilizando un lenguaje que el computador reconoce.
Todos los lenguajes de programacin proveen facilidades para incluir lneas de comentarios
en los programas. Estos comentarios aclaran lo que se ordena al computador y facilitan
entender el programa. Puesto que estos comentarios no son tenidos en cuenta como
instrucciones, y aparecen en los listados del programa, resulta muy conveniente agregar
abundantes comentarios a todo programa que codifiquemos. Esto es lo que se denomina
Documentacin Interna.
7.- TRANSCRIPCIN
El programa codificado es necesario que lo llevemos a un medio que sea aceptado como
entrada por el computador: lo perforamos en tarjetas, lo grabamos en un disco flexble o lo
grabamos en un disco duro. Este programa es el que se conoce como Programa Fuente
(Source).
8.- COMPILACIN
Utilizamos ahora un programa de computador llamado Compilador o Traductor, el cal analiza
todo el programa fuente y detecta errores de sintaxis ocasionados por fallas en la codificacin
o en la transcripcin. Las fallas de lgica que pueda tener nuestro programa fuente no son
detectadas por el compilador. Cuando no hay errores graves en la compilacin, el compilador
traduce cada instruccin del programa fuente a instrucciones propias de la mquina (Lenguaje
de Maquina), creando el Programa Objeto.
Algunos computadores utilizan Interpretadores, (Generalmente para el Lenguaje Basic), en
reemplazo de programas compiladores. La diferencia consiste en que el interpretador recibe,
desde una terminal, slo una instruccin a la vez, la analiza y, si esta bien, la convierte al
formato propio de la maquina. Si la instruccin tiene algn error, el interpretador llama la
atencin de la persona para que corrija dicha instruccin.

Como resultado de la corrida del compilador, podemos obtener varios listados:


*Listado del programa fuente
*Listado de los errores detectados
*Listado de campos utilizados, etc.
Los errores los debemos corregir sobre el mismo programa fuente, ya sea reemplazando las
tarjetas mal perforadas o regrabando en el disco flexible o en el disco duro. Este paso de la
compilacin lo repetimos hasta eliminar todos los errores y obtener el programa ejecutable.
9.- PRUEBAS DE COMPUTADOR
Cuando tenemos el programa ejecutable (en lenguaje de maquina), ordenamos al computador
que lo ejecute, para lo cul suministramos datos de prueba, como lo hicimos en la prueba de
escritorio (paso 5). Los resultados obtenidos los analizamos, luego de lo cul puede ocurrir
cualquiera de estas situaciones:
a.- La lgica del programa esta bien, pero hay errores sencillos, los cuales los corregimos
modificando algunas instrucciones o incluyendo unas nuevas; el proceso debemos repetirlo
desde el paso 6 .
b.- Hay errores ocasionados por fallas en la lgica, lo que nos obliga a regresar a los pasos 4
y 5 para revisin y modificacin del diagrama.
c.- Hay errores muy graves y lo ms aconsejable es que regresemos al paso 2 para analizar
nuevamente el problema, y repetir todo el proceso.
d.- No hay errores y los resultados son los esperados. En este caso, el programa lo podemos
guardar permanentemente en una librera o biblioteca del computador, para sacarlo de all
cuando necesitemos ejecutarlo nuevamente.
10.- DOCUMENTACIN EXTERNA
Cuando el programa ya se tiene listo para ejecutar, es conveniente que hagamos su
documentacin externa siguiendo las normas de la instalacin o las recomendaciones
indicadas por el profesor. Una buena documentacin incluye siempre:
-Enunciado del problema
-Diagrama de pasada
-Narrativo con la descripcin de la solucin
-Relacin de las variables o campos utilizados en el programa, cada uno con su respectiva

funcin
-Diagrama del programa
-Listado de la ltima compilacin
-Resultados de la ejecucin del programa

FASES DEL PROCESO DE PROGRAMACIN


Cada vez que se nos plantee programar un determinado problema, es conveniente hacerlo
ordenadamente, siguiendo las fases que se indican a continuacin:
1. Anlisis del problema: esto es conocer el problema antes de proceder a desarrollarlo.
2. Desarrollo de la solucin: hay una desafortunada tendencia por parte de los programadores a
sucumbir el engaoso atractivo de la maquina iniciando la f ase de construccin e instalacin antes de
que el problema esta resueltos realmente.
3. Construccin de la solucin en forma de programa: este proceso es completamente mecnico, ya
que consiste en la construccin en forma de programa real de la solucin desarrollada en el paso 2
siguiendo las reglas del proceso de programacin.
4. Prueba: todo programador experto prueba mentalmente cada instruccin. La nica manera de
probar que un programa funciona correctamente es examinando todos los casos posibles.
5. Documentacin: es imprescindible para la manipulacin del programa as como para su
mantenimiento dentro de los programas.

Representacin grfica de algoritmos.


a) Descripcin Narrada
b) Pseudocdigo
c) Diagramas de Flujo
d) Diagramas N- S (Nassi-Schneiderman o de Chapin)
1 Descripcin Narrada
Este algoritmo es caracterizado porque sigue un proceso de ejecucin
comn y lgico, describiendo textualmente paso a paso cada una de las
actividades a realizar dentro de una actividad determinada.
Ejemplo 1 Algoritmo para asistir a clases:
1. Levantarse
2. Baarse

3. Vestirse
4. Desayunar
5. Cepillarse los dientes
6. Salir de casa
7. Tomar el autobs
8. Llegar al ITCA
9. Buscar el aula
10. Ubicarse en un asiento
2.Descripcin en Pseudocdigo
Pseudo = falso. El pseudo cdigo no es realmente un cdigo sino una
imitacin y una versin abreviada de instrucciones reales para las computadoras.
Es una tcnica para diseo de programas que permite definir las estructuras de
datos, las operaciones que se aplicarn a los datos y la lgica que tendr el
programa de computadora para solucionar un determinado problema. Utiliza un
pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y
los elementos de los lenguajes de programacin. Se concibi para superar las dos
principales desventajas de los flujogramas: lento de crear y difcil de modificar sin
un nuevo redibujo.
Ejemplo 1
Disear un algoritmo que lea cuatro variables y calcule e imprima su
producto, suma y media aritmtica.
inicio
leer (a, b, c, d)
producto <-- (a * b * c * d)
suma <-- (a + b + c + d)
media <-- (a + b + c + d) / 4
escribir (producto, suma, media)

fin
3. Diagramas N-S
Son una herramienta que favorece la programacin estructurada y rene
caractersticas grficas propias de diagramas de flujo y lingsticas propias de
pseudocdigos. Constan de una serie de cajas contiguas que se leern siempre
de arriba-abajo y sus estructuras lgicas son las siguientes:
Estructura Secuencial

4. Diagramas de Flujo.
Son la representacin grfica de la solucin algortmica de un problema.
Para disearlos se utilizan determinados smbolos o figuras que representan una
accin dentro del procedimiento. Utilizan unos smbolos normalizados, con los
pasos del algoritmo escritos en el smbolo adecuado y los smbolos unidos con
flechas, denominadas lneas de flujo, que indican el orden en que los pasos deben
ser ejecutados.

Para su elaboracin se siguen ciertas reglas:


Se escribe de arriba hacia abajo y de izquierda a derecha
Siempre se usan flechas verticales u horizontales, jams curvas
Evitar cruce de flujos
En cada paso expresar una accin concreta
Secuencia de flujo normal en una solucin de problema
Tiene un inicio
Una lectura o entrada de datos
El proceso de datos
Una salida de informacin
Un final
Simbologa para disear flujogramas.

VENTAJAS DE USAR FLUJOGRAMAS

Rpida comprensin de las relaciones


Anlisis efectivo de las diferentes secciones del programa
Pueden usarse como modelos de trabajo en el diseo de nuevos
programas o sistemas
Comunicacin con el usuario
Documentacin adecuada de los programas
Codificacin eficaz de los programas
Depuracin y pruebas ordenadas de programas
DESVENTAJAS DE LOS FLUJOGRAMAS
Diagramas complejos y detallados suelen ser laboriosos en su
planteamiento y diseo
Acciones a seguir tras la salida de un smbolo de decisin, pueden ser
difciles de seguir si existen diferentes caminos
No existen normas fijas para la elaboracin de los diagramas de flujo que
permitan incluir todos los detalles que el usuario desee introducir.
Representando el ejemplo como flujograma tenemos:

El pseudocdigo
El pseudocdigo (o falso lenguaje) es comnmente utilizado por los
programadores para omitir secciones de cdigo o para dar una
explicacin del paradigma que tom el mismo programador para hacer
sus cdigos, esto quiere decir que el pseudocdigo no es programable
sino facilita la programacin.
El principal objetivo del pseudocdigo es el de representar la solucin a
un algoritmo de la forma ms detallada posible, y a su vez lo ms
parecida posible al lenguaje que posteriormente se utilizar para la
codificacin del mismo
El pseudocdigo utiliza para representar las acciones sucesivas palabras
reservadas en ingls (similares a sus homnimos en los lenguajes de
programacin), tales como star,begin, end, stop, if-then-else, while,
repeat-until.etc

Es un lenguaje de especificacin de algoritmos. El uso de tal lenguaje


hace el paso de codificacin final (esto es, la traduccin a un lenguaje de
programacin) relativamente fcil.
El pseudocdigo naci como un lenguaje similar al ingls y era un medio
representar bsicamente las estructuras de control de programacin
estructurada. Se considera un primer borrador, dado que el
pseudocdigo tiene que traducirse posteriormente a un lenguaje de
programacin. Cabe sealar que el pseudocdigo no puede ser
ejecutado por una computadora.
Segn Anala Lanzillotta: "Considerado como un lenguaje falso, el
pseudocdigo es un lenguaje intermedio entre nuestro lenguaje y el de
programacin, debido a que quien lo utiliza se gua por una serie de
normas pero sin llegar a usar una estructura tan rgida como la del
lenguaje de programacin.
El objetivo al que apunta es que quien lo pone en prctica se centre ms
en la solucin del algoritmo o el diseo de un software que en el
programa que utiliza para crearlo. Y esto es posible porque es ms fcil
de manipular ya que no tiene que tener en mente el lenguaje en s y
adems, ms fcil de codificar.
Por ejemplo, si alguien tiene que hacer un software con un fin
determinado, utiliza un pseudocdigo propio en donde confluyen frases
del lenguaje coloquial y algunas palabras de programacin, y una vez
que se logra concretar el software, se puede pasar al escaln siguiente
que es el de la transformacin al lenguaje de programacin formal que
se vaya a utilizar.
De esta manera, al ser un lenguaje intermedio, no tiene una
composicin estandarizada por lo que no todos los programadores
utilizan la misma sintaxis con exactitud. Pero a la vez, como es una
herramienta que est un paso previo al lenguaje formal de
programacin, es fcil de transformar al que ser ejecutado en la
computadora.