PRÁCTICA 1 - BrunoErickFríasReséndiz

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 62

UNIVERSIDAD ANÁHUAC

Grupo A
Algoritmos y Programación
Práctica 1

Bruno Erick Frías Reséndiz

ID: 00445605

Ingeniería Mecatrónica

10 septiembre 2021
EJERCICIO 1
Objetivo: Reconocer el funcionamiento de las diversas secuencias de PRINT.
Descripción del problema: Realizar un programa en donde se prueben las
diversas secuencias de PRINT (una por PRINT) y su comportamiento, así como
los 8 ejemplos de PRINT con x y.
Pseudocódigo:
DATOS DE ENTRADA
PEDIR x
PEDIR y
PROCESO
DATOS DE SALIDA
IMPRIMIR Hola a todos
IMPRIMIR
Hola
a
todos
IMPRIMIR “FRESKO” es una tienda
IMPRIMIR C:\\algoritmos\\practica1.docx
IMPRIMIR “x”
IMPRIMIR x
IMPRIMIR “x=”;x
IMPRIMIR “x=\t”;x
IMPRIMIR “x=”, x
IMPRIMIR x + y
IMPRIMIR “x + y = ”;x + y
IMPRIMIR x;“ + ”;y;“ = ”;x + y
Diagrama de flujo:

INICIO

PEDIR

x,y

IMPRIMIR

Hola a todos

Hola

todos

“FRESKO” es una tienda

C:\\algoritmos\\practica1.docx

IMPRIMIR

“x”

“x=”; x

“x=\t”;x

“x=”, x

x+y

“x + y = ”;x + y

x;“ + ”;y;“ = ”;x + y

FIN
Programa en GAMBAS
Public Sub Main()
Dim x As Byte
Dim y As Byte

Print "DAME VALOR 1"


Input X
Print "DAME VALOR 2"
Input Y
Print
Print "Hola \t" "a\t" "todos"
Print "Hola\n" "a\n" "todos"
Print "\"FRESKO\" es una tienda"
Print "C:\\\\algoritmos\\\\practica1.docx"
Print
Print "X"
Print X
Print "X="; X
Print "X=\t"; x
Print "x=", x
Print x + y
Print "x + y = "; x + y
Print x; " + "; y; " = "; x + y
End
Prueba de escritorio
PANTALLA
MEMORIA
𝒙 𝒚
𝟎 𝟎
2 3

Conclusiones
1. En mi opinión, la importancia de este programa es que nos ayuda a
comprender visualmente cómo trabajan las diferencias secuencias de
PRINT.

2. El conocimiento adquirido fue practicar la sintaxis de las diferentes


secuencias de PRINT.

3. Considero que las secuencias de PRINT se pueden utilizar en cualquier


tipo de programa, puesto que son ellas las que nos muestran en pantalla
todo aquello que nosotros deseemos, y saberlas utilizar, nos puede
ayudar a presentar la información de distintas maneras según lo
requiera el programa, por ejemplo, un programa que haga una
calculadora que nos muestre los pasos para resolver el ejercicio si lo
deseamos, o, únicamente puede mostrarnos el resultado.
EJERCICIO 2
Objetivo: Aprender a programar una calculadora que nos genere los
resultados de las operaciones matemáticas básicas entre 2 números.
Descripción del problema: Realizar un programa que solicite dos números
enteros y calcule todas las operaciones matemáticas.
Pseudocódigo:
DATOS DE ENTRADA
PEDIR x
PEDIR y
PROCESO
CALCULAR
suma= x+y
resta = x–y
multiplicación = x*y
división = x/y
div = x\y
módulo = x mod y
potencia = xy

DATOS DE SALIDA
suma
resta
multiplicación
división
div
módulo
potencia
Diagrama de flujo:

INICIO

PEDIR

x,y

CALCULAR

suma = x + y

resta = x – y

multiplicación = x*y

división = x/y

div = x\y

módulo = x mod y

potencia = xy

IMPRIMIR

suma
resta
multiplicación
división
div
módulo
potencia

FIN
Programa en GAMBAS
Public Sub Main()
Dim x As Integer
Dim y As Integer
Dim suma As Integer
Dim resta As Integer
Dim multiplicacion As Integer
Dim division As Single
Dim di As Integer
Dim modu As Integer
Dim potencia As Integer

Print "Dame valor 1"


Input x
Print "Dame valor 2"
Input y

suma = x + y
resta = x - y
multiplicacion = x * y
division = x / y
di = x \ y
modu = x Mod y
potencia = x ^ y

Print
Print x; " + "; y; " = "; suma
Print x; " - "; y; " = "; resta
Print x; " x "; y; " = "; multiplicacion
Print x; " / "; y; " = "; division
Print x; " DIV "; y; " = "; di
Print x; " MOD "; y; " = "; modu
Print x; " ^ "; y; " = "; potencia
End
Prueba de escritorio
PANTALLA

MEMORIA
𝒙 𝒚 𝒔𝒖𝒎𝒂 𝒓𝒆𝒔𝒕𝒂 𝒎𝒖𝒍𝒕𝒊𝒑𝒍𝒊𝒄𝒂𝒄𝒊𝒐𝒏 𝒅𝒊𝒗𝒊𝒔𝒊𝒐𝒏 𝒅𝒊 𝒎𝒐𝒅𝒖 𝒑𝒐𝒕𝒆𝒏𝒄𝒊𝒂
𝟎 𝟎 𝟎 𝟎 𝟎 𝟎. 𝟎 𝟎 𝟎 𝟎
10 5 15 5 50 2 2 0 100000

Conclusiones
1. En mi opinión, la importancia de este programa radica en que podemos
realizar las operaciones básicas matemáticas en el lenguaje de GAMBAS.

