Sie sind auf Seite 1von 84

Algoritmo

Nociones fundamentales
Algoritmo
Esta presentacin

Nocin de algoritmo
Objetos y acciones elementales
Esquemas condicionales
Iteraciones
Algoritmo

Nocin de algoritmo:
Procesador, entorno, acciones
Acciones primitivas
Anlisis descendente
Objetivo de la programacin
Algoritmo Procesador, entorno, acciones
Enunciado 1 Enunciado 2
Preparacin de un omelette de 6 Clculo de la media de tres nmeros
huevos con una calculadora

a: pulsar la tecla C;
a: romper seis huevos en un plato;
b: ingresar el primer nmero;
b: batir las claras y las yemas con
un tenedor; c: pulsar la tecla + ;

c: calentar aceite en una sartn al d: ingresar el segundo nmero;


fuego; e: pulsar la tecla +;
d: cuando el aceite est caliente, f: ingresar el tercer nmero;
verter el contenido del plato;
g: pulsar la tecla / ;
e: quitar la sartn del fuego
cuando la preparacin est h: pulsar la tecla 3;
hecha. i: pulsar la tecla = .
Algoritmo Procesador, entorno, acciones

Los enunciados 1 y 2 describen


cada uno un cierto trabajo
r
do
a

Toda entidad capaz de entender un


es
oc

enunciado y de ejecutar el trabajo indicado


Pr

En el caso de los enunciados 1 y 2, una persona que sepa


leer y disponga de los utensilios necesarios, puede ser
un procesador adecuado
Algoritmo Procesador, entorno, acciones

o
rn
to

El conjunto de utensilios necesarios para la


En

ejecucin del trabajo.

Dado un procesador, el entorno es especfico del trabajo


a ejecutar. Sin embargo, la forma de realizar el trabajo,
depende a menudo de los utensilios puestos a disposicin
del procesador
Algoritmo Procesador, entorno, acciones
Ejemplo: Tarea: Dar vuelto.
Entorno
50 50
20
20
20
20 510
50 50 50 5 5
10
10
50 50 50 50 505510510
10 50
5
27,50 10
50 50
10
50 1
1 50 50 5
50
55050
50
27,50 10
50
10
50
50
10
50 1 2
50
501 2
50
22
50
50 10
501010
50
50
50
50 501 50 22
2
50 501 502250 10
50 50
50
50
50
50 501 50 50
50 1050 1 50
50 22
50
1050
2 50
1050
50 1050 50 50 10
10 1555 50
11 50 10
10 15 10
50
11 50 25 10 10 5
11 25
25 10
10 155
11 25
25 10
10 155
11 25
25 10
10 55
11 50 2525 10
10 55
1 25 1010
10
a b c

NO 1 n
Algoritmo Procesador, entorno, acciones
La ejecucin de un trabajo no elemental, supone cierta
progresin hacia el fin deseado.

En los Enunciados 1 y 2 se distinguen las etapas a, b, c,...


n
i

Un suceso que modifica el entorno


cc
A

Dada la accin a del Despus


Antes de de
Enunciado 1: ejecutar
ejecutarla accin,
la
romper seis huevos el plato el
accin, contiene
plato 6
en un plato. yemas y 6 claras.
est vaco.
Algoritmo Procesador, entorno, acciones

La ejecucin de una accin puede necesitar una


observacin del entorno (Ej.:Accin d, Enunc.1)

El procesador, en general, respeta la secuencia


de las acciones. (Se ver cmo es posible romper
esa secuencia)

Ciertas acciones podran ejecutarse al mismo


tiempo (en paralelo). Ventaja: ganancia de tiempo.
Requerira varios procesadores.

El enunciado
Sin embargo, eldenmero
una accin puede aparecer
de apariciones de una
varias veces
accin, en la descripcin
no corresponde de un trabajo.
forzosamente a la
(Acciones
cantidad c y e, Enunciado
de ejecuciones 2)
de la misma.
Algoritmo Procesador, entorno, acciones

2 Ejecucin:
x
2 x
y 6
y 2
Enunciado 3 repetir x 5 veces
y
z
Sin embargo, el nmero de apariciones de una
accin, no corresponde forzosamente a la
cantidad de ejecuciones de la misma.
Algoritmo

