jueves, 21 de enero de 2010

Dudas de los ejercicios de la Unidad 4

Aquí publiquen las dudas de los ejercicios de la Unidad 4.

/* Ejercicio 03:
Dados 10 números enteros un vector, sumar dichos elementos. */

#include
main()
{
int vector[12];
int i, suma;
suma=0;
for (i=1; i<=10; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%i", &vector[i]);
suma = suma + vector[i];
}
printf("\n\t\tLa suma de los elementos es: %i",suma);
}

Dudas de los ejercicios de la Unidad 3

Aquí publiquen las dudas de los ejercicios de la Unidad 3.

/* Ejercicio 01:
Dados 6 números sumarlos */

#include
main()
{
float a,b,c,d,e,f, resultado;
printf("\n\t\tIntroduzca seis números: ");
scanf("%f%f%f%f%f%f", &a, &b, &c, &d, &e, &f);
resultado=a+b+c+d+e+f;
printf("\n\t\tLa suma de los numeros %.2f,%.2f,%.2f,%.2f,%.2f, %.2f, es: %.2f", a,b,c,d,e,f, resultado);
}

/* Ejercicio 02:
Dados 10 números obtener la media aritmetica */

#include
main()
{
int i;
float numero, resultado;
resultado=0;
printf("\n\t\tIntroduzca diez números: ");
for (i=1; i<11; i++){
scanf("%f", &numero);
resultado= resultado + numero;
}
resultado= resultado/10;
printf("\n\t\tLa media aritmetica es: %.2f", resultado);
}

/* Ejercicio 03:
Dados dos números multiplicarlos mediante el metodo de sumas sucesivas */

#include
main()
{
int i, n1, n2, resultado;
resultado=0;
printf("\n\t\tIntroduzca dos números: ");
scanf("%i%i", &n1, &n2);
for (i=1; i<= n2; i++){
resultado= n1 + resultado;
}
printf("\n\t\tEl resultado es: %i", resultado);
}

/* Ejercicio 05:
Dados N números obtener la media aritmetica */

#include
main()
{
int i, cantidad;
float numero, resultado;
resultado=0;
cantidad=0;
printf("\n\t\tIntroduzca la cantidad de números: ");
while (cantidad<1){
scanf("%i", &cantidad);}
for (i=1; i<=cantidad; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%f", &numero);
resultado= resultado + numero;
}
resultado= resultado/cantidad;
printf("\n\t\tLa media aritmetica es: %.2f", resultado);
}

/* Ejercicio 09:
Dados N números determinar el menor y el mayor */