2. El conocimiento adquirido fue practicar la sintaxis de las diferentes


operaciones matemáticas básicas y, además, poder construir una
calculadora sencilla.

3. Considero que saber programar las operaciones básicas de matemáticas


son fundamentales, puesto que muchos programas las utilizan para
poder realizar cálculo en base a lo que el usuario requiera. Por ejemplo,
se me ocurre un programa que nos pueda dar los valores del perímetro,
el área y el volumen de una figura.
EJERCICIO 3
Objetivo: Ejercitar la sintaxis de las operaciones matemáticas más complejas.
Descripción del problema: Realizar un programa que calcule x1 y x2 utilizando
la fórmula general de 2º grado.
Pseudocódigo:
DATOS DE ENTRADA
PEDIR a
PEDIR b
PEDIR c
PROCESO
CALCULAR
x1 = (- b + (b * b - 4 * a * c) ^ 0.5) / (2 * a)
x2 = (- b - (b * b - 4 * a * c) ^ 0.5) / (2 * a)

DATOS DE SALIDA
x1
x2
Diagrama de flujo:

INICIO

PEDIR

a,b,c

CALCULAR

x1 = (- b + (b * b - 4 * a * c) ^ 0.5) / (2 * a)

x2 = (- b - (b * b - 4 * a * c) ^ 0.5) / (2 * a)

IMPRIMIR

x1

x2

FIN
Programa en GAMBAS
Public Sub Main()
Dim a As Short
Dim b As Short
Dim c As Short
Dim x1 As Single
Dim x2 As Single

Print "Dame valor de a"


Input a
Print "Dame valor de b"
Input b
Print "Dame valor de c"
Input c

x1 = (- b + (b * b - 4 * a * c) ^ 0.5) / (2 * a)
x2 = (- b - (b * b - 4 * a * c) ^ 0.5) / (2 * a)

Print
Print "La raíz 1 es "; x1
Print "La raíz 2 es "; x2
End

Prueba de escritorio
PANTALLA
MEMORIA
𝒂 𝒃 𝒄 𝒙𝟏 𝒙𝟐
𝟎 𝟎 𝟎 𝟎. 𝟎 𝟎. 𝟎
7 21 -28 1 -4

Conclusiones
1. En mi opinión, la importancia de este programa es que podemos
practicar la sintaxis de las operaciones matemáticas complejas,
tomando en cuenta el orden y jerarquía de las operaciones en GAMBAS.

2. El conocimiento adquirido fue practicar la sintaxis de las operaciones


matemáticas complejas, y además, poder identificar qué tipo de variable
tomar para los datos, ya que, en este programa, al tratarse de números
más complejos, debemos aprender a identificar si nuestros datos serán,
por ejemplo, tipo short o single, etc.

3. Considero que el hecho de poder programar operaciones matemáticas


complejas nos abre la puerta a muchas posibilidades. Por ejemplo,
podríamos utilizar este conocimiento para calcular las coordenadas de
una función cuadrática y poder graficarlas en papel ya que la
computadora nos daría los puntos necesarios para hacerlo.
EJERCICIO 4
Objetivo: Practicar la sintaxis de los operadores relacionales y la instrucción
ELSE-IF.
Descripción del problema: Pedir dos números al usuario imprimir:
➢ El primero es mayor ó
➢ El primero es menor ó
➢ Son iguales
Pseudocódigo:
DATOS DE ENTRADA

PEDIR x

PEDIR y

PROCESO

DETERMINAR

Si x > y (1)

Si x < y (2)

Si x = y (3)

SALIDA

Si x > y (1)

IMPRIMIR

x es mayor que y

Si x < y (2)

IMPRIMIR

x es menor que y

Si x = y (3)

IMPRIMIR

Ambas edades son iguales


Diagrama de flujo:

INICIO

PEDIR

x,y

sí ¿x > y?? no

sí ¿x < no
IMPRIMIR
y?
x es mayor
que y

IMPRIMIR IMPRIMIR
x es Ambas edades
menor son iguales
que y

FIN
Programa en GAMBAS
Public Sub Main()
Dim x As Byte
Dim y As Byte

Print "Escribe edad 1"


Input x
Print "Escribe edad 2"
Input y
Print

If x > y Then
Print x; " es mayor que "; y
Else If x < y
Print x; " es menor que "; y
Else
Print "Ambas edades son iguales"

Endif
End

Prueba de escritorio
PANTALLA
MEMORIA
𝒙 𝒚
𝟎 𝟎
31 45
Conclusiones
1. En mi opinión, la importancia de este programa es que utilizamos los
operadores lógicos y una de las sintaxis de la familia IF.

2. El conocimiento adquirido fue reconocer el funcionamiento de la


sintaxis del ELSE-IF, puesto que, al tener 3 posibles respuestas, la
debemos usar para que la computadora pueda comparar los datos
utilizando los operadores lógicos y darnos el resultado correcto.

3. Considero que el hecho de poder programar operaciones lógicas nos


permite realizar programas en los que se deban tomar decisiones o
comparar datos. Un ejemplo práctico sería hacer un programa que
compare los precios de los productos en un supermercado y que nos de
como resultado el producto más barato.
EJERCICIO 5
Objetivo: Usar la instrucción ELSE-IF de GAMBAS.
Descripción del problema: Realizar un menú donde se le pregunte al usuario
cuál de las siguientes opciones desea calcular:
1. Convertir de metros con centímetros a pies con pulgadas
2. Convertir de pies con pulgadas a metros con centímetros
3. Convertir de Kilómetros a millas
4. Convertir de Millas a Kilómetros.
5. Convertir de Kilogramos a Libras
6. Convertir de Libras a Kilogramos
Cualquier otra opción, imprimir opción no válida.
Utilizar ELSE-IF

