0% encontró este documento útil (0 votos)
49 vistas19 páginas

Practica 4

El documento presenta una serie de ejercicios prácticos sobre el uso de estructuras de control en programación, específicamente con las funciones WHILE y REPEAT. Se incluyen ejemplos de código y diagramas de flujo para imprimir secuencias numéricas, tablas de multiplicar, un juego de adivinar un número, y el cálculo de potencias usando sumas sucesivas. Cada ejercicio concluye con una reflexión sobre el aprendizaje obtenido y la aplicación de los conceptos en programación.

Cargado por

levelhace Jaja
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
49 vistas19 páginas

Practica 4

El documento presenta una serie de ejercicios prácticos sobre el uso de estructuras de control en programación, específicamente con las funciones WHILE y REPEAT. Se incluyen ejemplos de código y diagramas de flujo para imprimir secuencias numéricas, tablas de multiplicar, un juego de adivinar un número, y el cálculo de potencias usando sumas sucesivas. Cada ejercicio concluye con una reflexión sobre el aprendizaje obtenido y la aplicación de los conceptos en programación.

Cargado por

levelhace Jaja
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ANAHUAC CAMPUS NORTE

GRUPO B
ALGEBRA
PRÁCTICA 4
LUIS DAVID SALDAÑA LANDER
00551485
INGENIERÍA DE SISTEMAS
21/03/2025
[Link]: Entender la función WHILE mientras hacemos una
secuencia numérica.
28. Descripción:
Imprimir del 1 al 10 con WHILE
Pseudocódigo:
Entrada:
Proceso:
Salida:
Diagrama de Flujo:
┌────────────┐
│ INICIO │
└────┬───────┘


┌────────────┐
│ i=1 │
└────┬───────┘


┌───────────────┐
│ i <= 10 ? │
└───┬───────────┘
│Sí │No
▼ ▼
┌─────────┐ ┌───────┐
│ Imprimir│ │ FIN │
│ i │ └───────┘
└────┬────┘


┌───────────┐
│i=i+1│
└────┬──────┘

└───↩ (regresar a la condición)
Código:
Public Sub Main()
Dim x As Byte
x=1
While x <= 10
Print x
x=x+1
Wend
End

Prueba de Escritorio:

Conclusión:

El WHILE es una herramienta muy parecida al FOR con la excepción de


que aquí
se ahorra el especificar el STEP.

[Link]: Entender la función REPEAT mientras hacemos una


secuencia numérica.
29. Descripción:
Imprimir del 1 al 10 con REPEAT
Pseudocódigo:
Entrada:
Proceso
Salida:
Diagrama de Flujo:

Codigo:
Public Sub Main()
Dim x As Byte
x=1
Repeat
Print x
Inc x
Until x < 10
End

Conclusión:
Es importante recorder que antes del REPEAT necesitamos asignar un
valor inicial
y que a diferencia de aquí al menos se ejecuta un bloque.
[Link]: Entender la función WHILE mientras hacemos una
secuencia de números.
30. Descripción:
10 tablas de multiplicar con WHILE
Pseudocódigo:
Entrada:
Proceso:
Salida:

Diagrama de Flujo:
Conclusión:
Hay que recordar que es necesario agregar incrementos dentro de cada
ciclo para
que el programa haga lo que queremos de manera correcta

Código:
Public Sub Main()
Dim x As Byte
Dim y As Byte
x=1
While x <= 10
y=1
While y <= 10
Print x; "x"; y; "="; x * y
Inc y
Wend
Inc x
Wend
End

Prueba de Escritorio:
[Link]: Entender la función REPEAT mientras hacemos una
secuencia numérica.
31. Descripción:
10 tablas de multiplicar con REPEAT
Pseudocódigo:
Entrada:
Proceso:
Salida:
Diagrama de Flujo:
Código:
Public Sub Main()
Dim x As Byte
Dim y As Byte
x=1
While x = < 10
y=1
While y = < 10
Print x; "x"; y; "="; x * y
Inc y
Wend
Inc x
Wend
End
Prueba de Escritorio:

Conclusión:
Al principio fue confuso entender porque se usa una especie de
contradicción en
la condición respecto a otro tipo de ciclos.

