FUNDAMENTOS
DE INFORMÁTICA
Algoritmia y
01b
programación
básica
Fallos típicos
Asignación,
declaración…
Asignación
variable = expresión ;
X == 3 ; Un único signo =
x = 3 ;
a + 3 = a ; La variable a la izquierda.
a = 3 * 4 ;
a = a + 7 * 3 ; a = 8 falta ;
(x = 3;) Sin paréntesis.
a = b = c ; Un único signo =
int main(void)
{
int a, b, c ; La variable x no está
declarada.
x = a + b;
...
12/10/2021 Algoritmia y programación básica - Fallos típicos 4
Variables
Tipo de variable lista de variables ;
int / float / char
Definiciones al principio del programa.
int main (void)
int main (void)
{
{
int a, b, c ;
int a, b, c ;
float x;
float x;
char str[128];
char str[128];
...
...
sscanf(str, "%d", &a);
sscanf(str, "%d", &a);
sscanf(str, "%d", &x);
sscanf(str, "%f", &x);
...
...
printf(”...%f ... %d ... ", a, x);
printf(”...%d ... %f ... ", a, x);
...
...
12/10/2021 Algoritmia y programación básica - Fallos típicos 5
Expresiones aritméticas
expresión operador expresión
+ - * / () % ++ 3 + 4
3 * a + b
a ++
a % 2
( a – 5 ) * (b + 2)
3.23 * 15.30 + a * 1.25
3 + + 4 Dos operadores seguidos no.
3,23 * 15.30 Punto en vez de coma.
Sin espacio después del
a * 1. 25
punto.
12/10/2021 Algoritmia y programación básica - Fallos típicos 6
Estructuras
condicionales
y repetitivas
Sentencia IF if (condición)
{
sentencia(s)1
Si No Si
Condición }
Condición
else
{
Sent. 1 Sent. 2 sentencia(s)2 No
Sentencia(s)
}
if (a > 100)
{ if (a > 100);
printf (“a es mayor que 100”); {
} printf (“a es mayor que 100”);
else
{ else falta }
printf (“a es menor que 100”); {
} printf (“a es menor que 100”);
… }
if ( b == 10) …
{ if ( b = 10) {
b = 0 ; b = 0 ;
} }
12/10/2021 Algoritmia y programación básica - Fallos típicos 8
Expresiones booleanas
… expresión operador expresión… == > >= < <= !=
… expr. bool. operador lógico expr. bool. … && (and) || (or) ! (not)
… ( a > 4 ) … … (a = 5) …
… ( a*2 <= b+6 ) …
… (a > b > c) …
… ( (a == 5) && (b < 10) )…
… ( (a == 5) && (b < 10) || (c > b)) … … ( (a == 5) & (b < 10) )…
12/10/2021 Algoritmia y programación básica - Fallos típicos 9
Sentencia FOR
No
Kont: ini hasta fin
for (ini ; condición ; fin)
Si
{
sententcia(s) Sentencia(s)
}
for (kont = 1 ; kont <= n ; kont++)
{
printf (“%d\n”, kont); for ( kont = 1 ; kont = n ; kont++) ;
{
}
printf (“%d\n”, kont);
}
==
for (kont = 1 ; kont <= n ;kont++)
{
if ( kont % 2 == 0) {
printf (“%d es par\n”, kont);
}
}
12/10/2021 Algoritmia y programación básica - Fallos típicos 10
Sentencia WHILE
No
while ( condición ) Condición
{
Si
sentencia(s)
} Sentencia(s)
a = 2
while ( a <= 20 )
{
printf (“%d\n”, a);
a = a * 2 ; Variables sin
} inicializar.
kont = 1 ;
kont = 1 ; suma = 0 ;
suma = 0 ; while ((kont < 100) && (suma < 500))
while ((kont < 100) && (suma < 500)) {
{ suma = suma + kont ;
suma = suma + kont ; kont =kont + 1;
kont =kont + 1; Variable sin
} actualizar.
}
12/10/2021 Algoritmia y programación básica - Fallos típicos 11
Sentencia DO WHILE
do sentencia(s)
{
sentencia(s) Si
} while ( condición ) ; Condición
No
a = 1
do
{
a = a * 2 ;
printf (“%d\n”, a);
} while ( a <= 20 ) ; Variables sin inicializar.
kont = 10;
suma = 0 ;
kont = 10; do Variable sin actualizar.
suma = 0 ; {
do kont =kont + 1;
{ suma = suma + kont ;
kont =kont + 1; } while ((kont < 100) && (suma < 500))
suma = suma + kont ;
} while ((kont < 100) && (suma < 500)) ; ;
12/10/2021 Algoritmia y programación básica - Fallos típicos 12
Sentencia SWITCH Valor
V1 V2 VN
switch (expresión)
{
case valor: sentencia(s); Conjunto Conjunto Conjunto
...
break ; órdenes 1 órdenes 2 órdenes m
case valor: sentencia(s);
break ;
default : sentencia(s);
Continuación
}
switch (num) switch (num<3) ;
{ {
Falta Break
case 1: printf (“Uno.\n”); break; case 1: printf (“Lehena\n”);
case 2: printf (“Dos.\n”); break; case 2: printf (“Bigarrena\n”);
case 3: printf (“Tres.\n”); break;
case >3: printf (“Hirugarrena\n”);
default: printf (“No clasificado.”);
default: printf (“Ez sailkatua);
}
}
12/10/2021 Algoritmia y programación básica - Fallos típicos 13
Eskerrik asko
Muchas gracias
Thank you
Argiñe Alacano Loiti
aalacano@[Link]
Olagorta Kalea, 26
48014 Bilbo (Bizkaia)
T. +34 670 254 555
[Link]