algoritmo nociones fundamentales algoritmo noción de algoritmo objetos y acciones elementales...
Embed Size (px)
TRANSCRIPT

Algoritmo
Nociones fundamentales

Algoritmo
• Noción de algoritmo
• Objetos y acciones elementales
• Esquemas condicionales
• Iteraciones
• Noción de algoritmo
• Objetos y acciones elementales
• Esquemas condicionales
• Iteraciones
Est
a p
rese
nta
ció
n

Algoritmo
• Noción de algoritmo:– Procesador, entorno, acciones– Acciones primitivas– Análisis descendente– Objetivo de la programación
• Noción de algoritmo:– Procesador, entorno, acciones– Acciones primitivas– Análisis descendente– Objetivo de la programación

Algoritmo – Procesador, entorno, acciones
Preparación de un omelette de 6 huevos
a: romper seis huevos en un plato;
b: batir las claras y las yemas con un tenedor;
c: calentar aceite en una sartén al fuego;
d: cuando el aceite esté caliente, verter el contenido del plato;
e: quitar la sartén del fuego cuando la preparación esté hecha.
Cálculo de la media de tres números con una calculadora
a: pulsar la tecla C;
b: ingresar el primer número;
c: pulsar la tecla + ;
d: ingresar el segundo número;
e: pulsar la tecla +;
f: ingresar el tercer número;
g: pulsar la tecla / ;
h: pulsar la tecla 3;
i: pulsar la tecla = .
Enunciado 1 Enunciado 2

Algoritmo – Procesador, entorno, acciones
Los enunciados 1 y 2 describen cada uno un cierto trabajo
Toda entidad capaz de entender un enunciado y de ejecutar el trabajo indicado
Proce
sador
En el caso de los enunciados 1 y 2, una persona que sepaleer y disponga de los utensilios necesarios, puede ser
un procesador adecuado

Algoritmo – Procesador, entorno, acciones
El conjunto de utensilios necesarios para la ejecución del trabajo.
Entorn
o
Dado un procesador, el entorno es específico del trabajoa ejecutar. Sin embargo, la forma de realizar el trabajo,
depende a menudo de los utensilios puestos a disposición del procesador

Algoritmo – Procesador, entorno, acciones
27,5027,50
a b
Entorno
11
11
11
11
11
11
1010
1010
1010
1010
1010
1010
10
NO
505050505050505050505050
505050505050505050505050
505050505050505050505050
505050505050505050505050
505050505050505050505050
1
Ejemplo:
b c
5020202020101010101010
5555555552222222222221111111111111
505050
50
101010101010101010101010101010101010
5555555555555
25252525252525252525
n
c
50
Tarea: Dar vuelto.

Algoritmo – Procesador, entorno, acciones
La ejecución de un trabajo no elemental, supone ciertaprogresión hacia el fin deseado.
En los Enunciados 1 y 2 se distinguen las etapas a, b, c,...
Un suceso que modifica el entorno
Acció
n
Dada la acción a del Enunciado 1:
romper seis huevos en un plato.
Antes de ejecutar la
acción, el plato está vacío.
Después de ejecutar la acción, el plato contiene 6 yemas y 6 claras.

Algoritmo – Procesador, entorno, acciones
La ejecución de una acción puede necesitar una observación del entorno (Ej.:Acción d, Enunc.1)
El procesador, en general, respeta la secuencia de las acciones. (Se verá cómo es posible romper
esa secuencia)
Ciertas acciones podrían ejecutarse al mismo tiempo (en paralelo). Ventaja: ganancia de tiempo.
Requeriría varios procesadores.
El enunciado de una acción puede aparecer varias veces en la descripción de un trabajo.
(Acciones c y e, Enunciado 2)
Sin embargo, el número de apariciones de una acción, no corresponde forzosamente a la
cantidad de ejecuciones de la misma.

Algoritmo – Procesador, entorno, acciones
Sin embargo, el número de apariciones de una acción, no corresponde forzosamente a la
cantidad de ejecuciones de la misma.
Enunciado 3
x
y
repetir x 5 veces
y
z
22
Ejecución:
x 6y 2

