Sentencias de Entrada y Salida

download Sentencias de Entrada y Salida

of 16

Transcript of Sentencias de Entrada y Salida

  • 7/28/2019 Sentencias de Entrada y Salida

    1/16

    1

    INTRODUCCIN A LA ALGORITMIACAPITULO 2. SENTENCIAS DE ENTRADA Y SALIDAngel Fidalgo Blanco

    Universidad Politcnica de Madrid

    Licencia Crea tive Comm ons Algu n os derech os res ervad os

    UNIDAD DIDCTICA N 2 .SENTENCIAS DE ENTRADA Y SALIDA.

    OBJETIVOS:

    * Saber representar mediante organigramas las sentencias de entrada ysalida.

    http://innovacioneducativa.wordpress.com/http://innovacioneducativa.wordpress.com/http://creativecommons.org/licenses/by-nc-nd/3.0/http://innovacioneducativa.wordpress.com/
  • 7/28/2019 Sentencias de Entrada y Salida

    2/16

    2

    CONTENIDOS:

    1. Introduccin.

    2. Represen tacin algortm ica de las s enten cias de entr ada y sa lida.2.1. Represent acin algortm ica de las s enten cias de entra da.2.2. Represen tacin algortm ica d e las sen tencias de sa lida.

    CONOCIMIENTOS PREVIOS.

    - Tipos de variab les.- Senten cias de as ign acin.

  • 7/28/2019 Sentencias de Entrada y Salida

    3/16

    3

    1. INTRODUCCIN.

    En program acin se denomina sentencias de entrada a a quellas queperm iten en via r in form acin desde el ext er ior a l in terior de u n progr am a y

    sentencias de salida a aquellas que permiten enviar informacin desde elin terior a l exterior de u n program a. La figura n 1 . ilu stra este concepto.

  • 7/28/2019 Sentencias de Entrada y Salida

    4/16

    4

    Im agin emos qu e querem os realizar u n program a qu e nos indiqu e si la

    person a qu e lo es t u t iliza n do es o n o m ayor de eda d. Pa ra ello ten drem osque almacenar la edad de la persona en una variable y posteriormentepregu n ta r s i la edad es m ayor qu e 18. E l a lgoritm o p od ra ser a lgo com o es to:

    In trodu cir la eda d en la var iab le aos .Es aos m ayor o igual que 1 8 ent onces es cribe "m ayor de edad".Es aos me nor que 1 8 ent onces es cribe "m enor de eda d".

    Sabemos como asignar valores a la variable aos , no obstantetenem os un problema Qu edad t endr la person a qu e utilice el program a?.Realmente no lo sabemos, es decir el valor de la variable aos tendr queasigna rse cu an do se est ejecu tan do el program a. Las senten cias de entrad ase pueden utilizar cuando tengamos un problema parecido; es decir, si nocon ocemos en el m omen to de escribir el progra m a el valor d e u na variab le

  • 7/28/2019 Sentencias de Entrada y Salida

    5/16

    5

    pod em os u t ilizar u n a sen t en cia de en trada , a s el va lor se as ign a r cu an dose est ejecuta n do el program a. En este cas o el valor lo in dicar el u su ariom edian te el teclado del orden ad or. La figura n 2 ilu stra este concepto.

    En el algoritmo anterior tambin tenemos dos sentencias de salida:escribe "mayor de edad" y escribe "menor de edad". Solamente seejecutar una de ellas cuando se est utilizando el programa, en cualquiercaso, la s enten cia de sa lida m u estra u n a in form acin d esde el progra m a a la

    pan ta lla ; es decir desde el in ter ior del p rogram a a l ext er ior . La figura n 3 .3 ilu stra este concepto.

    Las sentencias de salida tambin pueden escribir el valor de unavariable, aunque su valor no sea conocido de antemano. Por ejemplo,

    pod ra m os a adir u n a sen ten cia de sa lida a l a lgoritm o an ter ior pa ra qu eescribiera el valor de la variable aos . El algoritm o queda ra de la sigu ien temanera :

  • 7/28/2019 Sentencias de Entrada y Salida

    6/16

    6

    1. In trodu cir la eda d en la var iab le aos .2 . Es aos m ayor o igual que 1 8 ent onces es cribe "m ayor de edad".3. Es aos me nor que 1 8 ent onces es cribe "m enor de eda d".4. Es cribe el va lor de la var iable aos .

    En los lenguajes de programacin existe una gran variedad de sen-tencias de entrada y de salida, n ormalmente estas sentencias se escr iben deforma distinta en funcin de la informacin de entrada o de salida, porejemp lo se escribira d e u na forma si la informa cin de en trad a es n u m ricay de otra forma si la informacin de entrada son caracteres. Tambin se

    pu eden escr ib ir la s sen ten cia s de en trada y sa lida de dis t in ta form a enfu n cin de don de reciba n la inform acin o donde la enven. Por ejem plo u n asen tencia de sa lida pu ede enviar la informacin a la pa n talla, a la impres ora,

    al disco duro, al diskette, a otro ordenador, a un dispositivo de controlrem oto, etc.

    Nor m alm en te a la s sen ten cia s de en trada y sa lid a se la s con oce com osentencias de E/ S (Entra da/ Salida) o sen tencias de I/ O (Inpu t/ Outpu t cuyatra du ccin sera in pu t = ent rad a y ou tpu t = salida).

    Nota : La m ay ora d e l os lengu a jes de pr ogra m ac i n n o ad m i t en l a ""

    como pa r t e de l n ombr e de var ia b le , por t a n t o la var i ab l e aos t end r a

    que denom i n a r s e de o t r a f o rma . En a l g o r i tm i a n o ha y n i n gn

    p r obl ema de nombr a r a l as va r i a b l es como se desee.

    Recuerda que: Las sentencias de entrada envan informacin desde elexterior al program a, n orma lm ente la informa cin la su ele su m in istra r elusuario del programa a travs del teclado y sta se almacena en una

    variable. Las sentencias de salida envan informacin del programa alexterior, normalmente esta informacin se escribe en la pantalla delordenad or, la informa cin pu ede ser const an te (con ocida en el m oment ode es cribir el progra m a) o var iab le (descon ocida en el m omen to de es cribirel progra m a).

  • 7/28/2019 Sentencias de Entrada y Salida

    7/16

    7

    2. REPRESENTACIN ALGORTMICA DE LAS SENTENCIAS DEENTRADA Y SALIDA.

    2 .1. Represe ntacin algortmica de las s ent enc ias de en trada.

    Para indicar en un organigrama una sentencia de entrada sen ecesitan dos cosa s: un a es el sm bolo qu e representa la s enten cia y otra esel lu gar donde s e va a alma cenar la informacin de ent rada . El sm bolo de lasentencia se representa en la figura y el lugar donde se va a guardar lainformacin se especifica por el nombre de una variable que est dentro delsmbolo.

    Si querem os realizar u n organ igram a qu e represent e la s u ma de los valoresde dos variables podramos realizarlo de la siguiente manera:

    leer u n dat o nu m rico en la variable a leer u n dat o nu m rico en la variable b su m ar las variables a y b y el resu lta do alma cena rlo en la var iable c

  • 7/28/2019 Sentencias de Entrada y Salida

    8/16

    8

    el organ igram a par a represent ar esta s ecuen cia de pasos sera:

    En un organigrama no se suele indicar el tipo de informacin que

    contendr las variables que estn dentro del smbolo de entrada, as no seesp ecifica qu e las var iab les a y b son de t ipo num rico; no obsta nte cu an dorea licemos el progra m a en C s se deber esp ecificar con an terioridad el tipode var iab le que vam os a u tilizar.

    Casi todos los programadores denominan a las variables de unasentencia de entrada "variables de entrada", de esta forma expresan queesas variables son las que contendrn la informacin que necesita el

    program a pa ra t raba ja r y s in ella s el program a n o fu n cion ar . As en elejemplo anterior las variables de entrada seran a y b; si no introducimosvalores a esas variables el programa no funcionara puesto que no tendradatos para realizar la suma. Ya que las variables de entrada son tanimportantes, el programa no continuar su ejecucin hasta que se hayanintroducido los valores que demandan las sentencias de entrada. As en elejem plo an terior el program a rea lizara los sigu ient es pa sos:

    1. Se detendr a en la pr im era s enten cia (leer un dat o nu m rico en la variablea) y no cont in u ara h as ta que a lgu ien introdu jera por teclado u n valor

  • 7/28/2019 Sentencias de Entrada y Salida

    9/16

    9

    y a continu acin pu lsa ra la t ecla "retu rn ".

    2. El ordenad or almacen a en la variable a el valor que se ha tecleado en elpa so an ter ior .

    3. El ordenad or se detendra de nu evo en la s egu n da s enten cia (leer un dat onumrico en la variable b) y no continuara hasta que alguienin trodujera por teclado u n valor n u m rico y a cont inu acin pu lsa ra latecla "retu rn ".

    4. El ordenad or alm acena en la variable b el valor que se ha tecleado en elpa so an ter ior .

    5. Fin alm ent e el orden ad or realizara la s u m a de los valores de las variab les

    a y b y los alm acen ar a en la variable c .

    Es posible expresar varias sentencias de entrada como una sola; esdecir, se puede poner u n a n ica sen tencia de entra da con varias variables.

    Los pasos que realizara un ordenador ante este nuevo algoritmoseran los m ism os que en el algoritm o an terior; es decir:

    1. Se detendr a en la pr im era s enten cia (leer un dat o nu m rico en la variablea) y no cont in u ara h as ta que a lgu ien introdu jera por teclado u n valory a con tinu acin pu lsa ra la tecla "retur n".

  • 7/28/2019 Sentencias de Entrada y Salida

    10/16

    10

    2. El ordenad or almacen a en la variable a el valor que se ha tecleado en elpa so an ter ior .

    3. El ordenad or se detendra de nu evo en la s egu n da s enten cia (leer un dat onumrico en la variable b) y no continuara hasta que alguienin trodujera por teclado u n valor n u m rico y a con tinu acin pu lsa ra latecla "retu rn ".

    4. El ordenad or alm acena en la variable b el valor que se ha tecleado en elpa so an ter ior .

    5. Fin alm ent e el orden ad or realizara la s u m a de los valores de las variablesa y b y los alm acen ar a en la variable c .

    Observa qu e la ejecu cin del organigram a es la m ism a, a s pu es es lom ism o expresar la lectu ra d e in forma cin en varias variables a tr avs de u n anica sentencia de entrada que expresar una sentencia dist inta para cadavariable.

    Decam os qu e cua ndo un ordena dor ejecu ta u na sentencia de entrada"espera" a que se introduzca un valor. Pero, Cmo sabemos cuando e lorden ador est espe rando a que se introduzca un valor? . Norma lm ente elordena dor presenta u n sm bolo en pan talla qu e indica que est esp erando aque se introduzca un valor; es decir, est detenido en una sentencia de

    entrada. Este smbolo vara de unos lenguajes de programacin a otros.Cua ndo apa rece este carcter indica qu e est en u na sentencia de entra daesperan do a qu e el u su ario teclee alg n valor.

    Cua n do el car cter- apa rece en pa n talla ya sabem os que el ordenad orest esperando a que d un valor, pero Cmo sabe el usuario delprograma qu v alor tie ne que dar? En el program a pa ra s u m ar el valor dedos variables es fcil saber qu valor est pidiendo el ordenador: cuandoaparezca el primer- esta remos da n do el valor del primer su m an do y cu an do

    Recue rda que: cuan do se ejecu ta u na sentencia de en trada, el ordenadordetiene su ejecucin y no contina hasta que se haya introducido porteclado un valor y pu lsa do la tecla "retu rn " (ta m bin den omina da "en ter"

    "intro").

  • 7/28/2019 Sentencias de Entrada y Salida

    11/16

    11

    apa rezca el segun do - esta remos da n do el valor al segun do su m an do. En lapan ta lla del or den ador apa recera :

    Desgraciadamente los programas no son tan sencillos y tienen unagran cantidad de sentencias de entrada y a m enu do cua ndo aparece un - n osabemos qu valor debemos dar o para qu lo necesita el programa. Paraevitar est o todos los pr ogra m ad ores profesion ales pon en u n texto in dicativoque aparece antes del carcter - (esta accin s e denom in a documentar laentrada).

    As para el caso de la su m a de dos variab les debera a par ecer u n textoindicativo antes de cada smbolo - y la p an talla qu edara como sigu e:

    La forma de expresar esto mediante organigramas es muy fcil,sencillamente pondremos antes de la variable el texto que queremos que

    aparezca encerrado entre doble comillas, a continuacin una coma ydespu s el nombre de la variable donde des eam os que s e almacen e el valor.La figura ind ica la represen tacin en el organ igram a.

    _ 5_ 6

    Introduce el primer sumando _ 5Introduce el segundo sumando 6

  • 7/28/2019 Sentencias de Entrada y Salida

    12/16

  • 7/28/2019 Sentencias de Entrada y Salida

    13/16

    13

    2 .2. Represe ntacin algortmica de las sen ten cias de s alida.

    Para representar algortmicamente una sentencia de salida se necesita (aligual que en las sentencias de entrada) el smbolo que representa lasen ten cia y la informa cin qu e se va a enviar fu era d el program a. El smboloque representa u na sentencia de salida es el que mu estra la figura n 3 .6. yla in forma cin qu e apa rece dent ro del sm bolo es la qu e se enviar fu era d el

    program a .

    La informacin que se puede enviar fuera del programa (por ejemplo a la

    pan ta lla ) pu ede ser cu a lqu ier t ipo d e exp res in . As la in form acin pu ede seru na variable, en cu yo caso se visu alizar el cont enido de la m ism a; pu edeser un a cons tan te o u na combinacin de am bas

    Las sentencias de salida son importantes puesto que nos permiten ver losresultados de los programas. Por ejemplo, el organigrama para realizar lasuma de dos valores del apartado anterior realizara la suma y su valor lo

  • 7/28/2019 Sentencias de Entrada y Salida

    14/16

    14

    alma cena ra en la variable c pero el u su ario n o vera el resu ltad o de la s u m apor pan ta lla , s in em bargo s i a l fin a l d el a lgoritm o le a adim os u n a sen ten ciade salida para ver por pantalla el contenido de la variable c , entonces s

    pod ra m os ver el resu ltado de la su m a. Las figuras n 3 .8. y 3 .9. mues t r a

    esta s i tu acin.

    El nu evo algoritm o sera el sigu ien te:

    leer u n dat o nu m rico en la variable a leer u n dat o nu m rico en la variable b su m ar las variables a y b y el resu lta do alma cena rlo en la var iable c visualizar el c ont en ido de la variable c

    La m ayora d e las senten cias de sa lida se emplean para que el usu ario pu edaver la inform acin con la qu e est t raba jan do el program a, n o obst an te otrassentencias sirven para enviar informacin de un programa a otro o entre

  • 7/28/2019 Sentencias de Entrada y Salida

    15/16

    15

    diversas par tes de u n program a. Las var iables qu e estn en u na sentenciade salida s e las su ele denomina rvariables de salida . En n u estro ejemplo c es u n a variable de salida.

    Al igual que las sentencias de entrada, es posible expresar variassen tencias de sa lida en u n a s ola, as si desera m os escribir el con tenido delas var iables a, b y c lo podram os expresa r en u n solo smb olo algortm ico.

    Recuerda que: Las sentencias de salida sirven para enviar informacin alexterior del programa y su representacin en un organigrama estcom pu esta p or un smbolo qu e representa la sen ten cia de sa lida y dentro delsm bolo la in form acin qu e se va a en viar a l exterior del progra m a.

    Anteriormente se deca que las sentencias de salida podan trabajar

    conjuntamente con informacin variable y constante, este hecho se sueleu tilizar pa ra docum entar la s alida. Si un program a tiene m u chas sentenciasde salida puede llegar un momento que no sepamos qu informacin es laque aparece por pantalla, por ejemplo al visualizar la variable c en elorganigrama de la suma aparecera un valor determinado (por ejemplo el23), pu ede ser qu e el u su ario del program a n o sepa a qu s e refiere es e valor;sin emb argo si en la pan talla a par ece:

    En este cas o se dice que la s alida est docum enta da; es decir, in dica cu al esel origen del valor. Esto se puede representar algortmicamente en unam ism a s enten cia d e sa lida, combina n do la informa cin variable y cons tan te.La figura n expresa los organigramas empleados para obtener una salidadocumentada y sin documentar. La mayora de los programadores siempredocumentan las variables de salida y es una prctica que se aconseja querea lice el lector.

    El valor de la suma de ay b es 23

  • 7/28/2019 Sentencias de Entrada y Salida

    16/16

    16

    Recuerda que: Las variables de salida se documentan para que en todomomento sepamos el significado de la informacin que aparece por

    pan ta lla .