lunes, 30 de marzo de 2009

Cuestionario de la unidad 4

1.Defina los siguientes conceptos y proporciones al menos tres ejemplos.-
operadores aritmeticos
Sirven para realizar operaciones aritméticas básicas.
Ejemplos: + suma (x+y)
- resta (b-c)
% división entera: resto (b % 5)


operadores logicos Se utilizan con expresiones para devolver un valor verdadero “cualquier entero distinto de cero”. O un valor falso “0”
Ejemplos: Negociación (!) ! (x >= y)
Y lógica (&&) m <> j
O lógica ll m = 5 l l n ! = 10
operadores relacionales C no tiene de datos lógicos o booleanos (lógicos) para representar verdadero y falso. En su lugar se utiliza el tipo “int” para este propósito, con el valor entero 0 que representa a falso y distinto de cero a verdadero.
Ejemplos: == Igual a a==b
!= No igual a a ! = b > Mayor que a > b

2.Que son las reglas de prioridad y asociatividad.- La prioridad o precedencia de operadores determina el orden en el que se aplican los operadores a un valor. Los operadores C vienen en una tabla con quince grupos. Los operadores del grupo 1 tienen mayor prioridad que los del grupo 2, y así sucesivamente.

3.Proporcione un ejemplo de cada tipo de operador de asignacion que existe y describa su funcion.-

4.Explique que son los operadores de incremento y decremento, proporcione dos ejemplo de cada uno y su funcion.- De las características que incorpora C, una de las mas útiles son los operadores de incremento ++ y decremento --. Los operadores ++ y --, denominados de incrementación y decrementacion, suman o restan 1 a su argumento, respectivamente, cada vez que se aplican a una variable.
Ejemplo: INCREMENTACION
++n n += 1
DECREMENTACION
--n
n -= 1
++n produce un valor que es mayor en uno que el de n++, y --n produce un valor que es menor en uno que el valor de n--.


5.Liste los operadores relacionables, proporcione un ejemplo y su funcion.-
6.Construlla las tablas de verdad de las operaciones and y or.-

Tabla de verdad del operador lógico AND (&&)

Tabla de verdad del operador lógico OR (ll)
7.Que es un operador de direccion.Cuales existen y explique su funcionamiento.- Son operadores que permiten manipular las direcciones de las variables y registro en general.
* Lee el valor apuntado por la expresión. El operando se corresponde con un puntero y es el resultado es del tipo apuntado.
& Devuelve un puntero al objeto utilizado como operando, que debe ser un Ivalue (variable dotada de una dirección de memoria). El resultado es un puntero de tipo idéntico al del operando.
· Permite acceder a un miembro de un dato agregado (unión, estructura).-> Accede a un miembro de un dato agregado (unión, estrucutura) apuntado por el operando de la izquierda.

8.Proporcione 3 ejemplos de operadores condicionales y su funcion.-

Ejemplos:
expresión_c? expresión_v: expresión_f;

Se evalúa expresión_c y su valor (cero = falso, distinto de cero = verdadero) determina caul es la expresión a ejecutar; si la condición es verdadera e ejecuta expresión_v y si es falsa se ejecuta expresión_f.

9.Proporcione 2 ejemplos que utilizen el operador coma y explique su funcion.-

Ejemplos: i ++, j++ ; equivale a i++ ; j++
i++, j++, k++; equivale a i++ ; j++; k++;

10.Explique la funcion del operador corchete y proporciones 2 ejemplos.-Sirve para dimensionar los arrays y designar un elemento de un array.
Ejemplos:
doublé v [20]; /* define un array de 20 elementos */


printf (“v [2] = %e”, v [2] ); /* defiene el elemento 2 de v */

11.A que se refiere la conversion de tipo de datos.- Con frecuencia, se necesita convertir un valor de un tipo a otro sin cambiar el valor que representa. Las converciones de tipos pueden ser implícitas (ejecutadas automáticamente) o explicitas (solicitadas espicificamente por el programador). C hace muchas converciones de tipos automáticamente:
· C convierte valores cuando se asigna un valor de un tipo a una variable de otro tipo.
· C convierte valores cuando se combinan tipos mixtos en expresiones.
· C convierte valores cuando se pasan argumentos a funciones.

12.Liste los operadores con mayor grado de prioridad al menos 4 niveles.-


viernes, 27 de marzo de 2009

jueves, 19 de marzo de 2009

lunes, 16 de marzo de 2009

RESUMEN CAPITULO III

