SlideShare una empresa de Scribd logo
Sentencia, Secuencia y
Bloque
CLASE 07
Sentencia, Secuencia y Bloque
En C++ la unidad básica de acción es la sentencia, y expresamos la composición de sentencias
como una secuencia de sentencias terminadas cada una de ellas por el carácter “punto y coma“
(;), de tal forma que su flujo de ejecución es secuencial, es decir, se ejecuta una sentencia, y
cuando esta termina, entonces se ejecuta la siguiente sentencia, y así sucesivamente.
Un bloque es una unidad de ejecución mayor que la sentencia, y permite agrupar una secuencia
de sentencias como una unidad. Para ello enmarcamos la secuencia de sentencias entre dos
llaves para formar un bloque. Es posible el anidamiento de bloques.
Sentencia, Secuencia y Bloque
Declaraciones Globales y Locales
Distinguiremos dos clases de declaraciones: globales y locales.
Entidades globales son aquellas que han sido definidas fuera de cualquier bloque. Su ámbito de
visibilidad comprende desde el punto en el que se definen hasta el final del fichero. Respecto a
su tiempo de vida, se crean al principio de la ejecución del programa y se destruyen al finalizar
este. Normalmente serán constantes simbólicas, definiciones de tipos, declaración de prototipos
de subprogramas y definiciones de subprogramas.
Declaraciones Globales y Locales
Entidades locales son aquellas que se definen dentro de un bloque. Su ámbito de visibilidad
comprende desde el punto en el que se definen hasta el final de dicho bloque. Respecto a su
tiempo de vida, se crean en el punto donde se realiza la definición, y se destruyen al finalizar el
bloque. Normalmente serán constantes simbólicas y variables locales.
EJEMPLO 1(EJ7_1)
Programa que hace el uso de variables
locales y globales sobre la conversión de
dólares a pesos mexicanos
EJEMPLO (EJ7_1)
EJEMPLO (EJ7_1)
Declaraciones Globales y Locales
Respecto al ámbito de visibilidad de una entidad, en caso de declaraciones de diferentes
entidades con el mismo identificador en diferentes niveles de anidamiento, la entidad visible
será aquella que se encuentre declarada en el bloque de nivel de anidamiento más
interno. Es decir, cuando se solapa el ámbito de visibilidad de dos entidades con el
mismo identificador, en dicha zona de solapamiento será visible el identificador
declarado/definido en el bloque más interno. Sin embargo, no es una buena practica de
programación ocultar identificadores al redefinirlos en niveles de anidamiento mas internos, ya
que conduce a programas difíciles de leer y propensos a errores.
Declaraciones Globales y Locales
Sentencias de Asignación
La sentencia de asignación permite asignar a una variable el
resultado de evaluar una expresión aritmética expresada en notación
infija, de tal forma que primero se evalúa la expresión, considerando
las reglas de precedencia y asociatividad de los operadores y a
continuación el valor resultante se asigna a la variable, que pierde.
Por ejemplo:
Sentencias de Asignación
Sentencias de Asignación
Además, se definen las siguientes sentencias de
incremento/decremento
Sentencias de Asignación
Sentencias de Asignación
Nota: las sentencias de asignación vistas anteriormente se pueden
utilizar en otras formas muy diversas, pero nosotros restringiremos
su utilización a la expresada anteriormente, debido a que otras
utilizaciones pueden dificultar la legibilidad y aumentar las
posibilidades de cometer errores de programación.
Sentencias de Asignación
Nota: las sentencias de asignación vistas anteriormente se pueden
utilizar en otras formas muy diversas, pero nosotros restringiremos
su utilización a la expresada anteriormente, debido a que otras
utilizaciones pueden dificultar la legibilidad y aumentar las
posibilidades de cometer errores de programación.
Sentencias de Selección
Las sentencias de selección alteran el flujo secuencial de ejecución
de un programa, de tal forma que permiten seleccionar flujos de
ejecución alternativos y excluyentes dependiendo de expresiones
lógicas. La más simple de todas es la sentencia de selección
condicional if cuya sintaxis es la siguiente:
Sentencias de Selección
Sentencias de Selección
y cuya semántica consiste en evaluar la expresión lógica, y si su
resultado es Verdadero (true) entonces se ejecuta la secuencia de
sentencias entre las llaves. Ejemplo de programa que imprime el
valor mayor de tres números:
EJEMPLO (EJ7_2)
y cuya semántica consiste en evaluar la expresión lógica, y si su
resultado es Verdadero (true) entonces se ejecuta la secuencia de
sentencias entre las llaves. Ejemplo de programa que imprime el
valor mayor de tres números:
EJEMPLO (EJ7_2)
EJEMPLO (EJ7_2)
ESTRUCTURAS DE CONTROL
Otra posibilidad es la sentencia de selección condicional compuesta, que tiene la siguiente
sintaxis:
EJEMPLO (EJ7_3)
y cuya semántica consiste en evaluar la expresión lógica, y si su resultado
es Verdadero (true) entonces se ejecuta la <secuencia de sentencias v> .
Sin embargo, si el resultado de evaluar la expresión lógica es Falso (false)
entonces se ejecuta la <secuencia de sentencias f> .
La sentencia de selección condicional se puede encadenar de la
siguiente forma con el flujo de control esperado:
EJEMPLO (EJ7_3)
ESTRUCTURAS DE CONTROL
La sentencia switch es otro tipo de sentencia de selección en la cual la secuencia de sentencias
alternativas a ejecutar no se decide en base a expresiones lógicas, sino en función del valor que
tome una determinada expresión de tipo ordinal, es decir, una relación de igualdad entre el
valor de una expresión y unos determinados valores constantes de tipo ordinal especificados. Su
sintaxis es la siguiente:
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL
en la cual se evalúa la expresión, y si su valor coincide con <valor 1> entonces se
ejecuta la <secuencia de sentencias 1> . Si su valor coincide con <valor 2> o con
<valor 3> se ejecuta la <secuencia de sentencias 2> y así sucesivamente. Si el
valor de la expresión no coincide con ningún valor especificado, se ejecuta la
secuencia de sentencias correspondiente a la etiqueta default (si es que existe).
Nótese que la sentencia break; termina la secuencia de sentencias a ejecutar
para cada caso. Ejemplo:
EJEMPLO (EJ7_4)
EJEMPLO (EJ7_4)
EJEMPLO
(EJ7_5)
EJEMPLO
(EJ7_5)

