lunes, 27 de abril de 2009

respuesta del cuestionario

1.-defina los siguientes conceptos y proporcione al menos tres ejemplos

operadores aritmeticos
sirven para realizar operaciones aritmeticas basicas. los operadores aritmeticos C siguen las reglas algebraicas tipicas de jerarquia de prioridad.
estas reglas especifican la precedencia de las operaciones aritmeticas.
+ suma suma ejemplo x+y
- reta resta b-c
* producto producto x*y

operadores logicos
estos operadores se utilizan para devolver un valor verdadero (cualquier valor entero distinto de cero) o un valor falso
(0). los operadores logicos se denominan tambien operadores booleanos, en honor de george boole,
creador de la algebra boole.

operador Operación logica ejemplo
negacion No logica ¡(x>=y)
Y logica (&&) Operando_1&& operando_2 M < n && i >j
O logica ll Operando_1ll operando_2 M = 5 ll n ¡=10


operadores relacionales
C no tiene tipos de datos logicos o boléanos para representar los valores verdaderos (true) y falso (false). En su lugar se utiliza el tipo int para este proposito, con el valor entero 0 que representa al falso y distinto a cero que represnta a verdadero.

operador significado ejemplo
== 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 mayor.

Si dos operadores se aplican al mismo operando, el operador con mayor prioridad se aplica primero.
Todos los operadores del mismo grupo tiene igual de prioridad y asociatividad.
La asociatividad izquierda derecha significa aplicar el operador mas a la izquierda primero, y en la asociatividad derecha-izquierda se aplica primero el operador las a la derecha.
Los paréntesis tienen maxima prioridad.




3.-proporcione un ejemplo de cada tipo de operador de asignacion que existe y describa su funcion
Símbolo Uso descripcion
= A=b Asigna el valor de b a a
*= A*=b Multiplica a por b y asigna el resultado a la variable a
/= a/=b Divide a entre b b y asigna el resultado a la variable a
%= A%=b Fija a al resto de a/b.
+= A+=b Suma b y a b y asigna a la variable a
-= a-=b Reta b de a b y asigna el resultado a la variable a


4.-explique que son los operadores de incremento y decremento, porporcione 2 ejemplos de cada uno y su funcion
El operador incremento ++ y decremento -- , suman o resta 1 a su argumento respectivamente, cada vez que se aplican a una variable.
Ejemplos:
N=8
M = ++n
N =9

Int a = 1,b; /* b vale 1 y a vale 2*/
B = a++;



5.-liste los operadores relacionales, proporcione un ejemplo y su funcion
operador significado ejemplo
== Igual a A==b
¡= No igual a A ¡= b
> Mayor que A > b
< Menor que a>b
>= Mayor o igual que A>=b
<= Menor o igual que a<=b


6.-contruya la tabla de verdad de las operaciones and y or

A&B ==C AIB == C
0&0==0
0&1==0
1&0==0
1&1==1 0I0 == 0
0I1 == 1
1I0 == 1
1I1 == 1











7.-que es un operador de direccion. cuales existen y explique su funcionamiento

Permite manipular las direcciones de las variables y registros en general
operador accion
* Lee el valor apuntado por la expresión. El operando se corresponde con unpuntero y el resultado es del tipo apuntando-
& Devuelve un puntero al objeto utilizando como operando, que debe ser un lvalue (variable dotada de una direccion de memoria) en resultado es un puntero de tipo identico al del operando
. Permite acceder a un miembro de un dato agregado (union, estructura)
-> accede a un miembro de un dato agregado (union, estructura) apuntado por el operador de la izquierda


8.-proporcione tres ejemplos de operadores condionales y funcion

Ventas > 150000 ? comision =100 : comision =0;
Si ventas es mayor que 150000 ejecuta comision =100
Si ventas no es mayor que 150000 se ejecuta comision =0

n>= 0? 1 : -1 1 si n es positivo, -1 si es negativo

m>= n ? m : n devuelve el mayor valor de m y n


9.-proporcione dos ejemplos que utilicen el operador "," explique su funcion

Permite combinar dos o mas expresiones separadas por comas en una solo linea. Se evalua primero la expresión de la izquierda y luego las restantes expresiones de izquierda a derecha.la expresión mas a la derecha determina el resultados global.
Ejem:
i++, j++; equivale a i++;j++
i++, j++, k++ equivale a i++; j++; k++

10.-explique la funcion del operaodor [] y proporcione 2 ejemplos

Sirve para dimensionar los arrays y designar un elemento de un array
Ejem:
Double v[20] define un array de 20 elementos
Printf (“v[2] = %e”, v[2]); describe el elemento 2 de v





11.-a que se refiere la convercion de tipos

Con frecuencia se necesita convertir un valor de un tipo a otro sin cambiar el valor que representa. Las conversiones de tipos pueden ser implícitas (ejecutables automaticamente) o explicitas (solicitadas específicamente por el programador)

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.-enliste los operadores con mayor grado de prioridad (a menos 4 niveles)
prioridad operadores asociatividad
1 . -> [] () I-D
2 ++ -- ~!-+&* sizeof (tipo) D-I
3 - / % I-D
4 + - I-D

lunes, 30 de marzo de 2009

30 d marzo

1.-defina los siguientes conceptos y proporcione al menos tres ejemplos
operadores aretmeticos
operadores logicos
operadores relacionales
2.-que son las reglas de prioridad y asociatividad
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, porporcione 2 ejemplos de cada uno y su funcion
5.-liste los operadores relacionales, proporcione un ejemplo y su funcion
6.-contruya la tabla de verdad de las operaciones and y or
7.-que es un operador de direccion. cuales existen y explique su funcionamiento
8.-proporcione tres ejemplos de operadores condionales y funcion
9.-proporcione dos ejemplos que utilicen el operador "," explique su funcion
10.-explique la funcion del operaodor [] y proporcione 2 ejemplos
11.-a que se refiere la convercion de tipos
12.-enliste los operadores con mayor grado de prioridad (a menos 4 niveles)

jueves, 19 de marzo de 2009

programa unidad 4

#include
int main ()
{
int i;
i=5;
printf("el valor de i es igual %d \n" , i);

i = i * 10;
printf ("ahora el valor de i es %d\n", i);



return 0;
}

resumen de unidad 3

Estructura general de un programa en c

Un programa en c se compone de una o mas funciones. Unas de las funciones debe ser obligatoriamente main. Una funcion en c es un grupo de instrucciones que realiza una o mas acciones. Asi mismo, un programa contendra una serie de directivas #include que permitiran incluir en el mismo archivo de cabecera que a su vez constaran de funciones y datos predefinidos en ellos.
#include archivo de cabecera stdio.h
Int main () cabecera de funcion
{ nombre de la funcion
… sentencias
}

De un modo mas explicito, un programa se puede incluir:
Directivas de preprocesador;
Declaraciones globales;
La funcion main (); int main
Funciones definidas por el usuario;
Comentarios del programa

Directivas de preprocesador;
El preprocesador en un programa c se puedeconsidera como un editor de texto inteligente que consta de directivas (intucciones al compilador antes de que se compile el programa principal). Las dos directivas mas usuales son #include #define.
La directiva #include indica al compilador que lea el archivo funte que viene acontinuacion de ella y su contenido lo inserte en la posición donde se encuentra dicha directiva.
El archivo de cabecera mas frecuente es stdio.h. esdte archivo proporciona al compilador c finformacion necesaria sobre las funciones de biblioteca que realizan operaciones de entrada y salida.
#include .
#define. La directiva # define indica al preprocesador que defina un item de datos u operación para el programa c.
Por ejemplo: la directiva #define tam_linea 65
Sustituira tam_linea por el valor 65 cada vez que aparezca en el programa.


Declaraciones globales
Las declaraciones globales indican al compilador que als funciones definidas por el usuario o variables asi declaradas son comunes a todas las funciones de su programa. Las declaraciones globales se situan antes de la funcion main (). Si se declara global una variable grado_clase del tipo int grado_clase;.


La funcion main (); int main
Cada programa c tiene una funcion main () que es el punto de entrada al programa. Su estructura es:
main()
{ bloque de sentencia

}
Las sentencias incluidas entre las llaves {…} se denominan bloque.
Un programa debe tener solo una funcion main(). Si se intenta hacer dos funciones main () se produce un error. Ademas de la funcion main (), un programa c consta de una colección de funciones.