#include
main()
{
int i, cantidad;
float menor, mayor, numero;
cantidad=0;
menor=0;
mayor=0;
printf("\n\t\tIntroduzca la cantidad de números: ");
while (cantidad<2){
scanf("%i", &cantidad);}
printf("\n\t\tNúmero 1: ");
scanf("%f", &numero);
menor=numero;
mayor=numero;
for (i=2; i<=cantidad; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%f", &numero);
if (numero if (numero>mayor) mayor=numero;
}
printf("\n\t\tEl numero menor es %.3f y el mayor es %.3f",menor, mayor);
}

Dudas de los ejercicios de la Unidad 2

Aqui publiquen sus dudas sobre los ejercicios de la Unidad 2, y revisen algunos ejercicios resueltos.

/* Ejercicio 01:
Dados dos números enteros determinar el mayor */

#include
main()
{
int a, b, mayor;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
if (a>b)
mayor=a;
else
mayor=b;
printf("\n\t\tEl mayor es %d ", mayor);
}

/* Ejercicio 02:
Dados dos números enteros determinar el menor */

#include
main()
{
int a, b, menor;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
if (a
main()
{
int n1, n2, n3, n4, n5, n6, n7;
printf("\n\t\tIntroduzca siete números enteros: ");
scanf("%d%d%d%d%d%d%d", &n1,&n2,&n3,&n4,&n5,&n6,&n7);
printf("\n\t\tLos números mayores que 5 son: ");
if (n1>5)
printf("%d ", n1);
if (n2>5)
printf("%d ", n2);
if (n3>5)
printf("%d ", n3);
if (n4>5)
printf("%d ", n4);
if (n5>5)
printf("%d ", n5);
if (n6>5)
printf("%d ", n6);
if (n7>5)
printf("%d ", n7);
}

/* Ejercicio 06:
Dados dos números enteros determinar si uno de ellos es igual doble del otro */

#include
main()
{
float n1, n2;
printf("\n\t\tIntroduzca dos números: ");
scanf("%f%f", &n1,&n2);
if (n1==2*n2)
printf("\n\t\tEl número %f es el doble de %f", n1, n2);
else {
if (n2==2*n1)
printf("\n\t\tEl número %f es el doble de %f", n2, n1);
else
printf("\n\t\tNinguno de los números es el doble del otro");
}
}

/* Ejercicio 07:
Dados una letra, determinar si es mayuscula */

#include
main()
{
char letra;
printf("\n\t\tIntroduzca una letra: ");
scanf("%c", &letra);
if ( ((letra>64) && (letra<91)) letra="="195))">
main()
{
int n1, n2,resto;
printf("\n\t\tIntroduzca dos números: ");
scanf("%d%d", &n1,&n2);
resto=n1%2;
if (resto==1)
printf("\n\t\tEl número %d es impar", n1);
resto=n2%2;
if (resto==1)
printf("\n\t\tEl número %d es impar", n2);
}

/* Ejercicio 12:
Dada una palabra determinar cuantas vocales tiene */

#include
main()
{
char c;
int contvocal;
contvocal=0;
printf("\n\t\tIntroduzca una palabra: ");
while (((c=getchar()) != '\n') && (c != ' ')){
switch (c){
case 'A': contvocal++;
break;
case 'E': contvocal++;
break;
case 'I': contvocal++;
break;
case 'O': contvocal++;
break;
case 'U': contvocal++;
break;
case 'a': contvocal++;
break;
case 'e': contvocal++;
break;
case 'i': contvocal++;
break;
case 'o': contvocal++;
break;
case 'u': contvocal++;
break;
}
}
printf("\n\t\tLa palabra tiene %d vocales.", contvocal);
}

Dudas de los ejercicios de la Unidad 1

Aqui publiquen sus dudas sobre los ejercicios de la Unidad 1, a continuación se encuentran varios ejercicios de la guía resueltos para su revisión.

/* Ejercicio 1:
Mostrar un número entero fijo */

#include
main()
{
int a;
a=3;
printf("\n\t\t%d", a);
}


/* Ejercicio 2:
Mostrar un número real fijo */

#include
main()
{
float real;
real= 2.56;
printf("\n\t\t%f", real);
}


/* Ejercicio 3:
Mostrar una letra fija */

#include
main()
{
char letra;
letra= 'E';
printf("\n\t\t%c", letra);
}


/* Ejercicio 4:
Mostrar una palabra fija */

#include
main()
{
char palabra[8]= "LENGUAJE";
printf("\n\t\t%s", palabra);
}


/* Ejercicio 5:
Mostrar un número entero y un número real fijo */

#include
main()
{
int a;
float real;
a= 6;
real= 8.69;
printf("\n\t\t%i", a);
printf("\n\t\t%f", real);
}


/* Ejercicio 6:
Mostrar un número entero dado por teclado */

#include
main()
{
int a;
printf("\n\t\tIntroduzca un número entero: ");
scanf("%d", &a);
printf("\n\t\tEl numero leido es %i", a);
}

/* Ejercicio 7:
Mostrar un número real dado por teclado */

#include
main()
{
float real;
printf("\n\t\tIntroduzca un número real: ");
scanf("%f", &real);
printf("\n\t\tEl número leido es %f", real);
}

/* Ejercicio 8:
Mostrar una letra dada por teclado */

#include
main()
{
char letra;
printf("\n\t\tIntroduzca una letra: ");
scanf("%c", &letra);
printf("\n\t\tLa letra leida es %c", letra);
}

/* Ejercicio 9:
Mostrar una palabra dada por teclado*/

#include
main()
{
char palabra[25];
printf("\n\t\tIntroduzca una palabra: ");
scanf("%s", palabra);
printf("\n\t\tLa palabra leida es %s", palabra);
}

/* Ejercicio 10:
Mostrar un número entero y un número real dados por teclado*/

#include
main()
{
int a;
float real;
printf("\n\t\tIntroduzca un número entero: ");
scanf("%d", &a);
printf("\n\t\tIntroduzca un número real: ");
scanf("%f", &real);
printf("\n\t\tEl número entero leido es %d y el real es %f", a,real);
}

/* Ejercicio 11:
Dados dos números enteros y dos numeros real mostrarlos */

#include
main()
{
int a,b;
float real1,real2;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
printf("\n\t\tIntroduzca dos números real: ");
scanf("%f%f", &real1, &real2);
printf("\n\t\tLos números enteros leido son %d y el %d , y los reales son %f y el %f", a, b, real1,real2);
}

/* Ejercicio 14:
Dados dos números enteros y positivos restarlos y mostrar el resultado */

#include
main()
{
int a, b, resultado;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a, &b);
resultado=a-b;
printf("\n\t\tEl resultado de restar %d y %d es: %d", a,b,resultado);
}

/* Ejercicio 19:
Dados 5 números obtener la media aritmetica */

#include
main()
{
float a,b,c,d,e,resultado;
printf("\n\t\tIntroduzca cinco números: ");
scanf("%f%f%f%f%f", &a, &b, &c, &d, &e);
resultado=(a+b+c+d+e)/5;
printf("\n\t\tLa media aritmetica de %f,%f,%f,%f,%f, es: %f", a,b,c,d,e,resultado);
}

/* Ejercicio 20:
Dados 4 números sumarlos y multiplicarlos */

#include
main()
{
float a,b,c,d,resultadosuma, resultadomultiplicacion;
printf("\n\t\tIntroduzca cuatro números: ");
scanf("%f%f%f%f", &a, &b, &c, &d);
resultadosuma=a+b+c+d;
resultadomultiplicacion=a*b*c*d;
printf("\n\t\tLa suma de %f,%f,%f,%f, es: %f", a,b,c,d,resultadosuma);
printf("\n\t\tLa multiplicacion de %f,%f,%f,%f, es: %f", a,b,c,d,resultadomultiplicacion);
}

/* Ejercicio 26:
Dados el radio de un circulo, calcular su area y longitud de la circunferencia */

#include
main()
{
const float PI=3.1415927;
float radio, area, longitud;
printf("\n\t\tIntroduzca el radio del circulo: ");
scanf("%f", &radio);
area=2*PI*radio;
longitud=PI*radio*radio;
printf("\n\t\tEl area del circulo es: %.2f", area);
printf("\n\t\tLa longitud del circulo es: %.2f", longitud);
return 0;
}


sábado, 9 de enero de 2010

Varios Ejemplos en Lenguaje C

En esta pagina web http://www.ejemplosc.com/ pueden conseguir una gran cantidad de ejemplos de programas sencillos para su estudio.

jueves, 7 de enero de 2010

Compilador de Lenguaje C

Existen infinidad de compiladores para lenguaje C y sus diversas variantes. Entre ellas en ambiente windows esta LCC Win32 que permite crear ejecutables a partir del código fuente de los programas escritos en este lenguaje.

El enlace de la descarga es http://www.q-software-solutions.de/pub/lccwin32.exe

Entrada y Salida por consola

Se refiere a las operaciones que se producen en el teclado y en la pantalla de la computadora. En C no hay palabras claves para realizar las acciones de Entrada/Salida, estas se hacen mediante el uso de las funciones de la biblioteca estándar (stdio.h).

Para utilizar las funciones de E / S debemos incluir en el programa el archivo de cabecera stdio.h, mediante la declaratoria:

#include

Las Funciones de E / S más simples son getchar() que lee un carácter del teclado, espera un retorno de carro, es decir un enter y el eco aparece. Es decir la tecla presionada.
  • putchar(): Imprime un carácter en la pantalla, en la posición actual del cursor.Algunas variaciones:
  • getche(): Aparece el Eco
  • getch(): No aparece el eco
Estas instrucciones se encuentran en la biblioteca conio.h

Veamos un ejemplo: Programa que espera que se presiona una tecla, la muestra en pantalla, y además muestra el carácter siguiente:

Ejemplo 1

#include
#include
main()
{
char car;
clrscr(); /*Se encarga de borrar la pantalla por eso se llama clear screen*/
car=getchar();
putchar(car+1);
getch();
return 0;
}

Ejemplo 2

#include
#include
main()
{
char x; /*Declaramos x como caracter*/
printf("Para Finalizar Presione cualquier Tecla:");
x= getchar(); /*Captura y muestra el caracter presionado*/
getch(); /*Espera a que se presione cualquier otra tecla para finalizar*/
return 0;
}

Declaración de Constantes

Las constantes, como su nombre lo indica, son valores que se mantiene invariables durante la ejecución del programa. Su formato es el siguiente:
c
onst tipo_de_dato nombre= valor; donde const, es una palabra reservada, para indicarle al compilador que se esta declarando una constante.

Ejemplo:

const int dia=7;
const float pi=3.14159;
const char caracter= ‘m’;
const char fecha[]=”25 de diciembre”;

Caso Especial Constantes Simbólicas: Las constantes simbólicas, se declaran mediante la directiva #define, como se explicó anteriormente. Funcionan de la siguiente manera, cuando C, encuentra el símbolo que representa a la constante, lo sustituye por su respectivo valor.

Ejemplo:

#define N 150
#define PI 3.1416
#define P 50

NOTA: se debe comprender algunas diferencias fundamentales entre la declaratoria const y #define; la primera, va dentro del programa, es decir, dentro de la función main() o alguna función definida por el usuario, mientras que #define va en el encabezado, después de los #include, por eso estas no llevan al final el punto y coma (;).

Declaración de Variables

Una Variable, como su nombre lo indica, es capaz de almacenar diferentes valores durante la ejecución del programa, su valor varía. Es un lugar en la memoria el cual, posee un nombre (identificador), y un valor asociado.

La declaración de variables en C, se hace en minúsculas. Formato:
Tipo_de_dato nombre_de_la_variable;

Ejemplos:
  • Declare una variable de tipo entero y otra de tipo real, una con el nombre de “x” y otra con el identificador “y”: int x; float y;
  • Declare una variable de tipo entero llamada moon, e inicialícela con un valor de 20: int x = 20;
  • Declare una variable de tipo real, llamada Pi, e inicialícela con una valor de 3.1415: float pi=3.1415;
  • Declare una variable de tipo caracter, llamada car y r asígne el valor de la letra “M”: char car = ’M’;
  • Declare una variable llamada asignatura, que contenga programacion, por ejemplo: char nombre[13]=”programacion”;
Explicación: Lenguaje C, no tiene el tipo de dato llamado string, o mejor conocido como cadenas de texto, pero nosotros podemos hacer uso de ellas, por medio de un arreglo, (de lo cual hablaremos con más detalle, posteriormente); pero para declarar este tipo de datos colocamos el tipo de datos, es decir la palabra reservada char luego el nombre, e inmediatamente abrimos, entre corchetes, va el número de letras, que contendrá dicha variable.

Es muy importante que al momento de declarar el tamaño, sea un número mayor, al verdadero número de letras; por ejemplo, la palabra “programacion”, solo tiene 12 letras, pero debemos declararlo para 13 letras. Porque el último espacio de la variable lenguaje C guarda un espacio en blanco para indicar el fin de la cadena de caracteres.

Sintaxis de algunos elementos en C Parte 2

e) Signos de Puntuación y de Separación

/  % ^ & * () - + {} [] \ ; : <> ¿ .

f) Todas las Instrucciones o sentencias del programa terminan con un punto y coma (;)
Al momento de programar en C, esta es una regla de oro, y la causa por la cual nuestro programa puede darnos muchos errores de sintaxis, cuando se omite, al final de cada sentencia un punto y coma (;). Ya que con ello le indicamos al compilador que ha finalizado una sentencia.
NOTA: no confundirse, con las directivas: #include, #define. Main(), no llevan punto y coma, por que no son sentencias.

g) Todo Bloque de Instrucciones debe ir entre llaves
Esta consideración toma mayor auge, cuando veamos las instrucciones anidadas en condiciones, ciclos, etc.

Ejemplo:
{
...
printf(“Hola\n\b”);
...
}

h) En una línea se pueden escribir más de una instrucción separada por un punto y coma
Esto es posibles, por que con el punto y coma, le estamos indicando al compilador el fin de una sentencia o instrucción.

Ejemplo:
b = c + d; d = 2*k;


Sintaxis de algunos elementos en C

a) identificadores: como su nombre lo indica, estos son los nombres, con los que identificamos las variables, constantes, funciones, vectores, etc, de nuestro programa. Para ello debemos tener presente algunas reglas:
  • Pueden tener de 1 hasta un máximo de 31 caracteres
  • Debe de iniciar con una letra o subrayado
Ejemplo Correctos:
c2
_c2

Ejemplos Incorrectos:
2c
2 c
  • No es lo mismo una minúscula que una mayúscula, ya que c distingue de entre ellas. Ejemplo: BETA Beta beta BeTa
  • No son válidos los identificadores de palabras reservadas. En un inicio hablamos que c posee 32 palabras reservadas, entre ellas están: float, char, while, int, else, return, etc. Estas palabras no pueden ser utilizadas para identificar variables, constantes, funciones etc
