Estructuras de decisión

2/13
Recursos

Aportes 16

Preguntas 4

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Notas de clase

Un statement es una línea de código o un solo comando que el programa compila de a uno a la vez.
Ejemplo:

printf("Hello world \n");

Por su parte, un bloque de código es un conjunto de varios statements que se compilan juntos, estos se agrupan con los corchetes “{}”.
Ejemplo:

statment1;
statment2;
.
.
.
statmentx;

Ahora ¿Cómo funcionan los “if’s”?
Sencillo, estas estructuras tienen el siguiente formato:

if (condicion1)
{
    statment1;
    statment2;
}
else if (condicion2)
{
    statment3;
    statment4;
    statment5;
}
else if (condicion3)
    statment6;
else
{
    statment7;
    statment8;
    .
    .
    .
    statmentn;
}

Aunque esté escrito en pseudocódigo funciona para darnos una idea.
Los ciclos if siempre van acompañados de una condición, si esta se cumple se realizarán los statments o el bloque de código correspondiente, y si no se cumple, se procederá a comparar con en el siguiente comparativo else if y checará la condición de este nuevo comparativo, si se cumple entrará al bloque de código y si no seguirá comparando con los else if restantes hasta llegar al comparativo else final que es el bloque a ejecutar por defecto.

Notas:

  • Veamos que en el segundo “else if”, no se utilizan corchetes ya que solo se ejecutará un statment.

  • La programación es secuencial, es decir, si se cumple por ejemplo la condición del primer if se ejecutará el bloque de código correspondiente y no comparará con los demás “else if” ni “else”. Por lo que si tenemos condiciones repetidas, siempre se ejecutará el bloque de código correspondiente a la condición cumplida que esté “más arriba” en el código.

los bloques entre llaves a solas tienen un ventaja y es que si declaras un variable dentro de ella esta solo vivirá y morirá dentro de ella

![](

#include <stdio.h>
int main()
{
    int a = 1;
    {
        char a = 'a';
        printf("%c\n",a);
    }
    printf("%d\n",a);
    return 0;
}```

Statement: Es declarar una sola variable o una linea de codigo desde que empieza hasta que se pone el ;

Bloques: Se pone entre {}

El if funciona atraves de expresiones

Cuando tengas un solo statement no necesitas poner las llaves {}

Puedes poner tantos else if como requieras

esta parte es muy importante en cualquier lenguaje

Cuando menciona que está mal poner llaves a los if, else o elseif cuando solo tienen una sentencia, realmente está bien, es una buena práctica de programación para la legibilidad y mantenimiento del código (evita que en futuros cambios se olviden poner las llaves y el código haga cosas que no quieres)

Por mi parte cuando tengo una sola linea de código después de un if. La ubico al lado del if les doy unos tabs y listo.

if 	(expresión1)	statement1;
else if 	(expresión2)	statement2;
else 			statement3;

Statement

  • A code line that finishes with a ;

    printf("Hello World");
    

Code block

  • A code block is defined by { }. These can have one or several statements inside

    if(expression){
    	statement1;
    	statement2;
    }	
    

Yo trabajo bastante con C, en mi país es difícil estandarizar y de ante mano ya esta mal para escribir un código básico tienes que seguir los estándares de sintaxis,etc de C ANSI/ISO, eso incluye para robótica
SALUDOS

No conocía en lo absoluto en que si solo teníamos un statement no eran necesitas las llaves, pero bueno ya no cometeremos mas ese error 😃

Funcionamiento del if.

Hola, me gustaria dejar este peequeño aporte con algo que me parecio super util de otro curso, la sintaxis de un if en linea en C:

(proposición) ? Valor V: Valor F

cuando escribe una estrucutra de decición ya se un if, un else if o un else, si consta más de una linea de código lo que se quiere ejecutar, es requerido definir las llaves, si solo contiene una línea entonces es opcional.

Los Statements son Simples unidades básica de código y Los bloques de códigos tienen varios Statements

{// aqui un bloque de codigo

// Statements 1
// Statements 2
// Statements 3
.
.

}

Bloque de código. Conjunto de statements entre llaves.

Statement (declaración). Unidad de código en C que cierra con ;

Yo diría que una línea de código puede tener varios statements separados por ;
Yo no diría que es lo mismo línea de código que statement.