Anda di halaman 1dari 14

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:

Anda mungkin juga menyukai