Facebook Twitter RSS Reset

Lenguaje C para súper principiantes 3

Hola a todos, sigo con mis posts de programacion en C para principiantes. En este post se expondrán los siguientes temas:

Estructuras condicionales: if, if-lese, switch-case.

Las estructuras ciclicias: while, do-whule, for.

—————————Barra de separacion—————————

Estructura condicional

Las estructuras condicionales se usan para tomar decisiones dentro de un programa, cuando se cumplen ciertos parámetros establecidos por el programador. En este capítulo se evaluaran 3: if, if-else y el switch.

If

En esta estructura lleva la siguiente composición:

if(condición){

“acción”

}

Siendo “if” la estructura y “condición” una condición que debe ser cumplida y la acción es lo ke se desea hacer si la condición se cumple. Su traducción seria literalmente un “si”, “si esto, haz esto”.

If-else

Esta estructura es parecida a la anterior, solo que en esta se usa una acción más a realizar, su composición es la siguiente:

if(condición){

“acción”

}else{

“acción”

}

Siendo “if”, como ya dijimos, la palabra reservada. Las diferencias entre un if y un if-else es que con el uso del if, se puede o no poner un else, es decir, que después del if no es necesario poner un else. Si se quiere hacer una acción si no se cumple una condición, se usa el else, pero si no solo se puede realizar una acción con un simple if.

Si quisiéramos saber cuál de dos números es mayor podríamos poner el siguiente código:

#include

int main(){

int a,b;

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&a);

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&b);

if(a>b)

printf(“%d es mayor a %dn”,a,b);

else

printf(“%d es mayor a %dn”,b,a);

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

Dentro del cuerpo de un if y un else (el cuerpo es denotado por las llaves {}), pueden ir otras sentencias if y else, y así infinitamente, estas sentencias se llaman if anidados, ya que se anidan el uno dentro del otro. Esta práctica usa muchas comparaciones y haría nuestro programa más lento. Muchas veces se pueden evitar los if anidados usando operadores lógicos, pero su uso se verá en otra ocasión.

Un ejemplo de la práctica de if anidado, y de cómo se podrían evitar utilizando los operadores lógicos, es el siguiente:

Si queremos saber si un número A es mayor a un número B, pero a la vez menor que C

El mayor de 3 números (sin operadores)

#include

int main(){

int a,b,c;

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&a);

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&b);

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&c);

if(a>b){

if(a>c){

printf(“%d es mayor a %d y %dn”,a,b,c);

}else{

printf(“%d es mayor a %d y %dn”,c,a,b);

}

}else{

if(b>c){

printf(“%d es mayor a %d y %dn”,b,a,c);

}else{

printf(“%d es mayor a %d y %dn”,c,a,b);

}

}

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

El siguiente código usa los operadores lógicos, hace lo mismo que el código anterior.

El mayor de 3 números (con operadores)

#include

int main(){

int a,b,c;

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&a);

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&b);

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&c);

if(a>b && a>c)

printf(“%d es mayor a %d y %dn”,a,b,c);

else

if(b>a && b>c)

printf(“%d es mayor a %d y %dn”,b,a,c);

else

printf(“%d es mayor a %d y %dn”,c,b,a);

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

Los if usan operadores (condicionales y lógicos) para hacer una comparación, tomados de los operadores algebraicos. Estos operadores son los siguientes:

—————————Barra de separacion—————————

Lenguaje C para súper principiantes 3

