Estructuras de Control - Parte 1
Estructuras de Control - Parte 1
DE CONTROL –
PARTE 1
Lógica de Programación
Mg. Carlos A. Cardona C.
[email protected]
2.1 ELEMENTOS BÁSICOS DE
C/C++
ALGOL 60, 1960
Operador Acción
- Resta
+ Suma
* Multiplicación
/ División
% División en módulo
-- Decremento
++ Incremento
En la tabla anterior se muestran los operadores
válidos para los números que hemos descrito hasta el
momento.
Se puede apreciar que los cuatro operadores
aritméticos comunes (-, +, *, /) se encuentran entre
el conjunto de operadores de C.
Esto se manejan de la misma manera que en
cualquier otro lenguaje y tal como lo establece la
aritmética, y se pueden aplicar indistintamente a las
variables flotantes y a las enteras; sin embargo, una
división con el operador (/) entre números enteros
truncará la parte fraccionaria.
El operador % sólo es posible aplicarlo a las
variables enteras. Obtiene el residuo de una división.
Sea por ejemplo el siguiente segmento de código:
El incremento a una de las variables suele escribirse como se mostró anteriormente: x= x+1;
C provee de un operador muy útil para esta tarea tan común; el operador ++ ejecuta la misma
acción que la expresión anterior, pero se escribe simplemente x++ o ++x.
Asimismo, el operador -- ejecuta la misma acción que x=x-1, basta con escribir x - - o - -x.
Es necesario precisar si los operadores ++, - - van a preceder o anteceder a la variable dentro de
las expresiones.
Cuando el operador empecé a la variable, primero se realiza el incremento y después se utiliza
dentro de la expresión; cuando el operador precede a la variable primero se utiliza el valor de
la variable dentro de la expresión y después se incrementa la variable.
Supongamos que la variable x posee el valor de 10 antes de cada una de las siguientes
expresiones:
2.1.3 PRECEDENCIA
Se llama precedencia de una operación a la prioridad que posee dentro de la ejecución de una
operación.
Esta prioridad se resume: en la tabla mostrada a continuación:
Tabla de Precedencia
() Mayor precedencia
++ - -
*/%
+-
= Menor precedencia
En general, las expresiones se evalúan de izquierda a derecha, pero no deben escribirse
expresiones partiendo de dicha suposición, ya que algunos compiladores optimizan código y
esta regla puede dejar de cumplirse.
Problema: determinar el valor obtenido en la variable z en el siguiente código:
Resultado:
1) -x = -10
2) -x*y = -30
3) -30+ (10/3) = -30 + 3
4) -30 + 3*5 = -30 + 15
5) -30 + 15 – 4 = -19 = z
Problema: codificar la siguiente expresión:
Resultado:
Programa: Escribir un programa que obtenga el área de un triángulo.
Solución:
Observaciones:
Dentro del printf( ) se ha introducido %d para indicar que, en ese lugar, dentro del formato de
salida, se desean imprimir los dígitos enteros y %f para los números flotantes indicados en la
lista de variables.
Las variables enteras que constituyen la iBase y la iAltura entregarán decimales cuando se les
divide entre 2.
Se observa que las variables poseen un prefijo i. Este indica que la variable ha sido creada con
el tipo entero.
El compilador no pide el prefijo y no marcará ningún error si se elimina.
El prefijo indicando el tipo es una práctica que se encuentra ampliamente extendida entre los
programadores profesionales.
Tiene muchas aplicaciones, aunque la más común es garantizar que no se introducen errores
sutiles relacionados con los tipos de datos involucrados.
2.1.4 ENTRADA Y SALIDA DE
DATOS
En el ejemplo anterior se presentó de manera informal la función printf ( ) ; es momento de
formalizarla un poco más.
2.1.4.1 Salida con formato.
Problema: Hacer un programa que realice la conversión de centímetros a pulgadas; tenga en
cuenta que 1 in equivale a 2.54 cm.
Solución:
Código Formato
A reserva de explicar más adelante el %c Carácter
uso de cada especificador, se lista a %d Enteros decimales con signo
continuación el conjunto de
especificadores de formato. %i Enteros decimales con signo