lunes, 9 de marzo de 2015

Programación: Lenguaje básico en C.

Les comparto ciertas códigos que he escrito en taller de programación.  

Programa para calcular el promedio.


#include<stdio.h>
#include<conio.h>

//comentarios

void main()
{

float n1,n2,n3,promedio;
clrscr ();
printf("Este programa encuentra el promedio. \n\n");
printf("Escriba la 1era. calificacion: ");
scanf("%f",&n1);
printf("Escriba la 2da. calificacion: ");
scanf("%f",&n2);
printf("Escriba la 3era. calificacion: ");
scanf("%f",&n3);
promedio=(n1+n2+n3)/3;
printf("El promedio es: %.2f", promedio);

getch();

}



 Código para definir el Importe en dólares de un viaje.

#include<stdio.h>
#include<conio.h>

#define importe 2

void main ( )
{

float distancia, costo;
clrscr();

printf("calcular el costo (en dolares) de un viaje.\n\n}");
printf("Escribe la distancia en Kilometros: ");

scanf("%f", &distancia);
costo=distancia*importe;
printf("El costo del viaje es: %.2f dolares", costo);
printf("\n La distancia recorrida es %.2f kilometros", distancia);

getch();

}

Programa de conversión de pesos a dólares

/*Este programa convierte una cantidad dada en pesos a dolares*/

#include<stdio.h>
#include<conio.h>

void main ( )
{

float tipo_cambio, cantidad, resultado;
printf("Calcular la conversion de pesos a dolares. \n\n");
printf("Ingrese el tipo de cambio (pesos por dolar):");
scanf("%f", &tipo_cambio);
printf("Ingrese la cantidad en pesos: ");
scanf("%f", &cantidad);
resultado=cantidad/tipo_cambio;
printf("La cantidad en dolar es: %.2f ", resultado);

getch ( );


}

Programación: Jerarquía de Operadores

PRECEDENCIA
OPERADORES
ASOCIATIVIDAD
0
()[] -> .
izq. a derecha
1
sizeof (tipo) ! ~ ++ -- signo* &
derecha a izq.
2
* / %
izq. a derecha
3
+ -
izq. a derecha
4
>
izq. a derecha
5
>=
izq. a derecha
6
== !=
izq. a derecha
7
&
izq. a derecha
8
^
izq. a derecha
9
|
izq. a derecha
10
&&
izq. a derecha
11
||
izq. a derecha
12
?:
derecha a izq.
13
= += -= *= etc
derecha a izq.

Programación: Operadores aritméticos


Jerarquía de Operadores Aritméticos

El operador módulo ( % ) se utiliza para calcular el resto del cociente entre dos ENTEROS , y no puede ser aplicado a variables del tipo float ó double. 

SÍMBOLO
DESCRIPCIÓN
EJEMPLO
ORDEN DE EVALUACIÓN
+
SUMA
a + b
3
-
RESTA
a - b
3
*
MULTIPLICACION
a * b
2
/
DIVISION
a / b
2
%
MODULO
a % b
2
-
SIGNO
-a
2

Programación: Operadores.

Si analizamos la sentencia siguiente:
var1 = var2 + var3;
estamos diciéndole al programa, por medio del operador +, que realice la suma del valor de dos variables , y una vez realizado ésto asigne el resultado a otra variable var1. Esta última operación (asignación) se indica mediante otro operador, el signo =. 

El lenguaje C tiene una amplia variedad de operadores, y todos ellos caen dentro de 6 categorias , a saber :

aritméticos , relacionales, lógicos, incremento y decremento, manejo de bits y asignación. 

En principio puede resultar algo inútil gastar papel en describir al operador IGUAL A ( = ), sin embargo es necesario remarcar ciertas características del mismo .  Es válido escribir  a = 17 ;pero no es aceptado , en cambio 17 = a ;      /* incorrecto */


existe en C un pseudocódigo, con el fin de abreviarlas .


