You are on page 1of 84

Algoritmo

Nociones fundamentales

Algoritmo
Esta presentación

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

Algoritmo

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

Algoritmo – Procesador, entorno, acciones
Enunciado 1 Enunciado 2
Preparación de un omelette de 6 Cálculo de la media de tres números
huevos con una calculadora

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

c: calentar aceite en una sartén al d: ingresar el segundo número;
fuego; e: pulsar la tecla +;
d: cuando el aceite esté caliente, f: ingresar el tercer número;
verter el contenido del plato;
g: pulsar la tecla / ;
e: quitar la sartén del fuego
cuando la preparación esté h: pulsar la tecla 3;
hecha. i: pulsar la tecla = .

puede ser un procesador adecuado . 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. Algoritmo – Procesador. entorno.

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

Algoritmo – Procesador. Entorno 50 50 20 20 20 20 510 50 50 50 5 5 10 10 50 50 50 50 505510510 10 50 5 27. acciones Ejemplo: Tarea: Dar vuelto.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 .50 10 50 50 10 50 1 1 50 50 5 50 55050 50 27. entorno.

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

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

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

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

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

x. habrá de descomponerse en acciones primitivas. x. el procesador no sabrá ejecutar la acción repetir 5 veces. x. Toda acción no primitiva. x. habrá que reemplazarla por la secuencia x. si ésta no es una primitiva. En caso de que sea una primitiva. ejecutará la secuencia: x. Algoritmo – Acciones primitivas En el Enunciado 3. x. x. Si no lo fuera. x. x. .

puede no ser suficientemente explícita. romper seis huevos en un plato. la acción a. . Algoritmo – Acciones primitivas Ejemplo: En el Enunciado 1. 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 cáscaras a la basura hasta que no queden huevos sobre la mesada. si el procesador es un niño.

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

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

. e de s nt en i s i Dado un trabajo T descripto por un s c ál de An 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. Algoritmo – Análisis descendente Metodología: Uno de los métodos para obtener la descomposi- ción de una acción en acciones primitivas es el Análisis descendente.