Pseudocódigo:
DATOS DE ENTRADA
PEDIR c
PEDIR x
PEDIR y

PROCESO
DETERMINAR
Si c = 1 (1)
CALCULAR
pie = Int(((x * 100 / 2.54) + ( y / 2.54)) / 12)
pul = Int(((x * 100 / 2.54) + (y / 2.54)) – 12*pi)
ó
Si c = 2 (2)
CALCULAR
met = Int(x*0.3048)
cen = (Frac(x*0.3048) + (y*0.0254))
ó
Si c = 3 (3)
CALCULAR
mil = x / 1.609344
ó
Si c = 4 (4)
CALCULAR
kil = x * 1.609344
ó
Si c = 5 (5)
CALCULAR
lib = x / 0.45359237
ó
Si c = 6 (6)
CALCULAR
kilo = x * 0.45359237
ó
Si c >= 7 (7)

SALIDA
Si c = 1 (1)
IMPRIMIR
El resultado es x metros con y centímetros son pie pies con pul pulgadas
Si c = 2 (2)
IMPRIMIR
El resultado es x pies con y pulgadas son met metros con cen centímetros

Si c = 3 (3)
IMPRIMIR
El resultado es x kilómetros son mil millas

Si c = 4 (4)
IMPRIMIR
El resultado es x millas son kil kilómetros

Si c = 5 (5)
IMPRIMIR
El resultado es x kilogramos son lib libras

Si c = 6 (6)
IMPRIMIR
El resultado es x libras son kilo kilogramos

Si c >= 7 (7)
IMPRIMIR
Selección no válida, reintente
Diagrama de flujo:

INICIO

PEDIR

x,y

sí ¿c = no
1?

CALCULAR

pie = Int(((x * 100 / 2.54)


sí ¿c = no
2?
+ ( y / 2.54)) / 12)

pul = Int(((x * 100 / 2.54)


+ (y / 2.54)) – 12*pi)

CALCULAR sí ¿c = no
3?
met = Int(x*0.3048)

cen = (Frac(x*0.3048) +
(y*0.0254))

IMPRIMIR

El resultado es x CALCULAR
metros con y
mil = x / 1.609344
B
centímetros son
pie pies con pul
pulgadas
IMPRIMIR

El resultado es x pies
con y pulgadas son
met metros con cen
centímetros

IMPRIMIR

El resultado es x
kilómetros son mil
millas

A
B

sí ¿c = no
4?

CALCULAR
sí ¿c = no
5?
kil = x * 1.609344

sí ¿c = no
CALCULAR 6?

lib = x / 0.45359237

IMPRIMIR
CALCULAR
El resultado es x
millas son kil kilo = x * 0.45359237 IMPRIMIR
kilómetros
Selección no válida,
reintente
IMPRIMIR

El resultado es x
kilogramos son lib
libras

IMPRIMIR

El resultado es x
libras son kilo
kilogramos

FIN
Programa en GAMBAS
Public Sub Main()
Dim c As Byte
Dim x As Single
Dim y As Single
Dim pie As Single
Dim pul As Single
Dim met As Single
Dim cen As Single
Dim mil As Single
Dim kil As Single
Dim lib As Single
Dim kilo As Single

Print "Bienvenido al convertidor de unidades"


Print "Por favor seleccione el número del tipo de convertidor que desea
utilizar"
Print
Print "Las opciones son"
Print "1 = Convertir de metros con centímetros a pies con pulgadas"
Print "2 = Convertir de pies con pulgadas a metros con centímetros"
Print "3 = Convertir de kilómetros a millas"
Print "4 = Convertir de millas a kilómetros"
Print "5 = Convertir de kilogramos a libras"
Print "6 = Convertir de libras a kilogramos"

Print
Print "Introduzca el número del convertidor deseado"
Input c

If c = 1 Then
Print "Introduzca valor de metros"
Input x
Print "Introduzca valor de centímetros"
Input y
pie = Int(((x * 100 / 2.54) + (y / 2.54)) / 12)
pul = Int(((x * 100 / 2.54) + (y / 2.54)) - 12 * pie)
Print
Print "El resultado es "; x; " metros con "; y; " centímetros son "; pie; "
pies con "; pul; " pulgadas."
Else If c = 2 Then
Print "Introduzca valor de pies"
Input x
Print "Introduzca valor de pulgadas"
Input y
met = Int(x * 0.3048)
cen = Int((Frac(x * 0.3048) + (y * 0.0254)) * 100)
Print
Print "El resultado es "; x; " pies con "; y; " pulgadas son "; met; " metros
con "; cen; " centímetros."
Else If c = 3 Then
Print "Introduzca valor de kilómetros"
Input x
mil = x / 1.609344
Print
Print "El resultado es "; x; " kilómetros son "; mil; " millas."
Else If c = 4 Then
Print "Introduzca valor de millas"
Input x
kil = x * 1.609344
Print
Print "El resultado es "; x; " millas son "; kil; " kilómetros."
Else If c = 5 Then
Print "Introduzca valor de kilogramos"
Input x
lib = x / 0.45359237
Print
Print "El resultado es "; x; " kilogramos son "; lib; " libras."
Else If c = 6 Then
Print "Introduzca valor de libras"
Input x
kilo = x * 0.45359237
Print
Print "El resultado es "; x; " libras son "; kilo; " kilogramos."
Else
Print "Selección no válida, reintente"
Endif
End
Prueba de escritorio
PANTALLA

MEMORIA
𝒄 𝒙 𝒚 𝒎𝒆𝒕 𝒄𝒆𝒏
𝟎 𝟎. 𝟎 𝟎. 𝟎 𝟎. 𝟎 𝟎. 𝟎
2 10 2 3 9
Conclusiones
1. En mi opinión, la importancia de este programa radica en que para
realizarlo, debemos poner en práctica todo lo aprendido anteriormente,
tal como la sintaxis del ELSE-IF, las operaciones matemáticas complejas,
así como los operadores relacionales.

