Programación Estructurada
La programación estructurada es una teoría de programación
que consiste en construir programas de fácil comprensión. La programación
estructurada propone segregar los procesos en estructuras lo más simple
posibles, las cuales se conocen como secuencia, selección e *****. Estas están
disponibles en todos los lenguajes modernos de programación imperativa en forma
de sentencias. Combinando esquemas sencillos se pueden llegar a construir
sistemas amplios y complejos pero de fácil entendimiento. La representación
grafica de la programación estructurada se realiza a través de diagramas de
flujo o flow chart, el cual representa el programa con sus entradas, procesos y
salidas.
Lenguaje Pascal
El lenguaje de programación Pascal es un lenguaje de alto
nivel y de propósito general, lo cual quiere decir que se puede que se puede
utilizar para cualquier tipo de propósitos. El lenguaje de programación Pascal
se considera un lenguaje estructurado, sencillo y práctico para todos aquellos
usuarios que se inician en el mundo de la programación, ya que fue creado con
fines de aprendizaje.
Estructura General del
Programa
Todos los programas en Pascal están compuestos por tres partes
muy diferenciadas:
El ENCABEZADO: Aquí ira el nombre del programa
La SECCIÓN DE
DECLARACIÓN es en donde se describen los objetos de datos que se emplearan en
el programa.
La SECCION DEL
PROGRAMA es en donde se especifican las acciones explicitas que deben
efectuarse con dichos objetos de datos.
La
estructura de un programa codificada en Pascal debe ser la que se muestra y no
se deberá alterar el orden de las secciones porque se perderían los
lineamientos de la programación estructurada.
Program Nombre (i,o);
Uses
<librería>;
Label<declaración de etiquetas>;
Const<declaración de constantes>;
Type<declaración de datos definidos por el usuario>;
Var <declaración de variables>;
Procedure<declaración de procedimientos>;
Fuction<declaración de funciones>;
Begin <bloque de
instrucciones>;
End.
Elementos del Lenguaje
de Programación
VARIABLE
Una variable es un objeto que puede asumir diferentes valores durante la ejecución de un programa. ASIGNAR UNA VARIABLE: Asignar es darle un valor a la variable y se realiza de la siguiente forma: variable:*expresión: [Asignación de valor a una variable]
SIGNOS ESPECIALES
{COMENTARIO} O (“COMENTARIO”) =SIGNOS PARA
COMENTARIOS
(;)Signo
para indicar fin de instrucción.
(.)Signo para indicar fin del programa.
(,)Signo
de separación dentro de la misma instrucción.
TIPOS DE DATOS
PREDEFINIDOS
(Variables)
Integer= numero
entero (ejemplos1,-22,45)
Real= numero
con punto flotante (ejemplos: 3.453,-0.98, 0.7687)
Char= carácter
(ejemplos: a, 8, M,”)
Boolean=verdadero
o falso (ejemplos: true, false)
String [n]= Cadena
de caracters (ejemplo: Juan López)
Notación de Operadores
ARITMETICOS
Suma
+
Resta
-
Multiplicación *
División /
Exponenciación **
DIV= Devuelve el cociente entero de una
división
MOD= Devuelve el residuo entero de la división
LÓGICO
Y= AND
O= OR
Negation= NOT
RELACIONALES (comparación)
Mayor que >
Menor que <
Igual a =
Diferente <>
Menor o igual a <=
Mayor o igual a >=
Sintaxis
de Declaraciones
Program: nombre
(i, o);
Uses:<nombre de
librería>;
Label: <entero
sin signos>; 5,15;
Const: <identificador>=<constante>;
PI= 3.1416
Type: <identificador>=
(<identificador>);
Diasdelasem= (dom, lun, mar, mie, jue, vie, sab);
<Identificador>= constante. Constante;
Codigooctal= 0… 7;
<identificador>= ARRAY (<dimensión>)
OF <tipo>;
Cadena= ARRAY (1…10) OF char;
<identificador>= FILE OF<spot>;
Archivoamigos= FILE OF
RECORD
Nombre: ARRAY (1…30) OF char;
Edad: integer
Teléfono: integer;
Domicilio: ARRAY (1…50)
OF char;
Novio: toolean
End, (fin de la declaración de registro)
<identificador>= SET OFF <base tipo>;
Conjuntodeletras= ``a´´…``z´´;
<identificador>= RECORD<listado
de campos> END
Regestudiante= RECORD
Nombre: ARRAY (1…30) OF char;
Edad: integer
Nodecta: integer;
Domicilio: ARRAY (1…50) OF char;
End: (fin de declaración de registro)
Var: <identificador>:<tipo de
dato>;
Entero, x, y: integer;
Puntoflotante, w: real;
Carácter, adod;char;
Verdadero, falso: boolean:
Color: cadena;
Procedure: <identificador>
(var identificador: tipo de dato);
Begin
<bloque de instrucciones>;
End;
Function: <identificador>
(var identificador: tipo de dato; tipo de dato;
Begin;
<Bloque de instrucciones>
End;
Begin:
<bloque de instrucciones>;
End.
Array= arreglo
File= Archivo
Record= Registro
Estructuras de Programación
Las estructuras de
programación son aquellas que permiten la entrada y Salida de los datos, y
controlan el flujo o secuencia del programa.
Entrada
y salida: Estas estructuras
de programación permiten la entrada y salida de datos e información.
Write
Write
(`<tecto>´, variable): (Desplega texto o valor de una variable)
WriteLn
(`<texto>´, variable): (Desplega texto o valor de una variable terminado
con retorno de carro)
Read
Read
(variable9: (Lee una variable)
ReadLn
(variable): (Lee una variable terminando con retorno de carro)
Estructuras de Selección
IF Then{Si
la condición es verdadera se realizarán las instrucciones (a)}
If
(condición) then
Begin <bloque de instrucciones (a)>;
End;
Dagrama de Flujo IF
THEN
IF THEN ELSE {Si
la condición es verdadera se realizaran
las instrucciones (a), de lo contario se realizarán las instrucciones (b)}
If
(condición) then
Begin
<bloque
de instrucciones (a)>
End
Else
Diagrama de Flujo IF
THEN ELSE
CASE
{En caso de presentarse un valor igual
al de la expresión realizar instrucción}
Case expresión of:
Val1: <instrucción>;
Val2: <instrucción>;
Valn: <instrucción>;
End;
Diagrama de Flujo CASE
Estructuras
Repetitivas: Las estructuras que repiten una
secuencia de instrucciones un numero determinado de veces se denominan Buclesy
se denomina Iteracion al hecho de repetir la ejecucion de una secuencia de
acciones.
WHILE
DO: {Mientras la condición sea verdadera se
repitara el ciclo, de lo contrario terminará}
While (condición) do
Begin
<Bloque de instrucciones>;
End;
Diagrama
de Flujo WHILE DO
REPEAT
UNTIL: {Hasta que la condición se cumpla terminará de
repetirse el ciclo}
Repeat
Begin
<bloque de instrucciones>;
End;
Until (condición)
Diagrama
de Flujo REPEAT UNTIL
FOR
TO DO/DOWINTO: {Ejecuta repetidamente la instrucción o
bloque de instrucciones a partir del valor asignado a la variable hasta llegar
al valor o condición fijada}
For: variable:=expresión to expresión do
Begin
<Bloque de instrucciones>;
End;
For: variable:
=expresión downto expresión do
Begin
<Bloque de instrucciones>;
End;
Diagrama
de Flujo FOR TO DO
Jerarquia de Operaciones
Los
operadores son signos que nos permiten expresar relaciones entre variables y/o
constantes, relaciones de las cuales normalmente se despreende un resultado. La
jerarquia de operadores no es mas que un conjunto de reglas que le permiten a
una computadora evaluar de solo una forma una expresion matematica para que no
haya espaciopara ambiguedades.
Evaluacion de Expresiones
Orden
de Evaluación
1.
Parentesis:
Si queremos alterar el orden normal de las operaciones para
eso se tienen los parentesis. Cuando se utilizan parentesis, la computadora
detecta el primer parentesis mas interno y dentro de el aplica la tabla de
jerarquia de operadores. La computadora considera un juego de parentesis como
``más interno´´ cuando dentro de él no existe ningun otro juego de parentesis.
El hecho de que las computadoras se basen en esta jeraquia de operaciones, para
realizar sus operaciones, es lo unico que garactiza, que para una determinada
expresion, el resultado en cualquier computadora sera el mismo.
2.
Potencias
y raices
3.
Multiplicaciones
y divisiones
4.
Sumas
y restas
5.
Dos o
más de la misma jerarquia u orden: Entonces resolver de izquierda a
derecha, tanto para el nivel de multiplicaciones y diviones como para el nivel
de sumas y restas la evaluacion es totalmente indistinta, esto quiere decir que
en la medida que va encontrando sumas y restas (si estan en el mismo nivel) las
va ejecutando.
Ejemplo: Si se tiene la siguiente expresión: 15-2*6=? El resultado de la expresión sería: 15-2*6=3
Porque
primero evalúa la operación de la multiplicación y después se hace la resta que
sería: 15-12=3
Si se requiere analizar primero la
resta se expresaría: (15-2)*6=?
Prueba de
Escritorio
La prueba de escritorio es una
herramienta útil para entender que hace un determinado algoritmo, diagrama de
flujo o programa. Puede ser también realizada para verificar que algoritmo,
diagrama de flujo o programa cumple ******** objetivo. Una prueba de escritorio
es una ****** mano´´ del algoritmo, diagrama de flujo o programa *** se debe
llevar ****** valores que ****una de.
Se debe crear una tabla con las
variables que se usaran, donde se irán anotando los valores que van tomando las
variables, en este caso, los valores que tomaran en el flujo del diagrama.
Se inicializan los valores de las
variables a=1, b=1 y c=1
Se asigna a la variable a=1+1=2 entonces
ahora a=2
Se asigna a la variable b=1+1*2=1+2=3,
entonces ahora b=3
Se asigna a la variable c=1+3-2=2
entonces ahora c=2
Se muestran los valores finales de a, b
y c que serían a=2, b=3 y c=2
a
|
b
|
c
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
3
|
1
|
2
|
3
|
2
|