Sunteți pe pagina 1din 10

Pg.

1
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITCNICA
DE LA FUERZA ARMADA BOLIVARIANA

Ciclo Bsico de Ingeniera Diurno


Asignatura: Programacin
Algoritmos, Pseudocdigo, Diagramas de Flujo de Datos, Pascal
Docentes: Lcdo. Javier A. Arellano G. Lcdo. Jos Wilmer Jaimes J.
Algoritmos
Un algoritmo se puede definir como un conjunto bien definido de procedimientos lgicos o
matemticos que se pueden seguir para resolver un problema.
Aunque su popularidad est asociada al rea de la computacin el trmino proviene de
Mohammed al-Khowarizmi, matemtico persa que vivi durante el siglo IX y alcanz gran reputacin
por el enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir nmeros
decimales; la traduccin al latn del apellido en la palabra algorismus que deriv posteriormente en
algoritmo. Euclides, matemtico griego del siglo IV a.c, que invent el mtodo para encontrar el
mximo comn divisor de dos nmeros se considera el otro gran padre de la algoritmia.
Los algoritmos pueden escribirse en lenguaje natural, por ejemplo: una receta de cocina
escrita en espaol, o en pseudoformal el cual permite una representacin intermedia entre el lenguaje
natural y los lenguajes de programacin.
Los algoritmos son independientes tanto del lenguaje de programacin en que se expresan
como de la computadora que los ejecuta. Un mismo algoritmo se puede traducir a dos o ms
lenguajes de programacin por ejemplo: PHP, Java, Visual Basic, C, Pascal, etc; para ello deben
considerarse las reglas de sintaxis propias de cada lenguaje
De acuerdo a Joyanes L. (1995) Un algoritmo es un mtodo para resolver un problema
mediante una serie de pasos precisos, definidos y finitos. (pg. 14).
Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.

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.

La solucin de un problema exige el desarrollo de un algoritmo eficaz que resuelva el


problema planteado. Los pasos para la resolucin de un problema pueden describirse de la siguiente
manera:
Anlisis del problema y desarrollo del algoritmo. En esta fase se disea el algoritmo, que
refiere una secuencia ordenada de pasos que conducen a la solucin de un problema
planteado.
Fase de codificacin. En esta fase se escribe el algoritmo como un programa en un lenguaje
de programacin, en nuestro caso en Turbo Pascal.
Ejecucin y validacin del programa por la computadora.
Grficamente:
PROBLEMA

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

De acuerdo a Joyanes L (2002: 43) El pseudocdigo es una herramienta de programacin


en la que las instrucciones se escriben en palabras similares al ingls o espaol, que facilitan tanto la
escritura como la lectura de programas. En Esencia el pseudocdigo se puede definir como un
lenguaje de especificacin de algoritmos., es decir
es una representacin intermedia entre el
lenguaje natural y los lenguajes de programacin.
El diagrama de flujo es una representacin grfica de un algoritmo, los smbolos utilizados
estn normalizados y su uso es internacional. Los smbolos ms utilizados son:
INICIO / FIN

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:

Excelente herramienta para aprender programacin.

Es un lenguaje de propsito general.

Lenguaje procedural (imperativo, orientado a rdenes).

Lenguaje estructurado (soporta estructuras de repeticin (while, for y repeat.) No necesita el


uso de la sentencia goto).

Lenguaje recursivo (soporta la recursividad, propiedad de llamarse a si mismo una funcin o


procedimiento).

Gran riqueza de tipos (fuertemente tipeado), con tipos de datos simples y estructurados, as
como datos datos predefinidos y definidos por el usuario.

Cdigos ejecutables rpidos y eficientes.

facilidad para realizar programacin modular.

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;

Separador de sentencias o instrucciones


Nombre del Programa

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

>
<
=

El formato de los operadores de relacin tienen la siguiente forma


Variable operador relacional Variable
Constante operador relacional Constante
El resultado de una expresin lgica es un valor de tipo lgico, es decir, verdadero o falso;
estos operadores de relacin se pueden utilizar tambin para comparar elementos de datos tipo
carcter, para estas comparaciones se utiliza como regla el orden del codigo ASCII. Es importante
resaltar que Turbo Pascal es un lenguaje tipificado en el cual los tipos de datos no se mezclan.
Cuando se incluyen operadores relacionales con operadores aritmticos, se debe tener en
cuenta el orden de precedencia, Joyanes (1195: 111) nos muestra la tabla de orden de evaluacin.

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

Leer lb, ab,h

v:= lb*ab*h*1/3

'El valor del volumen


de la pirmide es:', p

Fin

S-ar putea să vă placă și