2. El conocimiento adquirido fue aprender sobre nuevas funciones


especiales dentro de GAMBAS. Tales fueron la función INT, la cual
devuelve el valor entero de un número y también, la función FRAC, la
cual nos da el valor decimal del número únicamente; estas funciones
fueron muy importantes para poder realizar las conversiones en las que
se encontraban los pies y pulgadas.

3. Considero que, con lo aprendido en este programa, se podrían realizar


otros ejemplos de aplicaciones, por ejemplo, un conversor de tipo de
cambio o también, aplicarlo a un programa que nos resuelva problemas
de física en los cuales sea necesario modificar unidades.
EJERCICIO 6
Objetivo: Utilizar la sintaxis de los operadores lógicos básicos y operadores
relacionales.
Descripción del problema: En una fábrica de computadoras se planea ofrecer
a los clientes un descuento que dependerá del número de computadoras que
compre. Si las computadoras son menos de cinco se les dará un 10% de
descuento sobre el total de la compra; si el número de computadoras es mayor
o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son
10 o más se les da un 40% de descuento. Solicitar al usuario el precio de la
computadora.
Pseudocódigo:
DATOS DE ENTRADA
PEDIR x
PEDIR y

PROCESO
DETERMINAR
Si x <= 4 (1)
CALCULAR
total10 = (x*y)*0.90
ó
Si x >= 5 AND x <= 9 (2)
CALCULAR
total20 = (x*y)*0.80
ó
Si x >= 10 (3)
CALCULAR
total40 = (x*y)*0.60
SALIDA
Si x <= 4 (1)
IMPRIMIR
Usted comprará x computadoras con el siguiente costo $ y el total es $ x * y se le aplicará
el 10% de descuento
El total con descuento del 10% es: total10

ó
Si x >= 5 AND x <= 9 (2)
IMPRIMIR
Usted comprará x computadoras con el siguiente costo $ y el total es $ x * y se le aplicará
el 20% de descuento
El total con descuento del 20% es: total20

ó
Si x >= 10 (3)
IMPRIMIR
Usted comprará x computadoras con el siguiente costo $ y el total es $ x * y se le aplicará
el 40% de descuento
El total con descuento del 40% es: total40
Diagrama de flujo:

INICIO

PEDIR

x,y

sí ¿x <= no
4?

CALCULAR
¿x >= 5
total10=(x*y)*0.90
sí AND no
x <= 9?

IMPRIMIR CALCULAR CALCULAR

Usted comprará x total20=(x*y)*0.80 total40=(x*y)*0.60


computadoras con el
siguiente costo $ y el
total es $ x * y se le
aplicará el 10% de
descuento"

El total con
descuento del 10% IMPRIMIR IMPRIMIR
es: total10
Usted comprará x Usted comprará x
computadoras con el computadoras con el
siguiente costo $ y el siguiente costo $ y el
total es $ x * y, se le total es $ x * y se le
aplicará el 20% de aplicará el 40% de
descuento" descuento"

El total con El total con


descuento del 20% descuento del 40%
es: total20 es: total40

FIN
Programa en GAMBAS
Public Sub Main()
Dim x As Byte
Dim y As Single
Dim total10 As Single
Dim total20 As Single
Dim total40 As Single

Print "\t\t\t\tBienvenido a la tienda de Hp Online"


Print
Print "El día de hoy tenemos la siguiente promoción"
Print
Print "Si compra menos de 5 computadoras, recibe\t" "10% de descuento"
Print "Si compra entre 5 y 9 computadoras, recibe\t" "20% de descuento"
Print "Si compra más de 10 computadoras, recibe\t" "40% de descuento"
Print
Print "Por favor indique el número de computadoras que comprará"
Input x
Print
Print "Indique el precio de la computadora"
Input y

total10 = (x * y) * 0.90
total20 = (x * y) * 0.80
total40 = (x * y) * 0.60

If x <= 4 Then
Print "Usted comprará "; x; " computadoras con el siguiente costo $"; y; ", el total
es $"; x * y; ", se le aplicará el 10% de descuento"
Print "El total con descuento del 10% es"
Print "$"; total10
Else If x >= 5 And x <= 9 Then
Print "Usted comprará "; x; " computadoras con el siguiente costo $"; y; ", el total
es $"; x * y; ", se le aplicará el 20% de descuento"
Print "El total con descuento del 20% es"
Print "$"; total20
Else
Print "Usted comprará "; x; " computadoras con el siguiente costo $"; y; ", el total
es $"; x * y; ", se le aplicará el 40% de descuento"
Print "El total con descuento del 40% es"
Print "$"; total40
Endif
End
Prueba de escritorio
PANTALLA

MEMORIA
𝒙 𝒚 𝒕𝒐𝒕𝒂𝒍𝟐𝟎
𝟎 𝟎. 𝟎 𝟎. 𝟎
7 2500 14000
Conclusiones
1. En mi opinión, la importancia de este programa es que a través de él,
podemos utilizar los operadores lógicos básicos, en este caso, AND y;
seguir practicando el uso del ELSE-IF

2. El conocimiento adquirido fue aprender a utilizar en un programa el


operador AND.

3. Considero que, con lo aprendido en este programa, se podrían realizar


