Anda di halaman 1dari 8

INSTRUCCIONES DE CONTROL y CICLOS REPETITIVOS FLUJO DE CONTROL: Se llama flujo de control de un programa al orden en que se ejecutan las instrucciones

que lo conforman. El flujo de control de los programas, es lineal, esto significa que la computadora ejecuta una a una las instrucciones que se le indican, sin alterar el orden en que se escriben. EXPRESION LGICA: Una expresin lgica en C es una sentencia que al ser evaluada, la computadora da un valor 0 si es falsa y un valor distinto de cero si es verdadera. OPERADORES DE RELACIN: Los siguientes operadores los utilizaremos para construir expresiones lgicas y establecen relaciones que pueden ser falsas o verdaderas. OPERADOR SIGNIFICADO >= Mayor o igual que <= Menor o igual que == Igual que != Diferente < Menor que > Mayor que EJEMPLO: A+B>=C*2; X= ='S'; X<>S; La expresin: z= a+b>=c*2; Compara el valor de la suma de a y b con el doble de c, si es menor almacena en z el valor 0 si es mayor o igual almacena un valor distinto de cero. OPERADORES LGICOS: OPERADORES SIGNIFICADO && y || o ! no EJEMPLOS: Si tenemos la expresin : !(5>3) al evaluarla el resultado que da es 0. La expresin: z=!(5>3); Almacena 0 en la variable z La expresin: z=!(a+b>=c*2) Almacena 1 en la variable z si el resultado de comparar a+b con el doble de c es menor, puesto que la proposicin es falsa, al negarla da verdadera

PRIORIDAD DE OPERADORES: Teniendo los operadores ya definidos, debemos definir la prioridad nuevamente as: CATEGORA OPERADORES ASOCIATIVA DEL OPERADOR Operadores Monarios -,++,--,!, sizeof(tipo) Derecha a Izquierda Multiplicacin divisin y *, /, % Izquierda a Derecha residuo Suma y sustraccin +, Izquierda a derecha aritmtica Operadores de relacin <, <=, >, >= Izquierda a derecha Operadores de igualdad = = , != Izquierda a derecha y && Izquierda a derecha o || Izquierda a derecha Operadores de =, +=, - =, *=, /=, %= Izquierda a derecha asignacin Las expresiones entre parntesis se evalan primero. Los operadores de asignacin tiene menor prioridad que todos los otros operadores. Por tanto las operaciones monarios, aritmticos, de relacin, de igualdad y lgicos se realizan antes que las de asignacin.
En C pueden nmeros: numero1 total total = = 3 total operarse entre = + * variables o 4; numero1; total;

La variable total almacena el nmero ?

Su respuesta : 49 Respuesta correcta


Considrese la expresin ( 7 * (10 5) % 3 ) * 4 + 9, el resultado final es ?

Su respuesta :

17 Respuesta Corre
Algunos operadores Aritmticos son ?

Su respuesta : +, -, *, /, %, pow Respuesta Correcta


INSTRUCCIN if (expresin lgica) else: La instruccin si evala la expresin lgica, si sta es verdadera, ejecuta la instruccin definida en <accin A>, si es falsa se ejecuta la instruccin inmediata al else definida en <accin B>, despus de eso ejecuta la instruccin siguiente a la <accin B> y las que le siguen if (expresin lgica) <Accin A>; else <Accin B>; EJEMPLO: Escriba un programa en lenguaje C que le permita a un estudiante calcular la nota definitiva de tres notas, que tienen el mismo valor porcentual. El programa debe imprimir la nota definitiva y un mensaje adecuado que diga 'Gano la materia', o 'Perdi la Materia', segn si la nota sea mayor igual que cero o menor que cero. #include <stdio.h> void main() { double nota1, nota2, nota3; double definitiva; clrscr(); printf("Escriba la primera nota\n"); scanf("%lf",&nota1); printf("Escriba la segunda nota\n"); scanf("%lf",&nota2); printf("Escriba la tercera nota\n"); scanf("%lf",&nota3);

definitiva=(nota1+nota2+nota3)/3; if (definitiva>=6) printf("Su nota es %f GANO",definitiva); else printf("Su nota es %f PERDIO",definitiva); getch(); } Otra versin del programa usando la instruccin que hemos visto es: #include <iostream.h> #include <conio.h> #define gano "Gano la Materia" #define perdio "Perdio la Materia" void main() { double nota1, nota2, nota3; double definitiva; clrscr(); cout<<"Escriba la primera nota"; cin>>nota1; cout<<"Escriba la segunda nota"; cin>>nota2; cout<<"Escriba la tercera nota"; cin>>nota3; definitiva=(nota1+nota2+nota3)/3; if (definitiva>=6) cout<<"Su nota es "<<definitiva<<gano; else cout<<"Su nota es "<<definitiva<<perdio; getch(); } SENTENCIA COMPUESTA: Cuando un programador, necesita que la computadora ejecute ms de una instruccin en el momento de que la expresin lgica sea verdadera o sea falsa, lo indica encerrando entre llaves { } las instrucciones que siguen al then o al else. EJEMPLO: Escriba un programa que lea tres nmeros reales a, b, c. Una vez ledos, el programa debe calcular la solucin a la ecuacin:
y debe escribir las soluciones reales si existen y las soluciones complejas.

