Professional Documents
Culture Documents
Escribiendo código
MEDIALAB
Curso de Programación para artistas PRADO
Escribiendo código Bloque 3
Operadores aritméticos
Suma ( + ) : x + y
Resta ( ) : x – y
Multiplicación ( * ) : x * y
División ( / ) : x / y
Módulo ( % ) : x % y (resto de la división)
Si los operandos son enteros tipo del resultado es entero. Si hay un
real el resultado es tipo real.
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Expresiones aritméticas
Ejemplo:
4
5x ⋅z10y6
3
Las expresiones se evalúan de izquierda a derecha.
Las multiplicaciones y divisiones prevalecen sobre las sumas y
restas.
Para especificar el orden de operación se utilizan paréntesis.
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Operadores lógicos y relacionales
Operadores relacionales
== : ¿es igual?
!= : ¿es diferente?
< : ¿es menor?
> ¿es mayor?
<= ¿es menor o igual?
>= ¿es mayor o igual?
Operadores lógicos
! NOT : Negación lógica > cambia el valor booleano
&& AND : Es un “y” lógico > verdad si ambos son verdad
|| OR : Es on “o” inclusivo > verdad si al menos uno es verdad
^ XOR : Es un “o” exclusivo > verdad si ambos son diferentes
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Ejemplos
Números x de 0 a 10:
(x>=0) && (x<=10)
Números x fuera del intervalo [0,10]:
(x<0) || (x>10)
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo en código Bloque 3
Estructuras de control
Estructuras condicionales
if
else
encadenamiento y estructuras anidadas
switch
Estructuras repetitivas
El bucle while
El bucle for
Bucles anidados
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Programación estructurada
IDEA PRINCIPAL
La estructura de control de un programa sólo debe tener un
punto de entrada y un punto de salida.
Este tipo de estructura es predecible y disciplinada, no salta
de un lado a otro de forma impredecible.
Si no, sería muy complicado hacer un programa y probarlo (y
depurarlo).
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
IF
cierta La sentencia if nos permite elegir
condicion_1 si se ejecuta o no un bloque de
instrucciones.
falsa
instruccion_1()
Sintaxis
if (condicion_1)
instruccion1();
Sigue el
programa if (condicion_2)
{
instruccion2();
}
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Consideraciones acerca del uso de la
sentencia if
Olvidar los paréntesis al poner la Un error común:
condición del if es un error sintáctico (los
paréntesis son necesarios). if (condición);
sentencia;
Confundir el operador de comparación
== con el operador de asignación = es interpretado como
puede producir errores inesperados
if (condición)
Los operadores de comparación ==, ! ; // Sentencia vacía
=, <= y >= han de escribirse sin sentencia;
espacios.
Ejercicio:
=> y =< no son operadores válidos en
C. Pedir un número al usuario e
imprimirlo sólo si es mayor
de cero
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
ELSE
La sentencia if nos permite elegir
falsa cierta si se ejecuta o no un bloque de
condicion_1 instrucciones.
if (condicion_1)
instruccion1();
Sigue el
programa if (condicion_2)
con más {
instrucciones instruccion2();
}
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Encadenamiento
Podemos encadenar muchos if – else para ver cuándo se cumplen unas
condiciones específicas:
#include <stdio.h> // libreria de entrada/salida
void main () {
float nota;
printf (“Déme una nota: ”); // imprime por pantalla
scanf (“%f”,¬a); // recoge lo que escribe un usuario
if (nota>=9) {
printf (“Sobresaliente”);
}
else if (nota>=7) {
printf (“Notable”);
}
else if (nota>=5) {
printf (“Aprobado”);
}
else {
printf (“Suspenso”);
}
}
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
If anidados
Los if se pueden ir anidando, es decir, incluir más sentencias if dentro de los trozos
de código a ejecutar cuando se cumplen las condiciones.
#include <stdio.h>
void main() {
float a,b;
printf (“Escriba un número a dividir y un divisor”);
scanf (“%f %f”,&a,&b);
if (b==0) {
printf (“La solución es infinito”);
} else {
if (a==0) {
printf (“La solución es cero”);
} else {
printf (“La solución es &f, a/b”);
}
}
}
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Switch
Evaluamos una expresión o variable y en caso de que valga un
valor determinado ejecutamos un trozo de código diferente
switch (expresión)
{
case expr_cte1:
sentencia1;
case expr_cte2:
sentencia2;
...
case expr_cteN:
sentenciaN;
default:
sentencia;
}
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Estructuras repetitivas – FOR y WHILE
Se utilizan cuando tenemos que repetir un trozo de código muchas
veces.
En vez de escribir las mismas lineas muchas veces las metemos en
un bucle de repetición.
El bucle de repetición se ejecuta hasta que se deja de cumplir una
condición.
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
El bucle FOR
El bucle se ejecuta hasta que una condición se deja de cumplir
Sólo se puede utilizar cuando sabemos el número de iteraciones
de nuestro bucle
Ejemplo:
int j = 0 ¿Qué hace este código?
for (int i = 0; i < 100; i++)
{
j = j + i;
}
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Tira
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
El bucle WHILE
while (condicion)
sentencia();
while (condicion) cierta
{ condicion_1 bloque
bloque_de_sentencias;
} falsa
Muy Importante:
En el cuerpo del bucle debe existir algo que haga variar el valor
asociada la condición que gobierna la ejecución del bucle.
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Ejemplo: Sumar una serie de números hasta que el usuario
introduzca un cero:
#include <stdio.h>
void main() {
double suma; // Suma de los datos
double n; // Número leído desde el teclado
suma = 0; // Inicialización de la suma
printf (“Introduzca un número (0 para terminar)”);
scanf (“%f”, &n);
while (n != 0) {
suma = suma + n;
printf (“Introduzca un número (0 para terminar): ”);
scanf (“%f”, &n);
}
printf (“Suma total = %lf\n”, suma);
}
Curso de Programación para artistas
MEDIALAB
PRADO
Escribiendo código Bloque 3
Depuración
Depuramos un código cuando no tiene errores pero no da los
resultados que nosotros esperamos.
Cuando los programas son largos o complicados el tiempo de
depuración supera en muchas veces el tiempo de edición.
Los métodos más inmediatos de depuración:
ejecutando el código paso a paso
poniendo trazas en el código
mediante ventanas de inspección
Curso de Programación para artistas
MEDIALAB
PRADO