otros ejemplos de aplicaciones, por ejemplo, un calificador de
restaurantes, en el que se compare el número de clientes con el precio,
y entre mayor sea el valor entre esa comparación, nos devuelva una
calificación entre 3 (Excelente, Bueno o Malo).
EJERCICIO 7
Objetivo: Ejercitar el uso de la instrucción ELSE-IF, los operadores relacionales,
los operadores lógicos básicos, las operaciones matemáticas básicas, así como
el uso de las diferentes secuencias de PRINT.
Descripción del problema: El costo de las llamadas telefónicas depende de la
zona geográfica en la que se encuentre el país destino y del número de minutos
hablados, en la siguiente tabla se presenta el costo del minuto por zona. Si la
llamada es entre las 10 de la noche y las seis de la mañana se realiza un 20 %
de descuento sobre el total de la llamada.

Pseudocódigo:
DATOS DE ENTRADA
PEDIR zona
PEDIR minu
PEDIR hora

PROCESO
DETERMINAR
Si (zona = 1 ) y ((hora >= 22) o (hora <= 6)) (1)
CALCULAR
totalmin = (minu*2)
desc = totalmin*0.20
total = totalmin - desc
ó
DETERMINAR
Si (zona = 1) y ((hora >= 7) o (hora <= 21)) (2)
CALCULAR
totalmin = (minu*2)
total = totalmin
ó
DETERMINAR
Si (zona = 2) y ((hora >= 22) o (hora <= 6)) (3)
CALCULAR
totalmin = (minu*2.5)
desc = totalmin*0.20
total = totalmin - desc
ó
DETERMINAR
Si (zona = 2) y ((hora >= 7) o (hora <= 21)) (4)
CALCULAR
totalmin = (minu*2.5)
total = totalmin
ó
DETERMINAR
Si (zona = 3) y ((hora >= 22) o (hora <= 6)) (5)
ó
CALCULAR
totalmin = (minu*4.5)
desc = totalmin*0.20
total = totalmin - desc
ó
DETERMINAR
Si (zona = 3) y ((hora >= 7) o (hora <= 21)) (6)
CALCULAR
totalmin = (minu*4.5)
total = totalmin
ó
DETERMINAR
Si (zona = 4) y ((hora >= 22) o (hora <= 6)) (7)
CALCULAR
totalmin = (minu*3.5)
desc = totalmin*0.20
total = totalmin - desc
ó
DETERMINAR
Si (zona = 4) y ((hora >= 7) o (hora <= 21)) (8)
CALCULAR
totalmin = (minu*3.5)
total = totalmin
ó
Si zona = 5 (5)
DETERMINAR
Si (zona = 5) y ((hora >= 22) o (hora <= 6)) (9)
CALCULAR
totalmin = (minu*6)
desc = totalmin*0.20
total = totalmin - desc
ó
DETERMINAR
Si (zona = 5) y ((hora >= 7) o (hora <= 21)) (10)
CALCULAR
totalmin = (minu*6)
total = totalmin

SALIDA
Si (zona = 1 ) y ((hora >= 22) o (hora <= 6)) (1)
IMPRIMIR
Llamada a América del Norte
totalmin
desc
total
ó
Si (zona = 1) y ((hora >= 7) o (hora <= 21)) (2)
IMPRIMIR
Llamada a América del Norte
totalmin
total
ó
Si (zona = 2) y ((hora >= 22) o (hora <= 6)) (3)
IMPRIMIR
Llamada a América central
totalmin
desc
total
ó
Si (zona = 2) y ((hora >= 7) o (hora <= 21)) (4)
IMPRIMIR
Llamada a América central
totalmin
total
ó
Si (zona = 3) y ((hora >= 22) o (hora <= 6)) (5)
IMPRIMIR
Llamada a América del Sur
totalmin
desc
total
ó
Si (zona = 3) y ((hora >= 7) o (hora <= 21)) (6)
IMPRIMIR
Llamada a América del Sur
totalmin
total
ó
Si (zona = 4) y ((hora >= 22) o (hora <= 6)) (7)
IMPRIMIR
Llamada a Europa
totalmin
desc
total
ó
Si (zona = 4) y ((hora >= 7) o (hora <= 21)) (8)
IMPRIMIR
Llamada a Europa
totalmin
total
ó
Si (zona = 5) y ((hora >= 22) o (hora <= 6)) (9)
IMPRIMIR
Llamada a Asia
totalmin
desc
total
ó
Si (zona = 5) y ((hora >= 7) o (hora <= 21)) (10)
IMPRIMIR
Llamada a Asia
totalmin
total
Diagrama de flujo:

INICIO

PEDIR

zona, minu, hora

sí ¿zona no
= 1?

sí ¿hora >= no
22 o hora sí ¿zona no
<=6? = 2?

CALCULAR CALCULAR
totalmin
(minu*2)
= totalmin =

¿hora >=
no
B
(minu*2) 22 o hora
desc = <=6?
total =
totalmin*0.20 totalmin
total =
totalmin - desc

CALCULAR
CALCULAR
IMPRIMIR
IMPRIMIR totalmin =
totalmin =
Llamada a (minu*2.5)
Llamada a (minu*2.5)
América
América desc =
del Norte total =
del Norte totalmin*0.20
totalmin
totalmin
totalmin total =
Desc totalmin - desc
total
total

IMPRIMIR
IMPRIMIR
Llamada a
Llamada a
América
América
central
central
totalmin
totalmin
Desc
total
total

A
B

sí ¿zona no
= 3?

sí ¿hora >= no
22 o hora sí ¿zona no
<=6? = 4?

CALCULAR CALCULAR
totalmin
(minu*4.5)
= totalmin =

¿hora >=
no
D
(minu*4.5) 22 o hora
desc = <=6?
total =
totalmin*0.20 totalmin
total =
totalmin - desc

CALCULAR
CALCULAR
IMPRIMIR
IMPRIMIR totalmin =
totalmin =
Llamada a (minu*3.5)
Llamada a (minu*3.5)
América
América desc =
del Sur total =
del Sur totalmin*0.20
totalmin
totalmin
totalmin total =
Desc totalmin - desc
total
total

