Algoritmo Nociones fundamentales Algoritmo Noción de algoritmo Objetos y acciones elementales...

of 84 /84
Algoritmo Nociones fundamentales

Embed Size (px)

Transcript of Algoritmo Nociones fundamentales Algoritmo Noción de algoritmo Objetos y acciones elementales...

  • AlgoritmoNociones fundamentales

  • AlgoritmoNocin de algoritmoObjetos y acciones elementalesEsquemas condicionalesIteracionesNocin de algoritmoObjetos y acciones elementalesEsquemas condicionalesIteracionesEsta presentacin

  • AlgoritmoNocin de algoritmo:Procesador, entorno, accionesAcciones primitivasAnlisis descendente Objetivo de la programacinNocin de algoritmo:Procesador, entorno, accionesAcciones primitivasAnlisis descendente Objetivo de la programacin

  • Algoritmo Procesador, entorno, accionesPreparacin 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 sartn al fuego;d: cuando el aceite est caliente, verter el contenido del plato;e: quitar la sartn del fuego cuando la preparacin est hecha.Clculo de la media de tres nmeros con una calculadora

    a: pulsar la tecla C;b: ingresar el primer nmero;c: pulsar la tecla + ;d: ingresar el segundo nmero;e: pulsar la tecla +;f: ingresar el tercer nmero;g: pulsar la tecla / ;h: pulsar la tecla 3;i: pulsar la tecla = .Enunciado 1Enunciado 2

  • Algoritmo Procesador, entorno, accionesLos enunciados 1 y 2 describen cada uno un cierto trabajoToda entidad capaz de entender un enunciado y de ejecutar el trabajo indicadoProcesadorEn 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, accionesEl conjunto de utensilios necesarios para la ejecucin del trabajo.EntornoDado un procesador, el entorno es especfico del trabajoa ejecutar. Sin embargo, la forma de realizar el trabajo, depende a menudo de los utensilios puestos a disposicin del procesador

  • Algoritmo Procesador, entorno, accionesabEntornoNO1Ejemplo:bcncTarea: Dar vuelto.

  • Algoritmo Procesador, entorno, accionesLa ejecucin de un trabajo no elemental, supone ciertaprogresin hacia el fin deseado.

    En los Enunciados 1 y 2 se distinguen las etapas a, b, c,...Un suceso que modifica el entornoAccinDada la accin a del Enunciado 1: romper seis huevos en un plato. Antes de ejecutar la accin, el plato est vaco. Despus de ejecutar la accin, el plato contiene 6 yemas y 6 claras.

  • Algoritmo Procesador, entorno, accionesLa 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 de una accin puede aparecer varias veces en la descripcin de un trabajo. (Acciones c y e, Enunciado 2) Sin embargo, el nmero de apariciones de una accin, no corresponde forzosamente a la cantidad de ejecuciones de la misma.

  • Algoritmo Procesador, entorno, accionesSin embargo, el nmero de apariciones de una accin, no corresponde forzosamente a la cantidad de ejecuciones de la misma.Enunciado 3xyrepetir x 5 vecesyz22Ejecucin:x6y2

  • AlgoritmoNocin de algoritmo:Procesador, entorno, accionesAcciones primitivasAnlisis descendente Objetivo de la programacinNocin de algoritmo:Procesador, entorno, accionesAcciones primitivasAnlisis descendente Objetivo de la programacin

  • Algoritmo Acciones primitivasEn los Enunciados 1 y 2 se ha supuesto que el procesador saba ejecutar las acciones enumeradas.Para ese procesador, stas son acciones primitivas.Aquella cuyo enunciado es suficiente para que el procesador pueda ejecutarla sin informacin adicional. Accinprimitiva

  • Algoritmo Acciones primitivasEn 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 primitivasEn 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:a: romper seis huevos en un platoEjemplo:a1 : poner seis huevos sobre la mesadarepetir a2: tomar un huevo de la mesada a3: romperlo y verter su contenido en el plato a4: tirar las cscaras a la basurahasta que no queden huevos sobre la mesada. 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:

  • Algoritmo Acciones primitivasLa descomposicin efectuada utiliza un esquema repetitivo, que permite simplificar la representacin de la repeticin de una secuencia de acciones.Observacin:repetiraccioneshasta quecondicinejecutaraccionesevaluarcondicincondicin no realizadacondicin realizada

  • AlgoritmoNocin de algoritmo:Procesador, entorno, accionesAcciones primitivasAnlisis descendente Objetivo de la programacinNocin de algoritmo:Procesador, entorno, accionesAcciones primitivasAnlisis descendente Objetivo de la programacin

  • Algoritmo Anlisis descendenteUno de los mtodos para obtener la descomposi-cin de una accin en acciones primitivas es el Anlisis descendente.Metodologa:Dado un trabajo T descripto por un 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.Anlisis descendente

  • Algoritmo Anlisis descendenteRepresentacin:(Ei) T(Ef)(Ef k-1) = (Ei k)(Ef k) = (Ei k+1)Cada trabajo t k, pasa el entornode un estado (Ei k) a un estado (Ef k)

    Para cada enunciado t k, hay dos posibilidades:o bien t k es una accin primitiva, y se detiene el anlisis descendente para t k ; o bien t k no es una accin primitiva, y se descompone nuevamente t k.

  • Algoritmo Anlisis descendenteEjemplo: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 descendenteCompetencias 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 descendenteEnunciado:A partir de la pila que se encuen-tra en el escritorio, agrupar las fotocopias.AABCRepartir los paquetes a razn 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.ABC

  • Algoritmo Anlisis descendente

  • Algoritmo Anlisis descendenteAC1C11: colocarse en la mesa N 1 C12: tomar una hoja de esa mesa Repetir C13: ir a la mesa siguiente C14: tomar una hoja de esa mesa hasta que la mesa sea la N 10BC1CA

  • Algoritmo Anlisis descendenteInicio 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 AlgoritmoPrimera definicin: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.Algoritmo

  • AlgoritmoNocin de algoritmo:Procesador, entorno, accionesAcciones primitivasAnlisis descendente Objetivo de la programacinNocin de algoritmo:Procesador, entorno, accionesAcciones primitivasAnlisis descendente Objetivo de la programacin

  • Objetivo de la programacinDado 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.ObjetivoFase 1Fase 2Resolucin del problema: determinacin de un algo-ritmo que realice el tratamiento.Adaptacin del algoritmo al procesador: codificacin.

  • Objetivo de la programacinFase 1Fase 2Resolucin del problema: determinacin de un algo-ritmo que realice el tratamiento.Adaptacin del algoritmo al procesador: codificacin.Etapa ms difcilHerramientasSoluciones elegantes y eficientesLenguaje de programacinNo presenta mayores dificultadesMecanismos de traduccin

  • AlgoritmoNocin de algoritmoObjetos y acciones elementalesEsquemas condicionalesIteracionesNocin de algoritmoObjetos y acciones elementalesEsquemas condicionalesIteraciones

  • AlgoritmoObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticasObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticas

  • Formalizacin Objetos en un entornoACCIONES: * 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 +Repaso:La mesa N 1Intervienen distintos objetos:El paquete de encima de la pilaLa mesa siguienteEl primer nmeroLa tecla 3La tecla +

  • Formalizacin Objetos en un entornoCaractersticas de la nocin de objeto:NombreLo designa sin ambigedad Cada objeto tiene una utilizacin 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 mesas del grupo de 10 mesas del problema.ValorEn cada instante, todo objeto del entorno tiene un valor susceptible de variar despus de la ejecucin de una accin

  • Formalizacin Objetos en un entornoNombreTipoValorValorObjeto: el paquete encima de la pilaAccin: tomar el paquete de encima de la pilaAntes de la ejecucin de la accinDespus de la ejecucin de la accinSe ejecuta la accin

  • Formalizacin Objetos en un entornoEjemplo: Utilizacin de objetosTarea: Elaborar un algoritmo que determine la suma de los n primeros nmeros naturales.Pasos:Conocer el procesadorDescribir el entornoGenerar el algoritmo

  • Formalizacin Objetos en un entornoConocer el procesadorCompetencias 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 entornoobjeto que contiene un valor numrico entero n ( n >= 1 )Describir el entornoNUMEl valor inicial de este objeto est determinado y servir para controlar el clculoSi es 3Se ejecutar 1 + 2 + 3 = 6 Si es 51 + 2 + 3 + 4 + 5 = 15 etc.

  • Formalizacin Objetos en un entornoobjeto que contiene un valor numrico entero n ( n >= 1 )Describir el entornoNUMEl valor del resultado tiene que figurar en el estado final del entorno. objeto que contiene el valor del resultadoSEn este objeto se har la acumulacin de los enteros su- cesivos (que tambin 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

  • Formalizacin Objetos en un entornoobjeto que contiene un valor numrico entero n ( n >= 1 )Describir el entornoNUMobjeto que contiene el valor del resultadoSHay 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 nobjeto que contiene los valores sucesivos de 1 a nENTERO

  • Formalizacin Objetos en un entornoObservacin:Se acaban de crear dos objetos numricos (S y ENTERO).SENTEROUn objeto tiene siempre un valor; pero, en el momento de la creacin del objeto, su valor no puede ser conocido.se dice que es . . . indeterminadoSi se desea dar un valor al objeto, es necesario ejecutar una accin

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

  • Formalizacin Objetos en un entornodar a ENTERO los valores sucesivos de 1 a n y acumular esos valores en SGenerar el algoritmoIdea Determinar las acciones a ejecutar para trasladar el entorno del estado inicial al estado final deseado.el primer entero a acumular es 1; para lo que habr que dar inicialmente a ENTERO el valor 1anlogamente, para obtener, por acumulacin, el valor deseado en S, es necesario dar, pre-viamente un valor determinado a este objetoel valor de un objeto que acaba de ser definido es siempre indeterminadosea s el valor (indeterminado) de S en la creacin de este objeto, una acumulacin en S de todos los enteros de 1 a n, no producir el resultado esperado, sino el valor s+1+2+...+nser necesario, por lo tanto, antes de la acumulacin, dar a S el valor 0

  • Formalizacin 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 solucin. En ella todas las acciones expresadas sern acciones primitivas o composiciones de primitivas. Para cada valor de ENTERO, es suficiente a continuacin:

  • Formalizacin Objetos en un entornoalgoritmo suma_de_enteros 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 Composicin de primitivasExpresado 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 entornoLa 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 entornoEjecucin paso a pasoEjecucin del algoritmo por el procesador:algoritmo suma_de_enteros 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 Fin3c34 = 3+1, termina la ejecucin4 = 3+1, termina la ejecucin

  • Formalizacin Objetos en un entornoEl 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 correctamenteEjecucin paso a paso (Prueba de escritorio)Ello no implica que funcione correctamente para cualquier valor de NUMLo 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

  • AlgoritmoObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticasObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticas

  • Acciones y algoritmosDado un entorno descrito formalmente como un 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.Precisiones en la definicin de accin:Accin

  • Acciones y algoritmosPrecisiones 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.Estado finalAlgoritmo--------------------------------------------------------------------------------------------------------

  • Acciones y algoritmosLa construccin de un algoritmo parte siempre de la descripcin de un problema.Un problema est bien planteado si se ha descripto:Lo que se ha de realizarde dnde se partea dnde se quiere llegar(Ei)(Ef)El instrumento de la realizacinel procesador, del que se han de conocer las acciones primitivas

  • Acciones y algoritmosPrecisiones en la definicin de algoritmo:Dado un problema x y un procesador P, un algoritmo de x para P es la descripcin de una solucin de x realizable con P. Esta descripcin comprende dos partes:AlgoritmoEl 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 algoritmosImportante:Para ambos algoritmos, si a, b, c y d son acciones primitivas, la accin 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:Si se ejecuta el algoritmo A, las acciones ejecutadas estarn en el orden a, b, c, a, b, b, a, d

  • AlgoritmoObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticasObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticas

  • Constantes y variablesHace intervenir dos objetos:La accin:3b: sumar 1 al valor de ENTERO y asignar el resultado como nuevo valor de ENTEROdel algoritmo suma_de_enteros . . .Su valor vara de 1 en 1 durante la ejecucin del algoritmo:El objeto ENTERO es una variable

  • Constantes y variablesEs un objeto cuyo valor cambia (no es invariable)VariableAdems del valor, toda variable posee otros dos atributos:NombreTipo(invariable) que sirve para designarla(invariable) que describe la posible utilizacin de la variableDefinir una variable es, de hecho, crear un objeto para el procesador.Toda variable que acaba de ser definida, tiene un valor indeterminado

  • Constantes y variablesHace intervenir dos objetos:Volviendo a la accin:3b: sumar 1 al valor de ENTERO y asignar el resultado como nuevo valor de ENTEROdel algoritmo suma_de_enteros . . .El objeto 1 es un objeto particular: su valor es invariableEl propio valor es utilizado para designar al objetoEl objeto 1 es una constante

  • Constantes y variablesEs un objeto de valor invariable. Es la realizacin de un valor de un tipo particular.ConstanteUna 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.

  • AlgoritmoObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticasObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticas

  • Tipos de objetosTipos 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 numricoEs el conjunto de valores numricos que el procesador sabe tratar.Un valor numrico se escribe en su forma habitual, con o sin signo.Ejemplo:1210.5+32-141.67

  • Tipo carcterEs 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.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.Para representar valores de tipo carcter, se los delimita por un par de apstrofosE es el nombre de una variable.

  • Tipo cadenaEs 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. Es el entero que indica el nmero de caracteres que componen la cadena.Longitud de una cadena

  • Tipo lgicoEs 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 compuestoPuede 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 asociacin de varias variables elementalesVariable compuesta

  • Tipo compuestoEjemplo:Una subdivisin puede ser ella misma una variable compuesta:Las variables APELLIDO, ASIGNATURA y NOTA, son subdivisiones de la variable compuesta RESULTADO.

  • AlgoritmoObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticasObjetos y acciones elementales:FormalizacinObjetos en un entornoUtilizacin de objetosAcciones y algoritmosConstantes y variablesTipos de objetosContexto y herramientasAccin leer, accin escribir, accin de asignacin, expresiones aritmticas

  • Contexto y herramientasDurante la ejecucin de un programa puede requerirse o no la participacin del usuario Un contexto de trabajo en el que el usuario y el procesador estn alternativamente en actividad se denomina...InteractivoSi 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.

  • Contexto y herramientasDurante la ejecucin de un programa puede requerirse o no la participacin 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...BatchSi no se requiere el suministro de informacin por parte del usuario, no hay interaccin entre usuario y trabajo mientras ste se est ejecutando.

  • Contexto y herramientasEl usuario requiere de una estacin de trabajo que le permita comunicarse con el procesador. La estacin de trabajo puede estar directamente enlazada al procesadorCOMPUTADORPERSONALo conectada a distancia a un computa-dor que sirve simultneamente a va-rios usuarios SERVIDOR

  • Contexto y herramientasLa estacin de trabajo posee, en general, dos dispositivos de comunicacin: TecladoPantalla

  • Contexto y herramientas - LecturaPermite asignar a una variable del entorno, un valor pulsado en el teclado. Accin leerEn entorno interactivo: 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 - EscrituraHace aparecer una informacin en la pantalla. Accin escribirEn entorno interactivo: 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.La ejecucin del algoritmo abre el teclado de la estacin para esperar el ingreso del valor de NUM...algoritmo suma_de_enteros Inicio leer (NUM) ...Ejemplo:pero no da ninguna indicacin al usuario, quien tendra que saber por s mismo lo que ha de hacer.algoritmo suma_de_enteros Inicio escribir (Clculo de la suma de los N primeros enteros) escribir(Ingrese un valor entero) leer (NUM) ...

  • Contexto y herramientas - Escritura La accin escribir tambin se utiliza para comunicar resultados al usuario.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.Ejemplo:algoritmo suma_de_enteros Inicio . . . . . . escribir(La suma de los , NUM, primeros enteros es, S) Fin

  • 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).Dado un entorno, atribuye a una variable un valor que procede del mismo entorno.Accin asignacin

  • Contexto y herramientas - AsignacinNotacin: 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 - AsignacinEjemplo:

  • Contexto y herramientas - AsignacinEjemplo: La accin a asigna a la variable numrica ENTERO el valor 1. La accin 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.

  • Contexto y herramientas - AsignacinEjemplo: La accin c representa una asignacin en la que el valor a asignar est indicado por una variable.Si antes de la ejecucin de c, TOTAL y SUMA tienen los valores t y s, respectivamente. . .despus de la ejecucin de c, TOTAL habr tomado el valor s y SUMA habr conservado su valor.

  • Contexto y herramientas - AsignacinEjemplo: La accin d asigna a la variable NUM el resultado de un clculo aritmtico.Es necesario que las variables NUM , A y B sean del mismo tipo.La accin se ejecuta en dos tiempos:Clculo del valor de la expresin aritmtica.1Asignacin de ese valor a la variable NUM.2

  • Contexto y herramientas Expresiones aritmticasPara formar expresiones aritmticas, se utilizan las constantes o variables numricas y los operadores:sumarestamultiplicacindivisin corrientedivisin euclidiana+-*/div

  • AlgoritmoFin de la presentacinBibliografa: Jolle Biondi y Gilles Clavel.Introduccin a la programacin, Tomo I: Algortmica y lenguajes. Ed. Masson S.A. Bs. A.s, 1988.