miércoles, 24 de agosto de 2011

SENTENCIAS ESTRUCTURADAS O DE CONTROL


Definición: 
En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.

Características: 
- Sentencias que agrupan otras sentencias. 
- Tiene su propio bloque definido de inicio y fin. 

Sentencias de decisión, condicional o de selección

Las sentencias de decisión o también llamadas de control de flujo son estructuras de control que realizan una pregunta la cual retorna verdadero o falso (evalúa una condición) y selecciona la siguiente instrucción a ejecutar dependiendo la respuesta o resultado.
En algún momento dentro de nuestros algoritmos, es preciso cambiar el flujo de ejecución de las instrucciones, es decir, el orden en que las instrucciones son ejecutadas. Muchas de las veces tenemos que tomar una decisión en cuanto a que se debe ejecutar basándonos en una respuesta de verdadero o falso (condición).
La ejecución de las instrucciones incluyendo una estructura de control como el condicional funcionan de esta manera:
  • Las instrucciones comienzan a ejecutarse de forma secuencial (en orden) y cuando se llega a una estructura condicional, la cual esta asociada a una condición, se decide que camino tomar dependiendo siempre del resultado de la condición siendo esta falsa o verdadera. 
  • Cuando se termina de ejecutar este bloque de instrucciones se reanuda la ejecución en la instrucción siguiente a la de la condicional.
Sentencia If
La instrucción if es, por excelencia, la más utilizada para construir estructuras de control de flujo.
Sintaxis: 
   if (condición)
      sentencia_por_verdad;
   else 
       sentencia_por_falso;

Notas:     El término else es opcional en caso que la decisión sea solo simple. 
                En caso de dos o más sentencias, estas se agrupan entre llaves {  }. 

Sentencia Switch
switch es otra de las instrucciones que permiten la construcción de estructuras de control. A diferencia de if, para controlar el flujo por medio de una sentencia switch se debe de combinar con el uso de las sentencias case y break.
Sintaxis: 
switch ( variable)   // la variable es de tipo entero o caracter //
 {
case valor1 :
accion1;
break;
case valor2 :
accion2;
break;
case valorN :
acciónN;
break;
default:
       accionD;
 }
Notas: cualquier número de casos a evaluar por switch así como la sentencia default son opcionales. La sentencia switch es muy útil en los casos de presentación de menus.

Sentencias de iteración, ciclos, repetitivas o de bucles.
Las Sentencias de Iteración o Ciclos son estructuras de control que repiten la ejecución de un grupo de instrucciones. Básicamente, una sentencia de iteración es una estructura de control condicional, ya que dentro de la misma se repite la ejecución de una o más instrucciones mientras o hasta que una a condición especifica se cumpla. Muchas veces tenemos que repetir un número definido o indefinido de veces un grupo de instrucciones por lo que en estos casos utilizamos este tipo de sentencias. en C++ los ciclos o bucles se construyen por medio de las sentencias for, while y do - while. La sentencia for es útil para los casos en donde se conoce de antemano el número de veces que una o más sentencias han de repetirse. Por otro lado, la sentencia while es útil en aquellos casos en donde no se conoce de antemano el número de veces que una o más sentencias se tienen que repetir.

Sentencias For
Sintaxis:
for (contador; final; incremento)
{
    código a repetir;
}

donde:
1.     contador es una variable numérica
2.     final es la condición que se evalúa, o sea, el valor final para contador
3.     incremento es el valor que se suma o resta al contador 

Ejemplo 1:
for(i=1; i<=10; i++)
{
   printf("Hola Mundo\n");  
}

Esto indica que el contador "i" inicia desde 1 y finaliza cuando el contador "i" sea menor o igual a 10 ( en este caso llegará hasta 10) e "i++" realiza la sumatoria por unidad lo que hace que el for y el contador se sumen. repitiendo 10 veces "Hola Mundo" en pantalla.

Sentencia while
Sintaxis:
while (condición)
{
    código a Repetir;
}

donde:
1.     condición es la expresión a evaluar

Ejemplo 1:

int contador = 0;
while(contador<=10)
{
    contador=contador+1;
    printf ("Hola Mundo\n");
}

El contador Indica que hasta que este llegue a el total de 10 entonces se detendrá y ya no se realizará el código contenido dentro de la sentencia while, de lo contrario mientras el "contador" sea menor a 10 entonces el código contenido se ejecutará desplegando hasta 10 veces "Hola Mundo" en pantalla.

Sentencia do - while