Aritmetica con caracteres C
Dada la corrspondencia entre un caracter y su codigo ASCII, es posible realizar operaciones aritmetica sobre datos caracteres.
char c;
c= 'T' + 5
/* suma 5 al caracter ASCII*/

Constantes Cadena
Es una secuencia de caractere encerrados entre dobles comillas.
Algunos ejemplos:
"123"
"12 de octubre 1492"
"esto es una cadena".
Se Puede escribir varias cadenas, Terminando cada linea con "\"
"esto es una cadena\que tiene dos lineas"
Se puede concatenar cadenas:
"ABC"
"DEF"
"GHI"

Constantes Definidas (Simbolicas):
Las constates pueden recibir nombres simboliicos mediante la directiva #define.
#define NUEVALINEA \n
#define PI 3.141592
#define VALOR 54
C Sustituye los valores \n, 3.141592 y 54 cuando se encuentra las constantes simbolicas NUEVALINEA, PI y VALOR.

Constante Enumeradas:
Permiten crear listas de elementos afines. un ejemplo tipico es una constante enumerada de lista de colores, que se puede declarar como:

enum: Colores {Rojo, Naranja, Amrillo, Verde, Azul, Violeta} ;

Cuando se procesa esta sentencia, el compliador asigna un valor que comienza en 0 a cada elemento enumerado; asi, rojo quivale a 0, Naranja es 1. El compilador enumera los identificadores por usted.

Constantes Declaradas const y volatile.
El cualificador const permite dar nombres simbolicos a constantes a modo de otros lenguajes, como Pascal. el formate general para crear una constante es:

const tipo nombre = valor;

Se omite tipo, C utiliza int (entero por defecto)

const int Meses = 12;
const int OCTAL = 0233;

La palabra reservada volatile actua como const, pero su valor puede ser modificado, no solo por el propio programa, sino tambien por el hardware o por el software del sistema.

Diferencias entre const y #define.
Las definiciones const especifican tipos de datos, terminan con punto y coma y se inicializan como las variables. La directiva #define no especifica tipos de datos, no utilizan el operador de asignacion (=) y no termina con punto y coma.

Variables
En C una variable es una posicion con nombre en memoria donde se almacena un valor de un cierto tipo de dato. las variables pueden almacenar todo tipo de datos: cadenas, numeros y estructuras.Una variable por lo normal tiene un nombre que describe su proposito. El procedimiento para definir (crear) una variable es escribir el tipo de dato, el identificarlo o nombre de la variable y, en ocasiones , el valor inicial que tomara. Por Ejemplo,char Respuesta;

Declaracion:
Una declaracion de una variable es una sentencia que proporciona informacion de la variable al complidar C. su sintaxis es:
tipo variable
tipo: es el nombre de un tipo de datos conocidos por el C.
variable: es un identificador (nombre) valido en C.