Así una operación aritmética o de bit cualquiera (simbolizada por OP )a = (a) OP (b) ;puede escribirse en forma abreviada como :a OP= b ;



Por ejemplo:



a += b ; /* equivale : a = a + b */

a -= b ; /* equivale : a = a - b */

a *= b ; /* equivale : a = a * b */

a /= b ; /* equivale : a = a / b */



a %= b; /* equivale : a = a % b */

SIMBOLO
DESCRIPCION

EJEMPLO

ORDEN DE EVALUACIÓN

=
igual a
a = b
13
op=
pseudocodigo
a += b
13
=?:
asig.condicional
a = (c>b)?d:e
12


Programación: Usos de printf() y scanf()


Print () y Scanf  ()


La funcion PRINTF() se usa para la salida; en forma similar, la funcion SCANF() se usa para la entrada. En sentido técnico, estas funciones no son parte del lenguaje C, sino del sistema C; residen en una biblioteca estándar y están disponibles para usarlas donde quiera que haya un sistema C. Ambas funciones tienen una lista de parámetros con dos partes:

        string_de_control    y     lista_de_argumentos

La primera es un string y puede contener especificaciones de conversión o formatos. Una especificación de conversión se inicia con un caracter % y termina con un caracter de conversión; por ejemplo, en el formato %d la letra d es el caracter de conversión y permite imprimir el valor de una expresión como un entero decimal. Para imprimir las letras ABC en la pantalla, podria usarse la proposición.

        printf("ABC");
Otra manera de hacer esto es mediante la proposición

        printf("%s", "ABC");

El formato %s hace que el argumento "ABC" se imprima en el formato de un string de caracteres. Esto mismo puede realizarse también con la proposición.

        printf("%c%c%c", 'A', 'B', 'C');

Los apóstrofos que encierran cada letra se emplean para designar constantes de caracteres; de acuerdo con esto, `A` es la constante de carácter que corresponde a la letra A mayúscula. El formato %c imprime el valor de una expresión como un carácter. Por ejemplo:
        char c1, c2, c3;
 
        c1 = 'A';
        c2 = 'B';
        c3 = 'C';
        printf("%c%c%c", c1, c2, c3); 

Ahora veamos los caracteres de conversion:
        c   caracter
        d   decimal
        e   número de punto flotante en notación científica
        f   número de punto flotante
        g   en el formato-e o el formato-f, el que sea más corto
        s   string


La funcion scanf() es análoga a la funcion printf(), pero se usa para la entrada. Su primer argumento es un string de control con formatos que corresponden a las diferentes formas en que pueden interpretarse los caracteres en la entrada como valores para los diferentes tipos de variables. La lista de argumentos está formada por DIRECCIONES de variables. El símbolo & representa al operador de dirección; por ejemplo, la proposición:

        scanf("%d", &x);

contiene el formato %d, el cual provoca que scanf() interprete los caracteres de entrada como un entero decimal y que coloque el valor en la direccion x. 
La función scanf() puede usarse para convertir cadenas de dígitos decimales en valores enteros y almacenarlos en el lugar apropiado.

Ahora veamos los caracteres de conversión:
        c   caracter
        d   decimal
        f   número de punto flotante (float)
       lf   numero de punto flotante (double)
        s   cadena de caracteres (string)



Veamos un ejemplo:
        #include <stdio.h> /* Estándar Input/Output */
 
        main() {
            int    x;
            char   c;
            float  y;
            double z;
 
            printf("\nIngrese un caracter : ");
            scanf("%c", &c);
            printf("\nIngrese un int : ");
            scanf("%d", &x);
            printf("\nIngrese un float : ");
            scanf("%f", &y);
            printf("\nIngrese un double : ");
            scanf("%lf", &z);
            printf("\n\nLos datos que ud. ingreso fueron :\n");
            printf("%c  %d  %e  %e\n\n", c, x, y, z);
         }




Información proporcionada por el sitio http://www.edo.cl/Documentos/c/manual-c_13.html

Programación: Variables en Lenguaje C


