INTRODUCCION AL LENGUAJE C
MENU DEL DIA• Repaso clase anterior• Introducción al manejo de
expresiones.• Introducción a la estructura
Condicional en C.• Introducción a la
implementación del ciclo MIENTRAS en C.
• Introducción a la implementación del ciclo PARA en C.
• Ejemplos
EXPRESIONES
• Que es una expresión? Es una sucesión de operadores y operandos debidamente relacionados
• Realización de operaciones.• Similitud al Pseudocódigo.• Como lo hago en C?
EXPRESIONES
EXPRESIONES
• Operadores y expresiones:– Aritméticos, lógicos y relacionales (+, - , *, /, %).– De manipulación de bits– Condicionales.– Especiales.
• Cuando concurren en una misma expresión diferentes tipos de operadores se dan las reglas de prioridad y asociatividad.
EXPRESIONES• Aterrizando un poco lo anterior
puntaje = -(2 + 5)*6 + (4 + 3*(2 + 3));
a = b = 4*6 + (4 + 3*(2 + 3));
EXPRESIONES• Operadores
– Operador de asignación (=)• Sintaxis:
Variable = expresión
• Ejemplos: a = b*n, c = c + 1; d = d%3• Abreviados (a = a op b, donde op puede ser +,-,*,/,%).
– Operadores aritméticos• Binarios (+, -, *, /, %): c = a+b• Unitarios (++,--).
– Pre(incremento/decremento): ++c, --c– Post(incremento/decremento): d++, d--.
• Cuando concurren en una misma expresión diferentes tipos de operadores se dan las reglas de prioridad y asociatividad.
Prioridad (mayor a menor) Asociatividad
() Izquierda - derecha
+,- (unitario) Derecha - izquierda
*,/,% Izquierda – derecha
+,- Izquierda - derecha
= Derecha - izquierda
EXPRESIONES• Operadores
– Relacionales (==, !=, <, >, <=, >=)• Sintaxis:
operador_1 operador_relacional operador_2
– Lógicos (!, &&, ||)
Nombre del operador Simbolo en C
NOT !
AND &&
OR ||
EXPRESIONES• Operadores
– Operadores de manipuladion de bits • Solo se aplican a variables o constantes char, int o long.• Algunos son: &, |, ^, ~, <<, >>• Se pueden combinar con el operador de asignacion para formar abreviados. (a<<=b es lo mismo que a = a <<
b)
– Operadores especiales• Algunos son: *, &, ., ->• Operador condicional ternario (?)• Operador coma (,): Llamadas de funciones, declaracion de variables.• Operador(): Sirve para la agrupacion de expresiones.• Operador []: Usado en arrays.• Operador sizeof(). Devuelve el tamaño en bytes de una variable o tipo de dato.• Cast: Permite la conversión explicita de tipos.
INTRODUCCION A LA ESTRUCTURA CONDICIONAL EN C
SI (expresión_logica) ENTONCES secuencia 1 | camino 1SINO Secuencia 2 | camino 2FIN_SI
if (expresión_logica) { código_secuencia1;}else { código_secuencia2;}
PSEUDOCODIGO LENGUAJE C
DIAGRAMA DE FLUJO
INTRODUCCION A LA ESTRUCTURA CONDICIONAL EN C
SI (expresión_logica) ENTONCES secuencia 1 | camino 1SINO Secuencia 2 | camino 2FIN_SI
if (expresión_logica) { código_secuencia1;}else { código_secuencia2;}
SI(edad < 10) ENTONCES descuento = 0.25*precioFIN_SI
SI(edad >= 18) ENTONCES ESCRIBA('mayor de edad') SI_NO ESCRIBA(‘Menor de edad') FIN_SI
if(edad < 10) { descuento = 0.25*precio;}
if(edad >= 18) { printf("mayor de edad"); }else { printf("Menor de edad"); }
SI ((nota>=0)AND(nota<=5)) ENTONCES SI (nota>=4.5) ENTONCES letra = 'E' ESCRIBA(nota,' igual a ',letra) SI_NO SI (nota>=4) ENTONCES letra = 'B+' ESCRIBA(nota,' igual a ',letra) SI_NO SI (nota>=3.5) ENTONCES letra = 'B' ESCRIBA(nota,' igual a ',letra) SI_NO SI (nota>=3) ENTONCES letra = 'B-' ESCRIBA(nota,' igual a ',letra) SI_NO letra = 'I' ESCRIBA(nota,' igual a ',letra) FIN_SI FIN_SI FIN_SI FIN_SI SI_NO ESCRIBA('ERROR: Nota fuera del rango') FIN_SI
if ((nota>=0)&(nota<=5)) { if (nota>=4.5) { letra = 'E'; printf("%d igual a %c\n",nota,letra); } else { if (nota>=4) { letra = 'B+'; printf("%d igual a %c\n",nota,letra); } else { if (nota>=3.5) { letra = 'B'; printf("%d igual a %c\n",nota,letra); } else { if (nota>=3) { letra = 'B-'; printf("%d igual a %c\n",nota,letra); } else { letra = 'I'; printf("%d igual a %c\n",nota,letra); } } } }} else { printf("ERROR: Nota fuera del rango\n"); }
INTRODUCCION A LA IMPLEMENTACION DE LA ESTRUCTURA MIENTRAS EN C
MIENTRAS(expresión_logica)HAGA secuencia FIN_MIENTRAS
while (expresion_logica) { secuencia}
PSEUDOCODIGO LENGUAJE C
DIAGRAMA DE FLUJO
INTRODUCCION A LA IMPLEMENTACION DE LA ESTRUCTURA MIENTRAS EN C
MIENTRAS(expresión_logica)HAGA secuencia FIN_MIENTRAS
while (expresion_logica) { secuencia}
PSEUDOCODIGO LENGUAJE C
MIENTRAS(i<10) HAGA c = c + 3 ESCRIBA(‘c = ’,c) i = i + 2FIN_MIENTRAS
while (i<10) { c = c + 3; printf("c = %d\n",c); i = i + 2;}
MIENTRAS(ban == 1) HAGA c = c + 1 ESCRIBA(‘Digite 1 si hay datos o 0 para salir’) LEA(ban)FIN_MIENTRAS
while(ban == 1) { c = c + 1; printf(" Digite 1 si hay datos o 0 para salir\n"); scanf("%d",&ban);}
INTRODUCCION A LA IMPLEMENTACION DE LA ESTRUCTURA PARA EN C
PARA (VC = LI,LF,INC) HAGA secuencia FIN_PARA
for(expre1;expre2;expre3) { secuencia;}
PSEUDOCODIGO LENGUAJE CDIAGRAMA DE FLUJO
• VC: Variable de control del ciclo.• LI: Valor inicial de VC• LF: Valor final de VC.• INC: Valor de incremento o disminución de la variable de control.
• expre1: Usada para inicialización de variables.• expre2: Usada para definir la condición de terminación del ciclo• expre3: Es el modificador de la variable de control del ciclo cada vez que la computadora lo repite.
INTRODUCCION A LA IMPLEMENTACION DE LA ESTRUCTURA PARA EN C
PARA (VC = LI,LF,INC) HAGA secuencia FIN_PARA
for(expre1;expre2;expre3) { secuencia;}
PSEUDOCODIGO LENGUAJE C
PARA(i=2,8,1) HAGA j = 2*j s = s + 1FIN_PARA
for(i=2;i<=8;i=i+1) { j = 2*j; s = s + 1;}
for(i=2;i<9;i=i+1) { j = 2*j; s = s + 1;}
PARA(k=-1,6,0.3) HAGA s = s + 4;FIN_PARA
for(k=-1;k<=6;k=k+.3) { s = s + 4;}