Nocin de algoritmo:
Procesador, entorno, acciones
Acciones primitivas
Anlisis descendente
Objetivo de la programacin
Algoritmo Acciones primitivas
En los Enunciados 1 y 2 se ha supuesto que el
procesador saba ejecutar las acciones enumeradas.

Para ese procesador, stas son acciones primitivas.


iti n

Aquella cuyo enunciado es suficiente para


im i
va
pr cc

que el procesador pueda ejecutarla sin


A

informacin adicional.
Algoritmo Acciones primitivas
En el Enunciado 3, el procesador no sabr ejecutar la
accin repetir 5 veces, si sta no es una primitiva.

En caso de que sea una primitiva, ejecutar la


secuencia: x, x, x, x, x.
Si no lo fuera, habr que reemplazarla por la
secuencia x, x, x, x, x.

Toda accin no primitiva, habr de


descomponerse en acciones primitivas.
Algoritmo Acciones primitivas
Ejemplo:
En el Enunciado 1, si el procesador es un nio, la
accin a, romper seis huevos en un plato, puede no ser
suficientemente explcita. Ser necesario
descomponerla:
a1 : poner seis huevos sobre la mesada
repetir
a2: tomar un huevo de la mesada
a: romper seis
a3: romperlo y verter su contenido en
huevos en un el plato
plato
a4: tirar las cscaras a la basura
hasta que no queden huevos sobre la
mesada.
Algoritmo Acciones primitivas
Observacin:
La descomposicin efectuada utiliza un esquema
repetitivo, que permite simplificar la representacin de
la repeticin de una secuencia de acciones.

repetir acciones ejecutar acciones

condicin
no realizada
hasta que condicin evaluar condicin

condicin
realizada
Algoritmo

Nocin de algoritmo:
Procesador, entorno, acciones
Acciones primitivas
Anlisis descendente
Objetivo de la programacin
Algoritmo Anlisis descendente
Metodologa:
Uno de los mtodos para obtener la descomposi-
cin de una accin en acciones primitivas es el
Anlisis descendente.
e
de s
nt
en i s i

Dado un trabajo T descripto por un


s c l
de An

enunciado no primitivo, el anlisis


descendente de T consiste en encontrar
una descomposicin formada por una
secuencia de enunciados, cuya ejecucin
realiza el trabajo T.
Algoritmo Anlisis descendente
Representacin:

(Ei) T (Ef)

(Ei 1) t1 (Ef 1) . . . (Ei k) tk (Ef k) . . . (Ei n) tn (Ef n)


(Ef k-1) = (Ei k) (Ef k) = (Ei k+1)
t11 t12 tk1 tk2 tk3

Para cada enunciado t k, hay dos posibilidades:


o bien es unat accin
Cadat ktrabajo k, pasaprimitiva,
el entornoy se
detiene (Ei descendente
el anlisis
de un estado k) a un estado (Ef kt )k ;
para
o bien t k no es una accin primitiva, y se
descompone nuevamente t k.
Algoritmo Anlisis descendente
Ejemplo:
Tarea: Realizar la agrupacin de cierto nmero de
ejemplares de un documento de diez pginas que ha
sido enviado a un servicio de fotocopiado.
Para cada una de las pginas se ha reproducido aproxi-
madamente una centena de ejemplares.

Entorno:
. Diez paquetes de hojas numeradas, apilados sobre un
escritorio.
. Una grapadora
. Diez mesas numeradas de 1 a 10.
Algoritmo Anlisis descendente
Algoritmo Anlisis descendente

Competencias del procesador:


. Tomar y poner
. Ir de una mesa a otra (pasar de la mesa i a la mesa i + 1)
. Ir a una mesa de un nmero dado (reconocer igualdad
de valores numricos)
. Reconocer la presencia o ausencia de hojas sobre
una mesa
. Grapar
Algoritmo Anlisis descendente
Enunciado:

A partir de la pila que se encuen-


A tra en el escritorio, agrupar las
fotocopias.

