Ejercicios del Primer
Corte En VB2008
Por Manuel Fernández y Lisbeth Pacheco
Ejercicios resueltos en el primer parcial traducidos al Visual
Basic 2008, se incluyen análisis y algoritmos en Algor. El
proceso de toma de datos es a través de proceso interactivo.
Contenido
Ejercicio 1
... 3
Análisis del Problema ... 3
Tabla de Variables ... 3
Algoritmo ... 3
Código en Visual Basic 2008 ... 3
Ejercicio 2
... 4
Análisis del Problema ... 4
Tabla de Variables ... 4
Algoritmo ... 4
Código en Visual Basic 2008 ... 5
Ejercicio 3
... 5
Análisis del Problema ... 5
Tabla de Variables ... 5
Algoritmo ... 5
Código en Visual Basic 2008 ... 6
Ejercicio 4
... 6
Análisis del Problema ... 7
Tabla de Variables ... 7
Algoritmo ... 7
Código en Visual Basic 2008 ... 8
Ejercicio 5
... 8
Análisis del Problema ... 9
Tabla de Variables ... 9
Algoritmo ... 9
Código en Visual Basic 2008 ... 10
Ejercicio 6
... 11
Análisis del Problema ... 11
Algoritmo ... 11
Código en Visual Basic 2008 ... 12
Ejercicio 7
... 13
Análisis del Problema ... 13
Tabla de Variables ... 13
Código en Visual Basic 2008 ... 14
Ejercicio 8
... 15
Análisis del Problema ... 15
Tabla de Variables ... 15
Algoritmo ... 15
Código en Visual Basic 2008 ... 16
Ejercicio 9
... 17
Análisis del Problema ... 17
Tabla de Variables ... 17
Algoritmo ... 17
Ejercicio 1
Dado un número, positivo, negativo o nulo, desarrolle un programa que determine e imprima el valor absoluto de dicho número, sabiendo que el valor absoluto de un número positivo o nulo es dicho número; mientras que el valor absoluto de un número negativo, es dicho número multiplicado por (-1).Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
Un valor positivo negativo o nulo El valor sin signo
Si el valor es negativo, se multiplica por la constante (-1) y se convierte en positivo; cualquier otro caso, se toma el número original
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
Un valor positivo, negativo o nulo X O Entero ⊗ Real O Lógico O Cadena El valor absoluto del valor anterior Y O Entero ⊗ Real O Lógico O Cadena
Algoritmo
Algoritmo onceVariables
X, Y: Real Inicio
Imprimir "Numero a determinar el valor absoluto:" Leer X Si X < 0 entonces Y <- X * (-1) sino Y <- X finsi
Imprimirln "Valor Absoluto del Numero es:", Y Fin
Código en Visual Basic 2008
Module Module1Sub Main()
'Declaración de Variables
Dim X, Y As Double
'Lectura de los datos
Console.WriteLine("Numero a determinar el valor absoluto:") X = Console.ReadLine()
'proceso para determinar los resultados
Y = X * (-1) Else
Y = X End If
'impresión de resultados
Console.WriteLine("Valor Absoluto del Numero es:" & Y)
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub
End Module
Ejercicio 2
Dados dos números cualesquiera, desarrolle un programa que imprima el mayor de los dos números.
Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
1. Un primer valor (A) 2. Un segundo Valor (B)
Imprimir el mayor valor entre ambos números
Si A > B Mayor es A, sino, Si B > A Mayor es B, sino, son iguales
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
Un primer valor A O Entero ⊗ Real O Lógico O Cadena
Un segundo valor B O Entero ⊗ Real O Lógico O Cadena
Algoritmo
Algoritmo doceVariables
A, B: Real Inicio
Imprimir "Primer Valor:" Leer A
Imprimir "Segundo Valor:" Leer B Si A > B entonces Imprimir A sino Si B > A entonces Imprimir B sino
Imprimir "Son iguales los valores" finsi
finsi Fin
Código en Visual Basic 2008
Module Module1 Sub Main() 'Declaración de Variables Dim A, B As Double'Lectura de los datos
Console.Write("Primer Valor:") A = Console.ReadLine
Console.Write("Segundo Valor:") B = Console.ReadLine
'proceso para determinar los resultados e impresión
If A > B Then
Console.WriteLine("El mayor valor es " & A) Else
If B > A Then
Console.WriteLine("El mayor valor es " & B) Else
Console.WriteLine("Son iguales los valores") End If
End If
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub
End Module
Ejercicio 3
Dados dos números cualesquiera, desarrolle un programa que imprima los valores ordenados en forma progresiva creciente, es decir, primero el menor de ellos y luego el otro.Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
1. Un primer valor (A) 2. Un segundo Valor (B)
Imprimir los valores en secuencia creciente
Si A > B Imprime B, A, sino, imprime A, B (incluye el caso de iguales)
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
Un primer valor A O Entero ⊗ Real O Lógico O Cadena
Un segundo valor B O Entero ⊗ Real O Lógico O Cadena
Algoritmo
Algoritmo treceVariables
A, B: Real Inicio
Imprimir "Primer Valor:" Leer A
Imprimir "Segundo Valor:" Leer B Si A > B entonces Imprimir B, " ", A sino Imprimir A, " ", B finsi Fin
Código en Visual Basic 2008
Module Module1Sub Main()
'Declaración de Variables
Dim A, B As Double
'Lectura de los datos
Console.Write("Primer Valor:") A = Console.ReadLine
Console.Write("Segundo Valor:") B = Console.ReadLine
'proceso para determinar los resultados e impresión
If A > B Then
Console.WriteLine(B, " ", A) Else
Console.WriteLine(A, " ", B) End If
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub
End Module
Ejercicio 4
Un sistema de ecuaciones lineales a*x + b*y = cd*x + e*y = f
Se puede resolver con las siguientes fórmulas: x=c*e - b*f a*e - b*d y=
a*f - c*d a*e - b*d
Desarrolle un programa que lea los coeficientes de ambas ecuaciones (a, b, c, d, e y f) y determine los valores de x e y. Cuidado: evite la división por cero e imprima el mensaje adecuado.
Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
1. Coeficiente de X en la 1ra Ec. 2. Coeficiente de Y en la 1ra Ec 3. Término independiente 1ra Ec 4. Coeficiente de X en la 2da Ec 5. Coeficiente de Y en la 2da Ec 6. Término independiente 2da Ec
El valor de X y el valor de Y que hacen cumplir al mismo tiempo ambas ecuaciones Si a∗e -b∗d ≠ 0 x=c*e - b*f a*e - b*d y= a*f - c*d a*e - b*d
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
Coeficiente a A O Entero ⊗ Real O Lógico O Cadena
Coeficiente b B O Entero ⊗ Real O Lógico O Cadena
Coeficiente c C O Entero ⊗ Real O Lógico O Cadena
Coeficiente d D O Entero ⊗ Real O Lógico O Cadena
Coeficiente e E O Entero ⊗ Real O Lógico O Cadena
Coeficiente f F O Entero ⊗ Real O Lógico O Cadena
Denominador de la Solución Deno O Entero ⊗ Real O Lógico O Cadena
Solución para X X O Entero ⊗ Real O Lógico O Cadena
Solución para Y Y O Entero ⊗ Real O Lógico O Cadena
Algoritmo
Algoritmo catorceVariables
a,b,c,d,e,f,deno,x,y: Real Inicio
Imprimir "Coeficiente a:" Leer a Imprimir "Coeficiente b:" Leer b Imprimir "Coeficiente c:" Leer c Imprimir "Coeficiente d:" Leer d
Imprimir "Coeficiente e:" Leer e
Imprimir "Coeficiente f:" Leer f
deno <- a*e - b*d si deno = 0 entonces
; si el denominador es cero, no existe solucion
Imprimir "No tiene solucion el sistema de ecuaciones" sino x <- (c*e-b*f)/deno y <- (a*f-c*d)/deno Imprimirln "X=",x Imprimirln "Y=",y finsi Fin
Código en Visual Basic 2008
Module Module1Sub Main()
'Declaración de Variables
Dim a, b, c, d, e, f, deno, x, y As Double 'Lectura de los datos
Console.Write("Coeficiente a:") a = Console.ReadLine Console.Write("Coeficiente b:") `b= Console.ReadLine Console.Write("Coeficiente c:") c = Console.ReadLine Console.Write("Coeficiente d:") d = Console.ReadLine
Console.Write("Coeficiente e:") e = Console.ReadLine
Console.Write("Coeficiente f:") f = Console.ReadLine
'proceso para determinar los resultados e impresión
deno = a * e - b * d If deno = 0 Then
' si el denominador es cero, no existe solucion
Console.WriteLine("No tiene solucion el sistema de ecuaciones") Else
x = (c * e - b * f) / deno y = (a * f - c * d) / deno
Console.WriteLine("La solución del sistema de ecuaciones planteado es")
Console.WriteLine("X=", x) Console.WriteLine("Y=", y) End If
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub
End Module
Ejercicio 5
La distancia entre dos puntos de coordenadas cartesianas (X1, Y1) y (X2, Y2) se determina como . Dadas las coordenadas cartesianas de tres puntos, desarrolle un programa que determine e imprima si el triángulo que forman es equilátero (tres lados iguales), isósceles (sólo dos lados iguales) o escaleno (tres lados diferentes). Determine e imprima, además, el valor del área que encierra según el método del semiperímetro.Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
1. Abscisa del Punto 1 2. Ordenada del Punto 1 3. Abscisa del Punto 2 4. Ordenada del Punto 2 5. Abscisa del Punto 3 6. Ordenada del Punto 3
1. Un mensaje impreso que indique si el triángulo es equilátero, isósceles o escaleno
2. El área que encierra el triángulo según su semiperímetro
1. Calcular las longitudes de los lados del triángulo (L1, L2, L3)
2. Verificar la forma e imprimir el mensaje correspondiente 3. Semiperímetro = (L1+L2+L3)/3 4. Área =(S∗(S–L1) ∗(S–L2) ∗(S–L3))^0.5
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
Abscisa del Punto 1 X1 O Entero ⊗ Real O Lógico O Cadena
Ordenada del Punto 1 Y1 O Entero ⊗ Real O Lógico O Cadena
Abscisa del Punto 2 X2 O Entero ⊗ Real O Lógico O Cadena
Ordenada del Punto 2 Y2 O Entero ⊗ Real O Lógico O Cadena
Abscisa del Punto 3 X3 O Entero ⊗ Real O Lógico O Cadena
Ordenada del Punto 3 Y3 O Entero ⊗ Real O Lógico O Cadena
Longitud P1 P2 L1 O Entero ⊗ Real O Lógico O Cadena
Longitud P2 P3 L2 O Entero ⊗ Real O Lógico O Cadena
Longitud P3 P1 L3 O Entero ⊗ Real O Lógico O Cadena
Semiperímetro S O Entero ⊗ Real O Lógico O Cadena
Área según Semiperímetro Area O Entero ⊗ Real O Lógico O Cadena
Abscisa del Punto 1 X1 O Entero ⊗ Real O Lógico O Cadena
Ordenada del Punto 1 Y1 O Entero ⊗ Real O Lógico O Cadena
Abscisa del Punto 2 X2 O Entero ⊗ Real O Lógico O Cadena
Ordenada del Punto 2 Y2 O Entero ⊗ Real O Lógico O Cadena
Abscisa del Punto 3 X3 O Entero ⊗ Real O Lógico O Cadena
Ordenada del Punto 3 Y3 O Entero ⊗ Real O Lógico O Cadena
Longitud P1 P2 L1 O Entero ⊗ Real O Lógico O Cadena
Algoritmo
Algoritmo quinceVariables
X1,Y1,X2,Y2,X3,Y3,L1,L2,L3,S,Area: Real Inicio
Imprimir "Abscisa del Punto 1:" Leer X1
Imprimir "Ordenada del Punto 1:" Leer Y1
Imprimir "Abscisa del Punto 2:" Leer X2
Imprimir "Ordenada del Punto 2:" Leer Y2
Imprimir "Abscisa del Punto 3:" Leer X3
Imprimir "Ordenada del Punto 3:" Leer Y3
; Distancia Punto 1 al Punto 2 (L1)
L1 <- ( (X2-X1)*(X2-X1) + (Y2-Y1)*(Y2-Y1) )^0.5 ; Distancia Punto 2 al Punto 3 (L2)
L2 <- ( (X3-X2)*(X3-X2) + (Y3-Y2)*(Y3-Y2))^0.5 ; Distancia Punto 3 al Punto 1 (L3)
L3 <- ( (X1-X3)*(X1-X3) + (Y1-Y3)*(Y1-Y3))^0.5 ; Verificar tipo de Triangulo
; L1=L2=L3 -> Equilatero, sino
; L1=L2 o L1=L3 o L2=L3 -> Isosceles, sino ; Escaleno
Si (L1=L2) AND (L2=L3) entonces
Imprimirln "Forman un Triangulo Equilatero" sino
Si (L1=L2) OR (L1=L3) OR (L2=L3) entonces Imprimirln "Forman un Triangulo Isosceles" sino
Imprimirln "Forman un Triangulo Escaleno" finsi
finsi
S <- (L1+L2+L3)/2
Area <- (S*(S-L1)*(S-L2)*(S-L3))^0.5 Imprimirln "Area del Triangulo=",Area Fin
Código en Visual Basic 2008
Module Module1
Sub Main()
'Declaración de Variables
Dim X1, Y1, X2, Y2, X3, Y3, L1, L2, L3, S, Area As Double 'Lectura de los datos
Console.Write("Abscisa del Punto 1:") X1 = Console.ReadLine
Console.Write("Ordenada del Punto 1:") Y1 = Console.ReadLine
Console.Write("Abscisa del Punto 2:") X2 = Console.ReadLine
Console.Write("Ordenada del Punto 2:") Y2 = Console.ReadLine
Console.Write("Abscisa del Punto 3:") X3 = Console.ReadLine
Console.Write("Ordenada del Punto 3:") Y3 = Console.ReadLine
'proceso para determinar los resultados e impresión
' Distancia Punto 1 al Punto 2 (L1)
L1 = ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1)) ^ 0.5 ' Distancia Punto 2 al Punto 3 (L2)
L2 = ((X3 - X2) * (X3 - X2) + (Y3 - Y2) * (Y3 - Y2)) ^ 0.5 ' Distancia Punto 3 al Punto 1 (L3)
L3 = ((X1 - X3) * (X1 - X3) + (Y1 - Y3) * (Y1 - Y3)) ^ 0.5 ' Verificar tipo de Triangulo
' L1=L2=L3 -> Equilatero, sino
' L1=L2 o L1=L3 o L2=L3 -> Isosceles, sino
If (L1 = L2) And (L2 = L3) Then
Console.WriteLine("Forman un Triangulo Equilatero") Else
If (L1 = L2) Or (L1 = L3) Or (L2 = L3) Then
Console.WriteLine("Forman un Triangulo Isosceles") Else
Console.WriteLine("Forman un Triangulo Escaleno") End If
End If
S = (L1 + L2 + L3) / 2
Area = (S * (S - L1) * (S - L2) * (S - L3)) ^ 0.5 Console.WriteLine("Area del Triangulo=" & Area)
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub
End Module
Ejercicio 6
Dados tres valores A, B y C, desarrolle un programa que, sin utilizar operadores lógicos, imprima el valor central y un mensaje que indique en que variable está contenido. Por ejemplo, si A=9, B=—3 y C= 2, el valor central es 2 y está contenido en la variable C.
Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
1. El valor A 2. El valor B 3. El valor C
Imprimir el valor central de los tres Verificando las relaciones entre ellos
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
El valor A A O Entero ⊗ Real O Lógico O Cadena
El valor B B O Entero ⊗ Real O Lógico O Cadena
El valor C C O Entero ⊗ Real O Lógico O Cadena
Algoritmo
Algoritmo dieciseisVariables
A, B, C: Real Inicio
Imprimir "Valor de A:" Leer A
Imprimir "Valor de B:" Leer B
Imprimir "Valor de C:" Leer C
; A <= B <= C ó C <= B <= A -> Valor B es central ; B <= A <= C ó C <= A <= B -> Valor A es central ; A <= C <= B ó B <= C <= A -> Valor C es central
; Como no se pueden usar AND u OR, solo se puede hacer una pregunta a la vez
Si A <= B entonces Si B <= C entonces
Imprimir "Valor Central es B:",B Sino ; A <= B, B > C
Si A <= C entonces ; A<C<B
Imprimir "Valor Central es C:",C Sino ; C<A<B
Imprimir "Valor Central es A:",A finsi
finsi sino ; B<A
Si C <= B entonces ; C<B<A Imprimir "Valor Central B:",B Sino ; B<A, B<C
Si A<=C entonces ; B<A<C
Imprimir "Valor Central A:",A Sino ; B<C<A
Imprimir "Valor Central C:",C finsi
finsi finsi Fin
Código en Visual Basic 2008
Module Module1Sub Main()
'Declaración de Variables
Dim A, B, C As Double 'Lectura de los datos
Console.Write("Valor de A:") A = Console.ReadLine
Console.Write("Valor de B:") B = Console.ReadLine
Console.Write("Valor de C:") C = Console.ReadLine
'proceso para determinar los resultados e impresión
' A <= B <= C ó C <= B <= A -> Valor B es central
' B <= A <= C ó C <= A <= B -> Valor A es central
' A <= C <= B ó B <= C <= A -> Valor C es central
'Como no se pueden usar AND u OR, solo se puede hacer una pregunta a la vez
If B <= C Then
Console.WriteLine("Valor Central es B:" & B) Else ' A <= B, B > C
If A <= C Then ' A<C<B
Console.WriteLine("Valor Central es C:" & C) Else ' C<A<B
Console.WriteLine("Valor Central es A:" & A) End If
End If Else ' B<A
If C <= B Then ' C<B<A
Console.WriteLine("Valor Central B:" & B) Else ' B<A, B<C
If A <= C Then ' B<A<C
Console.WriteLine("Valor Central A:" & A) Else ' B<C<A
Console.WriteLine("Valor Central C:" & C) End If
End If End If
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub
End Module
Ejercicio 7
Dados tres valores A, B y C, desarrolle un programa que, utilizando operadores lógicos, imprima el valor central y un mensaje que indique en que variable está contenido. Por ejemplo, si A=9, B=—3 y C= 2, el valor central es 2 y está contenido en la variable C.
Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
4. El valor A 5. El valor B 6. El valor C
Imprimir el valor central de los tres Verificando las relaciones entre ellos
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
El valor A A O Entero ⊗ Real O Lógico O Cadena
El valor B B O Entero ⊗ Real O Lógico O Cadena
Algoritmo diecisiete Variables
A, B, C: Real Inicio
Imprimir "Valor de A:" Leer A
Imprimir "Valor de B:" Leer B
Imprimir "Valor de C:" Leer C
Si (A<=B) and (B<=C) or (C<=B) and (B<=A) entonces Imprimir "Valor Central es B:",B
sino
Si (B<=A) and (A<=C) or (C<=A) and (A<=B) entonces Imprimir "Valor Central es A:",A
sino
Imprimir "Valor Central es C:",C finsi
finsi Fin
Código en Visual Basic 2008
Module Module1Sub Main()
'Declaración de Variables
Dim A, B, C As Double
'Lectura de los datos
Console.Write("Valor de A:") A = Console.ReadLine
Console.Write("Valor de B:") B = Console.ReadLine
Console.Write("Valor de C:") C = Console.ReadLine
'proceso para determinar los resultados e impresión
' A <= B <= C ó C <= B <= A -> Valor B es central
' B <= A <= C ó C <= A <= B -> Valor A es central
' A <= C <= B ó B <= C <= A -> Valor C es central
If (A <= B) And (B <= C) Or (C <= B) And (B <= A) Then Console.WriteLine("Valor Central es B:" & B)
Else
If (B <= A) And (A <= C) Or (C <= A) And (A <= B) Then Console.WriteLine("Valor Central es A:" & A)
Else
Console.WriteLine("Valor Central es C:" & C) End If
End If
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub
Ejercicio 8
Dada las coordenadas de un punto en el plano cartesiano, desarrolle un programa que, sin utilizar operadores lógicos, determine e imprima en que cuadrante está, o si está en el eje X, o en el eje Y, o el origen del plano cartesiano.Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
1. Abscisa del punto 2. Ordenada del punto
Imprimir una constante literal que indique en que cuadrante del plano cartesiano está, o en que eje, o si está en el origen
1. Cuadrante I: (X>0) y (Y>0) 2. Cuadrante II: (X <0) y (Y > 0) 3. Cuadrante III: (X<0) y (Y <0) 4. Cuadrante IV: (X>0) y (Y<0) 5. Eje X: (Y=0) y (X≠0)
6. Eje Y: (X=0) y (Y≠0) 7. Origen (X=0) y (Y=0)
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
Abscisa del punto X O Entero ⊗ Real O Lógico O Cadena
Ordenada del punto Y O Entero ⊗ Real O Lógico O Cadena
Algoritmo
Algoritmo dieciochoVariables
X, Y: Real Inicio
Imprimir "Abscisa del Punto:" Leer X
Imprimir "Ordenada del Punto:" Leer Y
;Cuadrante I: (X>0) y (Y>0) ;Cuadrante II: (X <0) y (Y > 0) ;Cuadrante III: (X<0) y (Y <0) ;Cuadrante IV: (X>0) y (Y<0) ;Eje X: (Y=0) y (X<>0)
;Eje Y: (X=0) y (Y<>0) ;Origen (X=0) y (Y=0)
Si X > 0 entonces ;Cuadrante I o IV o Eje Y Si Y > 0 entonces
Imprimir "Primer Cuadrante" Sino
Si Y < 0 entonces
Imprimir "Cuarto Cuadrante" Sino
Imprimir "Eje Y" Finsi
Finsi Sino
Si X < 0 entonces ;Cuadrante II o III, o Eje X Si Y > 0 entonces
Imprimir "Segundo Cuadrante" Sino
Si Y < 0 entonces
Imprimir "Tercer Cuadrante" Sino Imprimir "Eje X" Finsi Finsi Sino Si Y = 0 entonces
Imprimir "Origen de Coordenadas" Sino
Imprimir "Eje Y" FinSi
Finsi Finsi Fin
Código en Visual Basic 2008
Module Module1Sub Main()
'Declaración de Variables
Dim x, y As Double
'Lectura de los datos
Console.Write("Abscisa: ") x = Console.ReadLine
Console.Write("Ordenada:") y = Console.ReadLine
'proceso para determinar los resultados e impreifón
'Cuadrante I: (X>0) y (Y>0)
'Cuadrante II: (X <0) y (Y > 0)
'Cuadrante III: (X<0) y (Y <0)
'Cuadrante IV: (X>0) y (Y<0)
'Eje X: (Y=0) y (X<>0)
'Eje Y: (X=0) y (Y<>0)
'Origen (X=0) y (Y=0)
If x > 0 Then 'Cuadrante I o IV o Eje Y
If y > 0 Then
Console.WriteLine("Primer Cuadrante") Else
If y < 0 Then
Console.WriteLine("Cuarto Cuadrante") Else
Console.WriteLine("Eje Y") End If
End If Else
If x < 0 Then 'Cuadrante II o III o Eje X
If y > 0 Then
Console.WriteLine("Segundo Cuadrante") Else
If y < 0 Then
Else Console.WriteLine("Eje X") End If End If Else If y = 0 Then
Console.WriteLine("Origen de Coordenadas") Else
Console.WriteLine("Eje Y") End If
End If End If
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub
End Module
Ejercicio 9
Dada las coordenadas de un punto en el plano cartesiano, desarrolle un programa que,utilizando operadores lógicos, determine e imprima en que cuadrante está, o si está en el eje X, o en el eje Y, o el origen del plano cartesiano.
Análisis del Problema
¿Qué información estápresente?
¿Qué resultados exige? ¿Cómo lo logro?
3. Abscisa del punto 4. Ordenada del punto
Imprimir una constante literal que indique en que cuadrante del plano cartesiano está, o en que eje, o si está en el origen
8. Cuadrante I: (X>0) y (Y>0) 9. Cuadrante II: (X <0) y (Y > 0) 10. Cuadrante III: (X<0) y (Y <0) 11. Cuadrante IV: (X>0) y (Y<0) 12. Eje X: (Y=0) y (X≠0)
13. Eje Y: (X=0) y (Y≠0) 14. Origen (X=0) y (Y=0)
Tabla de Variables
Descripción del dato Nombre de la Variable Tipo de Dato
Abscisa del punto X O Entero ⊗ Real O Lógico O Cadena
Ordenada del punto Y O Entero ⊗ Real O Lógico O Cadena
Algoritmo
Algoritmo diecinueveVariables
X, Y: Real Inicio
Imprimir "Abscisa del Punto:" Leer X
Imprimir "Ordenada del Punto:" Leer Y
;Cuadrante I: (X>0) y (Y>0) ;Cuadrante II: (X<0) y (Y > 0) ;Cuadrante III: (X<0) y (Y <0) ;Cuadrante IV: (X>0) y (Y<0) ;Eje X: (Y=0) y (X<>0)
;Eje Y: (X=0) y (Y<>0) ;Origen (X=0) y (Y=0) Si (X>0) and (Y>0) entonces Imprimir "Primer Cuadrante" Sino
Si (X<0) and (Y>0) entonces Imprimir "Segundo Cuadrante" Sino
Si (X<0) and (Y<0) entonces Imprimir "Tercer Cuadrante" Sino
Si (X>0) and (Y<0) entonces Imprimir "Cuarto Cuadrante" Sino
Si (Y=0) and (X>0) entonces Imprimir "Eje X"
Sino
Si (X=0) and (Y<>0) entonces Imprimir "Eje Y"
sino
Imprimir "Origen de Coordenadas" Finsi Finsi Finsi Finsi Finsi Finsi Fin
Código en Visual Basic 2008
Module Module1Sub Main()
'Declaración de Variables
Dim x, y As Double
'Lectura de los datos
Console.Write("Abscisa: ") x = Console.ReadLine
Console.Write("Ordenada:") y = Console.ReadLine
'proceso para determinar los resultados e impreifón
'Cuadrante I: (X>0) y (Y>0)
'Cuadrante II: (X <0) y (Y > 0)
'Cuadrante III: (X<0) y (Y <0)
'Cuadrante IV: (X>0) y (Y<0)
'Eje X: (Y=0) y (X<>0)
'Eje Y: (X=0) y (Y<>0)
'Origen (X=0) y (Y=0)
If (x > 0) And (y > 0) Then
Else
If (x < 0) And (y > 0) Then
Console.WriteLine("Segundo Cuadrante") Else
If (x < 0) And (y < 0) Then
Console.WriteLine("Tercer Cuadrante") Else
If (x > 0) And (y < 0) Then
Console.WriteLine("Cuarto Cuadrante") Else
If (y = 0) And (x > 0) Then Console.WriteLine("Eje X") Else
If (x = 0) And (y <> 0) Then Console.WriteLine("Eje Y") Else
Console.WriteLine("Origen de Coordenadas") End If End If End If End If End If End If
'instrucción para que la ventana de ejecución quede activa hasta que el usuario no pulse una tecla
Console.ReadKey() End Sub