Escuela Superior Politécnica de Chimborazo
Tema: Estructuras de control
Nombre: Tixi Usca Luis Fernando
Carrera Rodríguez Javier Alexander
Catedra: Fundamentos de programación
ESTRUCTURAS DE CONTROL EN C++
En C++ el concepto de bloque de sentencias se utilizar para agrupar un
conjunto de sentencias dentro de un ámbito concreto del programa. Un
bloque de sentencias es un conjunto de instrucciones englobadas bajo
llaves:’{’ y ’}’.
Estructuras de selección C++ tiene dos estructuras de control para la
selección, if (selección simple y binaria) y switch (selección múltiple).
E.T.S.I. Telecomunicación Laboratorio de Programación 2
<sent_if> ::= if (<expres_bool>) <bloque_sent>
{else if (<expres_bool>) <bloque_sent>}
[else <sec_sent>]
Estructura if
La sentencia if elige entre varias alternativas en base al valor de una o más
expresiones booleanas.
La notación BNF de esta sentencia es la siguiente:
donde <expres bool> es una expresión booleana y <sec sent> puede ser
una sola sentencia o un bloque de sentencias.
<sec_sent> ::= [’{’{<sentencia>}’}’|<sentencia>]
Las formas más sencillas de esta sentencia, son :
if (<expres_bool>) if (<expres_bool>)
<sentencia> <sentencia>
else
<sentencia>
if (<expres_bool>) if (<expres_bool>)
{ {
<sent 1> <sent 1>
... ...
<sent n> <sent n>
} }
else
{
<sent 1>
...
<sent n>
}
if (Nota == 10)
cout << "Matricula de Honor";
else if (Nota >= 9)
cout << "Sobresaliente";
else if (Nota >= 7)
cout << "Notable";
else if (Nota >= 5)
cout << "Aprobado";
else
cout << "Suspenso";
Nótese que en el caso en el que solo siga una sentencia al if no es
necesario incluir las llaves, pero si lo es cuando lo siguen más de una
sentencia.
Los programas a menudo realizan una serie de tests de los que solo uno
será verdadero. Como ejemplo, considérese un programa para escribir en
pantalla un mensaje diferente correspondiente a un número que
representa una calificación numérica. En C++, utilizando sentencias if
anidadas, quedaría:
De esta ultima forma evitamos tener que usar numerosas sangrías del
código que pueden dificultar la lectura. Por tanto, el criterio que se debe
seguir para decidir el anidamiento o no de estructuras selectivas es la
legibilidad del código.
Estructura switch
Aunque la sentencia if de C++ es muy potente, en ocasiones su escritura
puede resultar tediosa, sobre todo en casos en los que el programa
presenta varias elecciones después de chequear una expresión: selección
múltiple o multialternativa. En situaciones donde el valor de una
expresión determina qué sentencias serán ejecutadas es mejor utilizar una
sentencia switch en lugar de una if. Por ejemplo, la sentencia switch:
switch (operador) {
case + :
resultado = A + B;
break;
case - :
resultado = A - B;
break;
case * :
resultado = A * B;
break;
case / :
resultado = A / B;
break;
default :
cout << "Operador invalido";
}
Tiene el mismo efecto que la siguiente
sentencia if:
if (operador == +)
resultado = A + B;
else if (operador == -)
resultado = A - B;
else if (operador == *)
resultado = A * B;
else if (operador == /)
resultado = A / B;
else
En este ejemplo se observa que el valor de la expresión operador (en este
caso solo una variable) determina qué sentencias se van a ejecutar. Esta
expresión recibe el nombre de selector de la estructura selectiva múltiple.
También se puede apreciar la mayor simplicidad de la primera sentencia.
La palabra reservada break permite que el flujo de programa se detenga
justo después de la ejecución de la sentencia anterior a ese break,
impidiendo que se ejecuten las sentencias correspondientes a las
siguientes alternativas del switch.
Estructuras de control en C++ obligatoriamente acabar cada bloque de
sentencias correspondiente a cada alternativa con una sentencia break.
Por otro lado, la alternativa default es opcional y engloba un conjunto de
sentencias (que puede ser vacío, contener una sola sentencia o varias) que
se ejecutan en caso de que ninguna de las alternativas del switch tenga un
valor coincidente con el resultado de evaluar la expresión del selector. La
notación BNF de la sentencia switch es:
En este ejemplo, si el selector se evalúa y su valor es 1 ´o 2, se ejecuta, en
ambos casos, la instrucción cout << "Salida para los casos 1 y 2"<< endl;.
<sent_switch>::= switch
(<expresion>)
{
{case <caso> [break]}
[default <sec_sent>]
}
<caso> ::= <expresion_constante> :
<sec_sent>
En este caso particular puede apreciarse la utilidad de break a la hora de
detener el flujo del programa.
La sentencia switch puede incluir la opción default para establecer la
secuencia de sentencias a ejecutar en el caso de que ninguna etiqueta
concuerde con el valor de la E.T.S.I. Telecomunicación Laboratorio de
Programación expresión case. El tipo de esta expresión case y el de las
etiquetas tiene que ser el mismo.

Más contenido relacionado

PDF
Blog Academico
PDF
lp1t3.pdf
PDF
Estructuras algoritnicas de control
PDF
Estructuras de Control C++
PPTX
Estructuras secuenciales, selectivas e iterativas2
ODP
estructura condicional y selenctiva
PDF
Sesión 2 - Estructuras secuenciales y selectivas.pdf
PPTX
Estructuras de control_luis_barreto
Blog Academico
lp1t3.pdf
Estructuras algoritnicas de control
Estructuras de Control C++
Estructuras secuenciales, selectivas e iterativas2
estructura condicional y selenctiva
Sesión 2 - Estructuras secuenciales y selectivas.pdf
Estructuras de control_luis_barreto

Similar a ESTRUCTURAS DE CONTROL.pdf (20)

PPT
Lenguaje Borland C - Estructuras de Control
PPT
Estructuras de control
PDF
Programación Orientada Objetos. Estructuras de control if, If else, switch.pdf
PPTX
Estructuras de control
PPTX
Clase 3_Prgramacion_estructurada450.pptx
PPT
Lenguajes de programacion c
PPT
Estructura de lenguaje C++
PDF
Lenguaje c
PPTX
PDF
Ejemplo C++
PPTX
Estructuras de control c++
DOC
Estructuras condicionales
PPTX
ESTRUCTURA DE CONTROL
PDF
Estructuras de control
PPT
Lenguaje de programacion C++ 3
PPT
Condiciones
PPT
Lenguajesdeprogramacion c nivel1-unidad3
PPT
Unidad3
PPT
Condiciones
PPT
Condiciones
Lenguaje Borland C - Estructuras de Control
Estructuras de control
Programación Orientada Objetos. Estructuras de control if, If else, switch.pdf
Estructuras de control
Clase 3_Prgramacion_estructurada450.pptx
Lenguajes de programacion c
Estructura de lenguaje C++
Lenguaje c
Ejemplo C++
Estructuras de control c++
Estructuras condicionales
ESTRUCTURA DE CONTROL
Estructuras de control
Lenguaje de programacion C++ 3
Condiciones
Lenguajesdeprogramacion c nivel1-unidad3
Unidad3
Condiciones
Condiciones
Publicidad

Último (20)

PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
PPTX
Historia-Clinica-de-Emergencia-Obstetrica 1.10.pptx
DOC
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
PDF
RM2025 - FUNDAMENTOS TEÓRICOS - PEDIATRÍA.pdf
PDF
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
PPTX
4. Qué es un computador PARA GRADO CUARTO.pptx
PDF
Modelo Educativo SUB 2023versión final.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
ciencia_tecnologia_sociedad Mitcham Carl. (1994)..pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
Telos 127 Generacion Al fa Beta - fundaciontelefonica
PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
PDF
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PDF
Introducción a la historia de la filosofía
PPTX
TEMA 1ORGANIZACIÓN FUNCIONAL DEL CUERPO, MEDIO INTERNO Y HOMEOSTASIS (3) [Aut...
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
Historia-Clinica-de-Emergencia-Obstetrica 1.10.pptx
4°_GRADO_-_SESIONES_DEL_11_AL_15_DE_AGOSTO.doc
RM2025 - FUNDAMENTOS TEÓRICOS - PEDIATRÍA.pdf
Como usar el Cerebro en las Aulas SG2 NARCEA Ccesa007.pdf
4. Qué es un computador PARA GRADO CUARTO.pptx
Modelo Educativo SUB 2023versión final.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
ciencia_tecnologia_sociedad Mitcham Carl. (1994)..pdf
Ernst Cassirer - Antropologia Filosofica.pdf
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
Telos 127 Generacion Al fa Beta - fundaciontelefonica
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
Los10 Mandamientos de la Actitud Mental Positiva Ccesa007.pdf
PLANES DE área ciencias naturales y aplicadas
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
Introducción a la historia de la filosofía
TEMA 1ORGANIZACIÓN FUNCIONAL DEL CUERPO, MEDIO INTERNO Y HOMEOSTASIS (3) [Aut...
Programa_Sintetico_Fase_4.docx 3° Y 4°..
Publicidad

ESTRUCTURAS DE CONTROL.pdf

  • 1. Escuela Superior Politécnica de Chimborazo Tema: Estructuras de control Nombre: Tixi Usca Luis Fernando Carrera Rodríguez Javier Alexander Catedra: Fundamentos de programación ESTRUCTURAS DE CONTROL EN C++ En C++ el concepto de bloque de sentencias se utilizar para agrupar un conjunto de sentencias dentro de un ámbito concreto del programa. Un bloque de sentencias es un conjunto de instrucciones englobadas bajo llaves:’{’ y ’}’. Estructuras de selección C++ tiene dos estructuras de control para la selección, if (selección simple y binaria) y switch (selección múltiple).
  • 2. E.T.S.I. Telecomunicación Laboratorio de Programación 2 <sent_if> ::= if (<expres_bool>) <bloque_sent> {else if (<expres_bool>) <bloque_sent>} [else <sec_sent>] Estructura if La sentencia if elige entre varias alternativas en base al valor de una o más expresiones booleanas. La notación BNF de esta sentencia es la siguiente:
  • 3. donde <expres bool> es una expresión booleana y <sec sent> puede ser una sola sentencia o un bloque de sentencias. <sec_sent> ::= [’{’{<sentencia>}’}’|<sentencia>] Las formas más sencillas de esta sentencia, son : if (<expres_bool>) if (<expres_bool>) <sentencia> <sentencia> else <sentencia> if (<expres_bool>) if (<expres_bool>) { { <sent 1> <sent 1> ... ... <sent n> <sent n> } } else { <sent 1> ... <sent n> }
  • 4. if (Nota == 10) cout << "Matricula de Honor"; else if (Nota >= 9) cout << "Sobresaliente"; else if (Nota >= 7) cout << "Notable"; else if (Nota >= 5) cout << "Aprobado"; else cout << "Suspenso"; Nótese que en el caso en el que solo siga una sentencia al if no es necesario incluir las llaves, pero si lo es cuando lo siguen más de una sentencia. Los programas a menudo realizan una serie de tests de los que solo uno será verdadero. Como ejemplo, considérese un programa para escribir en pantalla un mensaje diferente correspondiente a un número que representa una calificación numérica. En C++, utilizando sentencias if anidadas, quedaría: De esta ultima forma evitamos tener que usar numerosas sangrías del código que pueden dificultar la lectura. Por tanto, el criterio que se debe seguir para decidir el anidamiento o no de estructuras selectivas es la legibilidad del código.
  • 5. Estructura switch Aunque la sentencia if de C++ es muy potente, en ocasiones su escritura puede resultar tediosa, sobre todo en casos en los que el programa presenta varias elecciones después de chequear una expresión: selección múltiple o multialternativa. En situaciones donde el valor de una expresión determina qué sentencias serán ejecutadas es mejor utilizar una
  • 6. sentencia switch en lugar de una if. Por ejemplo, la sentencia switch:
  • 7. switch (operador) { case + : resultado = A + B; break; case - : resultado = A - B; break; case * : resultado = A * B; break; case / : resultado = A / B; break; default : cout << "Operador invalido"; } Tiene el mismo efecto que la siguiente sentencia if: if (operador == +) resultado = A + B; else if (operador == -) resultado = A - B; else if (operador == *) resultado = A * B; else if (operador == /) resultado = A / B; else
  • 8. En este ejemplo se observa que el valor de la expresión operador (en este caso solo una variable) determina qué sentencias se van a ejecutar. Esta expresión recibe el nombre de selector de la estructura selectiva múltiple. También se puede apreciar la mayor simplicidad de la primera sentencia. La palabra reservada break permite que el flujo de programa se detenga justo después de la ejecución de la sentencia anterior a ese break, impidiendo que se ejecuten las sentencias correspondientes a las siguientes alternativas del switch. Estructuras de control en C++ obligatoriamente acabar cada bloque de sentencias correspondiente a cada alternativa con una sentencia break. Por otro lado, la alternativa default es opcional y engloba un conjunto de sentencias (que puede ser vacío, contener una sola sentencia o varias) que se ejecutan en caso de que ninguna de las alternativas del switch tenga un valor coincidente con el resultado de evaluar la expresión del selector. La notación BNF de la sentencia switch es: En este ejemplo, si el selector se evalúa y su valor es 1 ´o 2, se ejecuta, en ambos casos, la instrucción cout << "Salida para los casos 1 y 2"<< endl;. <sent_switch>::= switch (<expresion>) { {case <caso> [break]} [default <sec_sent>] } <caso> ::= <expresion_constante> : <sec_sent>
  • 9. En este caso particular puede apreciarse la utilidad de break a la hora de detener el flujo del programa. La sentencia switch puede incluir la opción default para establecer la secuencia de sentencias a ejecutar en el caso de que ninguna etiqueta concuerde con el valor de la E.T.S.I. Telecomunicación Laboratorio de Programación expresión case. El tipo de esta expresión case y el de las etiquetas tiene que ser el mismo.