A
B C
Repartir los paquetes a Reunir y grapar los
razn de un paquete por ejemplares y ponerlos
mesa, tal que el paquete de sobre el escritorio.
hojas i quede en la mesa i.
Algoritmo Anlisis descendente
Algoritmo Anlisis descendente
Repetir
B1: tomar el paquete situado encima de la pila
sobre el escritorio
B B2: ir a la mesa cuyo nmero es el mismo que
el de las hojas del paquete
B3: poner el paquete sobre la mesa
A hasta que (B4) se acabe la pila que hay sobre el
C11:escritorio.
colocarse en la mesa N 1
C12: tomar una hoja de esa mesa

C1 Repetir

C Repetir
C13: ir a la mesa siguiente
C14: tomar una hoja de esa mesa
C1: tomar las hojas
hasta que necesarias
la mesa sea lapara
N 10un ejemplar
C2: grapar el ejemplar
C3: ponerlo sobre el escritorio
hasta que (C4) una de las mesas quede sin hojas.
Algoritmo Anlisis descendente
Inicio
Repetir
tomar el paquete situado encima de la pila sobre el escritorio
ir a la mesa cuyo nmero es igual al de las hojas del paquete
poner el paquete sobre la mesa
hasta que se acabe la pila que hay sobre el escritorio.
Repetir
colocarse en la mesa N 1
tomar una hoja de esa mesa
Repetir
ir a la mesa siguiente
tomar una hoja de esa mesa
hasta que la mesa sea la N 10
grapar el ejemplar
ponerlo sobre el escritorio
hasta que una de las mesas quede sin hojas
Fin
Nocin de Algoritmo
Primera definicin:
o
it m

Dado un procesador bien definido y un


or

tratamiento a ejecutar por ese procesador,


lg

un algoritmo de tratamiento es el
A

enunciado de una secuencia de acciones


primitivas que realizan ese tratamiento.
Algoritmo

Nocin de algoritmo:
Procesador, entorno, acciones
Acciones primitivas
Anlisis descendente
Objetivo de la programacin
Objetivo de la programacin

Dado un trabajo que se desea efectuar con la ayuda


de un procesador determinado:
o

Establecer una secuencia de acciones que


iv
et

puedan ser ejecutadas por el procesador y


bj

que realicen dicho trabajo.


O

Fase 1 Fase 2

Resolucin del problema: Adaptacin del algoritmo al


determinacin de un algo- procesador: codificacin.
ritmo que realice el
tratamiento.
Objetivo de la programacin
Fase 1 Fase 2

Resolucin del problema: Adaptacin del algoritmo al


determinacin de un algo- procesador: codificacin.
ritmo que realice el
tratamiento. Lenguaje de programacin

Etapa ms difcil
No presenta mayores
dificultades
Herramientas

Inteligencia Soluciones Mecanismos


elegantes y de Inteligencia
Intuicin eficientes traduccin
Algoritmo

Nocin de algoritmo
Objetos y acciones elementales
Esquemas condicionales
Iteraciones
Algoritmo
Objetos y acciones elementales:
Formalizacin
Objetos en un entorno
Utilizacin de objetos
Acciones y algoritmos
Constantes y variables
Tipos de objetos
Contexto y herramientas
Accin leer, accin escribir, accin de
asignacin, expresiones aritmticas
Formalizacin Objetos en un entorno
Repaso: ACCIONES:
* colocarse en la mesa N 1
* tomar el paquete situado encima de la pila
* ir a la mesa siguiente
* ingresar el primer nmero
* pulsar la tecla 3
* pulsar la tecla +

Intervienen distintos objetos:


El paquete de
La mesa
La mesa N 1 encima de la
siguiente
pila

El primer
La tecla 3 La tecla +
nmero
Formalizacin Objetos en un entorno

Caractersticas de la nocin de objeto:


El paquete de
La mesa
La mesa N 1 encima de la
siguiente
pila

El primer
La tecla 3 La tecla +
nmero

Lo designa sin ambigedad


Nombre
Indica los caracteres comunes a todos los
Tipo estados posibles del objeto

En cadacitados
instante, todo
delobjeto del entorno
ValorDos de los objetos
Cada objeto tiene
tiene una
son
utilizacin
un valor
tipo mesa.
particular.
susceptible de variar
Las utilizaciones
despusnode
son intercambiables.
la ejecucin de una accin
Representan, en cada instante, una de las mesas
del grupo de 10 mesas del problema.
Formalizacin Objetos en un entorno
Objeto: el paquete encima de la pila
Nombre
Tipo 5
3 3
Valor
7 7
6 6
1 1