[Link]:
32. Descripción:
Realice un juego de adivinar un número en el que la computadora
selecciona un número aleatorio entre 1 y 3000. El usuario tiene hasta 12
oportunidades para adivinar.
Pseudocódigo:
Diagrama de Flujo:
Código:
Public Sub Main()
Dim x As Short
Dim adiv As Short
Dim turn As Byte
Dim start As Boolean
Dim tim As Byte
Dim ganados As Byte
Dim perdidos As Byte
Dim a As Byte
Print "Tienes 12 oportunidades para adivinar un numero entre 1 y 3000?
"
While start = False
x = Int(Rnd(1, 3000.999))
turn = 1
Print "Adivina el numero"
While (adiv <> x) And (turn <= 12)
Input a
If a Div ">" x
Then
Print "Tu numero es mayor"
Inc turn
Else If adiv < x Then
Print "Tu numero es menor"
Inc turn
Else
Print "Ganaste El numero aleatorio era:"; x
Print "Turnos"; turn
Inc ganados
Endif
Wend
If adiv <> x Then
Print "PERDISTE El numero era:"; x
Inc perdidos
Endif
Print " Juegos ganados:"; ganados
Print "Juegos perdidos:"; perdidos
Print "Para seguir jugando ingresa 1 Para terminar jugar ingresa 2"
Input tim If tim <> 1 Then
start = True
Endif

Prueba de Escritorio:

Conclusión:
Dentro de este ejercicio la mejor aplicación y explicación de un ciclo
está dada en
cuando le preguntas al usuario si sigue jugando o termina el juego.

[Link]: Elaborar un programa complejo empleando de manera


correcta WHILE.
33. Descripción:
Calcular e imprimir los primeros cuatro números perfectos. Calcular
directamente, no utilizar la fórmula.
Realizar con WHILE
Pseudocódigo:
Entrada:
Proceso:
Salida:
Diagrama de Flujo:
Código:
Public Sub Main()
Dim hor As Byte
Dim min As Byte
Dim seg As Byte
Print "Ingrese las horas:"
Input hor
Print "Ingrese los minutos:"
Input min
Print "Ingrese los segundos:"
Input seg
While (hor <> 0) Or (min <> 0) Or (seg <> 0)
Print Format$(hor, "00"); ": ";
Print Format$(min, "00"); ": ";
Print Format$(seg, "00")
If seg > 0 Then
Dec seg
Else
If min > 0 Then
Dec min
seg = 59
Else
Dec hor
min = 59
seg = 59
Endif
Endif
Wend
Print Format$(hor, "00"); ": ";
Print Format$(min, "00"); ": ";
Print Format$(seg, "00")
End
Prueba de Escritorio:

Conclusión: Después de entender bien las bases en los ejercicios


pasados este ejercicio resultó relativamente sencillo

[Link]:
Dominar el uso de REPEAT y generar un programa que solicite horas,
minutos y segundos.
34. Descripción:
Realizar la impresión de un reloj en cuenta regresiva. Solicitar horas,
minutos y segundos. Utilizar 3 ciclos anidados.
Pseudocódigo:
Entrada:
Proceso:
Salida:
Diagrama de Flujo:
Código:
Public Sub Main()
Dim numero As Integer
Dim contadorPerfectos As Integer
Dim sumaDivisores As Integer

Print "Los primeros cuatro números perfectos son:"

While contadorPerfectos < 4


sumaDivisores = 0

For i As Integer = 1 To numero - 1


If numero Mod i = 0 Then
sumaDivisores += i
End If
Next

If sumaDivisores = numero Then


Print numero
contadorPerfectos += 1
End If

numero += 1
Wend

End

Conclusión:
Dominar el uso de REPEAT y generar un programa que solicite horas,
minutos y segundos.

[Link]:
Desarrollar un programa usando REPEAT pero en esta ocasión ya
pidiendo valores y realizando cálculos

35. Descripción:
Calcular e imprimir el valor de pi con una aproximación de n iteraciones.
Utilizar fórmulas de Euler, Leibniz y Wallis
Realizar con REPEAT

Pseudocódigo:

Entrada

Proceso

Salida

