You are on page 1of 3

Universidad Tecnolgica Nacional Facultad Regional Crdoba Departamento de Electrnica Ctedra de Informtica I Ao acadmico 2012 Gua para trabajar

en laboratorio Nro 4 Responsable: Ing. Rodolfo Luis Parache Chaves

Mas sobre printf(), conversin y algo sobre el codigo ASCII Presentamos hoy:

Tipo de dato caracter. Se declara tipo char Ejemplo: char ab; La asignacin de contenido de una variable tipo char debe hacerse con la comilla simple. La memoria que el Sistema Operativo reserva para este tipo de variables es de un byte. En un byte puede haber hasta 256 combinaciones diferentes de ceros y unos. La industria, a travs de un acuerdo, ha dispuesto que cada una de las primeras 128 combinaciones posibles represente alguno de los caracteres ordinarios que utilizamos en el lenguaje escrito. Esto se denomina Cdigo ASCII (American Standard Code for Information Interchange). Nota 1: busque y agregue a este informe las 128 equivalencias del cdigo ASCII. Asegrese de tener adems de los caracteres y su equivalente en nmeros decimales, los nmeros hexadecimales de cada elemento del cdigo. Ejemplo: ab = b; Dado que hay una equivalencia numrica nica para cada carcter en el cdigo, es posible asignar un nmero entero, en ese caso sin las comillas, con el mismo resultado: la configuracin en bites (8 por cada byte) ser la que corresponda a ese carcter, en el ejemplo anterior, hubiera sido equivalente y totalmente vlido escribir: ab = 98; Aritmtica con caracteres: Cul es el efecto de restar 32 al valor de ab dado anteriormente? ab = ab-32;

Segn puede verse en el cdigo ASCII, el carcter que corresponde a 66 es la letra b mayscula. En realidad a cualquier minscula le corresponde su mayscula 32 elementos atrs en el cdigo. La expresin ab==B; tendra valor lgico 1 (cierto) luego de las dos asignaciones que se han hecho.

La funcin printf tiene dos argumentos posibles: a) la cadena de caracteres entre comillas dobles que hemos venido utilizando pero adems, podra tener tambin: b) una lista de variables cuyos contenidos se incorporan al texto entre comillas en el momento de ejecucin. Ya hemos visto y utilizado algunos caracteres especiales incluidos en el texto que tienen efectos diferentes de simplemente mostrar las letras, por ejemplo \n que puesto en cualquier lugar de la cadena de caracteres, la corta en la pantalla y la contina luego de un enter. Esto es, se ha incluido en la cadena una secuencia de escape Nota 2: busque y documente en su informe otras secuencias de escape en C. De la misma manera, pueden incluirse en la cadena unos indicadores para que aparezcan all los valores de algunas variables Esto se logra incorporando cadenas de conversin que comiencen con % y una letra que servir para indicar cmo debe tratarse el contenido de una variable de la lista. Ejemplo: printf (el carcter que estamos considerando es %c, ab); En este caso %c indica que el contenido del byte debe ser visto como una letra. Y veramos en pantalla. el carcter que estamos considerando es B Pero si en cambio hubiramos puesto printf (el carcter que estamos considerando es %d, ab); el carcter que estamos considerando es 66 Nota 3: busque y documente otras cadenas de conversin para la funcin printf() Pueden incorporarse en la misma cadena varias y diferentes cadenas de conversin en cuyo caso habr una lista de variables separadas con comas cuyos contenidos aparecern en los respectivos lugares. El orden de reemplazo es el de la lista y habr que asegurarse que cada variable responda al tipo de conversin que indica la cadena

Operadores de comparacin: Adems de los ya usados "menor" y "mayor" (< , >) son operadores de comparacin en C, los siguientes: "igual": = = "distinto": != "menor o igual": <= "mayor o igual": >= se utilizan entre variables, o entre variables y constantes, o entre expresiones etc

Actividades

Primer consigna TPP4v1 realizar un ciclo de captura de una tecla cualquiera con getch() una cantidad de veces definida. Por cada vez, efecte un avance de lnea. Por ejemplo 7 veces. Responda: qu se observa en la pantalla DOS? Cuando pruebe el programa, utilice teclas de letras para responder al pedido de getch(). NO ENTER Segunda consigna TPP4v2 El mismo ciclo anterior pero esta vez usando getche(). Pruebe el programa como antes. Documente y comente la salida que se observa. Tercer consigna TPP4v3 Efecte las siguientes modificaciones: almacene la captura de teclado en una variable de tipo caracter (si la variable se llamar c, declare char c;) utilice el comparador por "distinto" para controlar el ciclo, de tal manera que se interrumpa cuando se ingrese un determinado caracter. TPP4v4 Trate de utilizar la secuencia de escape \n para interrumpir el ciclo. As podr escribir su nombre completo en pantalla incluyendo los caracteres de espacio y finalizar con "enter". Esto no va a funcionar... porqu? Observe la posicin final del cursor en la pantalla DOS! Sucede que, como hemos dicho, el "enter" equivale a CR + LF, o sea un "retorno de carro" y una "alimentacin de lnea". Son dos caracteres, de un byte cada uno. Pero en una variable de tipo character se puede almacenar solamente un byte. El hexadecimal equivalente a CR es 0D (hexadecimal), en decimal, 13. Puede comparar el contenido de la variable de caracter c con el decimal 13 sin comillas. Pruebe esto. Documente su actividad y redacte sus conclusiones. Quinta consigna TPP4v5 Complete su programa interrumpiendo apropiadamente su ciclo y termine informando la cantidad de caracteres ingresados sin considerar el de interrupcin. Para ello utilice la conversin %d en printf() para visualizar correctamente su variable de conteo que es numrica. Agregue una leyenda apropiada. Cuarta consigna

You might also like