IMPRIMIR
IMPRIMIR
Llamada a
Europa Llamada a
Europa
totalmin
totalmin
Desc
total
total

C
A C
D

sí ¿zona no
= 5?

¿hora >=
sí 22 o hora no
<=6? IMPRIMIR

“Introduce
una zona
válida”
CALCULAR CALCULAR
totalmin = totalmin =
(minu*6) (minu*6)
desc = total =
totalmin*0.20 totalmin
total =
totalmin - desc

IMPRIMIR
IMPRIMIR
Llamada a
Asia Llamada a
Asia
totalmin
totalmin
Desc
total
total

FIN
Programa en GAMBAS
Public Sub Main()
Dim zona As Byte
Dim minu As Single
Dim hora As Byte
Dim totalmin As Single
Dim desc As Single
Dim total As Single

Print "\t\t\t\tBienvenido a telefonía manzana"


Print
Print "Contamos con el servicio de telefonía siguiente:"
Print
Print "Clave\t\t" "Zona\t\t\t\t" "Precio por minuto"
Print "12\t\t" "1. América del Norte\t\t" "2"
Print "15\t\t" "2. América Central\t\t" "2.5 "
Print "18\t\t" "3. América del Sur\t\t" "4.5"
Print "19\t\t" "4. Europa\t\t\t" "3.5"
Print "23\t\t" "5. Asia\t\t\t\t" "6"

Print
Print "Ingresa el número del área a la que deseas llamar"
Input zona
Print "Ingresa el número de minutos que deseas llamar"
Input minu
Print "Ingresa la hora a la que estás llamando"
Input hora
Print

Print
If zona = 1 Then
Print "Llamada a América del Norte"
totalmin = minu * 2
Print minu; " Minutos\t" "$\t"; totalmin
If hora <= 6 Or hora >= 22 Then
desc = totalmin * 0.20
Print "Descuento\t" "$\t"; desc
total = totalmin - desc
Print "TOTAL\t\t" "$\t"; total
Else
Print "TOTAL\t\t" "$\t"; totalmin
Endif
Else If zona = 2 Then
Print "Llamada a América Central"
totalmin = minu * 2.5
Print minu; " Minutos\t" "$\t"; totalmin
If hora >= 22 Or hora <= 6 Then
desc = totalmin * 0.20
Print "Descuento\t" "$\t"; desc
total = totalmin - desc
Print "TOTAL\t\t" "$\t"; total
Else
Print "TOTAL\t\t" "$\t"; totalmin
Endif
Else If zona = 3 Then
Print "Llamada a América del Sur"
totalmin = minu * 4.5
Print minu; " Minutos\t" "$\t"; totalmin
If hora >= 22 Or hora <= 6 Then
desc = totalmin * 0.20
Print "Descuento\t" "$\t"; desc
total = totalmin - desc
Print "TOTAL\t\t" "$\t"; total
Else
Print "TOTAL\t\t" "$\t"; totalmin
Endif
Else If zona = 4 Then
Print "Llamada a Europa"
totalmin = minu * 3.5
Print minu; " Minutos\t" "$\t"; totalmin
If hora >= 22 Or hora <= 6 Then
desc = totalmin * 0.20
Print "Descuento\t" "$\t"; desc
total = totalmin - desc
Print "TOTAL\t\t" "$\t"; total
Else
Print "TOTAL\t\t" "$\t"; totalmin
Endif
Else If zona = 5 Then
Print "Llamada a Asia"
totalmin = minu * 6
Print minu; " Minutos\t" "$\t"; totalmin
If hora >= 22 Or hora <= 6 Then
desc = totalmin * 0.20
Print "Descuento\t" "$\t"; desc
total = totalmin - desc
Print "TOTAL\t\t" "$\t"; total
Else
Print "TOTAL\t\t" "$\t"; totalmin
Endif
Else
Print "Zona no válida, reingrese por favor"
Endif
End
Prueba de escritorio
PANTALLA

MEMORIA
𝒛𝒐𝒏𝒂 𝒎𝒊𝒏𝒖 𝒉𝒐𝒓𝒂 𝒕𝒐𝒕𝒂𝒍𝒎𝒊𝒏 𝒅𝒆𝒔𝒄 𝒕𝒐𝒕𝒂𝒍
𝟎 𝟎. 𝟎 𝟎 𝟎. 𝟎 𝟎. 𝟎 𝟎. 𝟎
4 15 23 52.5 10.5 42
Conclusiones
1. En mi opinión, la importancia de este programa es que a través de él,
podemos utilizar los operadores lógicos básicos, en este caso, AND y;
OR, además, seguir practicando el uso del ELSE-IF y las operaciones
matemáticas básicas.

2. El conocimiento adquirido fue aprender a utilizar en un programa el


operador OR. Además, aprender a relacionar 3 variables y obtener
diferentes resultados dependiendo de dichas variables.

3. Considero que, a partir de lo hecho con el programa, podríamos realizar


otro que nos genere el número de materias posibles por registrar
dependiendo el número de semestre, el número de créditos y que, en
caso de existir alguna restricción, nos reste el número de créditos
disponibles para ingresar, para darnos el total de créditos y materias
posibles de registrar.
EJERCICIO 8
Objetivo: Usar los operadores lógicos básicos y los operadores relacionales.
Además, aprender a usar el tipo de variable Sting.
Descripción del problema: Pedir la primera letra de la clasificación de la
película.

Pseudocódigo:
DATOS DE ENTRADA
PEDIR x
PROCESO
DETERMINAR
Si x = “A” o x = “a” (1)
ó
Si x = “B” o x = “b” (2)
ó
Si x = “C” o x = “c” (3)

