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 鈥渋f鈥檚鈥?
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 鈥渆lse 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 鈥渆lse if鈥 ni 鈥渆lse鈥. Por lo que si tenemos condiciones repetidas, siempre se ejecutar谩 el bloque de c贸digo correspondiente a la condici贸n cumplida que est茅 鈥渕谩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.