Parte 1
Definición de proposición y bloque.
BLOQUE
Es un conjunto de sentencias individuales que se encuentran incluidas dentro de un par de llaver
{
sentencia1;
sentencia2;
sentenciaN;
}
PROPOSICIÓN SIMPLE
Son sentencias lógicas dentro del programa que puede tomar solo una de los valores
FALSO O VERDADERO
considerando que x=5 y z=1
x es mayor que 3 VERDADERO if (x>3)
z es negativo FALSO if (z<0)
PROPOSICIÓN COMPUESTA
volviendo considerar que x=5 y z=1
x es menor que 45 y if (x<45&&z>0)
z es mayor que 0 VERDADERO
CONTADOR
un contador es una variable la cual incrementa de ya sea de uno en uno o de los números que deseemos generalmente se encuentra dentro de una función for
for (i=0;i<=50;i+1)
BANDERA
Las banderas, son variables que toman solo unos pocos valores preestablecidos, que se usan para una posterior selección de tareas o par indicar algún error que no es fatal(que no causa el municionamiento general o que el programa se clave)
Otra cosa es que el programa reciba parámetros, esto segundo es bastante mas complicado y no tiene nada que ver con banderas
Una bandera, puede ser para una resta,
ingresar numero1
ingresar numero2
si numero 2 es mayor que numero 1 flag = 1;
else flag = 0;
si flag = 1
resultado = numero2 - numero1
si flag = 0
resultado = numero1 - numero2
Otra cosa es que el programa reciba parámetros, esto segundo es bastante mas complicado y no tiene nada que ver con banderas
Una bandera, puede ser para una resta,
ingresar numero1
ingresar numero2
si numero 2 es mayor que numero 1 flag = 1;
else flag = 0;
si flag = 1
resultado = numero2 - numero1
si flag = 0
resultado = numero1 - numero2
Estructuras de control
En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
- De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
- De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)
- Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
- Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
- Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de entrada y un único punto de salida. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la programación se rija por los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje tiene una sintaxis propia para expresar la estructura.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.
Estructuras: secuencia, selectivas
IFif (edad < 18) printf("No puedes acceder.\n"); else printf("Bienvenido.\n");
if (condición) { sentencias_si_verdadero; } else { sentencias_si_falso;}SWITCH
#include <stdio.h> #include <stdlib.h> int main(void) { int dia; printf("que número de día de la semana es?"); scanf("%d",&dia); switch(dia) { case 1 : printf("Lun, Lunes"); break; case 2 : printf("Mar, Martes"); break; case 3 : printf("Mier, Miercoles"); break; case 4 : printf("Jue, Jueves"); break; case 5 : printf("Vie, Viernes"); break; case 6 : printf("Sab, Sabado"); break; case 7 : printf("Dom, Domingo"); break; default : printf("No existe"); } return 0; }
while
int i = 0;
while (i < 100) {
printf("%d\n", i);
i = i + 1;
}
for
for (/* inicialización */; /* condición */; /* incremento */) {
/* código a ejecutar */
}
int i;
for (i=0; i < 100; i = i + 1) {
printf("%d\n", i);
}
DO WHILE
do {
/* CODIGO */
} while (/* Condición de ejecución del bucle */)
les muestro un ejemplo sencillo
int aleatorio;
do {
aleatorio = rand();
} while (aleatorio != 25);
________________________________________________________________________________
goto
La sentencia goto sirve para indicar al programa que continue ejecutándose desde la línea de código indicada. Su sintaxis es más o menos así:
/* Código */
ETIQUETA:
/* Código */
goto ETIQUETA;
/* Código */
Así, cuando se ejecute la sentencia goto, el programa "saltará" y continuará su ejecución a partir de la etiqueta marcada.
Como se puede observar se puede usar para crear un bucle, o para ir a una parte del código u otra si se combina con una sentencia if...else. Pero por lo general puede obtenerse el mismo efecto utilizando los bucles anteriormente vistos.
Por eso, la sentencia goto es poco aceptada por la comunidad de programadores, pues puede provocar que se hagan programas un poco "sucios" y confusos. Sólo en ocasiones muy excepcionales será recomendado el uso del goto al crear iteraciones muy complejas. Sin embargo, con el pasar de los años este comando ya ha quedado prácticamente descartado del lenguaje de los programadores.
break;
La instrucción de salto break se usa para interrumpir (romper) la ejecución normal de un bucle, es decir, la instrucción break finaliza (termina) la ejecución de un bucle y, por tanto, el control delprograma se transfiere (salta) a la primera instrucción después del bucle.
#include <stdio.h>
int main()
{
int n, a;
a = 0;
do
{
printf( "Introduzca un numero entero: " );
scanf( "%d", &n );
if ( n == 0 )
{
printf( "ERROR: El cero no tiene opuesto.\n" );
break;
/* En el caso de que n sea un cero,
el bucle se interrumpe. */
}
printf( "El opuesto es: %d\n", -n );
a += n;
} while ( n >= -10 && n <= 10 );
printf( "Suma: %d", a );
return 0;
}
continue;
La instrucción de salto continue siempre se usa para interrumpir (romper) la ejecución normal de unbucle. Sin embargo, el control del programa no se transfiere a la primera instrucción después del bucle (como sí hace la instrucción break, véase el apartado anterior Instrucción break en C), es decir, el bucle no finaliza, sino que, finaliza la iteración en curso, transfiriéndose el control del programa a la condición de salida del bucle, para decidir si se debe realizar una nueva iteración o no.
#include <stdio.h>
int main()
{
int n, a;
a = 0;
do
{
printf( "Introduzca un numero entero: " );
scanf( "%d", &n );
if ( n == 0 )
{
printf( "ERROR: El cero no tiene opuesto.\n" );
continue;
/* En el caso de que n sea un cero,
la iteración en curso del bucle
se interrumpe aquí. */
}
printf( "El opuesto es: %d\n", -n );
a += n;
} while ( n >= -10 && n <= 10 );
printf( "Suma: %d", a );
return 0;
}
No hay comentarios.:
Publicar un comentario