Es preciso declarar las variables antes de utilizarlas. Se puede declarar una variable al principio de un archivo o de un bloque de codigo.
/* variable al principio del archivo */
#include
int MiNumero;
int main()
{

Inicializacion de Variables
El formato general de una declaracion de inicializacion es:tipo nombre_variable = expresion.Expresion: es cualquier expresion valida cuyo valor es del mismo tipo que tipo.Las variables se pueden inicializar a la vez que se declaran, o bien, inicializarse despues de la declaracion. el primer metodo es el mejor en la mayoria de los casos, ya que combina la definicion de la variable con la asignacion de su valor inicial.
char respuesta = 'S';
int contador = 1;
float peso = 156.45;

Estas acciones crean variables respuesta, contador, peso, que almacenan en memoria los valores respectivos situados a su derecha.

Declaracion o Definicion:
Una declaracion introduce un nombre de una variable y asocia un tipo con la variable. Una definicion es una declaracion que asigna simultaneamente memoria a la variable.
double x; /*declara el nombre de la variable x de tipo double */char c_var; /*declara c_var de tipo char */

Duracion de una Variable:
Dependiendo del lugar donde se definan las variables de C, estas se pueden utilizar en la totalidad del programa, dentro de una funcion o pueden existir solo temporalmente dentro de un bloque de una funcion. La zona de un programa en la que una variable esta activa se denomina, normalmente, ambito o alcance (<>).El ambito (alcance) de una variable se extiende hasta los limites de la definicion de su bloque. Los tipos basicos de variables en C son:
- Variables Locales;
- Variables Globales;
- Variables Dinamicas.

Variables Locales:
Son aquellas definidas en el interior de una funcion y son visibles solo en esa funcion especifica.
-Una variable local no pude ser modificada por ninguna sentencia externa a la funcion.
-Los nombres de las variables locales no han de ser unicos.
-Las variables locales de las funciones no existen en memoria hasta que se ejecuta la funcion.

Las variables locales se llaman tambien automaticas o auto, ya que dichas variables se crean automaticamente en la entrada a la funcion y se liberan tambien automaticamente cuando se termina la ejecucion de la funcion.
#include
int main ()
{
int a, b, c, suma, numero; /* variables locales
printf ("Cuantos Numeros a Sumar:");scanf ("%d", &numero);

Variables Globales:
son variables que se declaran fuera de la funcion y por defecto (omision) son visibles a cualquier funcion, incluyendo main ()
#include
int a, b, c; /*declaracion de varibales Globales.
int main ()
{
int valor; /*declaracion de variable local.

Variables Dinamicas:
Una variable dinamica se crea y libera durante la ejecucion del programa. la diferencia entre una variable local y una variable dinamica es que la variable dinamica se crea tras su peticion , es deci a su voluntad , y se libera cuando ya no se necesita.

Entradas y Salidas:
La biblioteca C proporciona facilidades para entrada y salida, para lo que todo programa debera tener el archivo de cabecera stdio.h . En C la entrada y salida se lee y escribe de los depositivos estandar de entrada y salida, se denomina stdin y stdout respectivamente. La salida, normalmente, es a pantalla del ordenador, la entrada se capta del teclado.en el archivo stdio.h estan definidas macros, constates, variables y funciones que permiten intercambiar datos con el exterior.

3.12.1. SALIDA
La salida de datos de un programa se puede dirigir a disversos dispositivos, pantalla, impresora, archivos.
Los codigos de formato mas utilizados y su significado:
%d: El dato se convierte a entero decimal.
%o: El dato entero se convierte en octal.
%x: El dato entero se convierte a hexadecimal.
%u: El dato entero se convierte a entero sin signo.
%c: El dato entero se considera de tipo caracter.
%e: El dato se considera de tipo float. Se convierte a notacion cientifica.
%f: El dato se considera de tipo float. Se convierte a notacion decimal, con parte entera y los digitos de precision.
%g: El dato se considera de tipo float. Se convierte segun el codigo %e o %f dependiendo de cual sea la representacion mas corta.
%s: El dato ha de ser una cadena de caracteres.
%lf: El dato se considera de tipo double.

C utiliza "secuencias de escape" para visualizar carcteres que no estan representados por simbolos tradicionales, tales como \a,\b, etc.




caracteres de secuencias de escape

Secuencia de escape Significado

\a Alarma

\b Retroceso de espacio

\f Avance de pagina

\n Retorno de carro y avance de linea

\r Retorno de carro

\t Tabulacion

\v Tabulacion vertical

\\ Barra inclinada

\? Signo de interrogacion

\" Dobles comillas

\000 Numero octal

\xhh Numero hexadecimal

\0 Cero, nulo (ASCII 0)


3.12.2. ENTRADA

La entrada de datos a un programa puede tener diversas fuentes, teclado, archivos en disco... La entrada que consideramos ahora es a traves del teclado, asociado al archivo estandar de entrada "stdin". La funcion mas utilizada, por su versatilidad, para entrada formateada es scanf().

El archivo de cabecera stdio.h de la biblioteca C proporciona la definicion (el prototipo) de scanf(), asi como de otras funciones de entrada o de salida. la forma general que tiene la funcion scanf()


scanf (cadena_de control, var1, var2, var3,...)

cadena_de_control contiene los tipos de los datos y si se desea su anchura.

var1,var2 ... variables del tipo de los codigos de control.



Los codigos de formato mas comunes son los ya indicados en la salida. Se pueden añadir, como sufijo del codigo, ciertos modificadores como 1 o L. El significado es "largo", aplicado a float (%lf)

indica tipo double, aplicado a int (%ld) indica entero largo.


int n; double x;

scanf ("%d%lf",&n,&x);


La entrada tiene que ser de la forma

134 -1.4E-4


En este caso la funcion scanf() devuelve n=134 x=-1.4E-4 (en doble precision). Los argumentos var1,var2,... de la funcion scanf() se pasan por direccion o referencia pues van a ser modificados por la funcion para devolver los datos. Por ello necesitan el operador de direccion, el prefijo &.

Las variables que pasan a scanf() se transmiten por referencia para poder ser modificadas y transmitir los datos de entrada, para ello se hacen preceder de &.

La funcion scanf() termina cuando ha cpatado tantos datos como codigos de control se han especificado, o cuando un dato no coincide con el codigo de control especificado.



3.12.3. SALIDA DE CADENAS DE CARACTERES

Con la funcion printf() se puede dar salida a cualquier dato, asociandole el codigo qe le correponde. En particular, para dar salida a una cadena de caracteres se utiliza el codigo %s.Asi,

char arbol []= "Acebo";

printf ("%s\n",arbol);

Para salida de cadenas, la biblioteca C proporciona la funcion especifica puts(). Tiene un solo argumento, que es una cadena de caracteres. Escribe la cadena en la salida estandar (pantalla) y añade el fin de linea. Asi,

puts (arbol);

muestra en pantalla lo mismo que printf ("%s\n",arbol);



3.12.4. ENTRADA DE CADENAS DE CARACTERES

La entrada de una cadena de caracteres se hace con la funcion mas general scanf() y el codigo %s

La biblioteca de C tiene una funcion especifica para captar una cadena de caracteres, la funcion gets(). Capta del dispositivo estandar de entrada una cadena de caracteres,termina la capacitacion con un retorno de carro. El siguiente ejemplo muestra como captar una linea de como maximo 80 caracteres.

la funcion gets() tiene un solo arguemento,una variable tipo cadena.Capta la cadena de entrada y la devuelve en la variable pasada como argumento.

gets(variable_cadena);

Tnato cn scanf() como con gets(), el programa inserta al final de la cadena el caracter que indica fin de cadena, el carcter nulo,\0.Siempre hay que definir las cadenas con un espacio mas del previsto como maxima longitud para el caracter fin de cadena.


3.13. COMPILACION DE PROGRAMAS C EN "UNIX" Y "LINUX"

La forma de compilar programas C en el entorno UNIX varia considerablemente entre las diferentes plataformas UNIX. Las versiones de linux y freesd 3.4 de unix usan el potente compilador GNU.

Otras plataformas UNIX proporcionan sus propios compiladores de C y C++,las cuales difieren substancialmente en las opciones que permiten del compilador de GNU, asi como en los mensajes que se producen y su capacidad de optimizacion.
3.13.1. ORDEN DE COMPILACION CC
La mayoria de las plataformas UNIX invocan sus compiladores de C con el nombre "cc". Las plataformas Linux y FreeBSD tiene el nombre de comando "gcc", ademas del nombre "cc". Algunas veces el compilador de GNU es instalado como "gcc" en plataformas comerciales para distinguirlo del estandar. Por ejemplo, HP incluye un compilador no ANSI con su operativo HPUX, que es denominado el copilador envuelto (este compilador es suficiente para reconstruir un nuevo kernel para HPUX). El compilador conforme con POSIX (estandar) "c89". La plataforma IBM AIX 4.3 soporta un compilador extendido de C, cc, y un compilador de ANSI C,xlc 0 c89. La diferencia entre los compiladores "xlc" y "c89" en AIX son las opciones por defecto configuradas.


jueves, 12 de marzo de 2009

3.6


el programa imprime la frase "tambor de hojalata" despues imprime T una vez definada esta

3.5

el programa hace que se imprima una pregunta y con poner las 2 primeras variables hace que se impriman

miércoles, 11 de marzo de 2009

3.4


el programa eejecuta que se escuche un sonido,pero como no habia bocinas no se pudo oir y no se sabe si funciona o no.

martes, 10 de marzo de 2009

lunes, 9 de marzo de 2009

viernes, 6 de marzo de 2009

martes, 3 de marzo de 2009

3.1 y 3.2

/*archivo "midirec.c"*/
printf(

tarea!!!!!

# include
main ()
{
printf("_______000000000000000000_______\n");
printf("_____000000__00000__0000000_____\n");
printf("____0000000__00000__00000000____\n");
printf("___00000000__00000__000000000___\n");
printf("__000000000__00000__0000000000__\n");
printf("_0000000000__00000__00000000000_\n");
printf("_0000000000__00000__00000000000_\n");
printf("_0000000000__00000__00000000000_\n");
printf("_000000000000000000000000000000_\n");
printf("_000000__________________000000_\n");
printf("_000000__________________000000_\n");
printf("__000000_________________00000__\n");
printf("___0000000_____________000000___\n");
printf("_____0000000_________0000000____\n");
printf("_______ 00000000000000000_______\n");
printf("___________00000000000__________\n");
printf("________________________________\n");
return 0;
}