Diagrama de Flujo:
Código:
Public Sub Main()
Dim n As Integer
Dim i As Integer
Dim piEuler As Float
Dim piLeibniz As Float
Dim piWallis As Float
Dim sumaEuler As Float
Dim signo As Integer
Dim numeradorWallis As Float
Dim denominadorWallis As Float

Input "Ingrese el número de iteraciones: "; n

i=1
sumaEuler = 0
Repeat
sumaEuler += 1 / (i * i)
i += 1
Until i > n
piEuler = Sqr(sumaEuler * 6)

i=0
piLeibniz = 0
signo = 1
Repeat
piLeibniz += signo * (4 / (2 * i + 1))
signo = -signo
i += 1
Until i >= n

piWallis = 1
i=1
Repeat
numeradorWallis = 2 * i
denominadorWallis = (2 * i - 1)
piWallis *= (numeradorWallis / denominadorWallis)
denominadorWallis = (2 * i + 1)
piWallis *= (numeradorWallis / denominadorWallis)
i += 1
Until i > n
piWallis *= 2

Print
Print "Valor aproximado de ? con Euler: "; piEuler
Print "Valor aproximado de ? con Leibniz: "; piLeibniz
Print "Valor aproximado de ? con Wallis: "; piWallis

End

Conclusión:
Se calculó el valor de π usando las fórmulas de Euler, Leibniz y Wallis
mediante un bucle REPEAT.
[Link]:
Desarrollar un programa que solicite al usuario un número entero n y,
utilizando estructuras de control, imprima en pantalla únicamente las
unidades (del 0 al 9)
36. Descripción:

Imprimir tantos renglones como indique el usuario (valor de n). Imprimir


las unidades únicamente.

Pseudocódigo:

Entrada

Proceso

Salida
Diagrama de Flujo:
Código:
Public Sub Main()
Dim n As Integer
Dim i As Integer
Dim j As Integer
Dim espacio As Integer
Dim linea As String
Dim digito As String

Input "Ingrese el valor de n: "; n

i=1
While i <= n
digito = Str(i Mod 10)

linea = ""

j=1
Repeat
linea &= digito
j += 1
Until j > i
espacio = (n - i) * 4
j=1
Repeat
linea &= " "
j += 1
Until j > espacio

j=1
Repeat
linea &= digito
j += 1
Until j > i

Print linea
i += 1
Wend

i=n-1
While i >= 1
digito = Str(i Mod 10)
linea = ""

j=1
Repeat
linea &= digito
j += 1
Until j > i

espacio = (n - i) * 4
j=1
Repeat
linea &= " "
j += 1
Until j > espacio

j=1
Repeat
linea &= digito
j += 1
Until j > i
Print linea
i -= 1
Wend

End

Conclusión:
El programa desarrollado cumple con la función de imprimir únicamente
las unidades (dígitos del 0 al 9) repetidas la cantidad de renglones
indicada por el usuario (valor de n).

[Link]:El objetivo de este ejercicio es desarrollar un algoritmo que


permita calcular una potencia xnx^nxn utilizando únicamente sumas
sucesivas, sin emplear operadores de multiplicación (*) ni exponentes
(^).
37. Descripción:

Calcule x elevado a la n con sucesión de sumas. No puede utilizar


asterisco o circunflejo en todo del programa.

Realizar con WHILE, REPEAT o combinación de ambos.

Pseudocódigo:
Entrada
Proceso
Salida
Diagrama de Flujo:

Código:
Public Sub Main()
Dim x As Integer
Dim n As Integer
Dim i As Integer
Dim j As Integer
Dim resultado As Integer
Dim parcial As Integer

Input "Ingrese el valor de x: "; x


Input "Ingrese el valor de n: "; n

If n = 0 Then
Print "Resultado: 1"
Return
Endif

resultado = x
i=1

While i < n
parcial = 0
j=1

Repeat
parcial = parcial + resultado
j=j+1
Until j > x

resultado = parcial
i=i+1
Wend

Print "El resultado de "; x; " elevado a "; n; " es: "; resultado

End
Conclusión:
Mediante la resolución de este ejercicio se logró implementar un
algoritmo que calcula potencias a partir de sumas sucesivas, respetando
las restricciones establecidas

También podría gustarte