Los operadores lógicos se usan para saber si dos (o más) condiciones son verdaderas, existen 3 tipos de operadores: el AND (&&ampLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3, OR (||) y NOT (!)

Las tablas de verdad para estos operadores son las siguientes:

Lenguaje C para súper principiantes 3

El operador AND evalúa dos (o más) expresiones y si ambas expresiones son verdaderas entonces el AND es verdadero. Ejemplo:

if (a==b && b==c){

//código

}

Solo será verdadera si ambas condiciones son verdaderas, es decir, solo ejecutará el código si a es igual a b y b es igual a c, en otro caso será falsa y no hará nada.

El operador OR evalúa dos (o más) expresiones, y si cualquiera de estas expresiones es verdad, entonces el OR es verdadero. Ejemplo:

if(a==b || b==c){

//código

}

El operador NOT convierte en lo contrario el resultado de una operación, si la operación es verdadera cundo se aplique el NOT entonces esta se convertirá en false, y viceversa. Ejemplo:

if( !(a==b) ){

//Codigo

}

La comparación es si a es igual a b, si esta resulta verdadera entonces el NOT lo hará falsa.

El código siguiente usa los 3 operadores lógicos:

#include

int main(){

int a,b,c;

a = 3;

b = 3;

c = 3;

if(a==b && b==c)

printf(“Los tres numeros son igualesnn&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

b = 5;

if(a==b || a==c || b==c)

printf(“Algunos de los numeros son igualesnn&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

if( !(a==b) )

printf(“Los numeros son diferentesn&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

En el primer if los 3 números son iguales, por eso se ejecuta el código del if, ya que ambas expresiones fueron correctas. Después de eso se cambia el valor de b por 5, el segundo if contiene OR y se ejecuta aunque la única condición que se cumple es la de en medio. El tercer if usa el NOT, al ser diferentes a y b da como resultado falso a la condición, pero el NOT la transforma a verdadero.

—————————Barra de separacion—————————

Switch

La switch, también llamada switch case, es una estructura de control empleado en programación, se usa para agilizar la toma de decisiones múltiple, funciona como un if o if – else anidado. Pero este es más rápido. Cuando se tienen más de 5 condiciones es más eficaz usar un switch.

Estructura del switch

switch( opcion ){

case valor1:

accion1;

break;

case valor2:

accion2;

break;

case valor3:

accion3;

break;

…….

case valorN:

accionN;

break;

default:

accionDefault;

}

case: esta es la palabra reservada que indica cada uno de los casos del switch.

break: indica que cada uno de las acciones de los case terminan. Si no se pusieran los break en cada case entonces se ejecutaría el case siguiente al que se está ejecutando. Este se puede omitir en el caso default.

default: esta opción se ejecuta cuando ninguno de los case concuerda con la opción que se da como parámetro del switch. Este caso se puede omitir si no se tiene una acción a realizar.

opcion: es el valor que se buscará en cada uno de los case, si se encuentra se ejecutará la acción, y si no se encuentra se ejecutará la opción default.

valorN: el valorN es el que se toma de la variable opción. Puede tener cualquier valor, pero este valor debe ser del tipo de la opción.

accionN: es la acción que se realizará cuando el valorN se haya encontrado.

accionDefault: es la acción que se ejecutará en el caso default.

Ejemplo:

#include

int main(){

int opcion;

printf(“Da un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&opcion);

switch(opcion){

case 1:

printf(“Primer cason&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

break;

case 2:

printf(“Segundo cason&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

break;

case 3:

printf(“Tercer cason&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

break;

case 4:

printf(“Cuarto cason&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

break;

case 1242:

printf(“Quinto cason&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

break;

default:

printf(“Caso defaultn&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

break;

}

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

Si se ingresara 1, se imprimiría “Primero caso”. Si se ingresara 1242, se imprimiría “Quinto caso”. En el caso que se introdujera un número que no apareciera en las opciones, se imprimiría “Caso default”.

—————————Barra de separacion—————————

Ciclos

Las estructuras cíclicas son de mucha importancia a la hora de programar en cualquier lenguaje, es una de las principales estructuras y se debe poner mucho énfasis en las mismas.

Los ciclos son: for, while, do while. Estos se controlan mediante un valor y una condición. Este valor puede ser un contador o un valor especifico cambiante, llamado valor centinela. Y la condición se formula como ya lo vimos.

Valor contador

Un contador es una variable que se inicializa con un valor (normalmente 0, pero puede ser cualquier valor). Y se compara con un valor N en cada iteración del ciclo, si no se cumple la comparación se incrementa el contador (normalmente en 1, pero puede ser cualquier valor).

El contador se incrementa con cualquiera de las siguientes instrucciones.

Ejemplo:

#include

int main(){

int contador = 0;

printf(“Valor inicial: %dn”, contador);

contador++;

printf(“1er incremento: %dn”, contador);

contador+=1;

printf(“2do incremento: %dn”, contador);

contador+=contador;

printf(“3er incremento: %dn”, contador);

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

Esto es lo que hace cada una de las sentencias:

contador++: incrementa en 1 el valor de la variable contador.

contador+=1: incrementa en 1 el valor de la variable contador. El valor de incremento puede ser cambiado por cualquier valor.

contador+=contador: incremente el valor de la variable contador por el valor que tenía la misma variable. Explicación: al momento de ejecutarse esta sentencia, contador vale 2, así que al aumentarse por sí misma se aumenta en 2, por eso el resultado es cuatro, si el valor inicial hubiera sido 0, entonces el valor del incremento es 0, si es fuera 1, entonces el resultado del incremento es 2, y así sucesivamente.

Valor centinela

Es una variable cuyo valor que se compara con un valor N y, si no se cumple la condición, se actualiza en cada iteración, y dejará de actualizarse una vez que la condición sea cumplida.

While

El ciclo while se puede traducir como “mientras” y se su estructura es la siguiente:

while( condición ){

//Código

}

Se lee de la siguiente manera: “mientras condición sea cierto hacer código”. Mientras la condición se cumpla, se ejecutan las acciones del código.

Uso de while con contador

Este es un ejemplo del uso del while con contador. El siguiente programa imprime la tabla de un número N mediante el ciclo while del uno al 10.

#include

int main(){

int numero,contador = 1;

printf(“Da un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&numero);

while(contador<=10){
printf(“%d x %d = %dn”,numero,contador,contador*numero);

contador++;

}

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

Se usa una variable contador que se inicializa en 1, la variable número, a la cual se le da un valor por teclado. Y la condición es que contador sea menor o igual a 10. Como se puede notar el incremento del contador se realiza con la sentencia contador++, esto es porque es la forma más fácil de incrementar una variable contador.

Uso del while con valor centinela

El siguiente código lee números hasta que el valor introducido sea un 0.

#include

int main(){

int numero;

printf(“Da un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&numero);

while(numero!=0){

printf(“El numero ingresado es: %dn”,numero);

printf(“Da un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&numero);

}

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

Lenguaje C para súper principiantes 3

Do while

Se puede traducir como “hacer mientras”. El ciclo do-while es muy parecido while, solo que este ciclo siempre se ejecuta una vez. Ya que en su estructura la condición esta al final del ciclo y no al inicio. La estructura del do-while está conformada de la siguiente manera:

do{

//código

}while( condición );

Los siguientes ejemplos muestran el uso del do-while. Son los mismos ejemplos anteriores pero hechos con do-while.

Do-while con contador

Ejemplo

#include

int main(){

int contador=1,numero;

printf(“Da un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&numero);

do{

printf(“%d x %d = %dn”,numero,contador,contador*numero);

contador++;

}while(contador<=10); system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

Do-while con centinela

#include

int hacerCen(){

int numero;

do{

printf(“Da un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&numero);

printf(“El numero ingresado es: %dn”,numero);

}while(numero!=0);

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

Como se puede notar en este ciclo, a diferencia del while, se imprime cero ya que las sentencias del código están antes de la condición.

—————————Barra de separacion—————————

For

El ciclo for es el más fácil de usar de los 3 ciclos (en mi opinión), su estructura es similar a la de los otros dos ciclos y contiene las mismas instrucciones que estos, pero de una manera única. La estructura del for es el siguiente:

for(inicialización ; condición ; incremento ){

//código

}

Se puede notar que en los parámetros del for se encuentran los 3 elementos de los ciclos, que también lo poseen los otros dos ciclos. La inicialización consiste en iniciar los valores de la variable de control, se puede hacer una o varias inicializaciones, cada una separada por una coma. La condición hace una comparación o varias, y si es verdadera entra al ciclo, varias condiciones se separan con algún operador lógico. El incremento hace que se modifique el valor de la variable de control, puede ser solo uno o varias instrucciones de incremento, cada una separada por una coma.

Se pueden dejar vacías cada una de las secciones de los parámetros del for, de la siguiente manera:

for( ; ; ){

}

Esto hace que el for se ejecute infinitamente, en este caso la parte de la condición y el incremento puede ir dentro del cuerpo de for para poder controlarlo.

Ejemplo

El siguiente código muestra cómo se puede imprimir la tabla de multiplicar de un número ingresado por teclado.

#include

int main(){

int i,numero;

printf(“Ingresa un numero: &quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

scanf(“%d”,&numero);

for(i=1;i<=10;i++){
printf(“%d x %d = %dn”,numero,i,numero*i);

}

system(“pause&quotLenguaje C para súper principiantes 3Lenguaje C para súper principiantes 3;

return 0;

}

El código anterior muestra lo siguiente:

Lenguaje C para súper principiantes 3

—————————Barra de separacion—————————

Eso fue todo por hoy, en el proximo post enseñaré arreglos y funciones, y ya empezaré a hacer una guia de Java.

Para resolver alguna duda comenten o manden MP. Ojalá les sirva :3

No comments yet.

Leave a Comment