Se ejecuta
Antes de la la accin Despus de
ejecucin la ejecucin
de la accin de la accin

Accin: tomar el paquete de encima de la pila


Formalizacin Objetos en un entorno
Ejemplo: Utilizacin de objetos

Tarea: Elaborar un algoritmo que determine la


suma de los n primeros nmeros naturales.

Pasos:
Conocer el procesador

Describir el entorno

Generar el algoritmo
Formalizacin Objetos en un entorno

Conocer el procesador

Competencias del procesador:


. Dar un valor a un objeto,
. Calcular la suma de dos valores numricos,
. Comparar dos valores numricos (constatar su igualdad o
diferencia)

. Ejecutar un esquema repetitivo del tipo repetirhasta que


Formalizacin Objetos en un entorno

Describir el entorno

objeto que contiene un valor


NUM
numrico entero n ( n >= 1 )

El valor inicial de este objeto est determinado y


servir para controlar el clculo

Si es 3 1+2+3=6
Se ejecutar

Si es 5 1 + 2 + 3 + 4 + 5 = 15
etc.
Formalizacin Objetos en un entorno

Describir el entorno

objeto que contiene un valor


NUM
numrico entero n ( n >= 1 )

objeto que contiene el valor


S
del resultado
El valor del resultado tiene que figurar en el estado final
En este objeto se hardel entorno.
la acumulacin de los enteros su-
cesivos (que tambin tienen que estar representados).
Se requiere:
Utilizar n objetos, que contengan cada uno
de los valores enteros necesarios (1, 2, ...n)
Hay 2 posi-
bilidades: Utilizar un solo objeto, al que se haga variar
para representar todos los valores de 1 a n
Formalizacin Objetos en un entorno

Describir el entorno

objeto que contiene un valor


NUM
numrico entero n ( n >= 1 )

objeto que contiene el valor


S
del resultado

Desventajas objeto
de la que contiene losmuchos objetos
Requiere
ENTERO
valores sucesivos de 1 a n
primera alternativa: El nmero de objetos es variable

Utilizar n objetos, que contengan cada uno


de los valores enteros necesarios (1, 2, ...n)
Hay 2 posi-
bilidades: Utilizar un solo objeto, al que se haga variar
para representar todos los valores de 1 a n
Formalizacin Objetos en un entorno

Observacin: S ENTERO

Se acaban de crear dos objetos numricos (S y ENTERO).

Un objeto tiene siempre un valor; pero, en el momento de


la creacin del objeto, su valor no puede ser conocido.

se dice que es . . . indeterminado


Si se desea dar un valor al objeto,
es necesario ejecutar una accin
Formalizacin Objetos en un entorno

Descripcin del entorno del problema:

Objeto Funcin Estado inicial Estado final


Objeto de valor entero >=
NUM 1, que indica el entero ms n n
grande a acumular
Objeto en el cual se valor 1+2+...+
S calcula la suma de los n indeterminado (n 1) + n
primeros enteros
Objeto que contendr los valor
ENTERO sucesivos enteros de indeterminado
1a n
Formalizacin Objetos en un entorno

Generar el algoritmo

Determinar las acciones a ejecutar para trasladar el


entorno del estado inicial al estado final deseado.

Idea dar a ENTERO los valores


sucesivos de 1 a n y
acumular esos valores en S

el primer entero a acumular es 1; para lo que


ENTERO
habr que dar inicialmente a ENTERO el valor 1

anlogamente,
sea
ser sde
elun para
valor obtener, porantes
(indeterminado) acumulacin,
el valor necesario, por
objeto queloacaba
tanto,dede S de
ser en la
la
definido
el valoracumulacin,
creacin deseado
de en S, esanecesario
el valor dar,
0 pre-
eseste objeto, unaS acumulacin en S
S
siempre dar
indeterminado
viamente
de un enteros
todos los valor determinado
de 1 a n, noa producir
este objetoel
resultado esperado, sino el valor s+1+2+...+n
Formalizacin Objetos en un entorno