#include <iostream.h> #include <conio.h>

#include <math.h> #define imagin 'i' voidmain(void) {doublea,b,c, discri, preal, x1, x2, pimag; clrscr() ; cout<<"Escribe los coeficientes ?"; cin >>a>>b>>c; discri=pow(b,2)-4*a*c; if (discri>=0) {x1=(-b+sqrt(discri))/(2*a); x2=(-b-sqrt(discri))/(2*a); cout<<"X1="<<x1; cout<<"x2="<<x2; } else { preal=-b/(2*a); pimag=sqrt(abs(discri))/(2*a); cout<<"\n x1="<<preal<<imagin<<pimag; cout<<"\n x1="<<preal<<imagin<<-pimag; } getch(); } IF ANIDADOS : Tendremos situaciones lgicas en las cuales despus de hacernos una pregunta se nos hace necesario hacer una nueva pregunta, en esos caso tenemos entonces que despus del then y/o else es necesario volver a tener una sentencia ifthen else decimos entonces que anidamos if.

plejos, nos puede interesar que dependiendo de los valores de los datos, se ejecuten unas instrucciones u otras. Las instrucciones condicionales que conocemos so

Su respuesta : if y switch Respuesta correcta


#include <stdio.h> main() { int i;

int tabla1,tabla2; tabla1 = 2; tabla2 = 5; for (i=1;i<11;i++) { printf ("\n %d x %d = %d",tabla1,i,tabla1*i); printf (" %d x %d = %d",tabla2,i,tabla2*i); } } De acuerdo con el programa anterior el resultado es ?

Su respuesta : muestra las tablas multiplicndose del 1 al 10 Respuesta correcta


if (x) if (z) printf ("1"); else printf ("2"); En el ejemplo anterior, a qu if se refiere el else?

Su respuesta : if (z) Respuesta Correcta


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

int main () { clrscr(); for (int i=1;i<=20;i++) { cout<<i; if (i%3==0) cout<<" Es multiplo de 3" <<endl; else cout<<" No es multiplo de 3"<<endl;

} getch(); return 0; }

El resultado del programa anterior es ?

Su respuesta : los multiplos de 3 comprendidos entre los numeros 1 y 20 Correcta


Un puntero es un tipo especial de variable que contiene una direccin de memoria. Por supuesto, a partir de esa direccin de memoria puede haber cualquier tipo de objeto: un char, un int, un float, un array, una estructura, una funcin u otro puntero. El programador ser el responsable de decidir ese contenido. Los punteros se declaran igual que el resto de las variables, pero precediendo el identificador con el operador de indireccin, (*), que leeremos como "puntero a". Ejemplos: int *entero; char *carcter; struct stPunto *punto; Los punteros siempre apuntan a un objeto de un tipo determinado, en el ejemplo, "entero" siempre apuntar a un objeto de tipo "int". Debes tener muy claro que "entero" es una variable del tipo "puntero a int", y que "*entero" NO es una variable de tipo "int". Si "entero" apunta a una variable de tipo "int", "*entero" ser el contenido de esa variable, pero no olvides que "*entero" es un operador aplicado a una variable de tipo "puntero a int", es decir "*entero" es una expresin, no una variable. Para averiguar la direccin de memoria de cualquier variable usaremos el operador de direccin (&), que leeremos como "direccin de". Como todas las variables, los punteros tambin contienen "basura" cuando son declaradas. Es costumbre dar valores iniciales nulos a los punteros que no apuntan a ningn sitio concreto: entero = NULL; caracter = NULL;

NULL es una constante, que est definida como cero en varios ficheros de cabecera, como "stdio.h" o "iostream.h", y normalmente vale 0.

a un objeto de tipo "int" en memoria, slo crea una variable que puede contener una direccin de memoria. Se puede decir que existe fsicamente la variable "ente objeto de tipo "int". Cual procedimiento es el correcto.

Su respuesta : int A, B; int *entero; ... B = 213; /* B vale 213 */ entero = &A; /* entero apunta a la direccin de la variable A */ *entero = 103; /* equivale a la lnea A = 103; */ B = *entero; /* equivale a B = A; */ Respuesta correcta

nimo del elemento individual que se encuentra en la localidad apuntada por el puntero. Por lo tanto la

Su respuesta : 4 Correcta
int *q, *p; int a; q = &a; /* q apunta al contenido de a */ p = q;

Su respuesta : Es una operacin de asignacin Respuesta correcta

Anda mungkin juga menyukai