Está en la página 1de 11

DESARROLLO HISTORICO DEL LENGUAJE ESTRUCTURADO

El teorema del programa estructurado proporciona la base terica de la programacin


estructurada. Afirma que tres maneras de combinar programas: secuenciacin, la seleccin y la
iteracin son suficientes para expresar cualquier funcin computable. Esta observacin no se
origin con el movimiento de programacin estructurada; estas estructuras son suficientes para
describir el ciclo de instruccin de una unidad de procesamiento central, as como el
funcionamiento de una mquina de Turing. Por lo tanto, un procesador siempre est ejecutando
un "programa estructurado" en este sentido, incluso si las instrucciones que lee de la memoria no
forman parte de un programa estructurado. Sin embargo, autores generalmente crdito el
resultado a un documento de 1966 por Bhm y Jacopini, posiblemente porque Dijkstra haba
citado este documento a s mismo. El teorema del programa estructurado no aborda cmo escribir
y analizar un programa estructurado de manera til. Estas cuestiones fueron abordadas durante la
dcada de 1960 y principios de los 70, con importantes contribuciones por Dijkstra, Robert w.
Floyd, Tony Hoare y David Gries.

Estructura general de un programa


Estructura general de un programa. Un programa puede considerarse como una
secuencia de acciones (instrucciones) que manipulan un conjunto de objetos (datos).

Bloques de un programa
Bloque de declaraciones: en l se especifican todos los objetos que utiliza el
programa (constantes, variables, tablas, registros, archivos, etc.).
Bloque de instrucciones: constituido por el conjunto de operaciones que se han de
realizar para la obtencin de los resultados deseados.
Estructura general de un programa

Partes principales de un programa


Dentro del bloque de instrucciones de un programa se pueden diferenciar tres partes
fundamentales. En algunos casos, estas tres partes estn perfectamente delimitadas, pero
en la mayora sus instrucciones quedan entremezcladas a lo largo del programa, si bien
mantienen una cierta localizacin geomtrica impuesta por la propia naturaleza de las
mismas.

Entrada de datos: la constituyen todas aquellas instrucciones que toman datos de


un dispositivo externo, almacenndolos en la memoria central para que puedan
ser procesados.
Proceso o algoritmo: est formado por las instrucciones que modifican los objetos
a partir de su estado inicial hasta el estado final, dejando stos disponibles en la
memoria central.
Salida de resultados: conjunto de instrucciones que toman los datos finales de la
memoria central y los envan a los dispositivos externos.
Clasificacin de las Instrucciones.

Una instruccin se caracteriza por un estado inicial y final del entorno. El estado final de
una instruccin coincide con el inicial de la siguiente. No siempre una instruccin modifica
el entorno, pues su cometido puede limitarse a una mera observacin del mismo o a un
cambio en el orden de ejecucin de otras. Las instrucciones pueden ser:

Instrucciones de declaracin: Se utilizan en aquellos lenguajes de programacin que


no tienen declaracin explcita de los objetos. Su misin consiste en indicar al
procesador que reserve espacio en la memoria para un objeto del programa,
indicando asimismo su nombre, tipo y caractersticas.
Instrucciones primitivas: Son aquellas que ejecuta el procesador de modo
inmediato. Las principales son asignacin, entrada y salida.
Instruccin de asignacin: Consiste en calcular el valor de una expresin y
almacenarlo en una variable. En algn lenguaje es preciso calcular previamente el
resultado de la expresin, pues la instruccin de asignacin slo permite el
movimiento de un valor simple.
Instruccin de entrada: Toma un dato de un dispositivo de entrada y lo almacena en
un objeto. En algn lenguaje, los datos de entrada no provienen de un dispositivo
externo, sino que han sido colocados previamente en el mismo programa.
Instruccin de salida: Toma el valor de una expresin u objeto y lo lleva a un
dispositivo externo.
Instrucciones compuestas: Son aquellas que el procesador no puede ejecutar
directamente, sino que realiza una llamada a un subprograma, subrutina o prrafo.
Instrucciones de control: Son aquellas de controlar la ejecucin de otras
instrucciones.
Instruccin alternativa: Controla la ejecucin de unas u otras instrucciones segn
una condicin. Puede ser simple o doble (SI y SINO).
Instruccin de salto incondicional: Altera la secuencia normal de ejecucin de un
programa, continuando la misma en la lnea indicada en la propia instruccin (IR A).
Instruccin de salto condicional: Altera la secuencia normal de ejecucin de un
programa nicamente en el caso de cumplimiento de una condicin asociada a la
propia instruccin (SI.. IR A).
Instruccin repetitiva: Hace que se repitan una o varias instrucciones un nmero
determinado o indeterminado de veces (PARA, MIENTRAS, HASTA e ITERAR).

Elementos auxiliares de un programa


Son variables que realizan funciones especficas dentro de un programa, y por su gran
utilidad, frecuencia de uso y peculiaridades, conviene hacer un estudio separado de las
mismas. Las ms importantes son:
Contadores: Un contador es un campo de memoria cuyo valor se incrementa en una
cantidad fija, positiva o negativa, generalmente asociado a un bucle. Toma un valor
inicial antes de comenzar su funcin, y cada vez que se realiza el suceso, incrementa
su valor. Se utiliza en los siguientes casos:
o Para contabilizar el nmero de veces que es necesario repetir una accin
(variable de control de un bucle).
o Para contar un suceso particular solicitado por el enunciado del problema
(asociado a un bucle o independientemente).
Acumuladores: Un acumulador es un campo de memoria cuyo valor se incrementa
sucesivas veces en cantidades variables. Se utiliza en aquellos casos en que se desea
obtener el total acumulado de un conjunto de cantidades, siendo preciso
inicializarlo con el valor 0. Tambin en las situaciones en que hay que obtener un
total como producto de distintas cantidades se utiliza un acumulador, debindose
inicializar con el valor 1.
Interruptores (switches): Un interruptor es un campo de memoria que puede tomar
dos valores exclusivos (0 y 1, -1 y 1, FALSO y CIERTO, etc.). Se utiliza para:
o Recordar en un determinado punto de un programa la ocurrencia o no de
un suceso anterior, para salir de un bucle o para decidir en una instruccin
alternativa qu accin realizar.
o Para hacer que dos acciones diferentes se ejecuten alternativamente dentro
de un bucle.

Tipos de programas
Un programa, por lo general, estar compuesto por una secuencia de acciones, algunas de
las cuales sern alternativas o repetitivas. En determinados programas sencillos, no se da
esta mezcla de acciones, en cuyo caso se pueden clasificar como sigue:

Programas lineales: consisten en una secuencia de acciones primitivas (su ejecucin


es lineal en el orden en que han sido escritas).
Programas alternativos: consisten en el anidamiento de acciones alternativas (las
tablas de decisin se realizan mediante programas alternativos).
Programas cclicos: son aquellos en los que un conjunto de acciones se repiten un
nmero determinado o indeterminado de veces (un programa de este tipo se
denomina bucle).

Otra clasificacin relativa a la aplicacin desarrollada por el programa es:

Programas de gestin: se caracterizan por el manejo de gran cantidad de datos con


pocos clculos (resuelven problemas de gestin).
Programas tcnicos-cientficos: al contrario que los anteriores, realizan gran cantidad
de clculos con pocos datos (revuelven problemas matemticos, fsicos, etc.).
Programas de diseo (CAD): se caracterizan por la utilizacin de tcnicas grficas
para resolver problemas de diseo.
Programas de simulacin: intentan reflejar una situacin real, para facilitar su
estudio.
Programas educativos (EAO): utilizan las ventajas del ordenador para la docencia.
Programas de inteligencia artificial: se utilizan para simular el razonamiento
humano.

Lenguajes de programacin.
Un lenguaje de programacin es una notacin para escribir programas, es decir, para
describir algoritmos dirigidos al computador. Un lenguaje viene dado por una gramtica o
conjunto de reglas que se aplican a un alfabeto. El primer lenguaje de programacin que se
utiliz fue el lenguaje mquina, el nico que entiende directamente el computador, cuyo
alfabeto es el binario, formado por los smbolos 0 y 1. El lenguaje ensamblador, result de
la evolucin del lenguaje mquina, al sustituir las cadenas de smbolos binarios por
nemotcnicos. Posteriormente surgieron los lenguajes de alto nivel, cuya evolucin es:

1955: FORTRAN.
1960: LISP, ALGOL, COBOL.
1965: APL, SNOBOL, PL/1, BASIC.
1970: PROLOG, ALGOL68, SIMULA67.
1975: C, PASCAL.
1980: MODULA-2, LIS, EUCLID.
1985: ADA.

Los lenguajes de programacin pueden clasificarse de la siguiente manera:

Segn su parecido con el lenguaje natural:


o Bajo nivel: lenguajes mquina y ensambladores.
o Alto nivel: todos los dems.
Segn la estructura de los programas:
o Convencionales o lnea a lnea: ensambladores, FORTRAN, BASIC, COBOL,
etc.
o Estructurados: Algol, PL/I, Pascal, Ada, COBOL estructurado, etc.
Segn la realizacin de los programas:
o Funcionales: Lisp, Prolog, APL, etc.
o Imperativos: la mayora.
Segn el tipo de proceso:
o Interactivos o conversacionales: BASIC, Pascal, APL, etc.
o Orientados al proceso por lotes (batch): COBOL, FORTRAN, PL/I, etc.
factorial.
Palabras reservadas
Las palabras reservadas son aquel grupo de identificadores (palabras) que no pueden ser
utilizadas por el usuario para nombrar a las variables, funciones, procedimientos, objetos
y dems elementos de programacin que cree.

Generalmente esto se debe a que el propio lenguaje de programacin ya las utiliza, por
esta razn, las palabras reservadas no pueden ser empleadas como identificadores
definidos por el usuario.

Cada lenguaje de programacin tiene su propio grupo de palabras reservadas, pero en


general coinciden algunas de las siguientes: and, array, begin, case, const, default, do,
else, end, file, for, function, goto, if, in, label, mod, not, of, or, repeat, return, then, to,
type, until, void, while, etc. - See more at:

Todo programa en Pascal esta formado por un bloque de instrucciones principal que
empieza con la palabra reservada BEGIN y terminan con END y un punto al final. Dentro
del bloque se colocan las instrucciones que se ejecutarn por el programa, adems estn
las declaraciones de variables, constantes y tipos de datos que hemos estudiado en los
captulos anteriores. La declaracin de las variables, constantes y tipos de datos siempre
se deben escribir antes del bloque de instrucciones principal, que empieza con la palabra
reservada BEGIN y termina con la palabra reservada END. Si el programa comienza a usar
instrucciones con estructuras de control que requieren de bloques de instrucciones, estos
bloques se construyen con las palabras reservadas BEGIN y END, terminadas con un punto
y coma.

Todo lo explicado anteriormente corresponde a lo que se denomina mtodo de


programacin estructurada, pero la base fundamental de la programacin estructurada
son los procedimientos y funciones. La declaracin de procedimientos y funciones se
hace siempre antes del bloque de instrucciones principal, toda funcin o procedimiento
necesita de un identificador, y el uso de las palabaras reservadas procedure y function,
veamos un ejemplo:

{$codepage UTF8}
VAR a,b,c:integer;

PROCEDURE Lectura;
Begin
Write('Ingrese primer sumando : ');readln(a);
Write('Ingrese segundo sumando : ');readln(b);
End;

FUNCTION Suma:integer;
Begin
Suma:=a+b;
End;

BEGIN
Lectura;
c:=Suma;
Writeln('La Suma es ',c);
END.

El programa declara un procedimiento llamado Lectura, y una funcin llamado Suma,


como se puede observar la diferencia entre un procedimiento y una funcin, es que la
funcin devolver siempre un resultado, en este caso devolver la suma de las variables a
y b. Tambin en la funcin Suma despus del identificador se debe indicar que tipo de
dato devolver la funcin, en este caso se le indica a la funcin que devuelva un tipo de
dato entero.

El encabezado de una funcin o procedimiento est compuesto por el identificador y el


tipo de dato devuelto cuando es una funcin, y adems el encabezado de una funcin o
procedimiento debe terminar siempre con un punto y coma.

Las instrucciones que se usarn por los procedimientos y funciones se deben encerrar
entre un Begin y End, terminando este bloque en un punto y coma.

El orden en que se declaran las variables, constantes, tipos de datos, procedimientos y


funciones en un programa depende mucho de como se usan estos elementos, es decir en
nuestro ejemplo la funcin suma hace uso de las variables a y b, entonces estas variables
deben ser declaradas o definidas antes de escribir o declarar la funcin, lo mismo sucede
con los tipos de datos, constantes, variables, procedimientos y funciones.

Dentro de los procedimientos y funciones, tambin se pueden crear o definir sus propias
constantes, tipos de datos, variables, funciones y procedimientos, de manera muy
parecida a un programa, pero las declaraciones de estos elementos slo se podrn usar
dentro de los procedimientos y funciones, a continuacin un ejemplo:

{$codepage UTF8}
VAR x1,x2,y1,y2:double;
a,b,c:double;

PROCEDURE RaizCuadraticaEc;

function Discriminante:double;
Begin
Discriminante:=(b*b)-(4*a*c);
End;

var disc:double;

Begin
disc:=Discriminante;
if (disc>=0)
then Begin
x1:=(-b+sqrt(disc))/(2*a);
x2:=(-b-sqrt(disc))/(2*a);
y1:=0;
y2:=0;
End
else Begin
x1:=-b/(2*a);
x2:=-b/(2*a);
y1:=(sqrt(-disc))/(2*a);
y2:=-(sqrt(-disc))/(2*a);
End
End; //Aqui termina el procedimiento RaizCuadraticEc