Para cada valor de ENTERO, es suficiente a continuacin:

* acumular el valor de ENTERO en S


* pasar al entero siguiente, volver a em-
pezar, etc., hasta que se hayan acumu-
lado todos los enteros necesarios

Es posible, entonces, redactar una solucin. En ella


todas las acciones expresadas sern acciones
primitivas o composiciones de primitivas.
Formalizacin Objetos en un entorno
algoritmo suma_de_enteros Composicin
de primitivas
Inicio
1: dar a S el valor 0
2: dar a ENTERO el valor 1
3: Repetir
3a: sumar el valor de ENTERO y el valor de S
y asignar el resultado como nuevo valor de S
3b: sumar 1 al valor de ENTERO
y asignar el resultado como nuevo valor de ENTERO
hasta que 3c: el valor de ENTERO sea igual al de
NUM aumentado en 1
Fin

Expresado el algoritmo, es posible precisar el valor final de


ENTERO.
Es el que hace finalizar la repeticin: n+1 (siendo n el valor de
NUM)
Formalizacin Objetos en un entorno

La importancia del algoritmo elaborado no reside en


ser utilizado una sola vez para calcular, por ejemplo, la
suma de los diez primeros enteros.
Sera ms rpido calcular la suma a mano que generar
un algoritmo y utilizar un procesador.

El algoritmo permite al procesador aprender a calcular la


suma de los n primeros enteros, cualquiera sea n, y est
destinado a ser ejecutado por el procesador, un gran
nmero de veces, para distintos valores del objeto NUM.
Formalizacin Objetos en un entorno
algoritmo suma_de_enteros
Inicio Ejecucin del algoritmo por el procesador:
1: dar a S el valor 0
2: dar a ENTERO el valor 1
3: Repetir
3a: sumar el valor de ENTERO y el valor de S Ejecucin paso a paso
y asignar el resultado como nuevo valor de S
3b: sumar 1 al valor de ENTERO
y asignar el resultado como nuevo valor de ENTERO
hasta que 3c: el valor de ENTERO sea igual al de
NUM aumentado en 1 3
NUM S ENTERO
Fin

Accin ejecutada o Estado del entorno despus de la ejecucin de la accin


condicin evaluada NUM S ENTERO
Inicialmente 3 indeterminado indeterminado
1 3 0 indeterminado
2 3 0 1
3a 3 1 1
3b 3 1 2
3c 2 <> 3+1,sigue
3a 3 3 2
3b 3 3 3
3c 3 <> 3+1,sigue
3a 3 6 3
3b 3 6 4
3c 4 = 3+1, termina
la ejecucin
Formalizacin Objetos en un entorno
Ejecucin paso a paso (Prueba de escritorio)

El creador del algoritmo sustituye al procesador para


ejecutarlo a partir de los valores iniciales dados.

El ejemplo anterior muestra que, para el valor inicial 3 del


objeto NUM, el algoritmo funciona correctamente

Ello no implica que funcione correctamente para cualquier


valor de NUM

Lo nico que se puede probar a partir de la prueba de


escritorio, es el mal funcionamiento de un algoritmo:
Si el resultado obtenido con un seguimiento paso a paso es
incorrecto, entonces el algoritmo no funciona correctamente
Algoritmo
Objetos y acciones elementales:
Formalizacin
Objetos en un entorno
Utilizacin de objetos
Acciones y algoritmos
Constantes y variables
Tipos de objetos
Contexto y herramientas
Accin leer, accin escribir, accin de
asignacin, expresiones aritmticas
Acciones y algoritmos

Precisiones en la definicin de accin:


n
i
cc

Dado un entorno descrito formalmente como un


A

conjunto de objetos, es un suceso de duracin


finita que, a partir de un estado inicial particular del
entorno, tiene como consecuencia un nuevo estado
bien definido.
Acciones y algoritmos

Precisiones en la definicin de algoritmo:

Un algoritmo est compuesto de acciones, y tiene,


sobre el entorno, un efecto de la misma naturaleza que
la de una accin.
Entorno
Estado Estado
inicial final

Algoritmo
--------------------------
--------------------------
--------------------------
--------------------------
Acciones y algoritmos