Funciones definidas por el usuario;
Las funciones definidas por el usuario se invocan por su nombre y los parámetros opcionales que puedan tener. Después de que la funcion es llamada, el cadigo asociado con la funcion se ejecuta y a continuacion , se retorna con la la funcion llamadora.
Todas las funciones tiene nombre y reciven uan lista de valores. Se pude asignar cualquier valor a su funcion, pero normalmente se procura que dicho nombre describa el propósito de la funcion. Las fiunciones requieren una declaracion o prototipo en el programa:
Void trazacurva ();


Comentarios del programa
Un comentari es cualquier información que se añade a su archivo fuente para proporcionar documentación de cualquier tipo, el compilador ignora los comentarios, no realiza ninguna tarea concrata. El uso de comentario es totalmente opcional, aunque dicho uso es muy recomendable.
Todo el texto situado entre las dos secuencias es un comentario ignorado por el compilados.

/* prueba1.c –primer programa c */

3.2 creacion de un programa
Para crear un programa en general los pasos serian:
1.-Utilizar un editor de texto para escribir el programa y grabarlo en un archivo.
2.- compilar el codigo fuente. Se traduce el codigo fuente en un codigo objeto (extensión .obj) (lrnjuage maquina entendible para la computadora).
3. – enlazar el codigo objeto con las bibliotecas correspondientes. Una biblioteca c contiene codigo objeto de una colección de rutinas o funciones que realizan tareas, como visualizar informaciones en la pantalla o calcular la raiz cuadrada de un numero.

Para crear un programa se utilizan las siguientes etapas:

1. definir su programa.
2. definir directivas del preprocesador.
3. definir declaraciones globales.
4. crear main ( ).
5. crear el cuerpo del programa.
6. crear sus propias funciones definidas por el usuario.
7. compilar, enlazar, ejecutar y comprobar su programa.
8. utilizar comentarios.




EL PROCESO DE EJECUCION DE UN PROGRAMA EN C

La primera operación en el proceso de ejecución de un programa es introducir las sentencias (instrucciones) del programa con un editor de texto.

A continuación se debe guardar el texto en disco para su conservación y uso posterior.
La figura 3.3 muestra el metodo de edicion de un programa y la creación del programa en un disco, en un archivo que se denomina archivo de texto (archivo fuente).

Normalmente un programa consta de diferentes unidades o partes de programa que se han cumplido independientemente.

Un programa especial llamado enlazador toma el archivo objeto y las partes necesarias de la biblioteca del sistema y construye archivo ejecutable .los archivos ejecutables tienen un nombre con la extencion .exe (en el ejemplo ,area .exe).

El proceso de ejecución de un programa no suele funcionar la primera vez; es decir, casi siempre hay errores de sintaxis o errores en tiempo de ejecución .el proceso de detectar y corregir errores se denomina depuración o puesta a punto de un programa.
La figura 3.6 muestra el proceso completo de puesta o punto de un programa.

DEPURACION DE UN PROGAMA EN C

Rara vez los programas funcionan bien la primera vez que se ejecutan. Los errores que se producen en los programas han de ser detectados, aislados (fijados) y corregidos .el proceso de encontrar errores se denomina depuración del programa.
Desde el punto de vista conceptual existen tres tipos de errores: sintaxis, logicos y de regresion.

ERRORES DE SINTAXIS
Los errores de sintaxis son aquellos que se producen cuando el programa viola la sintaxis, es decir, las reglas de gramatica del lenguaje. Errores de sintaxis tipicos son: escritura incorrecta de palabras reservadas, omision de signos de puntuación (comillas, punto y coma…) los errores de sintaxis son los mas faciles de fijar, ya que ellos son detectados y aislados por el compilador.

ERRORE LOGICOS

Un segundo tipo de erros importante es el error logico, ya que tal error representa errores del programador en el diseño del algoritmo y posterior programa. Los errores logicos son mas difíciles de encontrar y aislar ya que no suelen ser detectados por el compilador.

ERRORES DE REGRESION

Los errores de regresión son aquellos que se crean accidentalmente cuando se intentan corregir un error logico.

MENSAJES DE ERROR

