Beruflich Dokumente
Kultur Dokumente
Algoritmos
Diagramas de Flujo
Esta ha sido una de las herramientas ms usadas debido a su caracter grfico, ya que los
algoritmos son representados a travs de figuras o smbolos estndar que tienen asociado un
significado particular.
Cada paso del algoritmo es representado a travs del smbolo adecuado y el orden en
que estos pasos se ejecutan se indica conectndolos con flechas llamadas lneas de flujo,
que son las que indican el flujo lgico del algoritmo. Estos diagramas se leen de arriba
hacia abajo y de izquierda a derecha. Algunos de los principales smbolos de amplio uso
son los presentados en la Figura 1, sin embargo, se podr descubrir que algunos autores y/o
programadores usan otros algo distintos para representar lo mismo.
Pseudocdigo
Concebido para superar las principales desventajas del diagrama de flujo, esto es, la
lentitud para crearlo y la dificultad para modificarlo; en contrapartida el pseudocdigo es
ms fcil de utilizar, ya que usa como medio bsico el lenguaje nativo del programador.
Por otro lado este ltimo tiene la ventaja de poder escribirse en un editor de textos, para
luego transcribirlo ms fcilmente a un lenguaje de programacin. Aqu tambin no existe
un pseudocdigo estndar o nico, sin embargo, muchas de las versiones propuestas tienen
ms similitudes que diferencias.
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 45
Inicio , Final
Entrada y Salida
Decisin
Decisin Mltiple
Subrutina
Comentarios
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 46
3.3.2. Elementos bsicos de un algoritmo
Constantes
Son valores que pueden ser de tipo numrico, cadena de caracteres y lgico o
booleano. Se les denomina constantes porque tales valores son inmutables, no pueden
cambiar. Lo anterior tienen sentido, toda vez que una constante representa el valor
correspondiente; por ejemplo, la constante 5, representa el valor 5 y no otro.
Ejemplo:
12, es una constante numrica (en este caso entera)
12,5 (o 12.5), es una constante numrica (especficamente decimal)
"hola mundo" (o 'hola mundo'), es una constante cadena de caracteres. Estas deben
encerrarse entre comillas, las que pueden ser dobles (") o simples (').
Variables
Una variable posee nombre y un valor, este ltimo puede cambiar durante el
transcurso del algoritmo. Para asociar un valor a una variable se usa la asignacin
(explicada ms adelante). Las variables pueden almacenar distintos tipos de valores, siendo
dichos valores alguna constante como las antes descritas y, por lo tanto, las variables
pueden ser de tipo numrica, lgicas (o booleana) y cadenas de caracteres. A continuacin
un ejemplo de cada tipo.
Ejemplo:
notaFinal, es una variable numrica que puede almacenar valores como 12, 12.5 o
12,5.
estaAprobado, es una variable lgica (o booleana) que puede almacenar los valores
verdadero o falso.
cadena, es una variable que almacena cadenas de caracteres, de modo que "hola
mundo", o bien 'hola mundo', pueden ser valores vlidos para esta variable.
Expresiones y Operadores
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 47
Las expresiones son las distintas formas en que pueden agruparse operandos y
operadores, indicando con ello la secuencia de operaciones que han de efectuarse para
obtener el dato o datos de salida a partir de los datos de entrada.
Operadores Relacionales
Estos son operadores binarios, es decir, que actan sobre 2 valores, que permiten
realizar comparaciones entre dos valores del mismo tipo (numrico, alfanumrico, etc.) y
dan como resultado un valor lgico o booleano, es decir, verdadero o falso. Los operadores
relacionales son:
Operador Significado
= Igual
, <>, != Distinto
, <= Menor o igual
, >= Mayor o igual
> Mayor que
< Menor que
Tabla 1. Operadores de Relacin
Operadores Lgicos
Son aquellos que operan sobre valores lgicos, es decir, aqullos cuyo rango de valores
se limita a verdadero o falso. Estos son:
Operador Significado
o O lgico
y Y lgico
no Negacin
Tabla 2. Operadores lgicos
Ejemplo:
verdadero falso
Operador
Mayor precedencia
()
*/
+-
no
< > >= <= = <> !=
y
Menor precedencia
o
Tabla 3. Precedencia de operadores.
La tabla anterior quiere decir que en una expresin donde aparezcan dos o ms de estos
operadores, se evaluarn primero los de mayor presedencia hasta llegar a los de mayor
precedencia. Tratndose de operadores de igual precedencia, se evaluarn estos de izquierda
a derecha.
Expresiones Lgicas
Son aquellas en que intervienen constantes y/o variables ligados por operadores
aritmticos y/o relacionales y que dan como resultado un valor lgico o boolean (verdadero
o falso).
Instrucciones
Asignacin
Consiste en dar un valor a una variable. Dicho valor puede ser una constante de
cualquier tipo o bien el resultado de una expresin. Se pueden usar uno de los siguientes
smbolos: <-, =, :=.
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 49
La representacin en pseudocdigo, usando <-, es:
<Variable> <- <Expresin>
Donde:
Los caracteres <> indican que lo contenido entre ellos (incluyendo dichos
caracteres) debe ser reemplazado por lo que all se indica. Esto es, <Variable> debe
ser reemplazado por una variable y <Expresin> debe ser reemplazado por una
expresin, la que prodra consistir en una nica constante.
La primera vez que se utilice una variable, deber ser para asignarle un valor, el tipo de
dicho valor (numrico, cadena de caracteres o lgico) determinar el tipo de la variable
(numrica, cadena de caracteres o lgica).
Ejemplo 1:
Valor que ser asignado a la variable ubicada a la
Variable izquierda del smbolo
notaFinal 60
notaFinal promTests * 0,15 + promTareas * 0,15 + promCerts * 0,7
Ejemplo 2:
Asignacin de valor a una variable lgica (o booleana)
aprobado verdadero
aprobado notaFinal >= 4
Entrada/Salida
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 50
a) Lectura o entrada de datos
Usando pseudocdigo:
Donde:
Los caracteres [..] indican que lo encerrado entre ellos es opcional, por lo que puede
estar ausente.
La lectura provoca que los valores ledos sean asignados a las variables en el
mismo orden en que aparecen en la instruccin.
Usando pseudocdigo:
Donde:
La secuencia <..|..> indica que los elementos contenidos entre los smbolos <> son
alternativos, es decir, se considerar uno de ellos, cualquiera, pero slo uno.
Ejemplo:
escribir "El alumno ha aprobado con nota: ", notaFinal
Al interior del smbolo se escribir Inicio, o bien fin y se utilizarn como primer y
ltimo smbolo.
Inicio
<instruccin1>
[<instruccin2>
<instruccinN>]
Fin
Se pide: Construir un algoritmo que calcule y muestre la nota final. Use pseudolenguaje.
Solucin:
Inicio
leer promTests, promTareas, promCerts
notaFinal = promTests*0,15 + promTareas*0,15 + promCerts*0,70
escribir "Nota final obtenida: ", notaFinal
Fin
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 52
Gua de Ejercicios
1. Escriba un algoritmo que emita un saludo. Por ejemplo: Hola amigos, que
tal.
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 53
Estructuras de Control
a.1) si-entonces-sino
Solucin
Inicio
leer numero
si numero < 0 entonces
numero <- numero * (-1) // Por legibilidad se usan parntesis
finsi
escribir "El valor absoluto del nmero es: ", numero
Fin
1
Construido mediante la herramienta PSeInt (http://pseint.sourceforge.net)
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 55
Ejemplo: Clculo nota final
Al ejercicio del clculo de la nota final, ya visto anteriormente, agregue las siguientes
consideraciones:
Se debe arrojar un mensaje que indique si el alumno aprob, reprob con derecho a
examen o reprob.
Un a alumno aprueba si obtiene una nota final de 60 o ms y su promedio de tareas es
60 o ms
Un alumno reprueba si su nota final es 39 o menos
En otro caso, el alumno reprueba con derecho a examen
Solucin
2
Construido mediante la herramienta PSeInt (http://pseint.sourceforge.net)
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 56
La versin en pseudocdigo es:
Inicio
leer promTests
leer promTareas
leer promCerts
notaFinal = promTests*0,15 + promTareas*0,15 + promCerts*0,70
escribir "Nota final: ", notaFinal
si notaFinal >= 4 y promTareas >= 4 entonces
escribir "Aprobado"
sino
si notaFinal < 4 entonces
escribir "Reprobado"
sino
escribir "Reprobado con derecho a examen"
finsi
finsi
Fin
Defina una versin que verifique si los datos son correctos y, solo si lo son, realice el
clculo.
_______________________________________________________________________________________
MAC, MASCH-11-03-14 Pag. 57