Algoritmo
• Noción de algoritmo:– Procesador, entorno, acciones– Acciones primitivas– Análisis descendente– Objetivo de la programación
• Noción de algoritmo:– Procesador, entorno, acciones– Acciones primitivas– Análisis descendente– Objetivo de la programación

Algoritmo – Acciones primitivas
En los Enunciados 1 y 2 se ha supuesto que el procesador sabía ejecutar las acciones enumeradas.
Para ese procesador, éstas son acciones primitivas.
Aquella cuyo enunciado es suficiente para que el procesador pueda ejecutarla sin
información adicional. Acc
ión
primiti
va

Algoritmo – Acciones primitivas
En el Enunciado 3, el procesador no sabrá ejecutar la acción 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 acción no primitiva, habrá de descomponerse en acciones primitivas.

Algoritmo – Acciones primitivas
En el Enunciado 1, si el procesador es un niño, la acción a, romper seis huevos en un plato, puede no ser
suficientemente explícita. Será necesario descomponerla:
a: romper seis huevos en un
plato
Ejemplo:
a1 : poner seis huevos sobre la mesada
repetir
a2: tomar un huevo de la mesada
a3: romperlo y verter su contenido en el plato
a4: tirar las cáscaras a la basura
hasta que no queden huevos sobre la mesada.
En el Enunciado 1, si el procesador es un niño, la acción a, romper seis huevos en un plato, puede no ser
suficientemente explícita. Será necesario descomponerla:

Algoritmo – Acciones primitivas
La descomposición efectuada utiliza un esquema repetitivo, que permite simplificar la representación de
la repetición de una secuencia de acciones.
Observación:
repetir acciones
hasta que condición
ejecutar acciones
evaluar condición
condición no realizada
condición realizada

Algoritmo
• Noción de algoritmo:– Procesador, entorno, acciones– Acciones primitivas– Análisis descendente– Objetivo de la programación
• Noción de algoritmo:– Procesador, entorno, acciones– Acciones primitivas– Análisis descendente– Objetivo de la programación

Algoritmo – Análisis descendente
Uno de los métodos para obtener la descomposi-ción de una acción en acciones primitivas es el
Análisis descendente.
Metodología:
Dado un trabajo T descripto por un enunciado no primitivo, el análisis
descendente de T consiste en encontrar una descomposición formada por una
secuencia de enunciados, cuya ejecución realiza el trabajo T.
Anális
is
des
cenden
te

Algoritmo – Análisis descendente
Representación:
(Ei) T (Ef)
(Ei 1) t1 (Ef 1) (Ei n) tn (Ef n)(Ei k) tk (Ef k). . . . . .
(Ef k-1) = (Ei k) (Ef k) = (Ei k+1)
Cada trabajo t k, pasa el entorno
de un estado (Ei k) a un estado (Ef k)
Para cada enunciado t k, hay dos posibilidades:
o bien t k es una acción primitiva, y se
detiene el análisis descendente para t k ;
o bien t k no es una acción primitiva, y se
descompone nuevamente t k.
t 1 1 t 1 2 t k 1 t k 2 t k 3

Algoritmo – Análisis descendente
Ejemplo:
Tarea: Realizar la agrupación de cierto número de ejemplares de un documento de diez páginas que ha sido enviado a un servicio de fotocopiado. Para cada una de las páginas 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 – Análisis descendente

Algoritmo – Análisis 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 número dado (reconocer igualdad de valores numéricos)
. Reconocer la presencia o ausencia de hojas sobre una mesa
. Grapar

Algoritmo – Análisis descendente
Enunciado:
A partir de la pila que se encuen-tra en el escritorio, agrupar las
fotocopias.A
AB C
Repartir los paquetes a razón de un paquete por
mesa, tal que el paquete de hojas i quede en la mesa i.
Reunir y grapar los ejemplares y ponerlos
sobre el escritorio.
A
B C

Algoritmo – Análisis descendente