Más contenido relacionado

PPTX
Condicional if en c++
PPTX
Sentencia, secuencia y bloque
PPT
Estructuras De Control
 
PPT
Iv unidad estructuras de control
PPT
Estructuras de Control
PPT
Estructuras de control en Java
DOCX
métodos procedimimientos estructuras de control java
PDF
Lenguaje c
Condicional if en c++
Sentencia, secuencia y bloque
Estructuras De Control
 
Iv unidad estructuras de control
Estructuras de Control
Estructuras de control en Java
métodos procedimimientos estructuras de control java
Lenguaje c

La actualidad más candente (19)

PDF
Tema 3 sentencias de control de java por gio
PPTX
Estructuras De Control
PPTX
Las estructuras de control en la programación
DOC
Estructuras condicionales
PPTX
Pseudocodigo
PDF
Unidad 2
PPT
Estructuras de control
PPTX
Estructuras de control en Visual Basic
PDF
Pseudocódigo
PDF
Instrucciones de control
PPTX
Sentencia de Selección
PPTX
Estructuras if
PPTX
Exposicion estalin
PPTX
Sentencias de repetición en Java
PPT
Curso Java Inicial 3 Sentencias De Control De Flujo
PPTX
Elementos de una programación
PPT
Estructuras de seleccion anidadas
 