b) Comentarios: en todo programa que estemos diseñando en C (o en cualquier otro lenguaje de programación); es necesario insertar ciertos comentarios en el código, para que en posteriores modificaciones y cuando se realice el mantenimiento, podamos recordar cosas importantes ya que, en los comentarios, podemos incluir explicaciones del funcionamiento de las sentencias, etc. El formato de los comentarios en C, es el siguiente:

/*este es un comentario en C */
/*Podemos colocar mucha información importante
de nuestro Programa */

c) La Directiva #include
Permite que, el pre-procesador, incluya funciones proporcionadas por el fabricante, a nuestro programa.
Ejemplo:

#include /* le decimos al compilador que incluya la librería
stdio.h */

d) la directiva #define
Permite definir constantes simbólicas, que son valores que permanecen constantes durante toda la ejecución del programa, un ejemplo de ello, es el valor de (pi) que equivale a 3.14159....

En C existen diferentes tipos de variables, entre ellas tenemos:

1. Constates Numéricas: Son valores numéricos, enteros o de reales (de punto flotante). Se permiten también constantes octales y hexadecimales.
2. Constantes Simbólicas: las constantes simbólicas tiene un nombre (identificador), y en esto se parecen las variables. Sin embargo, no pueden cambiar de valor a lo largo de la ejecución del programa. En C, se pueden definir mediante el preprocesador.