Algoritmo – Análisis descendente
A
B
C
Repetir B1: tomar el paquete situado encima de la pila sobre el escritorio B2: ir a la mesa cuyo número es el mismo que el de las hojas del paquete B3: poner el paquete sobre la mesahasta que (B4) se acabe la pila que hay sobre el escritorio.
Repetir C1: tomar las hojas necesarias para un ejemplar C2: grapar el ejemplar C3: ponerlo sobre el escritoriohasta que (C4) una de las mesas quede sin hojas.
C1
C11: colocarse en la mesa Nº 1C12: tomar una hoja de esa mesaRepetir C13: ir a la mesa siguiente C14: tomar una hoja de esa mesa hasta que la mesa sea la Nº 10
B
C1C
A

Algoritmo – Análisis descendente
InicioRepetir tomar el paquete situado encima de la pila sobre el escritorio ir a la mesa cuyo número es igual al de las hojas del paquete poner el paquete sobre la mesahasta que se acabe la pila que hay sobre el escritorio.Repetircolocarse en la mesa Nº 1tomar una hoja de esa mesa Repetir ir a la mesa siguiente tomar una hoja de esa mesa hasta que la mesa sea la Nº 10grapar el ejemplarponerlo sobre el escritoriohasta que una de las mesas quede sin hojasFin

Noción de AlgoritmoPrimera definición:
Dado un procesador bien definido y un tratamiento a ejecutar por ese procesador,
un algoritmo de tratamiento es el enunciado de una secuencia de acciones primitivas que realizan ese tratamiento.
Algorit
mo

Algoritmo
• Noción de algoritmo:– Procesador, entorno, acciones– Acciones primitivas– Análisis descendente– Objetivo de la programación
• Noción de algoritmo:– Procesador, entorno, acciones– Acciones primitivas– Análisis descendente– Objetivo de la programación

Objetivo de la programación
Dado un trabajo que se desea efectuar con la ayuda de un procesador determinado:
Establecer una secuencia de acciones que puedan ser ejecutadas por el procesador y
que realicen dicho trabajo.Objetiv
o
Fase 1 Fase 2
Resolución del problema: determinación de un algo-ritmo que realice el tratamiento.
Adaptación del algoritmo al procesador: codificación.

Objetivo de la programación
Fase 1 Fase 2
Resolución del problema: determinación de un algo-ritmo que realice el tratamiento.
Adaptación del algoritmo al procesador: codificación.
Etapa más difícil
Herramientas
Inteligencia
Intuición
Soluciones elegantes y eficientes
Lenguaje de programación
No presenta mayores dificultades
Mecanismos de
traducción
Inteligencia

Algoritmo
• Noción de algoritmo
• Objetos y acciones elementales
• Esquemas condicionales
• Iteraciones
• Noción de algoritmo
• Objetos y acciones elementales
• Esquemas condicionales
• Iteraciones

Algoritmo
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas

Formalización – Objetos en un entorno
ACCIONES:
* colocarse en la mesa Nº 1* tomar el paquete situado encima de la pila* ir a la mesa siguiente* ingresar el primer número* pulsar la tecla 3* pulsar la tecla +
Repaso:
La mesa Nº 1
Intervienen distintos objetos:
El paquete deencima de la
pila
La mesa siguiente
El primernúmero
La tecla 3 La tecla +

Formalización – Objetos en un entorno
Características de la noción de objeto:
La mesa Nº 1El paquete deencima de la
pila
La mesa siguiente
El primernúmero
La tecla 3 La tecla +
Nombre Lo designa sin ambigüedad
Cada objeto tiene una utilización particular.Las utilizaciones no son intercambiables.
TipoIndica los caracteres comunes a todos los
estados posibles del objeto
Dos de los objetos citados son del tipo mesa.
Representan, en cada instante, una de las mesasdel grupo de 10 mesas del problema.
Valor En cada instante, todo objeto del entorno tiene un valor susceptible de variar
después de la ejecución de una acción

Formalización – Objetos en un entorno
Nombre
Tipo
Valor
1
6
7
3
5
Valor
1
6
7
3
Objeto: el paquete encima de la pila
Acción: tomar el paquete de encima de la pila
Antes de la ejecución de la acción
Después de la ejecución de la acción
Se ejecutala acción