PPTX
Estructuras de control selectivas
PPT
Tema 3 sentencias de control de java por gio
Estructuras De Control
Las estructuras de control en la programación
Estructuras condicionales
Pseudocodigo
Unidad 2
Estructuras de control
Estructuras de control en Visual Basic
Pseudocódigo
Instrucciones de control
Sentencia de Selección
Estructuras if
Exposicion estalin
Sentencias de repetición en Java
Curso Java Inicial 3 Sentencias De Control De Flujo
Elementos de una programación
Estructuras de seleccion anidadas
 
Estructuras de control selectivas
Publicidad

Destacado (20)

PDF
Ley de kirchhoff
PPTX
Elementos basicos c++
PPTX
Introducción
PPTX
Ley de-biot-savart-electromagnetismo
PPTX
Ley de ampere. ITO
PDF
Elicitacion de requerimientos
PPTX
Método de la regla falsa (o metodo de la falsa posición)
PPSX
Clase 5 LKV
PPTX
Simulación en promodel clase 04
PPTX
Cadenas y funciones de cadena
PPTX
Clase 5 ley de biot savart
PPTX
Cuckoo sandbox
PPT
Clase 10 ley de biot savart
PPTX
Física2 bach 9.4 ley de lorentz
DOCX
Ley de ampere
PPTX
Sentencia, secuencia y bloque
PPTX
Clase 16 ley de biot savart
PPTX
Armitage pruebas
PPTX
Primera ley de faraday
PPT
Ley de ampere
Ley de kirchhoff
Elementos basicos c++
Introducción
Ley de-biot-savart-electromagnetismo
Ley de ampere. ITO
Elicitacion de requerimientos
Método de la regla falsa (o metodo de la falsa posición)
Clase 5 LKV
Simulación en promodel clase 04
Cadenas y funciones de cadena
Clase 5 ley de biot savart
Cuckoo sandbox
Clase 10 ley de biot savart
Física2 bach 9.4 ley de lorentz
Ley de ampere
Sentencia, secuencia y bloque
Clase 16 ley de biot savart
Armitage pruebas
Primera ley de faraday
Ley de ampere
Publicidad

Similar a Sentencia, secuencia y bloque (20)

PPTX
Sentencias de control visual basic
PPTX
Diagrama Logica
PPTX
diagramacionlogica
PDF
08 estructuras dedecision
DOCX
Mariangel garcía informática
PDF
Actividad de Inicio Programación
DOCX
Estructuras repetitivas
PPSX
PPTX
Iteraciones y decisiones en c++
PDF
Fpr0407 control
PPTX
Estructura de control de flujo
PPTX
Estructura de control de flujo
PPTX
Estructura de control de flujo
PPTX
Toma de decisiones If Else
PPTX
Programación estructurada Analisis y Diseño Jessy Lopez 11v02.pptx
PPT
Semana 3 estructuras de control
PDF
Sentencias If y Else.pdf
PPTX
Estructuras secuenciales, selectivas e iterativas 01
DOCX
Las sentencias de_control[1]
Sentencias de control visual basic
Diagrama Logica
diagramacionlogica
08 estructuras dedecision
Mariangel garcía informática
Actividad de Inicio Programación
Estructuras repetitivas
Iteraciones y decisiones en c++
Fpr0407 control
Estructura de control de flujo
Estructura de control de flujo
Estructura de control de flujo
Toma de decisiones If Else
Programación estructurada Analisis y Diseño Jessy Lopez 11v02.pptx
Semana 3 estructuras de control
Sentencias If y Else.pdf
Estructuras secuenciales, selectivas e iterativas 01
Las sentencias de_control[1]

Más de Tensor (20)

PDF
Libertad
PPTX
Metodo de la bisección
PPTX
Transito vehicular
PPTX
Teoria de colas
PDF
Practica 7 2016
PDF
Practica 6 2016
PPTX
Game maker
PDF
Practica 5 2016
PPTX
Procesamiento de archivos
PDF
Reduccion de orden
PDF
Variación+de+parametros
PDF
Coeficientes indeterminados enfoque de superposición
PDF
Bernoulli y ricatti
PDF
Practica no. 3 tiempo de servicio
PPTX
Clase 14 ondas reflejadas
PDF
Ondas em
PPTX
Clase 7 ondas electromagneticas
PDF
Practicas 8 2016
PPTX
Tipos de datos ok
PDF
Practica 4 2016
Libertad
Metodo de la bisección
Transito vehicular
Teoria de colas
Practica 7 2016
Practica 6 2016
Game maker
Practica 5 2016
Procesamiento de archivos
Reduccion de orden
Variación+de+parametros
Coeficientes indeterminados enfoque de superposición
Bernoulli y ricatti
Practica no. 3 tiempo de servicio
Clase 14 ondas reflejadas
Ondas em
Clase 7 ondas electromagneticas
Practicas 8 2016
Tipos de datos ok
Practica 4 2016

Último (20)

PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
biología es un libro sobre casi todo el tema de biología
PDF
La Magia de Pensar en Grande - David Schwartz Ccesa007.pdf
PDF
Empieza Con El Porqué - Simon Sinek Ccesa007.pdf
PPTX
Presentación: Cumplimiento del Empleador
PPTX
Guía Esencial para Empleadores - Cumplimiento con el IESS
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Como limpiar tu basura emocional a traves del Mindfulness Ccesa007.pdf
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
JESUCRISTO ESTÁ EN LA TIERRA
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Metodologías Activas con herramientas IAG
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
revista de historia Clio N|285 2025_.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
biología es un libro sobre casi todo el tema de biología
La Magia de Pensar en Grande - David Schwartz Ccesa007.pdf
Empieza Con El Porqué - Simon Sinek Ccesa007.pdf
Presentación: Cumplimiento del Empleador
Guía Esencial para Empleadores - Cumplimiento con el IESS
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Como limpiar tu basura emocional a traves del Mindfulness Ccesa007.pdf
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
JESUCRISTO ESTÁ EN LA TIERRA
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
Punto Critico - Brian Tracy Ccesa007.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
Metodologías Activas con herramientas IAG
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
revista de historia Clio N|285 2025_.pdf

Sentencia, secuencia y bloque

  • 2. Sentencia, Secuencia y Bloque En C++ la unidad básica de acción es la sentencia, y expresamos la composición de sentencias como una secuencia de sentencias terminadas cada una de ellas por el carácter “punto y coma“ (;), de tal forma que su flujo de ejecución es secuencial, es decir, se ejecuta una sentencia, y cuando esta termina, entonces se ejecuta la siguiente sentencia, y así sucesivamente. Un bloque es una unidad de ejecución mayor que la sentencia, y permite agrupar una secuencia de sentencias como una unidad. Para ello enmarcamos la secuencia de sentencias entre dos llaves para formar un bloque. Es posible el anidamiento de bloques.
  • 4. Declaraciones Globales y Locales Distinguiremos dos clases de declaraciones: globales y locales. Entidades globales son aquellas que han sido definidas fuera de cualquier bloque. Su ámbito de visibilidad comprende desde el punto en el que se definen hasta el final del fichero. Respecto a su tiempo de vida, se crean al principio de la ejecución del programa y se destruyen al finalizar este. Normalmente serán constantes simbólicas, definiciones de tipos, declaración de prototipos de subprogramas y definiciones de subprogramas.
  • 5. Declaraciones Globales y Locales Entidades locales son aquellas que se definen dentro de un bloque. Su ámbito de visibilidad comprende desde el punto en el que se definen hasta el final de dicho bloque. Respecto a su tiempo de vida, se crean en el punto donde se realiza la definición, y se destruyen al finalizar el bloque. Normalmente serán constantes simbólicas y variables locales.
  • 6. EJEMPLO 1(EJ7_1) Programa que hace el uso de variables locales y globales sobre la conversión de dólares a pesos mexicanos
  • 9. Declaraciones Globales y Locales Respecto al ámbito de visibilidad de una entidad, en caso de declaraciones de diferentes entidades con el mismo identificador en diferentes niveles de anidamiento, la entidad visible será aquella que se encuentre declarada en el bloque de nivel de anidamiento más interno. Es decir, cuando se solapa el ámbito de visibilidad de dos entidades con el mismo identificador, en dicha zona de solapamiento será visible el identificador declarado/definido en el bloque más interno. Sin embargo, no es una buena practica de programación ocultar identificadores al redefinirlos en niveles de anidamiento mas internos, ya que conduce a programas difíciles de leer y propensos a errores.
  • 11. Sentencias de Asignación La sentencia de asignación permite asignar a una variable el resultado de evaluar una expresión aritmética expresada en notación infija, de tal forma que primero se evalúa la expresión, considerando las reglas de precedencia y asociatividad de los operadores y a continuación el valor resultante se asigna a la variable, que pierde. Por ejemplo:
  • 13. Sentencias de Asignación Además, se definen las siguientes sentencias de incremento/decremento
  • 15. Sentencias de Asignación Nota: las sentencias de asignación vistas anteriormente se pueden utilizar en otras formas muy diversas, pero nosotros restringiremos su utilización a la expresada anteriormente, debido a que otras utilizaciones pueden dificultar la legibilidad y aumentar las posibilidades de cometer errores de programación.
  • 16. Sentencias de Asignación Nota: las sentencias de asignación vistas anteriormente se pueden utilizar en otras formas muy diversas, pero nosotros restringiremos su utilización a la expresada anteriormente, debido a que otras utilizaciones pueden dificultar la legibilidad y aumentar las posibilidades de cometer errores de programación.
  • 17. Sentencias de Selección Las sentencias de selección alteran el flujo secuencial de ejecución de un programa, de tal forma que permiten seleccionar flujos de ejecución alternativos y excluyentes dependiendo de expresiones lógicas. La más simple de todas es la sentencia de selección condicional if cuya sintaxis es la siguiente:
  • 19. Sentencias de Selección y cuya semántica consiste en evaluar la expresión lógica, y si su resultado es Verdadero (true) entonces se ejecuta la secuencia de sentencias entre las llaves. Ejemplo de programa que imprime el valor mayor de tres números:
  • 20. EJEMPLO (EJ7_2) y cuya semántica consiste en evaluar la expresión lógica, y si su resultado es Verdadero (true) entonces se ejecuta la secuencia de sentencias entre las llaves. Ejemplo de programa que imprime el valor mayor de tres números:
  • 23. ESTRUCTURAS DE CONTROL Otra posibilidad es la sentencia de selección condicional compuesta, que tiene la siguiente sintaxis:
  • 24. EJEMPLO (EJ7_3) y cuya semántica consiste en evaluar la expresión lógica, y si su resultado es Verdadero (true) entonces se ejecuta la <secuencia de sentencias v> . Sin embargo, si el resultado de evaluar la expresión lógica es Falso (false) entonces se ejecuta la <secuencia de sentencias f> . La sentencia de selección condicional se puede encadenar de la siguiente forma con el flujo de control esperado:
  • 26. ESTRUCTURAS DE CONTROL La sentencia switch es otro tipo de sentencia de selección en la cual la secuencia de sentencias alternativas a ejecutar no se decide en base a expresiones lógicas, sino en función del valor que tome una determinada expresión de tipo ordinal, es decir, una relación de igualdad entre el valor de una expresión y unos determinados valores constantes de tipo ordinal especificados. Su sintaxis es la siguiente:
  • 28. ESTRUCTURAS DE CONTROL en la cual se evalúa la expresión, y si su valor coincide con <valor 1> entonces se ejecuta la <secuencia de sentencias 1> . Si su valor coincide con <valor 2> o con <valor 3> se ejecuta la <secuencia de sentencias 2> y así sucesivamente. Si el valor de la expresión no coincide con ningún valor especificado, se ejecuta la secuencia de sentencias correspondiente a la etiqueta default (si es que existe). Nótese que la sentencia break; termina la secuencia de sentencias a ejecutar para cada caso. Ejemplo: