Escolar Documentos
Profissional Documentos
Cultura Documentos
1
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITCNICA
DE LA FUERZA ARMADA BOLIVARIANA
El resultado del algoritmo debe estar definido. Si se sigue un algoritmo dos veces con los
mismos datos de entrada, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento, es
decir, se debe tener un nmero finito de pasos.
DISEO DEL
ALGORITMO
PROGRAMACIN
Pg. 2
En la programacin, los algoritmos son muy importantes, ya que permiten conseguir la forma
ms eficiente de solucionar un problema. Es importante recordar que un lenguaje de programacin
es tan slo un medio para expresar un algoritmo y una computadora es slo un procesador para
ejecutarlo. Tanto el lenguaje de programacin como la computadora son los medios para obtener un
fin: conseguir que el algoritmo se ejecute y se efecte el proceso correspondiente.
Para realizar el diseo de algoritmos
pseudocdigo y el diagrama de flujo (flowchart).
su utilizan comnmente
dos herramientas: el
DECISIN
NO
INGRESO DE DATOS
IMPRIMIR / SALIDA DE
DATOS
SI
PROCESO
CONECTOR
Una herramienta bsica para la realizacin de algoritmos son los diagramas de Entrada
Proceso Salida o diagramas E-P-S, los cuales nos permiten dividir la solucin en las tres fases
indicadas.
Anlisis E-P-S
Especificaciones de entrada: Informacin necesaria para la solucin del problema.
Qu datos son de entrada?
Cuntos datos se introducirn?
Cules datos de entrada son vlidos?
Proceso: Operaciones o clculos necesarios para encontrar la solucin del problema.
Qu clculos de deben realizar?
Qu transformaciones debe hacerse sobre la data obtenida?
Especificaciones de salida: Resultados finales de los clculos y transformaciones realizadas
sobre los datos de entrada
Cul es la informacin obtenida para presentar como salida?
Pg. 3
Cuntos datos de salida se producirn?
Qu fidelidad tendrn los resultados?
Pascal y Turbo Pascal
El Lenguaje de programacin Pascal fue ideado y desarrollado por el profesor Niklaus Wirth
del Instituto tecnolgico de Zurich, Suiza. Wirth tena como propsito crear un lenguaje para ensear
tenicas de programacin a sus alumnos. Sin embargo con el paso de los aos Pascal se ha
convertido en un estndar en el mundo de la programacin, fundamentalmente para ensear a
programar de un modo disciplinado y sistemtico.
Pascal se caracteriza por ser un lenguaje de programacin estructurado, el cual es fcil de
entender, permite adquirir con facilidad buenas tcnicas de programacin, y adems sirve como base
para aprender cualquier otro lenguaje de alto nivel, Por estas caractersticas, es utilizado, incluso
actualmente, en universidades e institutos universitarios para iniciar el aprendizaje de lla
programacin a los futuros ingenieros de las diferentes ramas del saber
De acuerdo a Joyanes L. (1995: 28) Pascal presenta una serie de caractersticas que lo
hacen idneo como primero o segundo lenguaje de programacin, desde el punto de vista del
aprendizaje, as mismo el mencionado autor destaca las caractersticas de este lenguaje:
Gran riqueza de tipos (fuertemente tipeado), con tipos de datos simples y estructurados, as
como datos datos predefinidos y definidos por el usuario.
La primera versin (preliminar) de Pascal apareci a finales de la dcada del 60 del siglo
pasado y el primer compilador totalmente completo apareci en 1970. Desde entonces, muchos
compiladores han sido desarrollados para diferentes mquinas y sistemas operativos; incluso ya se
han desarrollado versiones para trabajar bajo GNU/Linux. Sin embargo la versin que ms se ha
popularizado es Turbo Pascal marca registrada por Borland International, Inc.
Turbo Pascal es una potente herramienta de programacin, fcil de utilizar e idnea para que
los estudiantes aprendan a programar, en el ao 1992 apareci la versin 7.0 que ofrece la
posibilidad de trabajar con programacin estructurada o programacin orientada a objetos. Desde
entonces se ha convertido en el estndar del lenguaje Pascal.
Turbo Pascal, de acuerdo a Joyanes (1995: 35) contiene adems del compilador (lenguaje de
programacin), utilidades y herramientas . Estos elementos estn integrados de modo que pueden
llamarse fcilmente a cualquiera de los mdulos, durante el proceso de programacin. a la
integracin de estos elementos se conoce como entorno de programacin y comnmente ofrece: un
editor, un compilador (interprete), un verificador de errores en tiempo de ejecucin y un depurador
(para ayudar a corregir errores de sintaxis).
Estructura de un programa en Turbo Pascal
La estructura de un programa en Turbo Pascal se detalla en la siguiente imagen:
Pg. 4
De acuerdo a Joyanes (1995: 55) Las cinco secciones de declaracin -Label, Const, Type y
Procedure y/o Function , as como la clusula Uses y Program, no tiene que estar presentes en todos
los programas. Turbo Pascal es muy flexible al momento de escribir las secciones de declaracin, ya
que se pueden hacer en cualquier orden. Sin embargo es conveniente seguir el orden establecido,
para evitar posibles problemas que puedan surgir en el desarrollo de los programas.
Ejemplo de un programa codificado en Turbo Pascal
program corona;
const
pi = 3.14;
var
a, r1, r2: real;
begin
write ('Indique radio mayor:');
readln (r1);
write ('Indique radio menor:');
readln (r2);
a:= pi*(sqr(r1)-sqr(r2));
writeln ('Area de la Corona Circular:', a:3:2);
end.
Cabecera del Programa: Sentencia Program
La sentencia Program se utiliza para declarar el nombre del programa. Su sintaxis es la
siguiente:
Program Nombre;
Pg. 5
Seccin de Declaraciones
Declaracin de Unidades:
Las unidades son mdulos independientes del programa, los cuales pueden ser utilizados por
cualquier programa, utilizando la palabra uses, automticamente se incorpora el cdigo
correspondiente de la unidad. En esta seccin se declaran tambin las constantes (const), los tipos
de datos (type), las variables (var), los precedimientos (procedure) y las funciones (function) definidos
por el programador que se van a usar en el programa. As mismo se pude declarar la lista de
etiquetas (label). La sintaxis de esta seccin es:
[ uses
<lista_de_unidades>; ]
[ label
<lista_de_etiquetas>; ]
[ const
<declaraciones_de_constantes>; ]
[ type
<declaraciones_de_tipos_de_datos>; ]
[ var
<declaraciones_de_variables>; ]
[ procedure
<declaraciones_de_procedimientos>; ]
[ function
<declaraciones_de_funciones>; ]
En Turbo Pascal es fundamental manejar datos de entrada o de salida, los cuales deben ser
almacenados en memoria principal en tiempo de ejecucin. Para poder manipular dichos datos, se
hace necesario tener acceso a las localidades de memoria donde se encuentran almacenados; este
acceso se realiza a travs de los nombres de los datos, que en Pascal se denominan
Identificadores. Segn Joyanes (1995: 58) Los identificadores representan los objetos de un
programa (constantes, variables, tipos de datos, procedimientos, funciones, unidades, programas y
campos de registros). Un identificador es una secuencia de caracteres que puede ser de cualquier
longitud, pero solo los primeros 63 caracteres son significativos.
Las reglas para formar los identificadores en Pascal son las siguientes :
1. Debe comenzar con una letra (A a Z, maysculas o minsculas) y no pueden contener
espacios en blanco.
2. Letras dgitos y caracteres subrayados ( _ ) estn permitidos despus del primer carcter.
3. No se puede utilizar una palabra reservada como identificador; sin embargo los identificadores
estndar se pueden redefinir.
Cabe destacar que Turbo Pascal no distingue las letras maysculas de las minsculas en los
identificadores. Ejemplo: NOMBRE, nombre son identificadores vlidos e idnticos.
Palabras Reservadas
Son palabras que tienen un significado especial y que no se pueden utilizar para otros
propsitos. Ejemplo de palabras reservadas: absolute, and, array, begin, const, div, do, downto, else,
end, external, file, for, forward, function, goto, if, implementation, in inline, interfase, interrupt, label,
mod, nil, not, of, or, paked, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit,
until, uses, var, while, with, xor.
Pg. 6
Tipos de Datos
De acuerdo a Joyanes (1995: 62) Pascal se conoce como lenguaje fuertemente tipeado
(strongly-typed) o de tipos fuertes. Esto significa que todos los datos utilizados deben tener sus tipos
declarados esplcitamente. Turbo Pascal posee una gama de tipos de datos predefinidos que a
continuacin se describen:
Datos Numricos: conformados por dgitos, puede incluir un signo (+,-), un punto decimal ( . )
y un exponente. No pueden contener comas ( , ) o espacios en blanco.
Datos Numricos Enteros (Integer): no contienen ni punto decimal, ni exponente.
Ejemplo: 2, +5, -12, -6 , 6562
Rango de valores posibles entre: -32768 ....32767
Enteros largos (logint), su rango de valores: -2147483648 .....2147483647
Datos Numricos Reales (Real): deben contener punto decimal ( . ) o un exponente o
ambos.
Ejemplo: 0.3 -0.5 -567.13 0.0001245 +31.75 24.699
En forma exponencial la base 10 se reemplaza por la letra E, manteniendo la forma siguiente:
nE+-dd donde n = nmero decimal y dd = exponente entero (+,- o cero) .
Ejemplo: 6.3x10-4
6.3E-4
Datos Caracter (Char): slo pueden contener un caracter y deben estar encerrados entre
apstrofes. Pueden ser una letra (A - Z), un dgito ( 0 - 9) o un caracter especial ($,*, &, etc.).
Ejemplo: D * 67 X 'x' 'y'
Datos Cadena (String): es una secuencia de caracteres (letras, dgitos o caracteres
especiales) escritos en una lnea sobre el programa y encerrados entre apstrofes, generalmente no
mayor de 255 caracteres.
Ejemplo: Pedro PrezEdad? 1276
Datos Lgicos (boolean): pueden tomar slo dos valores: true (verdadero) o false (falso)
Constantes y Variables
En Turbo Pascal los datos de un programa pueden clasificarse en Constantes y Variables.
Las constantes son datos que no varan durante la ejecucin del programa. El dato simple se
asocia a un identificador que le proporciona un nombre al dato. El identificador se dice que es una
constante si se le asigna un dato permanente. Las constantes deben ser declaradas antes de su
utilizacin en la seccin de declaraciones.
Una variable es un identificador cuyo valor puede cambiar durante la ejecucin del programa.
las variable deben ser declaradas (definidas) individualmente en la seccin de declaraciones antes de
ser utilizadas.
Expresiones:
Las expresiones son combinaciones de constantes, variables, smbolos de operacin,
parntesis y funciones especiales, una expresin consta de operandos y operadores, estas se
clasifican en:
Aritmticas
Relacionales
Lgicas
Carcter
Pg. 7
Expresiones Aritmticas
Joyanes (1995) define las expresiones aritmticas como un conjunto de datos o funciones
unidos por operadores aritmticos (pg. 79), ests expresiones son iguales a las frmulas
matemticas, contienen variables y constantes sobre las cuales se realizan operaciones aritmticas,
estas operaciones puede ser suma (+), resta (-), multiplicacin (*), divisin (/), exponenciacin (**. ,
^), divisin entera (div) y mdulo o resto (mod).
El resultado de la evaluacin de una expresin aritmtica siempre es un nmero, los
operadores (+, -, *) pueden utilizados con tipos reales o enteros, teniendo en cuenta que si ambos
son enteros el resultado es entero, si a menos uno es real el resultado es real; El operador (/) siempre
da como resultado un nmero real. Los operadores div y mod solo pueden utilizarse con nmeros
enteros; el operador div clcula el cociente entero de la divisin y el operador mod el resto de la
divisin.
Joyanes (1995: 82) plantea las Reglas de Evaluacin de Expresiones
Todas las subexpresiones entre parntesis se evalan primero. Las subexpresiones con
parntesis anidados se evalan
de dentro afuera, el parntesis ms interno se evala
primero.
Prioridad de las operaciones. Dentro de una misma expresin o subexpresin, los operadores
se evalan en el siguiente orden:
*, /, div, mod primero
+, - ltimo
Regla asociativa izquierda. Los operadores en una misma expresin o subexpresin con igual
nivel de prioridad (tal como * y /) se evalan de izquierda a derecha.
Expresiones Lgicas
De acuerdo a Joyanes (1995) Una expresin lgica es una expresin que puede ser
verdadera o falsa (pg. 109), es decir, es una expresin que al ser evaluada da como resultado un
valor lgico (verdadero o falso). Estas expresiones se forman a partir de la comparacin de los
valores de las expresiones utilizando operadores relacionales o de comparacin; estos operadores
describen una relacin entre dos valores
Operador
Significado
Equivalente matemtico
>
<
=
>=
<=
<>
Mayor que
Menor que
Igual a
Mayor o igual que
menor o igual que
Diferente
>
<
=
Pg. 8
Prioridad
1
2
3
4
Operador
Contenido del parntesis ( )
*, div, mod, /
+, = >, <, <=, >= , <>
Operadores Lgicos
De acuerdo a Joyanes (1995) Las expresiones lgicas pueden combinarse para formar
expresiones ms complejas utilizando los operadores lgicos: and, or y not. Estos operadores se
utilizan con constantes lgicas de forma similar al modo que los operadores aritmticos se utilizan con
las constantes numricas.
Estos operadores trabajan con expresiones lgicas y tiene la siguiente forma
[operando 1] operador operando 2
El operador and (y) combina dos operaciones simples y produce un resultado verdadero slo
si los dos operandos son verdaderos.
Ejemplo
Si nota >= 1 and nota <= 20 entonces
escriba ('nota valida');
El operador or (o) produce un resultado verdadero si uno de los operandos en verdadero
Ejemplo
Si nota <= 1 or nota >= 20 entonces
escriba ('nota no valida');
El Operador not (no) acta sobre una sola condicin simple e invierte su valor.
La prioridad de las operaciones cuando se utilizan operadores logicos se muestra en la
siguiente tabla
Prioridad
1
2
3
4
5
Operador
Contenido del parntesis ( )
not
*, div, mod, /, and
+, -, or
= >, <, <=, >= , <>
Bibliografa
JOYANES, Luis. Programacin en Turbo Pascal Versiones 5.5, 6.0 y 7.0 segunda edicin, McGraw
Hill, Mexico 1995.
JOYANES, Luis. Fundamentos de Programacin tercera edicin, McGraw Hill, Espaa 2002.
CARBALLO, Yusneyi. Gua de clases y ejercicios Escuela de Computacin. Recopilaciones varias
desde
2004.
Disponibles
en
la
pgina:
http://www.ciens.ucv.ve/algoritmosyprogramacion/paraRevisar.htm
Pg. 9
Ejercicios
Disear un algoritmo que permita calcular y mostrar por pantalla el rea de un Trapecio teniendo
como datos de entrada las bases y la altura del mismo; el rea del trapecio es igual a la suma de las
bases por la altura, y dividido por dos.
B = base mayor
b = base menor
h = altura
Diagrama E P S
ENTRADA
bmay (base mayor)
bmen (base menor)
h (altura)
A = (B + b)*h/2
PROCESO
A = (B + b)*h/2
a:=(bmay + bmen)*h/2
Inicio
Def Var
bmay, bmen. h. a : real;
Escriba (Indique el valor de la base mayor:);
Leer(bmay);
Escriba (Indique el valor de la base menor:);
Leer(bmen);
Escriba (Indique el valor de la altura:);
Leer(h);
a:=(bmay + bmen)*h/2;
Escriba (rea del Trapecio:, a);
Fin.
SALIDA
a (rea del trapecio)
Pg. 10
Una pirmide tiene una base y caras triangulares que se levantan para unirse en un mismo vrtice. La
base puede ser un polgono tal como un cuadrado, un rectngulo, un tringulo, etc; Disee un
algoritmo que permita calcular y mostrar por pantalla el volumen de una pirmide cuya base sea un
rectngulo. La frmula para hallar dicho volumen es
Largo de base * Ancho de base * Altura * 1/3
Inicio
Def Var
lb, ab, h, v : real;
Escriba (Indique el valor del largo de la base:);
Leer(lb);
Escriba (Indique el valor del ancho de la base:);
Leer(ab);
Escriba (Indique el valor de la altura:);
Leer(h);
v:= lb*ab*h*1/3
Escriba (El valor del Volumen de la Pirmide es:, v);
Fin.
Inicio
v:= lb*ab*h*1/3
Fin