La construccin de un algoritmo parte siempre de la


descripcin de un problema.
Un problema est bien planteado si se ha descripto:

de dnde se parte (Ei)


Lo que se ha de realizar
a dnde se quiere llegar (Ef)

el procesador, del que


El instrumento de la se han de conocer las
realizacin acciones primitivas
Acciones y algoritmos
Precisiones en la definicin de algoritmo:

x P, un
o
Dado un problema y un procesador
itm

algoritmo de x paraP es la descripcin de


or

x realizable con P.
lg

una solucin de
A

Esta descripcin comprende dos partes:


El entorno, que determina los objetos utilizables por
P, su funcin, su estado inicial y su estado final.
La sucesin de operaciones a ejecutar, para hacer
pasar el entorno de su estado inicial a su estado final.
Una sucesin tal que cada operacin sea:
* una accin primitiva o bien
* la llamada de un algoritmo ya conocido y descripto
Acciones y algoritmos

Importante:

Un algoritmo puede llamar a otro algoritmo.

( Es mejor que volver a formular todas sus


acciones primitivas ).
Ejemplo: Algoritmo A Algoritmo B
a a
b b
c b
B a
d

ParaSi
ambos
se ejecuta
algoritmos,
el algoritmo
si a, b,A,c las
y d acciones
son acciones
primitivas,ejecutadas
la accin estarn
B dentroendel el algoritmo
orden A se
denominaa, una
b, c,
llamada
a, b, b,ala,algoritmo
d B.
Algoritmo
Objetos y acciones elementales:
Formalizacin
Objetos en un entorno
Utilizacin de objetos
Acciones y algoritmos
Constantes y variables
Tipos de objetos
Contexto y herramientas
Accin leer, accin escribir, accin de
asignacin, expresiones aritmticas
Constantes y variables
La accin:
3b: sumar 1 al valor de ENTERO
y asignar el resultado como nuevo valor de ENTERO

del algoritmo suma_de_enteros . . .


ENTERO

Hace intervenir dos objetos:


1

Su valor vara de 1 en 1 durante la ejecucin


El objeto ENTERO es una variable
del algoritmo:
Constantes y variables

e
bl

Es un objeto cuyo valor cambia


ria
Va

(no es invariable)
Adems del valor, toda variable posee otros dos atributos:

Nombre (invariable) que sirve para designarla

Tipo (invariable) que describe la posible utilizacin de la variable

Definir una variable es, de hecho, crear un objeto para


el procesador.

Toda variable que acaba de ser definida, tiene un valor


indeterminado
Constantes y variables
Volviendo a la accin:
3b: sumar 1 al valor de ENTERO
y asignar el resultado como nuevo valor de ENTERO

del algoritmo suma_de_enteros . . .


ENTERO

Hace intervenir dos objetos:


1

El propio
objeto 1
valor
es un
esobjeto
utilizado
particular:
para designar
su valor
al
El objeto es 1 invariable
es una constante
objeto
Constantes y variables

te
Es un objeto de valor invariable.
an
st

Es la realizacin de un valor de un tipo


on
C

particular.

Una constante no requiere forzosamente un nombre.

Sin embargo, con frecuencia es conveniente dar


nombre a la constante, y emplear sistemticamente el
nombre elegido para designarla.
Algoritmo
Objetos y acciones elementales:
Formalizacin
Objetos en un entorno
Utilizacin de objetos
Acciones y algoritmos
Constantes y variables
Tipos de objetos
Contexto y herramientas
Accin leer, accin escribir, accin de
asignacin, expresiones aritmticas
Tipos de objetos

Tipos que se utilizarn para calificar las dos


categoras (constantes y variables) de objetos vistos :

. Tipo numrico
. Tipo carcter
. Tipo cadena
. Tipo lgico
. Tipo compuesto
Tipo numrico

Es el conjunto de valores numricos


que el procesador sabe tratar.

Un valor numrico se escribe en su forma


habitual, con o sin signo.

Ejemplo: 12
10.5
+32
-141.67
Tipo carcter

Es el conjunto de caracteres que el


procesador reconoce: letras maysculas,
letras minsculas, cifras y signos especiales.
Una variable de tipo carcter tiene por
valor uno y slo un carcter.
Para representar valores de tipo carcter, se los
delimita por un par de apstrofos

Ejemplo:
E es un valor de un carcter que representa la letra E.
e es un valor de un carcter que representa la letra e.
E es el nombre de una variable.
Tipo cadena

Es el conjunto de cadenas de caracteres que


se pueden formar yuxtaponiendo caracteres.
Ejemplo:
libro est formada por 5 caracteres: l, i, b, r, o.
Apellido y Nombre, Nota est formada por 23
caracteres: 19 letras, 1 coma y 3 espacios.

El espacio, que permite separar palabras en una


cadena, es -l mismo- un carcter.
d d

Es el entero que indica el nmero de


a
ca u
en
a it
un n g

caracteres que componen la cadena.


Lo
de
Tipo lgico

Es el conjunto de valores lgicos


cierto y falso.

Una variable de tipo lgico tiene


siempre uno de esos dos valores.

Puede ser definida para representar una condicin


determinada sobre el entorno utilizado.
Tipo compuesto

Cada uno de los tipos vistos hasta ahora es un tipo


elemental. (Los valores de estos tipos permiten
representar informaciones elementales)

Puede surgir la necesidad de agrupar varios


valores para caracterizar una entidad particular.
es e
ta
pu bl

Es la asociacin de varias variables


m ia
co Var

elementales
Tipo compuesto
Ejemplo:
RESULTADO
APELLIDO ASIGNATURA
RESULTADO NOTA
Moro
APELLIDO ASIGNATURA NOTA 9
Informtica
LETRAS NMEROS
Las variables APELLIDO, ASIGNATURA y
Moro Informtica
NOTA, Nuevede la variable
son subdivisiones 9
compuesta RESULTADO.

Una subdivisin puede ser ella misma una variable


compuesta:
Algoritmo
Objetos y acciones elementales:
Formalizacin
Objetos en un entorno
Utilizacin de objetos
Acciones y algoritmos
Constantes y variables
Tipos de objetos
Contexto y herramientas
Accin leer, accin escribir, accin de
asignacin, expresiones aritmticas
Contexto y herramientas
Durante la ejecucin de un programa puede
requerirse o no la participacin del usuario
Si interviene el usuario, se produce un dilogo
entre ste y el procesador.

En cada instante, uno de los dos protagonistas del


dilogo est a la espera de una informacin que el
otro suministra.

Un contexto de trabajo en el que el usuario

o
iv
y el procesador estn alternativamente en

ct
ra
actividad se denomina...

te
In
Contexto y herramientas
Durante la ejecucin de un programa puede
requerirse o no la participacin del usuario

Si no se requiere el suministro de informacin por


parte del usuario, no hay interaccin entre usuario y
trabajo mientras ste se est ejecutando.

Un contexto en el que el usuario prepara el


trabajo, lo deja ejecutando y, al cabo de un

ch
at
tiempo, aparece la salida se denomina...

B
Contexto y herramientas
El usuario requiere de una estacin de trabajo
que le permita comunicarse con el procesador.

La estacin de trabajo puede estar


COMPUTADOR
directamente enlazada al procesador
PERSONAL

o conectada a distancia a un computa-


dor que sirve simultneamente a va-
rios usuarios SERVIDOR
Contexto y herramientas
La estacin de trabajo posee, en general,
dos dispositivos de comunicacin:

Pantalla
Escribi
r

ENTORNO

PROCESADOR

Leer
Teclado
Contexto y herramientas - Lectura
En entorno interactivo:
er n
le i

Permite asignar a una variable del entorno,


cc

un valor pulsado en el teclado.


A

Notacin: Leer ( N )
Siendo N la variable considerada.
Contexto y herramientas - Lectura
Para ejecutar la accin leer el procesador se
pone a la espera y observa el teclado.
Cada tecla que pulsa el usuario, comunica al
procesador una parte de la informacin
esperada.
El usuario indica que la entrada de informacin
ha terminado, pulsando una tecla:

Esta accin se puede utilizar con el algoritmo


suma_de_enteros, al inicio de la ejecucin, para
obtener el valor de NUM, que sirve de base al clculo .
Contexto y herramientas - Escritura
En entorno interactivo:
cr in

Hace aparecer una informacin en la


ir
es cc
ib

pantalla.
A

Notacin: Escribir ( i )
Donde i puede ser una constante, el valor de una variable, o una
serie de valores.
Contexto y herramientas - Escritura
Tambin se utiliza la accin escribir para
indicar al usuario lo que se espera de l.
Ejemplo:
algoritmo
algoritmo suma_de_enteros
suma_de_enteros
InicioInicio
escribir (Clculo de la suma de los N primeros enteros)
leer (NUM)
escribir(Ingrese
... un valor entero)
leer (NUM)
...

pero no da ninguna
La ejecucin indicacin
del algoritmo abrealelusuario,
tecladoquien
de la
tendra que
estacin saber
para por el
esperar s ingreso
mismo lo que
del ha de NUM...
valor hacer.
Contexto y herramientas - Escritura
La accin escribir tambin se utiliza para
comunicar resultados al usuario.
Ejemplo:

algoritmo suma_de_enteros
Inicio
...
...
escribir(La suma de los , NUM, primeros enteros es, S)
Fin

Las informaciones escritas en el ejemplo son una


sucesin de cuatro valores: el primero y el tercero son
constantes, los restantes son valores de variables.
Contexto y herramientas - Asignacin
Las acciones primitivas leer y escribir permiten,
respectivamente, hacer entrar un valor en el entorno
o extraer uno.
Hay otra forma de accin primitiva que permite
modificar el valor de una variable internamente (sin
intervencin del usuario).
na n
n

Dado un entorno, atribuye a una variable


ig ci
ci
as Ac

un valor que procede del mismo entorno.


Contexto y herramientas - Asignacin

Notacin: m e
Donde
m es el nombre de la variable a la que el procesador ha de
atribuir el valor.
caracteriza la accin de asignacin.
e representa el valor a asignar

y puede ser: una constante


el nombre de otra variable que contenga el valor
una expresin del mismo tipo que m (expresin
lgica o aritmtica)
Contexto y herramientas - Asignacin

Las dos entidades que en una asignacin


aparecen a ambos lados del signo han de ser
del mismo tipo

Ejemplo:

a. ENTERO 1
b. APELLIDO MORO
c. TOTAL SUMA
d. NUM A + B
Contexto y herramientas - Asignacin
Ejemplo:
a. ENTERO 1
b. APELLIDO MORO
c. TOTAL SUMA
d. NUM A + B

La accin a asigna a la variable numrica


ENTERO el valor 1.
En las acciones a y b el valor a asignar se
La accin
indica por b asigna
medio delauna
cadena MORO a la
constante.
variable tipo cadena APELLIDO.
Contexto y herramientas - Asignacin
Ejemplo:
a. ENTERO 1
b. APELLIDO MORO
c. TOTAL SUMA
d. NUM A + B

La accin c representa una asignacin en la que


el valor a asignar est indicado por una variable.

Si antes
despus de de la ejecucin
la ejecucin de de c, TOTAL
c, TOTAL y SUMA
habr tomado
tienenslos
el valor valores
y SUMA t y conservado
habr s, respectivamente.
su valor.. .

Slo la variable cuyo nombre aparece a la izquierda


del signo cambia de valor.
Contexto y herramientas - Asignacin
Ejemplo:
a. ENTERO 1
b. APELLIDO MORO
c. TOTAL SUMA
d. NUM A + B

La accin d asigna a la variable NUM el


La accin se ejecuta en dos tiempos:
resultado de un clculo aritmtico.

1 Clculo del valor


Es necesario que de
laslavariables
expresin aritmtica.
NUM ,A y B
sean del mismo tipo.
2 Asignacin de ese valor a la variable NUM.
Contexto y herramientas Expresiones aritmticas

Para formar expresiones aritmticas, se


utilizan las constantes o variables
numricas y los operadores:

+ suma

- resta

*/ multiplicacin
divisin corriente
div divisin euclidiana
Algoritmo

Fin de la presentacin

Bibliografa: Jolle Biondi y Gilles Clavel.Introduccin a la programacin,


Tomo I: Algortmica y lenguajes. Ed. Masson S.A. Bs. A.s, 1988.

Das könnte Ihnen auch gefallen