Ejemplo:
#define N 100
#define PI 3.1416
#define B 45

Esta directiva (#define) va, inmediatamente después de los #include. Se escribe la directiva, se deja un espacio y se escribe el identificador de la constante, otro espacio y su valor.

Estructura de un programa en C parte 2

Declaraciones Globales pueden ser:

*Prototipos de Funciones: También llamadas declaraciones de funciones.

*Declaraciones de Variables, cabe destacar, que esto se hace seguido de los #include y los #define.

Función Principal main()

Esta es la función principal de nuestro programa, su cuerpo, por ello NUNCA debe faltar, ya que en ella van contenidas todas las instrucciones de nuestro programa.

main()
{
declaraciones locales /*Comentarios */
sentencias
}

La función main() va al inicio, luego abrimos llaves y dentro de ellas van las declaraciones de variables, las sentencias de lectura, cálculos, asignaciones e impresiones, y con la última llave ( } ), le indicamos el final del programa.

Ejemplo: Programa que a partir del radio, calcula el área de un circulo

#include
#include
main()
{
float radio, area;
printf("Radio=\n");
scanf("%f", &radio);
area=3.14159*radio*radio;
printf("El Area es %f\n\n", area);
getch();
return 0;
}

Explicación:

Le indicamos al compilador, que usaremos las bibliotecas y , ¿por qué ?, por que esta biblioteca, contiene las funciones getche(), getch(), etc, y de una de ellas hacemos uso en este pequeño ejemplo.

Luego, le indicamos a nuestro programa el incio de nuestro programa función main().

Declaramos, como valores reales, las variables radio y area (de esto se hablará más adelante). Luego, con la instrucción printf(), mostramos en pantalla el mensaje (Radio=) y scanf se encarga de leer el valor digitado por el usuario.

Posteriormente area, es igual al la multiplicación de pi (3.14159), el radio al cuadrado. Se muestra en pantalla ese resultado, luego el programa espera que se presiones cualquier tecla (getch() ) y no retorna ningún valor (return 0).

Estructura de un programa en C parte 1

La estructura de un programa en C, consta de algunas partes esenciales, las cuales son uno o más módulos llamadas funciones, siendo main() la primera función que es llamada cuando empieza la ejecución del programa.

Cada función debe contener:

Directivas de pre-procesador
#include #define. (instrucciones que se le dan al compilador antes de compilar). Ejemplo: #include

Lo que se le está indicando, es que de las librerías, “Incluya” en nuestro programa la directiva stdio.h, la cual contiene las funciones de entrada y salida de datos (standar input output, en inglés).


Si necesitamos las funciones matemáticas, debemos especificarlo con la declaratoria: #include

Si necesitamos las funciones de cadenas: #inlcude

Es necesario aclarar que esto se hace al inicio del programa, y las declaratorias deben llevar el símbolo de numeral (#) seguido de la sentencia “include”, y entre signos de mayor y menor que (<>) el nombre de la directiva.

Lenguaje C

Lenguaje C

El lenguaje C, fue diseñado por Dennies Ritchie en 1970, en los laboratorios Bell de Estados Unidos.

Este lenguaje presenta varias características, entre las cuales están:

1. Lenguaje de programación de propósitos generales
2. Permite la Programación Estructurada
3. Abundancia de Operadores y Tipos de Datos
4. No está asociado a ningún sistema operativo ni a ninguna máquina
5. Popular y Eficaz
6. Permite el desarrollo de Sistemas Operativos y programas de aplicación
7. Portabilidad
8. Existen las librerías en las bibliotecas
9. tiene sólo 32 palabras reservadas