Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Computación e I nformática
ESTRUCTURAS BÁSI CAS
P rof. Luis Alberto Ramírez Chero
I nstructor
ramirez@idat.edu.pe
Estructuras Básicas
Debes de tener en cuenta que nuestros
contenidos han sido trabajados y revisados con
la finalidad de que sean muy fáciles de
comprender
Iniciamos, adelante ¡!!!
CARACTERÍSTICAS DE UN ALGORITMO
Las características del algoritmo son:
Ø Debe ser preciso e indicar el orden de realización de cada paso.
Ø Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada
vez.
Ø Ser finito. Se debe terminar en algún momento; o sea debe de tener un número finito de
pasos.
OPERADORES ARITMÉTICOS
Ø Los operadores aritméticos son los más sencillos de entender y de utilizar. Todos ellos son
operadores binarios.
Ø Se utilizan los operadores siguientes:
OPERADOR SIGNIFICADO
+ SUMAR
‐ RESTAR
* MULTIPLICAR
\, DIV DIVISIÓN ENTERA
/ DIVISIÓN REAL
MOD, % RESTO ARITMÉTICO
↑ POTENCIACIÓN
Ø Una característica imprescindible de cualquier lenguaje de programación es la de
considerar alternativas, esto es, la de proceder de un modo u otro según se cumplan o
no ciertas condiciones.
Ø Los operadores relacionales permiten estudiar si se cumplen o no esas condiciones.
Ø En un programa si una condición se cumple, el resultado es cierto; en caso contrario, el
resultado es falso.
Ø Los operadores relacionales son los siguientes
OPERADOR SIGNIFICADO
> MAYOR
< MENOR
>= MAYOR o IGUAL
<= MENOR o IGUAL
= IGUAL
<> DIFERENTE
QUE ES UNA VARIABLE
Ø Es una entidad con nombre único en un algoritmo y a la que se le puede asignar un valor y
luego realizar algún tipo de cálculo o comparación.
Ø Las variables pueden asumir valores numéricos, alfanuméricos y lógicos.
Ø Existen 2 tipos de duración o ámbito de las variables, estas son (GLOBAL Y LOCAL). Las
variables globales se pueden utilizar en cualquier parte del Algoritmo y las variables locales
son dentro de un sub‐programa (Procedimiento o Función).
Ø El nombre de una variable está formada por una colección de caracteres alfabéticos
(‘A’..’Z’,’a’..’z’), dígitos (‘0’..’9’) y por el carácter subrayado (_).
Ø El nombre de una variable siempre debe comenzar por un carácter alfabético o por el
carácter subrayado.
Ø El nombre de una variable “JAMAS” debe comenzar con un digito.
Ø El nombre de una variable no debe contener espacios en blanco o caracteres especiales
tales como (“, #, $, %, &, @, etc).
Ø El nombre de una variable no debe coincidir con una palabra clave de un algoritmo (SI,
SINO, MIENTRAS, PARA, REPETIR, etc…)
TIPO DE DATOS
ESTRUCTURA DE UN ALGORITMO EN PSEUDOCÓDIGO
En pseudocódigo el algoritmo tiene tres partes: la cabecera, la zona de declaración de
constantes y variables y el cuerpo.
1. La cabecera contiene el nombre del algoritmo.
2. La zona de declaraciones de variables y constantes establece qué variables y
constantes vamos a usar, indicando junto al nombre el tipo de las mismas y el valor en
el caso de las constantes.
3. El cuerpo del algoritmo es el que contiene las instrucciones que indican las acciones a
realizar por el programa.
Ø Comienza con la palabra Inicio y termina con la palabra Fin (o palabras
similares).
Creando nuestro Primer Proyecto
Primero nos vamos a inicio‐ Ejecutar y llamaremos al Visual Studio Net por su acceso directo
Ahora vamos a crear un Proyecto, para ello nos vamos a Archivo, Nuevo Proyecto y luego
seleccionamos Visual Basic – Aplicación de Consola
Ahora si queremos cambiar el orden de los módulos para comprobar nuestros algoritmos, nos
vamos a Proyecto y seleccionamos la última opción que son las Propiedades, luego
seleccionamos el modulo a ejecutar
ALGORITMO PROB1
VARIABLES
ENTERO:NUM,DOBLE,CUB
REAL:PART
INICIO
LEER(NUM)
DOBLE=NUM*2
PART=NUM/3
CUB=NUM↑3
ESCRIBIR(DOBLE,PART,CUB)
FIN
Código Visual Basic
Imports System.Console
Module Module1
Sub Main()
Dim num, doble, cub As Integer
Dim part As Double
Write("Ingrese un Numero: ") : num = ReadLine()
doble = num * 2
part = num / 3
cub = num ^ 3
WriteLine("El doble es "& doble)
WriteLine("La Tercera Parte es "& part)
WriteLine("El Cubo es "& cub)
Read()
End Sub
End Module
Código Visual Basic
Imports System.Console
Module Module2
Sub main()
Dim m, cm As Integer
Dim pulg As Double
Write("Ingrese Cantidad de Metros:") : m = ReadLine()
cm = m * 100
pulg = cm / 2.54
WriteLine("La cantidad de Centimetro es "& cm)
WriteLine("La cantidad de Pulgada es "& pulg)
Read()
End Sub
End Module
3. Ingrese por teclado la descripción y precio de un producto, actualizar el precio de la
siguiente manera:
a) Incremente el precio al 35% del precio ingresado.
b) El nuevo precio es la suma del precio inicial más el incremento
Pseudocódigo
ALGORITMO PROB3
VARIABLES
REAL:PRE,INC,NUEVO
CADENA:PROD
INICIO
LEER(PROD,PRE)
INC=(35/100)*PRE
NUEVO=PRE+INC
ESCRIBIR(INC,NUEVO)
FIN
Imports System.Console
Module Module3
Sub main()
Dim pre, inc, nuevo As Double
Dim prod As String
Write("Ingrese el Producto:") : prod = ReadLine()
Write("Ingrese el Precio:") : pre = ReadLine()
inc = (35 / 100) * pre
nuevo = pre + inc
WriteLine("EL incremento es "& inc)
WriteLine("EL Nuevo Precio es "& nuevo)
Read()
End Sub
End Module
4. Ingrese por teclado el nombre del producto, el precio unitario y la cantidad vendida,
calcule y visualice:
a) El importe de la compra que es el producto del precio por la cantidad vendida.
b) El IGV que representa el 18% del importe de la compra
c) El importe final que es la suma del importe de la compra más el IGV
Pseudocódigo
ALGORITMO PROB4
VARIABLES
REAL:PRE,IMPOR,IGV,FINAL
ENTERO:CAN
CADENA:PROD
INICIO
LEER(PROD,PRE,CAN)
IMPOR=PRE*CAN
IGV=(18/100)*IMPOR
FINAL=IMPOR+IGV
ESCRIBIR(IMPOR,IGV,FINAL)
FIN
Imports System.Console
Module Module4
Sub main()
Dim pre, can, impor, igv, final As Double
Dim prod As String
Write("Ingrese Producto:") : prod = ReadLine()
Write("Ingrese Precio:") : pre = ReadLine()
Write("Ingrese Cantidad:") : can = ReadLine()
impor = pre * can
igv = (18 / 100) * impor
final = impor + igv
WriteLine("El importe es "& impor)
WriteLine("El IGV es "& igv)
WriteLine("El Total a Pagar es "& final)
Read()
End Sub
End Module
5. Ingrese por teclado un número de tres cifras, calcule y visualice:
a) Suma de sus cifras
b) Promedio de las cifras
Pseudocódigo
ALGORITMO P5
VARIABLES
ENTERO:NUM,C,D,U,SUMA
REAL:PROM
INICIO
LEER(NUM)
C=NUM\100
D=(NUM MOD 100)\10
U=NUM MOD 10
SUMA=C+D+U
PROM=SUMA/3
ESCRIBIR(SUMA,PROM)
FIN
Imports System.Console
Module Module5
Sub main()
Dim num, c, d, u, suma As Integer
Dim prom As Double
Write("Ingrese un Numero: ") : num = ReadLine()
c = num \ 100
d = (num mod 100) \ 10
u = num mod 10
suma = c + d + u
prom = suma / 3
WriteLine("La suma es "& suma)
WriteLine("El Promedio es "& prom)
Read()
End Sub
End Module
6. Ingrese por teclado un número de dos cifras, mostrar el número pero en sentido inverso.
Pseudocódigo
ALGORITMO P6
VARIABLES
ENTERO:NUM,D,U,INV
INICIO
LEER(NUM)
D=NUM\10
U=NUM MOD 10
INV=U*10+D
ESCRIBIR(INV)
FIN
Código Visual Basic
Imports System.Console
Module Module6
Sub main()
Dim num, d, u, inv As Integer
Write("Ingrese un Numero: ") : num = ReadLine()
d = num \ 10
u = num Mod 10
inv = u * 10 + d
WriteLine("El numero invertido es "& inv)
Read()
End Sub
End Module
Socio % Acciones
A 35%
B 45%
C 20%
Ingrese por teclado el monto de dinero, visualice el importe que recibirá cada uno de los
accionistas.
Pseudocódigo
ALGORITMO P7
VARIABLES
REAL:MONTO,A,B,C
INICIO
LEER(MONTO)
A=MONTO*(35/100)
B=MONTO*(45/100)
C=MONTO*(20/100)
ESCRIBIR(A,B,C)
FIN
Código Visual Basic
Imports System.Console
Module Module7
Sub MAIN()
Dim monto, a, b, c As Double
Write("Ingrese Monto: ") : monto = ReadLine()
a = monto * (35 / 100)
b = monto * (45 / 100)
c = monto * (20 / 100)
WriteLine("Socio A recibe "& a)
WriteLine("Socio B recibe "& b)
WriteLine("Socio C recibe "& c)
Read()
End Sub
End Module
Pseudocódigo
ALGORITMO PROB8
VARIABLES
CADENA:COD, NUM
ENTERO:CANT
REAL:IMPORTE,IGV,TOT
INICIO
LEER(COD,NUM,CANT)
IMPORTE=CANT*0.30+48
IGV=(18/100)*IMPORTE
TOT=IMPORTE+IGV
ESCRIBIR(COD,IMPORTE,IGV,TOTAL)
FIN
Código Visual Basic
Imports System.Console
Module Module8
Sub main()
Dim cod, num As String
Dim cant As Integer
Dim importe, igv, tot As Double
Write("Ingrese Codigo:") : cod = ReadLine()
Write("Ingrese Telefono:") : num = ReadLine()
Write("Ingrese Cantidad:") : cant = ReadLine()
importe = cant * 0.3 + 48
igv = (18 / 100) * importe
tot = importe + igv
WriteLine("El codigo es "& cod)
WriteLine("El Importe es "& importe)
WriteLine("El IGV es "& igv)
WriteLine("El Total a Pagar es "& tot)
Read()
End Sub
End Module
Pseudocódigo
ALGORITMO PROB9
VARIABLES
CADENA:NOM
ENTERO:N1,N2,N3
REAL:PROM
INICIO
LEER(NOM,N1,N2,N3)
PROM=(N1+N2+N3)/3
ESCRIBIR(PROM)
FIN
Código Visual Basic
Imports System.Console
Module Module9
Sub main()
Dim nom As String
Dim n1, n2, n3 As Integer
Dim prom As Double
Write("Ingrese Nombre:") : nom = ReadLine()
Write("Ingrese Nota 1:") : n1 = ReadLine()
Write("Ingrese Nota 2:") : n2 = ReadLine()
Write("Ingrese Nota 3:") : n3 = ReadLine()
prom = (n1 + n2 + n3) / 3
WriteLine("El Promedio es "& prom)
End Sub
End Module
10. Ingrese por teclado la cantidad de soles, transformarlo en dólares; considere el tipo de
cambio del día.
Pseudocódigo
ALGORITMO PROB10
VARIABLES
ENTERO:SOLES
REAL:DOLARES
INICIO
LEER(SOLES)
DOLARES=SOLES/2.90
ESCRIBIR(DOLARES)
FIN
Imports System.Console
Module Module10
Sub main()
Dim soles As Integer
Dim dolares As Double
Write("Ingrese cantidad Soles: ") : soles = ReadLine()
dolares = soles / 2.9
WriteLine("En Dolares es "& dolares)
Read()
End Sub
End Module
Pseudocódigo
ALGORITMO PROB11
VARIABLES
ENTERO:CANT,AULAS_LLE,FALTAN,SOBRAN
INICIO
LEER(CANT)
AULAS_LLE=CANT\20
SOBRAN=CANT MOD 20
FALTAN=20‐SOBRAN
ESCRIBIR(AULAS_LLE,FALTAN)
FIN
Código Visual Basic
Imports System.Console
Module Module11
Sub main()
Dim cant, aulas_lle, faltan, sobran As Integer
Write("Cantidad de Alumnos:") : cant = ReadLine()
aulas_lle = cant \ 20
sobran = cant Mod 20
faltan = 20 ‐ sobran
WriteLine("Aulas Llenas: "& aulas_lle)
WriteLine("Alumnos que Faltan : "& faltan)
Read()
End Sub
End Module
Imports System.Console
Module Module12
Sub main()
Dim seg, h, m, s As Integer
Write("Ingrese la cantidad de Segundos:")
seg = ReadLine()
h = seg \ 3600
m = (seg Mod 3600) \ 60
s = (seg Mod 3600) Mod 60
WriteLine("Horas "& h)
WriteLine("Minutos "& m)
WriteLine("Segundos "& s)
Read()
End Sub
End Module
13. Ingrese por teclado un número, incrementar el 2.4% de su valor, mostrar el valor del
incremento y el nuevo número.
Pseudocódigo
ALGORITMO PROB13
VARIABLES
ENTERO:NUM
REAL:INC,NUEVO
INICIO
LEER(NUM)
INC=(2.4/100)*NUM
NUEVO=NUM+INC
ESCRIBIR(INC,NUEVO)
FIN
Imports System.Console
Module Module13
Sub main()
Dim num As Integer
Dim inc, nuevo As Double
Write("Ingrese Numero: ") : num = ReadLine()
inc = (2.4 / 100) * num
nuevo = num + inc
WriteLine("El incremento es "& inc)
WriteLine("El Nuevo Numero es "& nuevo)
Read()
End Sub
End Module
14. Ingrese por teclado un número de 4 cifras, mostrar los números formados por las cifras de
los extremos y los medios.
Pseudocódigo
ALGORITMO PROB14
VARIABLES
ENTERO:NUM,UM,C,D,U,EXTR,MED
INICIO
LEER(NUM)
UM=NUM\1000
C=(NUM MOD 1000)\100
D=((NUM MOD 1000) MOD 100)\10
U=NUM MOD 10
EXTR=UM*10+U
MED=C*10+D
ESCRIBIR(EXTR,MED)
FIN
Código Visual Basic
Imports System.Console
Module Module14
Sub main()
Dim num, um, c, d, u, extr, med As Integer
Write("Ingrese un Numero: ") : num = ReadLine()
um = num \ 1000
c = (num Mod 1000) \ 100
d = ((num Mod 1000) Mod 100) \ 10
u = num Mod 10
extr = um * 10 + u
med = c * 10 + d
WriteLine("El numero Extremo es "& extr)
WriteLine("El numero Medio es "& med)
Read()
End Sub
End Module
ALGORITMO PROB15
VARIABLES
ENTERO:N,B100,B50,B20,B10,M5,M2,M1
INICIO
LEER(N)
B100=N\100
B50=(N MOD 100)\50
B20=((N MOD 100)MOD 50)\20
B10=(((N MOD 100)MOD 50)MOD 20)\10
M5=((((N MOD 100)MOD 50)MOD 20)MOD 10)\5
M2=(((((N MOD 100)MOD 50)MOD 20)MOD 10)MOD 5)\2
M1=(((((N MOD 100)MOD 50)MOD 20)MOD 10)MOD 5)MOD 2
ESCRIBIR(B100,B50,B20,B10,M5,M2,M1)
FIN
Código Visual Basic
Imports System.Console
Module Module15
Sub main()
Dim n, b100, b50, b20, b10, m5, m2, m1 As Integer
Write("Ingrese un Numero: ") : n = ReadLine()
b100 = n \ 100
b50 = (n Mod 100) \ 50
b20 = ((n Mod 100) Mod 50) \ 20
b10 = (((n Mod 100) Mod 50) Mod 20) \ 10
m5 = ((((n Mod 100) Mod 50) Mod 20) Mod 10) \ 5
m2 = (((((n Mod 100) Mod 50) Mod 20) Mod 10) Mod 5) \ 2
m1 = (((((n Mod 100) Mod 50) Mod 20) Mod 10) Mod 5) Mod 2
WriteLine("Billetes de 100: "& b100)
WriteLine("Billetes de 50: "& b50)
WriteLine("Billetes de 20: "& b20)
WriteLine("Billetes de 10: "& b10)
WriteLine("Monedas de 5: "& m5)
WriteLine("Monedas de 2: "& m2)
WriteLine("Monedas de 1: "& m1)
Read()
End Sub
End Module
Pseudocódigo
ALGORITMO PROB16
VARIABLES
CADENA: NOM
ENTERO: EP, EF, PP, PT
REAL: PROM
INICIO
LEER (NOM,EP,EF,PP,PT)
PROM=EP*0.30+EF*0.40+PP*0.20+PT*0.10
ESCRIBIR (PROM)
FIN
Código Visual Basic
Imports System.Console
Module Module16
Sub main()
Dim nom As String
Dim ep, ef, pp, pt As Integer
Dim prom As Double
Write("Ingrese Nombre:") : nom = ReadLine()
Write("Ingrese Examen Parcial:") : ep = ReadLine()
Write("Ingrese Examen Final:") : ef = ReadLine()
Write("Ingrese Promedio Practicas:") : pp = ReadLine()
Write("Ingrese Promedio Trabajos:") : pt = ReadLine()
prom = ep * 0.3 + ef * 0.4 + pp * 0.2 + pt * 0.1
WriteLine("El promedio es " & prom)
Read()
End Sub
End Module
Con el tiempo, la vida fácil es la que se hace
M ás difícil de llevar