ó
Si x ≠ “A”, “a”, “B”, “b”, “C”, “c” (4)
SALIDA
Si x = “A” o x = “a” (1)
IMPRIMIR
Clasificación: Todo público
ó
Si x = “B” o x = “b” (2)
IMPRIMIR
Clasificación: Adolescentes y Adultos
ó
Si x = “C” o x = “c” (3)
IMPRIMIR
Clasificación: Adultos
ó
Si x ≠ “A”, “a”, “B”, “b”, “C”, “c” (4)
IMPRIMIR
CLASIFICACIÓN NO VÁLIDA
Diagrama de flujo:

INICIO

PEDIR

sí ¿x = “A” no
OR “a”?

IMPRIMIR

Clasificación: ¿x = “B”
Todo público sí no
OR “b”?

IMPRIMIR

Clasificación:
sí ¿x = “C”
Adolescentes OR “c”?
no
y Adultos

IMPRIMIR IMPRIMIR

Clasificación: CLASIFICACIÓN
Adultos NO VÁLIDA

FIN
Programa en GAMBAS
Public Sub Main()
Dim x As String

Print "Por favor ingresa la primera letra de la clasificación de la película"


Input x
Print
If (x = "A") Or (x = "a") Then
Print "Clasificación: Todo púbico"
Else If (x = "B") Or (x = "b") Then
Print "Clasificación: Adolescentes y Adultos"
Else If (x = "C") Or (x = "c") Then
Print "Clasificación: Adultos"
Else
Print "CLASIFICACIÓN NO VÁLIDA"
Endif
End
Prueba de escritorio
PANTALLA

MEMORIA
𝒙
𝑵𝑼𝑳𝑳
4 bytes + 1 byte = 5 bytes
Conclusiones
1. En mi opinión, la importancia de este programa radica en que se pone
en práctica la variable STRING y además, para identificar qué tipo de
datos se pueden poner en este tipo de variable.

2. El conocimiento adquirido fue aprender la variable STRING y practicar el


uso del OR.

3. Considero que, con base en el funcionamiento de este programa,


podríamos hacer uno que nos separe los colores en base a su tendencia,
si es cálido o si es frío y, si no se introduce un color, marcar como “color
no válido.”
EJERCICIO 9
Objetivo: Practicar la instrucción ELSE-IF, las operaciones matemáticas básicas
y los operadores relacionales.
Descripción del problema: Calcular el monto total del Helado según la
siguiente tabla:

Pseudocódigo:
DATOS DE ENTRADA
PEDIR tam
PEDIR jar
PEDIR cer

PROCESO
DETERMINAR
Si tam = 1 (1)
preciotam= 10.00
ó
Si tam = 2 (2)
preciotam = 15.00
ó
Si tam = 3 (3)
preciotam = 20.00
ó
Si tam >= 4 (4)

DETERMINAR
Si jar = 1 (5)
preciojar = 6.00
ó
Si jar = 2 (6)
preciojar =8.00
ó
Si jar = 3 (7)
preciojar = 12.00
ó
Si jar >= 4 (8)

DETERMINAR
Si cer = 1 (9)
preciocer = 4.00
ó
Si cer = 2 (10)
preciocer =6.00
ó
Si cer = 3 (11)
preciocer = 11.00
ó
Si cer >= 4 (12)
CALCULAR
total = preciotam + preciojar + preciocer

SALIDA
Si tam = 1 (1)
IMPRIMIR
Precio del tamaño: $10.00
ó
Si tam = 2 (2)
IMPRIMIR
Precio del tamaño: $15.00
ó
Si tam = 3 (3)
IMPRIMIR
Precio del tamaño: $20.00
ó
Si tam >= 4 (4)
IMPRIMIR
Selección no válida

Si jar = 1 (5)
IMPRIMIR
Precio del jarabe: $6.00
ó
Si jar = 2 (6)
IMPRIMIR
Precio del jarabe: $8.00
ó
Si jar = 3 (7)
IMPRIMIR
Precio del jarabe: $12.00
ó
Si jar >= 4 (8)
IMPRIMIR
Selección no válida

Si cer = 1 (9)
IMPRIMIR
Precio del cereal: $4.00
ó
Si cer = 2 (10)
IMPRIMIR
Precio del cereal: $6.00
ó
Si cer = 3 (11)
IMPRIMIR
Precio del cereal: $11.00
ó
Si cer >= 4 (12)
IMPRIMIR
Selección no válida
IMPRIMIR
Tu total es: total

Diagrama de flujo:
Programa en GAMBAS
Public Sub Main()
Dim tam As Byte
Dim jar As Byte
Dim cer As Byte
Dim preciotam As Single
Dim preciojar As Single
Dim preciocer As Single
Dim total As Single

Print "\t\t\t\tBienvenido a Helados Nutrisa"


Print
Print "\t\tNuestro menú puede configurarse de la siguiente manera:"
Print
Print "Tamaño:"
Print "\t 1. Chico\t\t" "$10.00"
Print "\t 2. Mediano\t\t" "$15.00"
Print "\t 3. Grande\t\t" "$20.00"
Print
Print "Jarabe:"
Print "\t 1. Mermelada\t\t" "$6.00"
Print "\t 2. Cajeta\t\t" "$8.00"
Print "\t 3. Chocolate\t\t" "$12.00"
Print
Print "Cereal:"
Print "\t 1. Avena\t\t" "$4.00"
Print "\t 2. Amaranto\t\t" "$6.00"
Print "\t 3. Nuez\t\t" "$11.00"
Print
Print "Por favor ingrese el número del tamaño deseado"
Input tam
Print
Print "Por favor ingrese el número del jarabe deseado"
Input jar
Print
Print "Por favor ingrese el número del cereal deseado"
Input cer
Print
If tam = 1 Then
preciotam = 10.00
Print "Precio del tamaño: $10.00"
Else If tam = 2 Then
preciotam = 15.00
Print "Precio del tamaño: $15.00"
Else If tam = 3 Then
preciotam = 20.00
Print "Precio del tamaño: $20.00"
Else
Print "Selección no válida, reintentar"
End If
If jar = 1 Then
preciojar = 6.00
Print "Precio del jarabe: $6.00"
Else If jar = 2 Then
preciojar = 8.00
Print "Precio del jarabe: $8.00"
Else If jar = 3 Then
preciojar = 12.00
Print "Precio del jarabe: $12.00"
Else
Print "Selección no válida, reintentar"
End If
If cer = 1 Then
preciocer = 4.00
Print "Precio del cereal: $4.00"
Else If cer = 2 Then
preciocer = 6.00
Print "Precio del cereal: $6.00"
Else If cer = 3 Then
Print "Precio del cereal: $11.00"
preciocer = 11.00
Else
Print "Selección no válida, reintentar"
End If