pasaprimitiva. (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. . el entornoy se detiene (Ei descendente el análisis de un estado k) a un estado (Ef kt )k . (Ei k) tk (Ef k) . y se descompone nuevamente t k. . . hay dos posibilidades: o bien es unat acción Cadat ktrabajo k. Algoritmo – Análisis descendente Representación: (Ei) T (Ef) (Ei 1) t1 (Ef 1) . . para o bien t k no es una acción primitiva. .

apilados sobre un escritorio. Entorno: . Una grapadora . Para cada una de las páginas se ha reproducido aproxi- madamente una centena de ejemplares. Diez mesas numeradas de 1 a 10. . . 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. Diez paquetes de hojas numeradas.

Algoritmo – Análisis descendente .

Algoritmo – Análisis descendente Competencias del procesador: . Ir de una mesa a otra (pasar de la mesa i a la mesa i + 1) . Grapar . Tomar y poner . 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 .

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

Algoritmo – Análisis descendente .

Algoritmo – Análisis descendente Repetir B1: tomar el paquete situado encima de la pila sobre el escritorio B B2: ir a la mesa cuyo número 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.

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 . Algoritmo – Análisis descendente Inicio Repetir 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 mesa hasta que se acabe la pila que hay sobre el escritorio.

. lg un algoritmo de tratamiento es el A enunciado de una secuencia de acciones primitivas que realizan ese tratamiento. Noción de Algoritmo Primera definición: o it m Dado un procesador bien definido y un or tratamiento a ejecutar por ese procesador.

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

. O Fase 1 Fase 2 Resolución del problema: Adaptación del algoritmo al determinación de un algo. ritmo que realice el tratamiento. procesador: codificación. Objetivo de la programación 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.

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

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

expresiones aritméticas . acción escribir. acción de asignación.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.

Formalización – 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 número * 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 + número .

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

Formalización – 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 acción Después de ejecución la ejecución de la acción de la acción Acción: tomar el paquete de encima de la pila .

Pasos: Conocer el procesador Describir el entorno Generar el algoritmo . 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.

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

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

. 2. Formalización – Objetos en un entorno Describir el entorno objeto que contiene un valor NUM numérico 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 harádel entorno... al que se haga variar para representar todos los valores de 1 a n .n) Hay 2 posi- bilidades: Utilizar un solo objeto. la acumulación de los enteros su- cesivos (que también tienen que estar representados). Se requiere: Utilizar n objetos. que contengan cada uno de los valores enteros necesarios (1.

Formalización – Objetos en un entorno Describir el entorno objeto que contiene un valor NUM numérico 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 número de objetos es variable Utilizar n objetos. 2.. que contengan cada uno de los valores enteros necesarios (1.n) Hay 2 posi- bilidades: Utilizar un solo objeto.. al que se haga variar para representar todos los valores de 1 a n . .

pero. se dice que es . su valor no puede ser conocido. en el momento de la creación del objeto. Un objeto tiene siempre un valor. Formalización – Objetos en un entorno Observación: S ENTERO Se acaban de crear dos objetos numéricos (S y ENTERO). es necesario ejecutar una acción . . . indeterminado Si se desea dar un valor al objeto.

. que indica el entero más n n grande a acumular Objeto en el cual se valor 1+2+.. Formalización – Objetos en un entorno Descripción del entorno del problema: Objeto Función Estado inicial Estado final Objeto de valor entero >= NUM 1.+ 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 .

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

En ella todas las acciones expresadas serán acciones primitivas o composiciones de primitivas. redactar una solución. entonces. etc. volver a em- pezar. Formalización – Objetos en un entorno Para cada valor de ENTERO. hasta que se hayan acumu- lado todos los enteros necesarios Es posible. es suficiente a continuación: * acumular el valor de ENTERO en S * pasar al entero siguiente. ..

es posible precisar el valor final de ENTERO. Formalización – Objetos en un entorno algoritmo suma_de_enteros Composición 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 el que hace finalizar la repetición: n+1 (siendo n el valor de NUM) .

un gran número de veces. 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. la suma de los diez primeros enteros. Formalización – Objetos en un entorno La importancia del algoritmo elaborado no reside en ser utilizado una sola vez para calcular. para distintos valores del objeto NUM. cualquiera sea n. y está destinado a ser ejecutado por el procesador. por ejemplo.

termina la ejecución .sigue 3a 3 6 3 3b 3 6 4 3c 4 = 3+1.sigue 3a 3 3 2 3b 3 3 3 3c 3 <> 3+1. Formalización – Objetos en un entorno algoritmo suma_de_enteros Inicio Ejecución 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 Ejecución 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 Acción ejecutada o Estado del entorno después de la ejecución de la acción condición 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.

Formalización – Objetos en un entorno
Ejecución 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:
– 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

Precisiones en la definición de acción:
n

cc

Dado un entorno descrito formalmente como un
A

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.

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 Estado
inicial final

Algoritmo
--------------------------
--------------------------
--------------------------
--------------------------

Un problema está bien planteado si se ha descripto: de dónde se parte (Ei) Lo que se ha de realizar a dónde se quiere llegar (Ef) el procesador. Acciones y algoritmos La construcción de un algoritmo parte siempre de la descripción de un problema. del que El instrumento de la se han de conocer las realización acciones primitivas .

su función. lg una solución de A Esta descripción comprende dos partes: El entorno. un o Dado un problema y un procesador itm algoritmo de x paraP es la descripción de or x realizable con P. 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 . que determina los objetos utilizables por P. su estado inicial y su estado final. Acciones y algoritmos Precisiones en la definición de algoritmo: x P.

ala. Acciones y algoritmos Importante: Un algoritmo puede llamar a otro algoritmo. . c. llamada a. ( Es mejor que volver a formular todas sus acciones primitivas ).c las y d acciones son acciones primitivas.algoritmo d B. el algoritmo si a. b. b.ejecutadas la acción estarán B dentroendel el algoritmo orden A se denominaa. b. una b.A. Ejemplo: Algoritmo A Algoritmo B a a b b c b B a d ParaSi ambos se ejecuta algoritmos.

expresiones aritméticas .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.

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

tiene un valor indeterminado . crear un objeto para el procesador. Toda variable que acaba de ser definida. Constantes y variables e bl Es un objeto cuyo valor cambia ria Va (no es invariable) Además del valor. de hecho. toda variable posee otros dos atributos: Nombre (invariable) que sirve para designarla Tipo (invariable) que describe la posible utilización de la variable Definir una variable es.

. Constantes y variables Volviendo a la acción: 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 .

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

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 de asignación. expresiones aritméticas . acción escribir.

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

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

‘e’ es un valor de un carácter que representa la letra e. se los delimita por un par de apóstrofos Ejemplo: ‘E’ es un valor de un carácter que representa la letra E. cifras y signos especiales. Para representar valores de tipo carácter. Tipo carácter Es el conjunto de caracteres que el procesador reconoce: letras mayúsculas. E es el nombre de una variable. Una variable de tipo carácter tiene por valor uno y sólo un carácter. . letras minúsculas.

d d Es el entero que indica el número de a ca u en a it un n g caracteres que componen la cadena. Ejemplo: ‘libro’ está formada por 5 caracteres: ‘l’. ‘b’. Tipo cadena Es el conjunto de cadenas de caracteres que se pueden formar yuxtaponiendo caracteres.un carácter. que permite separar palabras en una cadena. ‘r’. ‘i’. El espacio. es -él mismo. ‘Apellido y Nombre. Nota’ está formada por 23 caracteres: 19 letras. 1 coma y 3 espacios. Lo de . ‘o’.

. 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 lógico Es el conjunto de valores lógicos cierto y falso.

(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 asociación de varias variables m ia co Var elementales . Tipo compuesto Cada uno de los tipos vistos hasta ahora es un tipo elemental.

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

acción de asignación. expresiones aritméticas .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.

Un contexto de trabajo en el que el usuario o iv y el procesador están alternativamente en ct ra actividad se denomina. Contexto y herramientas Durante la ejecución de un programa puede requerirse o no la participación del usuario 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. te In ..

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

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 COMPUTADOR directamente enlazada al procesador PERSONAL 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. dos dispositivos de comunicación: Pantalla Escribi r ENTORNO PROCESADOR Leer Teclado . en general.

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

pulsando una tecla: Esta acción se puede utilizar con el algoritmo suma_de_enteros. que sirve de base al cálculo . . al inicio de la ejecución. • Cada tecla que pulsa el usuario. comunica al procesador una parte de la información esperada. Contexto y herramientas .Lectura • Para ejecutar la acción leer el procesador se pone a la espera y “observa” el teclado. • El usuario indica que la entrada de información ha terminado. para obtener el valor de NUM.

el valor de una variable. Contexto y herramientas . o una serie de valores. .Escritura En entorno interactivo: cr ión Hace aparecer una información en la ir es cc ib pantalla. A Notación: Escribir ( i ) Donde i puede ser una constante.

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

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

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

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) .Asignación Notación: m e Donde m es el nombre de la variable a la que el procesador ha de atribuir el valor. Contexto y herramientas . caracteriza la acción de asignación.

APELLIDO ‘MORO’ c. TOTAL SUMA d.Asignación Las dos entidades que en una asignación aparecen a ambos lados del signo han de ser del mismo tipo Ejemplo: a. Contexto y herramientas . ENTERO 1 b. NUM A + B .

APELLIDO ‘MORO’ c. NUM A + B • La acciòn a asigna a la variable numérica ENTERO el valor 1. • En las acciones a y b el valor a asignar se • La acción indica por b asigna medio delauna cadena ‘MORO’ a la constante. variable tipo cadena APELLIDO. . Contexto y herramientas . ENTERO 1 b. TOTAL SUMA d.Asignación Ejemplo: a.

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

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

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

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