En esta sección daré un resumen detallado sobre las variables en Lenguaje C.

Para empezar, una variable es una zona de memoria en la que el compilador puede almacenar datos.
El tamaño de esta zona de memoria viene determinado por el tipo de que declaremos la variable.

Aquí se presentan los siguientes datos de variables:

Char                                   caracteres
Int                                      números enteros
Float                                  números reales menos precisión  (ocupa menos memoria).
Double                              números reales mas precisión
Signed                               número con signo
Unsigned                           número natural sin signo
Short                                  rango formato corto
Long                                  rango formato largo


Al declarar una variable lo que hacemos es dar la orden al compilador para que reserve una zona de memoria del tamaño adecuado (según el tipo), dando un nombre a dicha zona.


Una variable sólo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que ser declarada.

[Calificador]   <tipo>  <nombre>;
Opcional     obligatorio. (El ; indica al compilador que la línea de código ha terminado).

Se pueden combinar calificadores entre sí.
Signed long int = long int = long


Ejemplos
Int Edad;
Float sueldo;
Char inicial;
Unsigned int ProduccionDiaria;
Unsigned long ProduccionTotal;

Cabe resaltar que la declaración de una variable reserva memoria para la misma pero no pone un valor determinado en dicho lugar.

Una variable declarada a la que no se le ha asignado un valor tiene un contenido indefinido.
Para colocar un valor en una variable hay que asignarlo:

Int iEdad;   /*reserva la memoria*/
iEdad  = 19;  /*le asigna un valor*/
Es posible asignar un valor a la variable en su declaración
Int iEdad = 19;

Es posible inicializar y declarar mas de una variable en el mismo tipo en la misma sentencia:

[calif] <tipo> <nombre1>=<valor>, <nombre2>=<valor>;
Int EdadJuan = 19, EdadAna = 18;
Int X = 9 Y, Z = 38;
Char cl = ‘A’, c2;
Long double dA, dB, dPI = 3.14159;

Las variables pueden ser de dos tipos según el lugar en el que se declaren: globales y locales.

Las variables globales se declaran fueran de las funciones. Pueden ser utilizadas en cualquier parte del programa, desde su declaración y hasta el final de este.
Las variables locales se declaran dentro de una función. Sólo existen dentro del ámbito del bloque en que se declaran y se destruyen al finalizar dicho bloque.
Las variables locales se declaran antes de la primera instrucción del bloque en que son declaradas. Generalmente un bloque queda delimitado por llaves. { }

Como se mencionó anteriormente, todas las variables se han declarar antes de utilizarlas. Si una variable se declara de un tipo determinado, se ha de utilizar sólo para contener datos de este tipo.

Un identificador es el nombre que damos a las variables y funciones. Está formado por una secuencia de letras y dígitos aunque también acepta el carácter de subrayado. Por el contrario no acepta las tildes ni la ñ Ñ. 

El primer carácter de un identificador no puede ser un numero es decir debe ser una letra o el símbolo _.
Se diferencian las mayúsculas de las minúsculas asi num Num y nuM son distintos identificadores.

Existen una serie de indicadores reservados con una finalidad determinada que no podemos usar como identificadores.

Estos indicadores se conocen como palabras reservadas o palabras clave.
Algunas de estas palabras clave son:
Char 
else
 short
 register
 int 
do
long 
sizeof 
float 
while 
extern 
typedef 
double 
for 
static
 break
 if 
switch 
default 
continue.


Así estos indicadores son válidos:
Area
Valor 1
ILongitud_Circulo

Pero ''2Lados'' no es válido, porque empieza con un número.


Ejemplo de declaración de variables:





¿Qué aprendimos?


Se han enunciado los tipos de datos básicos y calificadores en lenguaje C.
Se ha enunciado el concepto de variable en lenguaje C.
Se ha indicado la síntaxis a la hora de usar identificadores de variables.


Fuente: https://www.youtube.com/watch?v=UxvUTk0NoYc
Universidad Politécnica de Valencia UPV