Formalización – Objetos en un entorno
Ejemplo: Utilización de objetos
Tarea: Elaborar un algoritmo que determine la suma de los n primeros números naturales.
Pasos:Conocer el procesador
Describir el entorno
Generar el algoritmo

Formalización – Objetos en un entorno
Conocer el procesador
Competencias del procesador:
. Dar un valor a un objeto,
. Calcular la suma de dos valores numéricos,
. Comparar dos valores numéricos (constatar su igualdad o diferencia)
. Ejecutar un esquema repetitivo del tipo repetir…hasta que

Formalización – Objetos en un entorno
objeto que contiene un valor numérico entero n ( n >= 1 )
Describir el entorno
NUM
El valor inicial de este objeto está determinado y servirá para controlar el cálculo
Si es 3Se ejecutará
1 + 2 + 3 = 6
Si es 5 1 + 2 + 3 + 4 + 5 = 15 etc. …

Formalización – Objetos en un entorno
objeto que contiene un valor numérico entero n ( n >= 1 )
Describir el entorno
NUM
El valor del resultado tiene que figurar en el estado finaldel entorno.
Se requiere:
objeto que contiene el valor del resultadoS
En este objeto se hará la acumulación de los enteros su-cesivos (que también tienen que estar representados).
Hay 2 posi-bilidades:
Utilizar n objetos, que contengan cada uno de los valores enteros necesarios (1, 2, ...n)
Utilizar un solo objeto, al que se haga variar para representar todos los valores de 1 a n

Formalización – Objetos en un entorno
objeto que contiene un valor numérico entero n ( n >= 1 )
Describir el entorno
NUM
objeto que contiene el valor del resultadoS
Hay 2 posi-bilidades:
Utilizar n objetos, que contengan cada uno de los valores enteros necesarios (1, 2, ...n)
Utilizar un solo objeto, al que se haga variar para representar todos los valores de 1 a n
Desventajas de la primera alternativa:
Requiere muchos objetos
El número de objetos es variable
objeto que contiene los valores sucesivos de 1 a nENTERO

Formalización – Objetos en un entorno
Observación:
Se acaban de crear dos objetos numéricos (S y ENTERO).
S ENTERO
Un objeto tiene siempre un valor; pero, en el momento de la creación 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 acción

Formalización – Objetos en un entorno
Descripción del entorno del problema:
Objeto Función Estado inicial Estado final
NUMObjeto de valor entero >=
1, que indica el entero más grande a acumular
n n
SObjeto en el cual se
calcula la suma de los n primeros enteros
valor indeterminado
1 + 2 + . . . +(n –1) + n
ENTEROObjeto que contendrá los
sucesivos enteros de 1 a n
valor indeterminado

Formalización – Objetos en un entorno
dar a ENTERO los valores sucesivos de 1 a n y
acumular esos valores en S
Generar el algoritmo
Idea
Determinar las acciones a ejecutar para trasladar el entorno del estado inicial al estado final deseado.
S
ENTEROel primer entero a acumular es 1; para lo que
habrá que dar inicialmente a ENTERO el valor 1
análogamente, para obtener, por acumulación, el valor deseado en S, es necesario dar, pre-viamente un valor determinado a este objeto
el valor de un objeto que acaba de ser definido es siempre indeterminado
sea s el valor (indeterminado) de S en la creación de este objeto, una acumulación en S de todos los enteros de 1 a n, no producirá el resultado esperado, sino el valor s+1+2+...+n
será necesario, por lo tanto, antes de la acumulación, dar a S el valor 0

Formalización – Objetos en un entorno
* 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 solución. En ella todas las acciones expresadas serán acciones
primitivas o composiciones de primitivas.
Para cada valor de ENTERO, es suficiente a continuación:

Formalización – Objetos en un entorno
algoritmo suma_de_enterosInicio1: dar a S el valor 02: dar a ENTERO el valor 13: 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
Composición de primitivas
Expresado el algoritmo, es posible precisar el valor final de ENTERO.
Es el que hace finalizar la repetición: n+1 (siendo n el valor de NUM)

Formalización – 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.Sería más rápido 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 número de veces, para distintos valores del objeto NUM.