BEGIN
Write('a = ');readln(a);
Write('b = ');readln(b);
Write('c = ');readln(c);
RaizCuadraticaEc;
Writeln('Parte Real');
Writeln('x1 = ',x1:3:3);
Writeln('x2 = ',x2:3:3);
Writeln('Parte Imaginaria');
Writeln('y1 = ',y1:3:3);
Writeln('y2 = ',y2:3:3)
END.

El programa anterior nos permite hallar las races de una ecuacin cuadrtica, ingresando
sus tres valores constantes a,b,c. En este programa se hace uso del procedimiento Raz
Cuadrtica Ec, que tiene en su interior una funcin llamada Discriminante, que calcula el
discriminante de la ecuacin cuadrtica; y una variable disc de tipo doubl, que guarda el
resultado de la funcin anterior, ambos elementos slo se pueden usar dentro del
procedimiento Raz Cuadrtica Ec, haciendo de esta manera el uso de los mismos privado
y exclusivo slo para las instrucciones del procedimiento Raz Cuadrtica Ec.
Las variables x1, x2, y1, y2 y a, b, c se les conoce como variables globales, ya que se
pueden usar en cualquier parte del programa y tambin dentro de cualquier funcin y
procedimiento creado o escrito despus de la declaracin de las variables. La variable
disc, que se encuentra en el procedimiento Raz Cuadrtica Ec se conoce como una
variable local y slo se puede usar dentro del procedimiento o funcin en donde fue
creado. Adems de lo explicado se puede observar tambin el uso de la funcin sqrt, esta
funcin nos devuelve la raz cuadrada de un nmero real cualquiera.

Representacin de datos

Para entender la manera en que las computadoras procesan datos, es importante conocer
cmo la computadora representa los datos. Las personas se comunican a travs del habla
combinando palabras en oraciones. El habla humana es anloga porque utiliza seales
continuas que varan en fortaleza y calidad. Las computadoras son digitales, pues
reconocen solo dos estados: encendido (on) y apagado (off). Esto es as porque las
computadoras son equipos electrnicos que utilizan electricidad, que tambin tiene solo
dos estados: on y off. Los dos dgitos 0 y 1 pueden fcilmente representar estos dos
estados. El dgito cero representa el estado electrnico apagado (la ausencia de carga
electrnica). El dgito uno representa el estado electrnico encendido (presencia de carga
electrnica).

El

sistema binario es un sistema numrico que tiene tan solo dos dgitos, 0 y 1, llamados bits. Un bit
(binary digit) es la unidad de datos ms pequea que la computadora puede representar. Por s solo,
un bit no es muy informativo. Cuando ocho bits se agrupan como una unidad, forman un byte. El
byte es informativo porque provee suficientes combinaciones diferentes de 0 y 1 para representar
256 caracteres individuales. Esos caracteres incluyen nmeros, letras maysculas y minsculas,
signos de puntuacin y otros.

Las combinaciones de 0 y 1 que representan caracteres son definidas por patrones llamados
esquemas de cdigos (coding scheme). Esquemas de cdigos populares son:

1. ASCII American Standard Code for Information Interchange es el sistema de cdigo para
representar datos que ms se utiliza. La mayora de las computadoras personales y servidores
mid-range utilizan el esquema de cdigo ASCII.

2. EBCDIC Extended Binary Coded Decimal Interchange Code es utilizado principalmente en


computadoras mainframe.

3. Unicode es el nico esquema de cdigo capaz de representar todos los lenguajes del mundo
actual. Se desarroll precisamente porque el ASCII y el EBCDIC no eran suficientes para
representar lenguajes para alfabetos diferentes al ingls o Europeo, como los asiticos y otros.

Operadores Aritmticos, Relacionales y Lgicos


Para empezar necesitamos saber que es un operador. Bueno podemos decir que es un signo,
cadena de caracteres o incluso una combinacin de los anteriores cuya funcin es de realizar
clculos, comparaciones sobre diferentes tipos de expresiones, variables, constantes o valores.

Operadores Aritmticos
Estos operadores son utilizados para realizar operaciones aritmticas, es decir, para calcular
un valor dando un resultado. Estos poseen un orden de ejecucin, es decir, una jerarqua
que son:

()
^
*, /
\
mod
+, -

y los podemos ver en la siguiente tabla:


Los Operadores Relacionales
Estos operadores son tambin conocidos como operadores de comparacin, comparan dos
expresiones dando un resultado True (verdadero), False (falso) o Null (no vlido) y son los
mostrados en la siguiente tabla:

Los Operadores Logicos

Estos ultimos se utilizan cuando Visual Basic compara 2 expresiones, lo que hace es
regresar uno de dos valores posibles: True o False, pero Visual Basic no entiende True o
False por lo que utiliza valores numricos para representarlos, True o False son valores
booleanos donde 0 es False y 1 es True.

En Visual Basic existen 6 operadores lgicos:

También podría gustarte