miércoles, 22 de junio de 2011

Sentencias Condicionales

Hola a todos, bueno ya mas de una semana que no publicaba nada, asi que aca les traigo un tutorial sobre las Sentencias Condicionales. 
  • Que son?
  • Para que sirven?
  • Como se declaran?
  • Errores comunes

Que son las Sentencias Condicionales?

Son instrucciones que permiten al programa usar cierto codigo si la condicion previamente establecida por el progrmador es verdadera o no.



Para que sirven?

Estas se usan cuando queremos que nuestro programa realize algun bloque de codigo dependiendo de las consideraciones ya sea de variables o de datos ingresados por el usuario.

Para poder verlo mejor vamos a utilizar un ejercicio:
Escribir un programa (en lenguaje C) que:

1.     Pida por teclado dos números (datos enteros).
2.     Calcule la suma de los números introducidos por el usuario.
3.     Muestre por pantalla:
o    "LA SUMA SÍ ES MAYOR QUE CERO.", en el caso de que sí lo sea.
o    "LA SUMA NO ES MAYOR QUE CERO.", en el caso de que no lo sea.
Bien ahora vamos a codificarlo:
--------------------------------------------------

/*********************************************
*AUTOR:McGuix
*FECHA: 22/jul
*MODIFICACIONES: N/A
*DESCRIPCION: Uso de Sentencias condicionales para decidir
                  si la suma de dos enteros es mayor o menos que 0
******************************************************/
#include <stdio.h>
void main()
{
      int a=0,b=0,suma=0;
      printf("\t\tUso de Sentencias Condicionales\n");
      printf("Ingrese un numero entero: ");
      scanf("%d",&a);
      printf("Ingrese un otro entero: ");
      scanf("%d",&b);
      suma=a+b;
      if(suma>0)
      {
            printf("\nLa suma es mayor que 0");
      }
      else
      {
            printf("La suma no es mayor que 0");
      }
      getch();
}


-------------------------------------------------------------



Bien ahora vamos a analizar lo que hemos acabado de hacer.

Las sentencias condicionales que hemos usado en este ejercicio son:
  • if
  • else
Estas son dos sentencias condicionales que trabajan juntas, es decir si declaras un else, debes de clarar un if, pero si declaras un if no es obligacion que declares un else.
Esto es debido a que else no tiene una condicion propia, pero el if si, como lo hemos podido notar en el ejemplo, el else funciona solo cuando la condicion del if no se cumple.

Como se declaran?
Los if, else se declaran de la siguiente forma:
----------------------------------------------
if(condicion){    //bloque de codigo 1}else    //bloque de codigo 2}
----------------------------------------------------------------------------------


En el  codigo que se acaba de presentar se puede distinguir claramente lo como se usan y lo que sucedera, pero no esta de mas aclarar.

La condicion que encierra entre parentesis durante la declaracion del if se basa en la "logica matematica" que aprendieron durante los cursos de matematicas, es decir:

  • Si la condicion es verdadera se ejecutara el bloque de codigo 1
  • Si la condicion es falsa se ejecutara el bloque de codigo 2, sin ejecutarse el bloque de codigo 1

De esta manera podemos hacer uso de dos secciones de codigo independientes, lo cuales seran ejecutados de pendiendo de la condicion que hemos utilizado.


Nota:
Se preguntaran bueno, en donde esta la "logica matematica" mas adelante lo sabran, por ahora vayan a repasar los conceptos aprendidos.





Errores comunes



  • Declarar else sin haber declarado un if previamente.
  • Declarar un else que no este a continuacion del if.
  • Si se usa las llaves para agrupar el bloque de codigo del if, tambien debes usarlas para el bloque de codigo del else, y viceversa.


NOTA:



GENERALMENTE SE USAN LAS LLAVES PARA AGRUPAR EL BLOQUE DE CÓDIGO CUANDO ESTE NO ES TAN SOLO UNA INSTRUCCIÓN, ES DECIR CONTIENE MAS DE UNA LINEA DE CÓDIGO.
EN EL EJEMPLO ANTES MOSTRADO SE PUEDE VER QUE LO QUE SE ENCIERRA ENTRE LAS LLAVES ES TAN SOLO UNA LINEA, POR LO TANTO NO ES NECESARIO LAS LLAVES, SIN EMBARGO AL PONERLAS TAMPOCO HAY PROBLEMA, YO RECOMIENDO QUE SIEMPRE USEN LAS LLAVES SEA UNA LINEA O VARIAS LINEAS EN EL BLOQUE DE CÓDIGO.


Bueno gente yo soy McGuix y aqui me despido esperando que les halla sido de utilidad el tutorial, cualquier duda y/o sugerencia a cloud3f@gmail.com


Saludos


Si deseas el codigo fuente lo podes descargar desde aca:




Ejercicio tomado de:
http://www.carlospes.com/ejercicios_de_lenguaje_c/alternativa_doble_001.php

jueves, 9 de junio de 2011

Secuencias de Escape

Hola a todos, otro gran dia, una vez vencida la pereza el dia de hoy les explicare sobre las "Secuencias de Escape" o "Formatos de Salida".


Las secuencias de escape nos permiten mostrar contenido que contienen nuestras variables y tambien darles una agradable presentacion al contenido que se imprime en pantalla durante la ejecucion de nuestro programa.


---------------------------------------------------

/********************************************************************
*AUTOR:McGuix
*FECHA:09/06/2011
*TITULO:secuenciasEscape
*MODIFICACIONES:n/a
*DESCRIPCION Programa que pide un numero por Teclado y lo muestra por pantalla
********************************************************************/

//LIBRERIAS
#include <stdio.h>

//PROGRAMA PRINCIPAL
void main()
{
      //Variables
      int a=0;
     
      printf("\t\"Programa de Secuencias de Escape\"\n");
     
      printf("Ingrese un numero entero: ");

      scanf("%d",&a);

      printf("\aEl numero ingresado es: %d",a);

      getch();
}

----------------------------------------------------------

Bueno en el codigo que acabo de mostrar hay cosas nuevas como:

  • \t    Ingresa una tabulacion, similar a presionar TAB
  • \"    Ingresa comillas dobles
  • \n    Ingresa un salto de linea similar a un ENTER
  • \a    Ingresa un sonido de alerta

Estas son las secuencias de escape que te permitiran poner mas "bonito" tu programa, recuerda que un programa que se ve bien VENDE y tu nota sera mucho mejor.

Ahora veamos como pedimos desde el teclado un dato.
Para ello usamos la funcion:
scanf();
Esta funcion permite captar desde el teclado el tipo de dato que necesites, por ejemplo:

  • Numeros Enteros
  • Numeros Reales
  • Letras
Para ello la funcion scanf necesita que le digas el tipo de dato que quieres obtener y se usan las siguientes instrucciones:



  • Para pedir numeros enteros
    scanf("%d",&nombre_de_la_variable);
  • Para pedir numeros flotantes(Reales)
    scanf("%f",&nombre_de_la_variable);
  • Para pedir numeros dobles(Reales)
    scanf("%d",&nombre_de_la_variable);


Bueno y porque le pones  el % pues porque asi le dices a la funcion que le vas a indicar que tipo de dato va a pedir, y el
& es llamado "operador de acceso a memoria" es decir que la funcion scanf necesita de 2 cosas para funcionar, que le indiquen el tipo
de dato a captar y a que variable se lo vas a asignar.



Debes tener en cuenta que si vas a pedir un entero, tu variable donde se almacenara tambien debera ser entero, asi mismo con los dobles, flotante y cualquier otro tipo de dato.




Para mostrar el contenido de una variable se usa la intruccion:
printf("%tipo_de_dato",nombre_de_la_variable);
En general cada tipo de dato debe ir despues del caracter % asi el compilador identificara que lo que se declara a continuacion y antes del espacio es un tipo de dato.

Como puedes observar necesita el printf que le indiques la variable que va a mostrar, despues de las comillas dobles("") debe ir siempre la coma(,) y el nombre de la variable sin el operador de acceso a memoria(&).




Bueno si lo hacen bien tendran algo asi al ejecutar su programa.




Ahora digamos que quieres mostrar algunas variables por pantalla, por ejemplo:
---------------------------------------------------



/******************************************************************
*AUTOR:McGuix
*FECHA:09/06/2011
*TITULO: varias variables
*MODIFICACIONES:n/a
*DESCRIPCION Mostrando varias variables por pantalla
********************************************************************/

//LIBRERIAS
#include <stdio.h>

//PROGRAMA PRINCIPAL
void main()
{
      //Variables
      int i=0,j=0,k=0;

      printf("%d%d%d",i,j,k);
}


----------------------------------------------------
Lo que hacemos simplemente es colocar los tipos de datos que vamos a mostrar uno despues del otro y luego las variables en el orden que querramos mostrar, bastante sencillo.





Si quieres ingresar varias tabulaciones, comillas, saltos de linea o sonidos simplemente colocas una continuacion de la otra, por ejemplo:
printf("\a\a\t\t\"\"TEXTO\"\"\n\n");
como resultado obtendras:


HORRORES COMUNES

  • Olvidar el operador de acceso a memoria(&) al pedir un dato por teclado.
  • Olvidar el punto y coma(;) al final de la instruccion.
  • Olvidar la coma(,) para separar los dos parametros de las funciones scanf y printf.
  • Intentar pedir que se ingrese mas de un dato con el mismo scanf, es decir scanf("%d%d",&a&b).

y de esta manera terminamos con la seccion de secuencias de escape, espero les haya servido, les dejo un archivo de una señorita llamada Lisette Espín Noboa en el cual ella explica de una muy buena manera algo mas de los formatos de salida.
Saludos.

Para descargar el archivo .c del ejemplo click aqui

Para descargar el pdf de formatos de salida click aqui

miércoles, 8 de junio de 2011

Variables y Constantes en C

En mi segundo post del dia trataremos el tema de Variables y Constantes.



  • Que son?
  • Para que sirven?
  • Como se declaran?
  • Errores comunes




Empezaremos con las variables:

Que son las variables?


Las variables son espacios que se reservan en la memoria de la computadora para usarlas y almacenar una cantidad determinada de informacion dependiendo del tipo de dato que vayamos a usar.




Para que sirven las variables?

Sirven para poder almacenar un dato que luego vayamos a usar a lo largo de nuestro programa.



Como se declaran?


Para declarar variables se puede usar esta manera de aqui:
tipo_de_dato nombre_de_la_variable;
por ejemplo:


/*************************************************************************

*AUTOR:McGuix
*FECHA:07/06/2011
*TITULO:principal3.c
*MODIFICACIONES:
**************************************************************************/

//LIBRERIAS
#include <stdio.h>

//PROGRAMA PRINCIPAL
void main()
{
      //Declaracion de variables
      int a=0;
     
}



Como pueden observar he hecho algo nuevo:

int a=0;
he igualado la variable declarada a cero.
A esta intruccion se le llama:

inicilizacion de la variable
Cuando se  declara una variable pero no se la inicializa, la variable declarada tiende a contener en su interior
datos basura

Asi que es una buena practica de programacion inicializar la variable despues de declararla.




Errores comunes


Los errores mas comunes que se cometen al declarar variables son:

  • Olvidar el punto y coma(;) despues de haber declarado la variable 
  • Declarar una variable que no se usa, cabe recalcar que esto no es un error pero es una mala practica de programacion tener variables inutiles, recuerda que cada variable esta ocupando memoria, es decir mientras menos variables uses mas rapido funcionara tu programa.
  • Es una mala practica de programacion declara variables en letras mayusculas, siempre debes declararlas en letras minusculas.
  • Una buena practica de programacion es usar nombres de variables que te ayuden a verificar mas rapido para que se esta usando es variable.



OBSERVACION

Quiero destacar finalmente que el lenguaje C es sensible a las letras mayusculas y minusculas por ejemplo:


int promedioGeneral=0;
Esta variable no sera igual a:

int promediogeneral=0;
ya que la variable original contenia una letra mayuscula en medio, mientras que la segunda no.

Asi que debes tener mucho cuidado de como nombras una variable.





CONSTANTES


Que son las constantes?


Son tambien espacios que se reservan en la memoria de computador, pero que a diferencia de las variables, estas han sido definidas
y su valor no puede ser modificado durante la ejecucion del programa.


Para que sirven las constantes?


Si por ejemplo tuvieras que calcular areas y volumenes de un circulo, esfera, cilindros, entre otros. En los cuales la constante PI tiene mucha importancia, te resultaria mas sencillo colocar la palabra PI a colocara 3.1416, es por eso que las constantes tienen esa gran utilidad.




Como se definen?


De la siguiente manera:


#define PI 3.1416
siempre van despues de los llamados a las librerias:





//LIBRERIAS

#include <stdio.h>
//DEFINICION DE CONSTANTES
#define PI 3.1416
#define E 2.71


Esta es la manera en que se remienda que deben ser definidas.


Errores comunes

  • Intentar asignarle a una constante otro valor
  • ponerle el punto y coma (;) despues de la definicion


Bien espero les halla sido de ayuda esta entrada, si quieren descargarse el archivo .c lo pueden hacer a continuacion.


Saludos

Tipos de Datos en C

Bueno una vez vencida la pereza me he decidido hoy a enseñarles algunos de los tipos de datos que existen en C.



Esta presentacion fue hecha por mi grupo en la clase de FDP durante las primeras semanas, esta bastante completo, espero les sea de utilidad.




Saludos

martes, 7 de junio de 2011

Creando un Programa

/************************************************************
*AUTOR:McGuix
*FECHA:07/06/2011
*TITULO:principal2.c
*MODIFICACIONES:sin modificaciones
*************************************************************/

//LIBRERIAS
#include <stdio.h>

//PROGRAMA PRINCIPAL
void main()
{
      printf("Hola Mundo!");
      getch();
}






Aqui podemos observar cosas nuevas, de la que trataremos primero sera: 

printf("Hola Mundo!");

la funcion printf(" "); permite mostrar en pantalla lo que sea que este entre las comillas dobles es decir en nuestro ejemplo tenemos Hola mundo! dentro de las comillas es decir en pantalla se mostrara lo siguiente.


Bueno como logramos esto?

Una vez escrito nuestro codigo lo que hacemos es lo siguiente:
  1. Vamos a Archivo y guardar o Ctrl+S(para computadoras con SO en ingles)
  2. Como C es un lenguaje compilado entonces debemos compilar el proyecto antes de poder vincularlo, existen varias alternativas para hacerlo:
    • Pestaña Generar y Compilar
    • En el Explorador de Soluciones damos click derecho sobre nuestro archivo (.c) y seleccionamos Compilar
    • Presionar las Teclas:
      • Ctrl+F7
  3. Una vez compilado lo Generamos de cualquiera de estas dos maneras:
    • Pestaña Generar y Generar Solucion
    • Presionamos F6
  4. Ahora que ya esta compilado y vinculado podemos ejecutarlo con la tecla de  
     funcion F5



La intruccion getch(); la usaremos para hacer una pausa en el programa hasta que se presione un tecla, tambien existen otras sentencias como System("PAUSE"); pero yo recomiendo usar getch();




NOTA: Recordar que despues de cada instruccion debe llevar el ;(punto y coma) no es en todas pero eso se aprendera con la practica.



Espero halla sido de ayuda el contenido de esta entrada.


Si deseas el archivo (.c) puedes descargarlo aqui:



Saludos

Estructura de un Programa

He aqui la estructura de un programa sencillo:


/*

*AUTOR:"nombre del autor"
*FECHA:"la fecha en que fue creado"
*TITULO:"el titulo del archivo(.c)"
*MODIFICACIONES:"la fecha de modificacion junto con un breve resumen de la modificacion que se hizo"
*/

//LIBRERIAS
#include <stdio.h>

//PROGRAMA PRINCIPAL
void main()
{
      //aqui va el codigo
}
Comentarios 


Los comentarios son guias que el programador coloca en su codigo, el compilador reconoce las siguientes instrucciones:

//

o
/*         */
El compilador al ver estos signos no traduce esto y lo omite de manera que la seccion que esta despues de // no se traduce a codigo objeto y lo que esta entre /*  */  tampoco.


Los comentarios son considerados una buena practica de programacion, ya que estos permiten que cuando cualquier ser humano lo lea(bueno casi todos los humanos)pueda tener una pauta de que hace esa seccion de codigo.



/*
*AUTOR:"nombre del autor"
*FECHA:"la fecha en que fue creado"
*TITULO:"el titulo del archivo(.c)"
*MODIFICACIONES:"la fecha de modificacion junto con un breve resumen de la modificacion que se hizo"
*/

Este encabezado describe al archivo (.c), permite saber muchas cosas del mismo y estar informado de como avanza si se trata de un proyecto, es muy importante que lo pongan en la parte superior del codigo fuente, y por supuesto es considerado un a buena practica de programacion.


PROGRAMA PRINCIPAL 

Como deben haberse dado cuenta el programa principal consta de un codigo en lenguaje C, el mismo que debe ir dentro de estas sentencias:



void main()
{
      //aqui va el codigo
}




porque es void main()?
bueno, por ahora aceptenlo como verdadero, mas adelnaten sabran porque es asi.

Debo aclarar que tambien existe otra forma de declararlo:




int main()
{
      //aqui va el codigo
  return 0;
}



si existe, pero por ahora ustedes solo usaran el primero.



Librerias


Y por supuestos las librerias, las cuales son codigo objeto al cual accedemos para usar procedimientos que nos facilitan el trabajo cuando programamos.

La libreria que mas van a usar sera:



stdio.h

La cual significa:


st = standard
i = input
o = output



en pocas palabras, "libreria de entrada y salida por defecto"; esta libreria es la cual les permitira usar la pantalla y el teclado para mostrar o ingresar datos.


se declara de la siguiente manera:



#include <stdio.h>


Cabe recalcar que todas las librerias constan de extension (.h)



Si desean el codigo fuente lo pueden descargar de aqui:




Espero les haya servido de ayuda.


Saludos