Formalización – Objetos en un entorno
Ejecución paso a paso
Ejecución del algoritmo por el procesador:algoritmo suma_de_enterosInicio1: dar a S el valor 02: dar a ENTERO el valor 13: 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
Acción ejecutada ocondición evaluada NUM S ENTERO
Estado del entorno después de la ejecución de la acción
3 indeterminado indeterminadoInicialmente
3 0 indeterminado1
3 0 123 1 13a3 1 23b
3c 2 <> 3+1,sigue3 3 23a3 3 33b
3c 3 <> 3+1,sigue3 6 33a3 6 43b
3c
S ENTERONUM3
4 = 3+1, terminala ejecución
4 = 3+1, terminala ejecución

Formalización – Objetos en un entorno
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
Ejecución paso a paso (Prueba de escritorio)
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:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas

Acciones y algoritmos
Dado un entorno descrito formalmente como un conjunto de objetos, es un suceso de duración
finita que, a partir de un estado inicial particular del entorno, tiene como consecuencia un nuevo estado
bien definido.
Precisiones en la definición de acción:
Acció
n

Acciones y algoritmos
Precisiones en la definición de algoritmo:
Un algoritmo está compuesto de acciones, y tiene, sobre el entorno, un efecto de la misma naturaleza que
la de una acción.
Entorno
Estado inicial
Estado final
Algoritmo
--------------------------------------------------------------------------------------------------------

Acciones y algoritmos
La construcción de un algoritmo parte siempre de la descripción de un problema.
Un problema está bien planteado si se ha descripto:
Lo que se ha de realizarLo que se ha de realizarde dónde se partede dónde se parte
a dónde se quiere llegara dónde se quiere llegar
(Ei)
(Ef)
El instrumento de larealización
El instrumento de larealización
el procesador, del quese han de conocer lasacciones primitivas
el procesador, del quese han de conocer lasacciones primitivas

Acciones y algoritmos
Precisiones en la definición de algoritmo:
Dado un problema x y un procesador P, un
algoritmo de x para P es la descripción de
una solución de x realizable con P. Esta descripción comprende dos partes:
Algorit
mo
El entorno, que determina los objetos utilizables por
P, su función, su estado inicial y su estado final.
La sucesión de operaciones a ejecutar, para hacer pasar el entorno de su estado inicial a su estado final.
Una sucesión tal que cada operación sea:* una acción primitiva o bien* la llamada de un algoritmo ya conocido y descripto

Acciones y algoritmos
Importante:
Para ambos algoritmos, si a, b, c y d son acciones primitivas, la acción B dentro del algoritmo A se
denomina una llamada al algoritmo B.
Un algoritmo puede llamar a otro algoritmo.
( Es mejor que volver a formular todas sus acciones primitivas ).
Ejemplo: Algoritmo A
abcBd
Algoritmo B
abba
Si se ejecuta el algoritmo A, las acciones ejecutadas estarán en el orden
a, b, c, a, b, b, a, d

Algoritmo
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas

Constantes y variables
Hace intervenir dos objetos:
La acción:
1
ENTERO
3b: sumar 1 al valor de ENTERO y asignar el resultado como nuevo valor de ENTERO
del algoritmo suma_de_enteros . . .
Su valor varía de 1 en 1 durante la ejecución del algoritmo:El objeto ENTERO es una variable

Constantes y variables
Es un objeto cuyo valor cambia (no es invariable)
Varia
ble
Además del valor, toda variable posee otros dos atributos:
Nombre
Tipo
(invariable) que sirve para designarla
(invariable) que describe la posible utilización 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
Hace intervenir dos objetos:
Volviendo a la acción:
1
ENTERO
3b: sumar 1 al valor de ENTERO y asignar el resultado como nuevo valor de ENTERO
del algoritmo suma_de_enteros . . .
El objeto 1 es un objeto particular: su valor es invariable
El propio valor es utilizado para designar al objetoEl objeto 1 es una constante