La sentencia do es usada generalmente en cooperación con while para garantizar que una o más instrucciones se ejecuten al menos una vez. Por ejemplo, en la siguiente construcción no se ejecuta nada dentro del ciclo while, el hecho es que el contador inicialmente vale cero y la condición para que se ejecute lo que está dentro del while es "mientras el contador sea mayor que diez". Es evidente que a la primera evaluación hecha por while la condición deja de cumplirse.

int contador = 0;
while(contador > 10)
{
    contador ++;
    printf ("Hola Mundo\n");
}

Al modificar el segmento de código anterior usando do tenemos:

int contador = 0;
do
{
    contador ++;
    printf ("Hola Mundo\n");
}
while(contador > 10);

Observe cómo en el caso de do la condición es evaluada al final en lugar de al principio del bloque de instrucciones y, por lo tanto, el código que le sigue al do se ejecuta al menos la primera vez.

viernes, 12 de agosto de 2011

Funciones de E/S de Lenguaje C para 2do.Bach. A. Informáticas

FUNCIONES DE ENTRADA Y SALIDA (E/S)
En lenguaje C no existen sentencias o instrucciones para realizar entradas y salidas. Para ello, el programador puede hacer uso de las funciones de entrada y salida estándar proporcionadas por la biblioteca estándar de lenguaje C: <stdio.h>, como son printf y scanf, entre otras.
La  función printf  permite visualizar  datos formateados en pantalla, es decir, permite indicar un formato como si de un impreso o formulario  se tratase  indicando donde  se deben  visualizar cada uno. 
El mensaje debe ir entre comillas dobles (") y dentro de las comillas  se puede  mostrar  cualquier  secuencia de  caracteres: 
     Printf("secuencia de caracteres, mensaje o etiqueta", nombre_de_variables);
La secuencia de caracteres puede contiene códigos o argumentos de formato que se asocian con los tipos de datos contenidos en las variables.
ARGUMENTOS DE FORMATO
Código
Formato
%d
Un entero
%i
Un entero
%c
Una caracter
%s
Una cadena
%f
Un real
%o
Octal
%x
Hexadecimal
%e
Notación Científica
%%
Imprime Porcentaje

Ejemplo:
Int suma=10;
Printf("La suma es %d", suma);

Explicación:
Declaramos primero la variable como entero, con un valor de 10, luego la función printf, el mensaje va entre comillas dobles, luego en el lugar que queremos que aparezca el valor, colocamos el formato de la variable, cerramos comillas, luego una coma y el nombre de la variable. Es importante recalcar, que en la posición que coloquemos el formato es donde aparecerá el valor de la variable en este caso, 10.
Ejemplo:
Char nombre[7]="Manuel";
printf("%s es en creador de este manual", nombre);
NOTA: el número de argumentos que tendrá la función printf() es indefinido, por lo que se puede transmitir cuantos datos sean necesarios.
Ejemplo:
Int x=12, y=15;
char z=’D’;
float v=10.2563;
printf("Estos son números %d %d %f; y esta es una letra %c", x,y,v,z);
También podemos hacer algunos arreglos, al formato de salida, por ejemplo, si deseamos imprimir un número real justificado a la izquierda podemos colocar:
printf("%-f", z);
para justificar colocarle signo: %+f
%20f >> Longitud numérica del campo
%.2f >>Imprime el valor con sólo dos decimales
ARGUMENTOS DE ESCAPES
Indica que debe ejecutar algo extraordinario.
Carácter
Explicación
\n
Nueva línea. Se utiliza para dejar un salto de línea
\t
Tabulador horizontal. Mueve el cursor al próximo tabulador
\v
Tabulador vertical.
\a
Hace sonar la alarma del sistema
\\
Imprime un carácter de diagonal invertida
\?
Imprime el carácter del signo de interrogación
\"
Imprime una doble comilla

Ejemplos:
1) printf("Manuel \n Antonio \n Ortez\n\n);
2) int x=15;
printf("El Valor de la variable es %d\n\n", x);
3) float x=8.5689, pi=3.1416;
printf("El valor de x es %.2f\t\n",x);
printf("\t Y el valor de pi es %.2f\n\n", pi);


 ENTRADA DESDE EL TECLADO
Se realiza mediante la función scanf(), su formato es:
scanf("formato de tipo de dato", Dirección y nombre de la variable);
Explicación: Primero y entre comillas el tipo de dato que va a leer:
scanf("%s", nom1);
como puede notarse, va a leer la cadena de texto que contendrá la variable nom1. cabe aclarar, que cuando se van a leer cadenas de texto, no es necesario colocar la dirección (&), lo cual no sucede con los otros tipos de datos:
scanf("%f", &n1);


lunes, 1 de agosto de 2011

CODIFICACIÓN EN LENGUAJE C

LO QUE DEBO CONOCER ANTES DE CODIFICAR
Palabras Reservadas
En los lenguajes de programación, una palabra reservada es una palabra que tiene un significado gramatical especial para ese lenguaje y no puede ser utilizada como un identificador en ese lenguaje.
Por ejemplo, en Lenguaje C, un nombre de variable no puede ser llamado "double", porque la palabra double es usada para indicar que un identificador  es dato numérico flotante doble.  Al tratarse de una palabra clave su uso queda restringido.
Entre las palabras reservadas de un lenguaje de programación, tenemos: sentencias o instrucciones, clausulas, funciones, tipos de variables, directivas, librerías, propiedades, métodos, eventos, etc. 
Palabras de usuario o Identificadores
En los lenguajes informáticos, las palabras de usuario o identificadores son elementos textuales que nombran entidades del lenguaje. Algunas de las de entidades que un identificador puede denotar son las variables, las constantestipos de datos, las etiquetas, las subrutinas (procedimientos y funciones de usuario) y los paquetes.
En muchos lenguajes algunas secuencias tienen la forma léxica de un identificador pero son conocidos como palabras clave (o palabras reservadas). Lo habitual es que si un identificador se corresponde con una palabra clave o reservada, éste ya no pueda utilizarse para referirse a otro tipo de entidades como variables o constantes

Estructura básica de un programa en C. 

Todo programa escrito en C está dividido en tres partes, que son:
·         Encabezamiento
·         Declaración
·         Cuerpo del programa

ENCABEZAMIENTO

La directiva del preprocesador
El preprocesador nos permite también incluir también otros ficheros en un fuente C. Esto se consigue con la directiva #include. Esta puede tomar tres formas: #include , #include "fichero" y #include macro. La diferencia entre la primera y la segunda está en el lugar dónde se buscará el fichero en cuestión. Normalmente se utiliza la primera para ficheros proporcionados por la librería del compilador y la segunda para ficheros creados por el programador.
#include.- directiva que  carga determinados ficheros denominados, ficheros de inclusión (include files), ficheros de cabecera (header files) o simplemente cabeceras, y los inserta en el código fuente.
Sintaxis:
#include <nombre_de_cabecera>
Ejemplos:
#include <stdio.h>
#include "D:\Cabeceras\Cpp\versiones.h"

stdio.h,- que significa "standard input-output header" (cabecera estandar E/S), es la biblioteca (librería) estándar del lenguaje de programación C  que contiene las funciones estándares de entrada y salida.

La función main( ).
El programa siempre comenzará por la ejecución de la función main( ). 
Una función consta del nombre de la función, seguido de una lista opcional de argumentos encerrados con paréntesis,  una lista de declaración de argumentos. y una sentencia compuesta, que contiene el resto de la función.
La función llamada main() es sólo eso, una función. Pero una función especial. Existe en todos los programas, porque contiene el algoritmo o módulo principal del programa.
Sintaxis:
int main( )
{
   ...instrucciones del algoritmo principal...
   return 0;
}

main( )
{
   ...instrucciones del algoritmo principal...
getchar();
}
//al omitir int y void, de igual manera da por sobrentendido el tipo entero y sin valores de argumentos
  
DECLARACIÓN

Antes de que pueda usar una variable en un programa C debe ser declarada. Una declaración de variable le informa al compilador el nombre y tipo de la variable, y opcionalmente inicia la variable a un valor específico. Si el programa trata de usar una variable que no ha sido declarada, el compilador genera un mensaje de error. Una declaración de variable tiene la siguiente forma: tipo nombre de variable.
Sintaxis:
Tipo_de_dato  variables;

Ejemplos
int       a;
float    precio,saldo, promedio;
char  nombre[15];  

Se pueden declarar varias variables del mismo tipo en una línea, separando los nombres de variables con comas.
Por ejemplo: 
int numero,inicio,tipo;

También podrías asignarle un valor inicial a la variable en la misma línea que la declaras, de esta manera:
int k = 65;
float pi = 3.1416;
char ciudad = "Machala";


                       TIPOS DE DATOS BÁSICOS EN LENGUAJE C


TIPO
RANGO
char
-128 a 127
int
-32768 a 32767
long
- 2147483648 a 2147483647
float
3.4 E-38 a 3.4 E+38
double
1.7 E-308 a 1.7 E+308
void
Sin valores