total = preciotam + preciojar + preciocer


Print "Tu total es: $"; total
End
Prueba de escritorio
PANTALLA

MEMORIA
𝒕𝒂𝒎 𝒋𝒂𝒓 𝒄𝒆𝒓 𝒑𝒓𝒆𝒄𝒊𝒐𝒕𝒂𝒎 𝒑𝒓𝒆𝒄𝒊𝒐𝒋𝒂𝒓 𝒑𝒓𝒆𝒄𝒊𝒐𝒄𝒆𝒓 𝒕𝒐𝒕𝒂𝒍
𝟎 𝟎 𝟎 𝟎. 𝟎 𝟎. 𝟎 𝟎. 𝟎 𝟎. 𝟎
3 2 2 20.00 8.00 6.00 34.00
Conclusiones
1. En mi opinión, la importancia de este programa radica en que se pone
en práctica la variable SINGLE y, además, nos pide pensar en una manera
más simple de poder realizar cualquier combinación entre las variables.

2. El conocimiento adquirido fue aprender que el ELSE-IF es un algoritmo


bastante versátil, el cual nos permite realizar diversas funciones en un
programa sin necesitar programar todos los posibles resultados.

3. Considero que, con base en el funcionamiento de este programa,


podríamos hacer otro que nos permita preparar nuestro café preferido,
teniendo como variable el tipo de café, el tipo de leche y si lleva crema
batida o no.
EJERCICIO 10
Objetivo: Poner en práctica la sintaxis del IF-ELSE y los operadores lógicos
básicos.
Descripción del problema: Despertador
Solicitar al usuario el día de la semana y si se encuentra de vacaciones o no.
El programa debe imprimir: “Trabajas” o “No trabajas”
Únicamente utilizar un IF-ELSE

Pseudocódigo:
DATOS DE ENTRADA
PEDIR x
PEDIR y
PROCESO
DETERMINAR
Si (NOT (x=6) OR (x=7)) AND (NOT (y = 2)) (1)
ó
Si ((x = 6) OR (x = 7)) AND (y=2) (2)
SALIDA
Si (NOT (x=6) OR (x=7)) AND (NOT (y = 2)) (1)
IMPRIMIR
TRABAJAS
ó
Si ((x = 6) OR (x = 7)) AND (y=2) (2)
IMPRIMIR
NO TRABAJAS
Diagrama de flujo:

INICIO

PEDIR

¿(NOT (x=6)
sí OR (x=7)) AND no
(NOT (y=2))?

IMPRIMIR IMPRIMIR

TRABAJAS NO TRABAJAS

FIN
Programa en GAMBAS
Public Sub Main()
Dim x As Byte
Dim y As Byte

Print "\t\t\t\tDESPERTADOR"
Print
Print "DÍA"
Print "1 =\t" "LUNES"
Print "2 =\t" "MARTES"
Print "3 =\t" "MIÉRCOLES"
Print "4 =\t" "JUEVES"
Print "5 =\t" "VIERNES"
Print "6 =\t" "SÁBADO"
Print "7 =\t" "DOMINGO"
Print
Print "Status"
Print "1 = \t" "TRABAJAS"
Print "2 = \t" "NO TRABAJAS"
Print
Print "Introduce el número del día de la semana"
Input x
Print
Print "Introduce el número de tu status"
Input y
Print
If (Not (x = 6) Or (x = 7)) And (Not (y = 2)) Then
Print
Print "TRABAJAS"
Else
Print
Print "NO TRABAJAS"
Endif
End
Prueba de escritorio
PANTALLA

MEMORIA
𝒙𝒚
𝟎𝟎
3 2

Conclusiones
1. En mi opinión, la importancia de este programa es que podemos
apreciar la diferencia entre el funcionamiento del IF-ELSE y el ELSE-IF,
además del uso de los operadores lógicos como OR o AND.

2. El conocimiento adquirido fue aprender a generar un programa con la


secuencia del IF-ELSE y, aprender a utilizar el operador NOT.

3. Considero que, con base en el funcionamiento de este programa,


podríamos hacer otro programa que genere la diferencia entre una
respuesta correcta y el resto de las respuestas incorrectas en un examen
online.
BIBLIOGRAFÍA

1. Selley H., J. Sintaxis de Gambas. 5 septiembre 2021, de AyP, Anáhuac. Sitio web:
https://lab.anahuac.mx/~hselley/ayp/about.html

2. Fermat Pereda. [Elrincondefermat Pereda] (2010). Dev-c++ / ecuación de segundo


grado. YouTube. https://www.youtube.com/watch?v=S9AcpuN4Qm4

3. Rapid Tables. Conversión de Unidades. 6 septiembre 2021, de RapidTables.org. Sitio


web: https://www.rapidtables.org/convert/index.html

4. Apuntes de la materia.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy