Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Ejercicios de Programación: Estructuras Condicionales, Bucles y Punteros, Apuntes de Fundamentos de la Informática

Muestra programas y diagramas de programación

Tipo: Apuntes

2022/2023

Subido el 17/03/2023

quetzal-hernandez-martinez-1
quetzal-hernandez-martinez-1 🇲🇽

1 documento

1 / 35

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Vista previa parcial del texto

¡Descarga Ejercicios de Programación: Estructuras Condicionales, Bucles y Punteros y más Apuntes en PDF de Fundamentos de la Informática solo en Docsity!

3.1 Estructuras de decisión

Control de Flujo Las sentencias estudiadas hasta ahora son ejecutadas una tras otra. El control de flujo de un lenguaje especifica el orden en el que se ejecuta cada sentencia. Las sentencias para controlar el flujo que podemos encontrar son:  Estructuras de decisión o selección  Estructuras de repetición ¿Qué es una estructura de decisión? Una estructura de decisión permite que la ejecución de un algoritmo tome distintos caminos, que llevan a distintos resultados, dependiendo de la condición o condiciones presentes en la estructura de decisión. Permite seleccionar la próxima sentencia a ejecutarse basándose en una condición (expresión o una variable lógica) que es evaluada y, en función del resultado (cierto o falso) de la evaluación, se bifurcará a un determinado punto para continuar la ejecución del programa. Una condición corresponde a una expresión lógica que puede contener operadores relacionales (<, >, <=, >=, =) o conectores lógicos:  “Y” (^, &)  “NO” (~)  “O” (v, ǀ) Al evaluar una condición, ésta puede arrojar un resultado booleano: verdadero o falso. 3.1.1 Simple Se utiliza cuando sólo se ejecutan acciones por la alternativa de verdadero o falso. Se evalúa la condición y si ésta se cumple se ejecuta un determinado grupo de instrucciones. En caso contrario se saltan dicho grupo de instrucciones.

  1. Evalúa la condición, en caso de que sea verdadera va al paso #2; en caso de que la condición sea falsa va al paso #3.
  2. Ejecuta las instrucciones de la Parte Verdadera y va al paso #3.
  3. Termina la estructura Condicional y continua secuencia del programa.

 Sintaxis: if (condición1) sentencia else if (condición2) sentencia else if (condición3) sentencia  Segmento de algoritmo: si (condición1) entonces sentencias si_no si (condición2) entonces sentencias si_no si (condición3) entonces sentencias fin_si fin_si fin_si A veces es importante utilizar las llaves para aclarar el sentido semántico de los if anidados, ya que estos empiezan a ser cada vez más grandes y por ende tienen más líneas de código las cuales si no definimos bien en que parte del programa se quieren realizar, se revolverían y el código sería inentendible.

SIMBOLOGÍA

1 Clase

2 Atributos

3 Acciones

Línea de flujo

Garage

maxCoches=

Entra auto

Sale auto

El garage esta lleno

Devuelve booleano

con respuesta

Diagrama

de flujo

D.F VS D.C Diagrama

de clase

D.F VS D.S Diagrama

de

secuencia

Inicio Se diferencia

en la forma de

estructurarlo,

en la de clase

es mucho

más simple a

manera de

compactar el

programa que

se trabaja, y a

diferencia del

diagrama de

flujo este

último se

estructura con

mas detalle y

lo hace mas

amplio

Garage

maxCoches=

Entra auto

Sale auto

Son un poco

similares en

cuanto a la

estructura ya

que dan los

pasos más

detallados

visualmente,

sin embargo

la principal

diferencia es

que el de

secuencia

muestra de

mejor manera

las acciones

gracias a su

línea de vida

y al mensaje.

Se establecen

objetos

sistema y

garage

Garage

maxCoches=

Condiciona si

el garage esta

lleno

Si esta lleno

devuelve un

booleano con

la respuesta

Cuando no

esta lleno

entra auto y

después sale

El garage

esta lleno

Devuelve

booleano con

la respuesta

maxCoches=

Condiciona si

el garage esta

lleno

Si esta lleno

devuelve un

booleano con

la respuesta

Cuando no

esta lleno

entra auto y

después sale

Final Terminamos Finalizamos

Diagrama

de flujo

D.F VS D.C Diagrama

de clase

D.F VS D.S Diagrama

de

secuencia

Inicio Se diferencia

en la forma de

estructurarlo,

en la de clase

es mucho

más simple a

manera de

compactar el

programa que

se trabaja, y a

diferencia del

diagrama de

flujo este

último se

estructura con

mas detalle y

lo hace mas

amplio

Garage

Auto azul

Auto rojo

Son un poco

similares en

cuanto a la

estructura ya

que dan los

pasos más

detallados

visualmente,

sin embargo

la principal

diferencia es

que el de

secuencia

muestra de

mejor manera

las acciones

gracias a su

línea de vida

y al mensaje.

Se establecen

objetos

garage, auto

azul y auto

rojo

Garage

Auto azul

Auto rojo

Entra auto

azul

Entra auto

rojo

Sale auto rojo

Entra auto

azul

Entra auto

rojo

Sale auto rojo

Entra auto

azul

Entra auto

rojo

Sale auto rojo

Final Terminamos Finalizamos

del bloque de sentencias. Una vez que ya se realizó el bloque de sentencias en la parte final se encuentra la condición, en ese momento se evalúa y si es falsa deja de repetir el bloque de sentencias, pero si es verdadera continúa repitiendo el bloque de sentencias; por lo tanto un ejemplo de este ciclo es el do – while; el cual primero realiza el bloque de sentencias sin importar la condición y al final evalúa la condición. En este caso el ciclo do – while por fuerza siempre realiza al menos una vez todas las sentencias que se encuentran dentro de él, sin importar que la expresión de la condición sea falsa desde un principio, mientras que el ciclo while si su condición es falsa en un principio nunca se ejecuta el bloque de sentencias ni una sola vez, solo cuando esta sea verdadera. Pre y Post Condicional La instrucción iterativa que acabamos de estudiar es una estructura iterativa pre- condicional. Se llama así a aquellas estructuras cuyas componentes son tales que la expresión booleana se comprueba antes de ejecutar el cuerpo (o ciclo) del bucle: primero se evalúa la condición y si es verdadera se ejecuta el bloque de acciones. Por contra están los bucles post-condicionales. Son aquellos en los que primero se ejecuta el bloque de acciones y luego se evalúa la condición. Existen dos tipos de bucles pot-condicionales.

  1. Aquellos donde si es falsa la condición se ejecuta nuevamente el bloque de acciones. El ciclo finaliza cuando la condición toma el valor de verdadero. Esta instrucción suele conocerse como do-until.
  2. Aquellos otros donde el ciclo se ejecutará mientras el valor de la condición sea verdadero. Esta instrucción suele conocerse como do-while. Notar que, a diferencia de la pre-condicional, en las post-condicionales el ciclo se ejecuta al menos una vez. Estructura de Iteración while Analizaremos el ciclo while por primera instancia el cual primero evalúa la condición para luego entonces, si ésta se cumple o es (verdadera) realice el bloque de sentencias de dicha estructura, de lo contrario el control del programa pasará a la siguiente instrucción inmediata después del ciclo de repetición, ejemplo de esto es el siguiente diagrama de flujo donde se muestra como el ciclo while para poder realizar un bloque de sentencias

determinado, primero tiene que evaluar su condición (expresión lógica) mientras esta sea verdadera se ejecuta el bloque de sentencias y si está condición es falsa el programa dirige su flujo a la sentencia siguiente instrucción inmediata después del ciclo de repetición como se muestra a continuación. Estructura de iteración Do – While: El ciclo hacer – mientras (do – while ), es muy similar al ciclo while antes visto ambos realizan un ciclo de repetición, solo cambia la manera en que se acomoda la condición dentro del ciclo de repetición. A veces es importante que un ciclo de repetición se ejecute al menos una vez antes de comprobar la condición, en el ciclo while si la expresión booleana era falsa no se ejecutaba el bloque de sentencias, por eso en ocasiones es necesario contar con otro tipo de estructuras de repetición. El ciclo do – while repite todo el bloque de sentencias al menos una vez ya que al entrar a este nunca evalúa alguna condición, por lo tanto, entra y empieza a ejecutar las sentencias; hasta llegar al final de estas, es entonces donde compara la condición para determinar si ésta es falsa o verdadera. Si la condición es falsa el flujo del programa continúa en la siguiente instrucción fuera del ciclo de repetición, pero si esta es verdadera entonces regresa el flujo al bloque inicial de instrucciones del ciclo de repetición y vuelve

Acumulador=Acumulador + variable.

Mostrar loop

¿Cuántas vueltas

damos?

Dar valor de las

vueltas

Dar y contar las

vueltas

SIMBOLOGÍA

1 Clase

2 Atributos

3 Acciones

Línea de flujo

If (i<max)

Se repite el programa

Diagrama

de flujo

D.F VS D.C Diagrama

de clase

D.F VS D.S Diagrama

de

secuencia

Inicio Se diferencia

en la forma de

estructurarlo,

en la de clase

es mucho

más simple a

manera de

compactar el

programa que

se trabaja, y a

diferencia del

diagrama de

flujo este

último se

estructura con

más detalle y

lo hace más

amplio

Mostar loop Son un poco

similares en

cuanto a la

estructura ya

que dan los

pasos más

detallados

visualmente,

sin embargo,

la principal

diferencia es

que el de

secuencia

muestra de

mejor manera

las acciones

gracias a su

línea de vida

y al mensaje.

Se establecen

objetos

pantalla y

loop

Vamos a

mostrar un

loop

i=0 max=

¿Cuántas

vueltas

damos?

Dar valor de

vueltas

(Si es menor

o igual que

max el

programa se

retorna)

Contar las

vueltas

¿Cuántas

vueltas

damos?

Dar valor de

vueltas

(Si es menor

o igual que

max el

programa se

retorna)

Contar las

vueltas

¿Cuántas

vueltas

damos?

Dar valor de

vueltas

(Si es menor

o igual que

max el

programa se

retorna)

Contar las

vueltas

Final Terminamos Finalizamos

Test

Chester es un perro

cuya edad es

Dacsxi es una perra

cuya edad es

Ingresar valor de las

edades

SIMBOLOGÍA

1 Clase

2 Atributos

3 Acciones

Línea de flujo

Valor = 8

Valor = 1

Ladra

Valor diferente a 8 y

El test se reinicia