Los compiladores emiten un mensaje de error o advertencia durante las faces de compilación, de enlace o de ejecución de un programa. En general, se agrupan en tres los bloques;
Errores fatales: son raros. Algunos de ellos indican un error interno del compilador.
Errores de sintaxis: son errores tipicos de sintaxis.
Advertencias (warning) . no impiden la compilación. Indican condiciones que son sospechosas.

ERRORES EN TIEMPO DE EJECUCION

exisrten dos tipos de errores en tiempo de ejecucion: aquellos que son detectados por el sistema en tiempo de ejecución de C y aquellos que permiten la terminacion del programa pero producen resultados incorrectos.

PRUEBAS

Para determinar si un programa contiene un error logico, se debe ejecutar utilizando datos de muestra y comprobar la salida verificando su exactitud. Esta prueba (testing) se debe hacer varias veces utilizando varias entradas, preparadas –en el caso ideal-, por personas diferentes al programador, que puedan indicar supocisiones no evidentes en la eleccion de los datos de prueba. Si cualquier combinación de entradas produce salida incorrecta, entonces el programa contiene error logico.

LOS ELEMENTOS DE UN PROGRAMA EN C

Tokens (elementos lexicos de los programas)
Existen cinco clases de tokens: identificadores, palabras reservadas, literales, operadores y otros separadores.

Identificadores: un identificasdor es una secuencia de caracteres, letras, digitos y subrayados (_). El primer carácter debe ser una letra (algun compilador admite carácter de subrayado). Las letras mayusculas y minusculas son diferentes.

Palabras reservadas: una palabra reservada (keyword o reserved word), tal como void es una caracteristica del lenguaje c asociada con algun significado especial.
Los siguientes identificadores estan reservados para utilizarlos como palabras reservadas, y no se deben emplear para otros propositos.


Asm
Auto
Break
Case
Char
Const
Enum
Extern
Float
For
Goto
If
Signed
Sizeof
Static
Struct
Switch
Typedef
Continue
Default
Do
Double
Else
Int
Long
Register
Return
Short
Union
Unsigned
Void
Volatile
while




COMENTARIOS
los comentarios se encierran entre /* y */ y pueden extenderse a lo largo de varias lineas

SIGNOS DE PUNTUACIÓN Y SEPARADORES

! % ^&*()־+-={}~[]/;':<>?¸•\"

Archivos de cabecera

Un archivo de cabecera es un archivo especial que contiene declaraciones de elementos y funciones de la biblioteca, ejemplos:
#include
#include

Tipos de datos en c

Los tres tipos de datos en c son:
Enteros
Numeros de coma flotante (reales)
Caractere

Enteros:
Tipo c Rango de valores Uso recomendado
Int -32.768...+32.767 Aritmetica de enteros, bucles for, conteo.
Unsigned int 0…65.535 Conteo, bucles for, indices
Short int -128 .. +127 Aritmetica de enteros, bules for, conteo

Tipos de datos flotantes
Tipo Rango de valores Precision
Flota 3.4 * 10 -38 … 3.4 * 10 38 7 digitos
Double 1.7 * 10 -308 … 1.7 * 10 308 15 digitos
Long double 3.4 * 10 -4932 ….1.1 * 10 4932 19 digitos

Caracteres
Un carácter es cualquier elemento de un conjunto de caractere predefinidos o alfabeto. Se puede definir una variable de caracteres escribiendo:
Char dato_car;
Char letra_´a´
Char respuesta = ´s´

Internamente, los caracteres se almacenan como numeros. La letra A se almacena, por ejemplo, como el numero 65, la letra B es 66, la letra C es 67 etc. El tipo char representa valores en el rango -128 a +127.

EL TIPO DE DATO LOGICO

Los compiladores de c que siguen la norma ANSI no incorporan el tipo de dato logico cuyos valores son verdadero y falso . El lenguaje c simula este tipo de dato tan importante en la estructura de control (if, while…) para ello utiliza el tipo de dato int. C interpreta todo valor distinto a 0 como verdadero y el valor 0 como falso.

3.9 constantes en c existen cuatro tipos de constantes:
Constantes literales
Constan5tes definidas
Constantes enumeradas
Constantes declaradas