Escolar Documentos
Profissional Documentos
Cultura Documentos
Definicin de Algoritmo
En programacin, un algoritmo establece, de manera genrica e informal, la secuencia de pasos o
acciones que resuelve un determinado problema. Los algoritmos constituyen
la documetacinprincipal que se necesita para poder iniciar la fase de codificacin y, para
representarlos, se utiliza, fundamentalmente, dos tipos de notacin: pseudocdigo y diagramas de
flujo. El diseo de un algoritmo es independiente del lenguaje que despus se vaya a utilizar para
codificarlo.
Un algoritmo escrito en pseudocdigo siempre se suele organizar en tres
secciones: cabecera,declaraciones y cuerpo. En la seccin de cabecera se escribe el nombre del
algoritmo. En la seccin de declaraciones se declaran algunos objetos (variables, constantes,...)
que va a utilizar el programa. En el cuerpo estn descritas todas las acciones que se tienen que
llevar a cabo en el programa, y siempre se escriben entre las palabras inicio y fin. Por ejemplo, el
algoritmo de un programa que va a calcular la suma de dos nmeros enteros cualesquiera
introducidos por el usuario y, despus, va a mostrar por pantalla el resultado obtenido, puede ser el
siguiente:
algoritmo Sumar
variables
entero a, b, c
inicio
escribir( "Introduzca el primer nmero (entero): " )
leer( a )
escribir( "Introduzca el segundo nmero (entero): " )
leer( b )
ca+b
escribir( "La suma es: ", c )
fin
Qu es un Ordinograma?
Definicin de Ordinograma
El pseudocdigo y los diagramas de flujo son las dos herramientas ms utilizadas para disear
algoritmos en programacin estructurada. Si bien, entre ambos tipos de representacin existen las
siguientes diferencias importantes:
En un ordinograma suele ser ms fcil ver, a primera vista, cul es el orden de las acciones
del algoritmo.
Los smbolos grficos utilizados en un diagrama de flujo han sido estandarizados por
elAmerican National Standards Institute (ANSI). Sin embargo, no existe un "pseudocdigo
estndar".
Tipos de Datos
Los datos que utilizan los programas (o algoritmos) se pueden clasificar en base a diferentes
criterios. Uno de los ms significativos es aquel que dice que todos los datos que utilizan los
programas son simples o compuestos. Un dato simple es indivisible (atmico), es decir, no se
puede descomponer.
Ejemplo 1: Un ao es un dato simple.
Ao...: 2006
Un ao se expresa con un nmero entero, el cual no se puede descomponer. Sin embargo, un dato
compuesto est formado por otros datos.
Ejemplo 2: Una fecha es un dato compuesto por tres datos simples (da, mes, ao).
Fecha:
Da...: 30
Mes...: 11
Ao...: 2006
Ejemplo 3: Otro ejemplo de dato simple es una letra.
Letra...: t
Una letra se representa con un carcter del alfabeto. Pero, cuando varias letras se agrupan,
entonces se obtiene un dato compuesto por varios caracteres.
Ejemplo 4: Para formar un nombre de persona se utilizan varios caracteres.
Nombre...: Ana (dato compuesto por tres caracteres)
A continuacin, se van a estudiar cinco tipos de datos: entero, real, lgico, carcter y cadena. De
ellos, tan solo el tipo cadena es compuesto. Los dems son los tipos de datos simples
consideradosestndares. Esto quiere decir que la mayora de los lenguajes de
programacin permiten trabajar con ellos. Por ejemplo, en lenguaje C es posible utilizar datos de
tipo entero, real y carcter, sin embargo, los datos de tipo lgico no se pueden utilizar, ya que, no
existen en este lenguaje. Existen otros tipos de datos, simples y compuestos, que se estudiarn
ms adelante. A los tipos de datos simples estndares tambin se les conoce como tipos de
datos primitivos, bsicos o fundamentales.
Datos de Tipo Entero
Un dato de tipo entero es aquel que puede tomar por valor un nmero perteneciente al conjunto de
los nmeros enteros (Z), el cual est formado por los nmeros naturales, su opuestos (nmeros
negativos) y el cero.
Z = { ..., -3, -2, -1, 0, 1, 2, 3, ... }
Ejemplo: La edad de una persona y el ao en que naci, son dos datos de tipo entero:
Edad...: 29
Ao....: 1976
Z es un conjunto infinito de nmeros enteros, y como el ordenador no puede representarlos todos,
un dato de tipo entero slo puede tomar por valor un nmero perteneciente a un subconjunto de Z.
Los valores mximo y mnimo de dicho subconjunto varan segn las caractersticas de cada
ordenador y del compilador que se utilice. En pseudocdigo, para indicar que un dato es de tipo
entero se utiliza la palabra reservada:
Datos de Tipo Real
Un dato de tipo real es aquel que puede tomar por valor un nmero perteneciente al conjunto de los
nmeros reales (R), el cual est formado por los nmeros racionales e irracionales.
Ejemplo: El peso de una persona (en kilogramos) y su altura (en centmetros), son datos que
pueden considerarse de tipo real.
Peso.....: 75,3
Altura...: 172,7
R es un conjunto infinito de nmeros reales, y como el ordenador no puede representarlos todos,
un dato de tipo real slo puede tomar por valor un nmero perteneciente a un subconjunto de R.
Los valores de dicho subconjunto varan segn las caractersticas de cada ordenador y del
compilador que se utilice. En pseudocdigo, para indicar que un dato es de tipo real se utiliza la
palabra reservada:
Datos de Tipo Lgico
En programacin, un dato de tipo lgico es aquel que puede tomar por valor slo uno de los dos
siguientes:
{ verdadero, falso }
Los valores "verdadero" y "falso" son contrapuestos, de manera que, un dato de tipo lgico siempre
est asociado a que algo se cumpla o no se cumpla.
Ejemplo: El estado de una barrera de paso de trenes es un dato que puede considerarse de tipo
lgico, por ejemplo, asociando "verdadero" a que est subida y "falso" a que est bajada.
Estado...: falso (indica que la barrera est bajada)
En pseudocdigo, para indicar que un dato es de tipo lgico se utiliza la palabra reservada:
Datos de Tipo Carcter
Un dato de tipo carcter es aquel que puede tomar por valor un carcter perteneciente al conjunto
de los caracteres que puede representar el ordenador.
En pseudocdigo, el valor de un dato de tipo carcter se puede representar entre comillas simples
(') o dobles ("). Pero, en este curso de diseo de algoritmos, se van a utilizar solamente las comillas
simples (al igual que se hace en lenguaje C).
Ejemplo: En un examen con preguntas en las que hay que seleccionar la respuesta correcta entre
varias opciones dadas (a, b, c, d, e), la respuesta correcta de cada una de las preguntas es un dato
de tipo carcter.
Un dato de tipo cadena es aquel que pueden tomar por valor una secuencia de caracteres.
Enpseudocdigo, el valor de un dato de tipo cadena se puede representar entre comillas simples (')
o dobles ("). Sin embargo, en este curso de diseo de algoritmos, se van a utilizar solamente las
comillas dobles (al igual que se hace en lenguaje C).
Ejemplo: El ttulo de un libro y el nombre de su autor, son datos de tipo cadena.
Ttulo...: "La Odisea" (cadena de 9 caracteres)
Autor....: "Homero" (cadena de 6 caracteres)
Obsrvese que, en la cadena "La Odisea", el carcter espacio en blanco tambin se cuenta. En
pseudocdigo, para indicar que un dato es de tipo cadena se utiliza la palabra reservada:
Los tipos de datos simples predefinidos (estndares) son aquellos proporcionados por loslenguajes
de programacin. Pero, el programador tambin puede definir sus propios tipos de datos simples
(subrangos y enumerados). Todos los datos simples son ordinales, excepto el dato de tipo real.
Un dato ordinal es aquel que puede tomar por valor un elemento perteneciente a un conjunto en el
que todo elemento tiene un predecesor y un sucesor, excepto el primero y el ltimo. Por ejemplo, el
valor 5, perteneciente al conjunto de los nmeros enteros, tiene como predecesor al 4, y como
sucesor al 6. Sin embargo, entre dos nmeros reales siempre hay un nmero infinito de nmeros.
Ejercicios resueltos de tipos de datos en pseudocdigo
Identificadores
Palabras Reservadas
Las palabras reservadas son identificadores predefinidos (tienen un significado especial). En todos
los lenguajes de programacin existe un conjunto de palabras reservadas. Por el momento,
enpseudocdigo, se han estudiado las siguientes:
cadena, caracter, entero, falso, logico, real y verdadero
Variables
Variables (en programacin)
Declaracin de Variables
Cuantas son las variables que el programa necesita para realizar las tareas que se le han
encomendado.
Durante la ejecucin de un programa, el valor que tome el dato almacenado en una variable puede
cambiar tantas veces como sea necesario, pero, siempre, tomando valores pertenecientes al tipo
de dato que el programador ha decidido que puede almacenar dicha variable, ya que, el tipo de
dato de una variable no puede ser cambiado durante la ejecucin de un programa.
Declaracin de Variables (en programacin)
Para que un programa pueda hacer uso de una o ms variables, stas deben ser declaradas
previamente. Todas las variables de un programa se declaran de la misma forma, indicando de
cada una de ellas:
Ejemplo 1: La declaracin de una variable para almacenar la edad de una persona se escribe:
entero edad
Por tanto, en la memoria de la computadora se reservar un espacio para almacenar la edad:
En un programa no se pueden declarar varias variables con el mismo nombre (salvo excepciones
que estudiaremos ms adelante), sin embargo, s pueden existir varias variables del mismo tipo de
dato. Siguiendo con el ejemplo, si tambin se quiere declarar una variable para almacenar su
nmero de hijos, se debe escribir:
entero edad
entero numero_de_hijos
Las variables de un programa no tienen por qu estar contiguas en la memoria del ordenador:
Puesto que las dos variables son del mismo tipo de dato, se pueden declarar en la misma lnea
separndolas por medio de una coma (,).
entero edad, numero_de_hijos
Opcionalmente, cuando se declara una variable, a sta se le puede asignar un valor inicial.
Ejemplo 2: Si se desea declarar una variable para almacenar un nmero entero y que, inicialmente,
contenga el valor 35, se debe escribir:
entero numero = 35
Por consiguiente, para declarar una variable, en pseudocdigo CEE utilizaremos la sintaxis:
Los caracteres abrir corchete ([) y cerrar corchete (]) se utilizan para indicar que lo que contienen es
opcional.
Una expresin representa a un valor de un tipo de dato. En el ejemplo 2, el valor 35 es de tipo
entero.
Durante la ejecucin de un programa, para hacer uso del espacio de memoria representado por
una variable, se utiliza su identificador.
Una variable puede ser declarada de cualquier tipo de dato (simple o compuesto). El tipo de dato
de una variable determina su tamao en memoria, o dicho de otro modo, establece el tamao del
espacio de memoria que se reserva para ella.
Constantes
Constantes (en programacin)
puede cambiar durante la ejecucin de un programa. Por ejemplo, en lenguaje C, una constante
puede ser de tipo entero, real, carcter, cadena o enumerado. Las constantes de tipo enumerado
se van a estudiar en el apartado "Datos de Tipos Enumerados". En cuanto a las dems, se pueden
expresar de dos formas diferentes:
1. Por su valor.
2. Con un nombre (identificador).
Ejemplo 1: Las siguientes constantes de tipo entero estn expresadas por su valor:
-5
10
Para expresar una constante con un nombre, la constante debe ser declarada previamente. Todas
las constantes que se declaran en un programa son definidas de la misma forma, indicando de
cada una de ellas:
Y para declarar ms de una constante en una misma lnea, las separaremos por medio de comas
(,).
Ejemplo 2: De modo que, si se quieren declarar las constantes de tipo entero del ejemplo
anterior, asignndoles un identificador, se puede escribir, por ejemplo:
TEMPERATURA = -5
MES = 10
O tambin:
TEMPERATURA = -5, MES = 10
En programacin, una constante de tipo entero es aquella que representa a un valor (dato)
perteneciente al subconjunto de Z representable por el ordenador.
Ejemplo 1: Suponiendo que el ordenador (utilizando diecisis bits) pueda representar,
enComplemento a 2, el siguiente conjunto de valores enteros:
{ -32768, -32767, ..., 1, 0, -1, ..., 32766, 32767 }
Algunos ejemplos de constantes de tipo entero son:
-32000
0
000077 (Los ceros a la izquierda no son significativos)
+1111
Obsrvese que, adems de los caracteres numricos, dgitos del (0) al (9), tambin se puede hacer
uso de los caracteres especiales (+) y (-) para indicar el signo de un nmero entero, el cual es
positivo por omisin. Sin embargo, por ejemplo en lenguaje C, es incorrecto usar los caracteres
coma (,) y/o punto (.) para expresar constantes de tipo entero.
Ejemplo 2: Por tanto, es incorrecto escribir:
-32.000
0,0
+1,111.00
Ejemplo 3: Otros ejemplos incorrectos de constantes de tipo entero son:
++111 (No se puede duplicar el signo)
38000 (No pertenece al subconjunto de Z representable por el ordenador)
En programacin, una constante de tipo lgico es aquella que representa a un valor (dato)
perteneciente al conjunto:
{ verdadero, falso }
verdadero y falso son palabras reservadas (identificadores) que, en s mismas, representan a
constantes de tipo lgico. En consecuencia, aunque se pueden definir constantes de tipo lgico, no
suele ser habitual declarar constantes de este tipo de dato.
Ejemplo: Por ejemplo:
ESTADO = verdadero
INTERRUPTOR = falso
En programacin, una constante de tipo carcter es aquella que representa a un valor (dato)
perteneciente al conjunto de caracteres que puede representar el ordenador.
Ejemplo 1: Las siguientes constantes de tipo carcter estn expresadas por su valor:
'a'
'T'
'5'
'+'
'.'
Ejemplo 2: Algunos ejemplos de declaracin de constantes de tipo carcter son:
LETRA = 's'
NUMERO = '9'
SIGNO = '-'
ESPACIO_EN_BLANCO = ' '
Ejemplo 3: En lenguaje C, y en nuestro pseudocdigo CEE, para representar el carcter comilla
simple ('), se debe anteponer el carcter barra invertida (\).
COMILLA_SIMPLE = '\''
Constantes de Tipo Cadena
Una constante de tipo cadena es aquella que representa a un valor (dato) de tipo cadena, es decir,
representa a una secuencia de caracteres.
Ejemplo 1: Las siguientes constantes de tipo cadena estn expresadas por su valor:
"Alejandro"
"Lucerna"
"Barcelona 2000"
Ejemplo 2: Algunos ejemplos de declaracin de constantes de tipo cadena son:
NOMBRE = "Alejandro"
CIUDAD = "Lucerna"
Qu es un dato enumerado?
Declaracin de Tipos Enumerados
Variables de Tipos Enumerados
En programacin, un dato de un tipo enumerado es aquel que puede tomar por valor uno de los
pertenecientes a una lista ordenada de valores definida por el programador.
Ejemplo: Un dato enumerado puede ser la direccin en la que se mueve un coche. Los valores
son:
{ norte, sur, este, oeste }