Constantes y variables
Es un objeto de valor invariable. Es la realización de un valor de un tipo
particular.Const
ante
Una constante no requiere forzosamente un nombre.
Sin embargo, con frecuencia es conveniente dar nombre a la constante, y emplear sistemáticamente el
nombre elegido para designarla.

Algoritmo
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas

Tipos de objetos
Tipos que se utilizarán para calificar las dos categorías (constantes y variables) de objetos vistos :
. Tipo numérico
. Tipo carácter
. Tipo cadena
. Tipo lógico
. Tipo compuesto

Tipo numérico
Es el conjunto de valores numéricos que el procesador sabe tratar.
Un valor numérico se escribe en su forma habitual, con o sin signo.
Ejemplo: 12
10.5
+32
-141.67

Tipo carácter
Es el conjunto de caracteres que el procesador reconoce: letras mayúsculas,
letras minúsculas, cifras y signos especiales.
Una variable de tipo carácter tiene por valor uno y sólo un carácter.
Ejemplo:
‘E’ es un valor de un carácter que representa la letra E.
‘e’ es un valor de un carácter que representa la letra e.
Para representar valores de tipo carácter, se los delimita por un par de apóstrofos
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 carácter.
Es el entero que indica el número de caracteres que componen la cadena.Longitu
d
de una
caden
a

Tipo lógico
Es el conjunto de valores lógicos cierto y falso.
Una variable de tipo lógico tiene siempre uno de esos dos valores.
Puede ser definida para representar una condición determinada sobre el entorno utilizado.

Tipo compuesto
Puede surgir la necesidad de agrupar varios valores para caracterizar una entidad particular.
Cada uno de los tipos vistos hasta ahora es un tipo elemental. (Los valores de estos tipos permiten
representar informaciones elementales)
Es la asociación de varias variables elementalesVar
iable
com
puesta

Tipo compuesto
Ejemplo:RESULTADO
APELLIDO ASIGNATURA NOTA
‘Moro’ ‘Informática’ 9
Una subdivisión puede ser ella misma una variable compuesta:
Las variables APELLIDO, ASIGNATURA y NOTA, son subdivisiones de la variable
compuesta RESULTADO.
RESULTADO
APELLIDO ASIGNATURA NOTA
‘Moro’
‘Informática’ 9
LETRAS NÚMEROS‘Nueve’

Algoritmo
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas
• Objetos y acciones elementales:– Formalización
– Objetos en un entorno– Utilización de objetos
– Acciones y algoritmos– Constantes y variables– Tipos de objetos– Contexto y herramientas
• Acción leer, acción escribir, acción de asignación, expresiones aritméticas

Contexto y herramientas
Durante la ejecución de un programa puede requerirse o no la participación del usuario
Un contexto de trabajo en el que el usuario y el procesador están alternativamente en
actividad se denomina...
Inte
ract
ivo
Si interviene el usuario, se produce un “diálogo” entre éste y el procesador.
En cada instante, uno de los dos protagonistas del diálogo está a la espera de una información que el
otro suministra.

Contexto y herramientas
Durante la ejecución de un programa puede requerirse o no la participación del usuario
Un contexto en el que el usuario prepara el trabajo, lo deja ejecutando y, al cabo de un
tiempo, aparece la salida se denomina... Batch
Si no se requiere el suministro de información por parte del usuario, no hay interacción entre usuario y
trabajo mientras éste se está ejecutando.

Contexto y herramientas
El usuario requiere de una estación de trabajo que le permita comunicarse con el procesador.
La estación de trabajo puede estar directamente enlazada al procesador
COMPUTADORPERSONAL
o conectada a distancia a un computa-dor que sirve simultáneamente a va-
rios usuarios SERVIDOR

Contexto y herramientas
La estación de trabajo posee, en general, dos dispositivos de comunicación:
ENTORNO
PROCESADOR
Teclado
Pantalla
Leer
Escribir

Contexto y herramientas - Lectura
Permite asignar a una variable del entorno, un valor pulsado en el teclado. Acc
ión
leer
En entorno interactivo:
Notación: Leer ( N )Siendo N la variable considerada.

Contexto y herramientas - Lectura
• Para ejecutar la acción 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 información esperada.
• El usuario indica que la entrada de información ha terminado, pulsando una tecla:
Esta acción se puede utilizar con el algoritmo suma_de_enteros, al inicio de la ejecución, para
obtener el valor de NUM, que sirve de base al cálculo .

Contexto y herramientas - Escritura
Hace aparecer una información en la pantalla. Acc
ión
escr
ibir
En entorno interactivo:
Notación: Escribir ( i )Donde i puede ser una constante, el valor de una variable, o una serie de valores.

Contexto y herramientas - Escritura
• También se utiliza la acción escribir para indicar al usuario lo que se espera de él.
La ejecución del algoritmo abre el teclado de la estación para esperar el ingreso del valor de NUM...
algoritmo suma_de_enterosInicio leer (NUM)...
Ejemplo:
pero no da ninguna indicación al usuario, quien tendría que saber por sí mismo lo que ha de hacer.
algoritmo suma_de_enterosInicio escribir (‘Cálculo de la suma de los N primeros enteros’) escribir(‘Ingrese un valor entero’) leer (NUM)...

Contexto y herramientas - Escritura
• La acción escribir también se utiliza para comunicar resultados al usuario.
Las informaciones escritas en el ejemplo son una sucesión de cuatro valores: el primero y el tercero son
constantes, los restantes son valores de variables.
Ejemplo:
algoritmo suma_de_enterosInicio. . .. . . escribir(‘La suma de los ‘, NUM, ‘ primeros enteros es’, S)Fin

Contexto y herramientas - Asignación
• Las acciones primitivas leer y escribir permiten, respectivamente, hacer entrar un valor en el entorno o extraer uno.
• Hay otra forma de acción primitiva que permite modificar el valor de una variable internamente (sin intervención del usuario).
Dado un entorno, atribuye a una variable un valor que procede del mismo entorno.Acc
ión
asig
nació
n

Contexto y herramientas - Asignación
Notación: m eDonde
m es el nombre de la variable a la que el procesador ha de atribuir el valor.
caracteriza la acción de asignación.
e representa el valor a asignar
y puede ser: • una constante• el nombre de otra variable que contenga el valor• una expresión del mismo tipo que m (expresión lógica o aritmética)

Contexto y herramientas - Asignación
Las dos entidades que en una asignación 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 - Asignación
Ejemplo:
• La acciòn a asigna a la variable numérica ENTERO el valor 1.
• La acción b asigna la cadena ‘MORO’ a la variable tipo cadena APELLIDO.
• En las acciones a y b el valor a asignar se indica por medio de una constante.
a. ENTERO 1
b. APELLIDO ‘MORO’
c. TOTAL SUMA
d. NUM A + B

Contexto y herramientas - Asignación
Ejemplo:
• La acción c representa una asignación en la que el valor a asignar está indicado por una variable.
Si antes de la ejecución de c, TOTAL y SUMA tienen los valores t y s, respectivamente. . .
después de la ejecución de c, TOTAL habrá tomado el valor s y SUMA habrá conservado su valor.
Sólo la variable cuyo nombre aparece a la izquierda del signo cambia de valor.
a. ENTERO 1
b. APELLIDO ‘MORO’
c. TOTAL SUMA
d. NUM A + B

Contexto y herramientas - Asignación
Ejemplo:
• La acción d asigna a la variable NUM el resultado de un cálculo aritmético.
Es necesario que las variables NUM , A y B sean del mismo tipo.
a. ENTERO 1
b. APELLIDO ‘MORO’
c. TOTAL SUMA
d. NUM A + B
La acción se ejecuta en dos tiempos:
Cálculo del valor de la expresión aritmética.1Asignación de ese valor a la variable NUM.2

Contexto y herramientas – Expresiones aritméticas
Para formar expresiones aritméticas, se utilizan las constantes o variables numéricas y los operadores:
suma
resta
multiplicación
división corriente
división euclidiana
+-*/
div

Algoritmo
Fin de la presentación
Bibliografía: Joëlle Biondi y Gilles Clavel.”Introducción a la programación”, Tomo I: Algorítmica y lenguajes. Ed. Masson S.A. Bs. A.s, 1988.