Las declaraciones condicionales son algo muy básico e importante para todo programador. Habrá algunas situaciones en las que un programa o un bloque en particular deba ejecutarse solo cuando una condición específica sea Verdadera . Estas declaraciones condicionales serán muy útiles y fructíferas en tales situaciones. Estas declaraciones condicionales funcionan igual que en otros idiomas. Sin embargo, la sintaxis varía de un idioma a otro. Las siguientes son las declaraciones condicionales que podemos usar en MATLAB.
- si-fin
- if-else-fin
- si finaliza anidado
- if-elseif-elseif-else-fin
- caso de interruptor
- caja de interruptores anidados
Sentencia if-end
Una declaración if-end es la declaración de toma de decisiones más simple. Decide si un bloque de código en particular debe ejecutarse o no, según la condición booleana dada. Solo cuando la condición dada es verdadera, ejecuta las declaraciones dentro del bloque; de lo contrario, no.
Sintaxis:
si (condición)
% declaración(es) se ejecutarán
% si la expresión booleana es verdadera
<afirmaciones>
final
Ejemplo:
MATLAB
% MATLAB program to illustrate % if-end statement number = 28; if number>10 fprintf('The number is greater than 10.'); end
Producción:
The number is greater than 10.
instrucción if-else-end
En la declaración condicional if, el bloque adicional de código se fusiona como declaración else que se realiza cuando la condición es falsa ; la condición else no se ejecutará cuando la condición es verdadera .
Sintaxis:
si (condición)
% declaración(es) se ejecutarán
% si la expresión booleana es verdadera
<afirmación(es)>
más
<afirmación(es)>
% declaración(es) se ejecutarán
% si la expresión booleana es falsa
final
Ejemplo 1:
MATLAB
% MATLAB program to illustrate % if-else-end statement number = 28; if number<10 fprintf('The number is greater than 10'); else fprintf('The number is not less than 10'); end
Producción:
The number is not less than 10
Ejemplo 2: también puede enstringr declaraciones if-else-end con más de una condición.
MATLAB
% MATLAB program to illustrate % if-else chaining number = 28; if number<10 fprintf('The number is less than 10\n'); else if number<20 fprintf('The number is less than 20\n'); else fprintf('The number is less than 30\n'); end end
Producción:
The number is less than 30
Declaración if-end anidada
Hay algunas situaciones en las que se deben cumplir múltiples condiciones para ejecutar un bloque de código, luego usamos declaraciones if-end anidadas. Esto no es más que otra (s) condición(es) if dentro de una condición if .
Sintaxis:
si (condición)
% Se ejecuta cuando la expresión booleana 1 es verdadera
si (condición)
% Se ejecuta cuando la expresión booleana 2 es verdadera
final
final
Ejemplo:
MATLAB
% MATLAB program to illustrate % Nested if-end statements number = 2; if number<10 fprintf('The number is less than 10\n'); % Executes when then above if % condition is true if number<5 fprintf('Also The number is less than 5'); end end
Producción:
The number is less than 10 Also The number is less than 5
if-elseif-elseif-else-fin
Una declaración if puede ir seguida de uno (o más) elseif opcionales y una declaración else , que es muy útil para probar varias condiciones.
Sintaxis:
si (condición)
% Se ejecuta cuando la expresión 1 es verdadera
<afirmación(es)>
elseif (condición)
% Se ejecuta cuando la expresión booleana 2 es verdadera
<afirmación(es)>
elseif (condición)
% Se ejecuta cuando la expresión booleana 3 es verdadera
<afirmación(es)>
más
% se ejecuta cuando ninguna de las condiciones anteriores es verdadera
<afirmación(es)>
final
Ejemplo:
MATLAB
% MATLAB program to illustrate % if-elseif-else-end statement number = 28; if number<10 fprintf('The number is less than 10\n'); elseif number<20 fprintf('The number is less than 20\n'); elseif number<30 fprintf('The number is less than 30\n'); else fprintf('The number is less than 40\n'); end
Producción:
The number is less than 30
Caso del interruptor
Un bloque de cambio es familiar para las declaraciones if-elif-else-end . Funciona igual que en otros idiomas excepto por la sintaxis. Pero hay pocas diferencias clave entre ellos. Un bloque de interruptor ejecuta condicionalmente un conjunto de declaraciones de varias opciones. Cada opción está cubierta por una declaración de caso. Una expresión de cambio puede ser cualquiera de las siguientes.
- Números
- Caracteres
- Instrumentos de cuerda
- Objetos
Aquí la comparación de expresiones de string y expresiones de mayúsculas y minúsculas distingue entre mayúsculas y minúsculas. Cada carácter de una expresión de string de cambio debe coincidir con la expresión de string de mayúsculas y minúsculas.
Sintaxis:
interruptor (condición)
condición del caso
<afirmaciones>
caso (condición)
<afirmaciones>
…
…
de lo contrario
<afirmaciones>
final
Ejemplo 1:
MATLAB
grade = 'A'; switch(grade) case 'A' fprintf('Excellent!\n' ); case 'B' fprintf('Well done\n' ); case 'C' fprintf('Good\n' ); case 'D' fprintf('You passed\n' ); case 'F' fprintf('Better try again\n' ); otherwise fprintf('Invalid grade\n' ); end
Producción:
Excellent!
Ejemplo 2:
MATLAB
% MATLAB program to illustrate % String evaluation while using % switch case % First letter of the name was % given small letter intentionally name = 'geeksforGeeks' switch(name) case 'GeeksforGeeks' fprintf('Hello from %s',name); otherwise fprintf('Not Matched!'); end
Producción:
Not Matched!
Ejemplo 3:
MATLAB
% MATLAB program to illustrate % switch case days = 28; switch(days) case 28 fprintf('Normal Year!\n' ); otherwise fprintf('Leap Year\n' ); end
Producción:
Normal Year!
Caso de interruptor anidado
Esto es similar a las declaraciones if anidadas. Podemos usar switch como parte de la instrucción dentro de un switch. Incluso si las constantes de caso del interruptor interno y externo contienen valores comunes, no surgirán conflictos.
Sintaxis:
interruptor (condición)
caso (condición)
<afirmaciones>
interruptor (condición)
caso (condición)
<afirmaciones>
…..
final
caso (condición)
<afirmaciones>
final
Ejemplo: este ejemplo explica cómo funciona la comparación de strings y casos de interruptores anidados en MATLAB.
MATLAB
% MATLAB program to illustrate % nested switch case days = 29; month = 'February' switch(days) case 29 fprintf('This Year is ' ); switch month case 'february' fprintf('Leap Year!\n' ); otherwise fprintf('Not Leap Year!\n' ); end end
Producción:
This Year is Not Leap Year!
Nota:
- A diferencia de otros lenguajes de programación, no necesitamos usar una declaración de interrupción en caso de cambio .
- A diferencia de otros lenguajes de programación, no usamos ningún tipo de paréntesis (es decir,(),{},: ) al escribir condiciones en declaraciones condicionales (es decir, si, si anidado, etc.). Usamos la declaración final para terminar una declaración condicional.
- Utilice punto y coma (;) siempre que sea necesario para evitar resultados no deseados.
Publicación traducida automáticamente
Artículo escrito por pavan_rachapudi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA