Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Los derechos de edición, distribución y contenidos de este texto son de exclusividad del
GRUPO IDAT.
Fundamentos de Programación
PRESENTACIÓN
Esperamos que este material en su primera edición, sirva de gran ayuda a los
estudiantes Idatinos y contribuya en el proceso de su formación profesional.
Fundamentos de Programación
Fundamentos de Programación
ÍNDICE
Nro. Pág.
UNIDAD I……………………………………………………………………………
………………………………………………………………………… 09
…………………………………………………………………………..
UNIDAD II…………………………………………………………………………….
…………………………………………………………………………. 79
APÉNDICES………………………………………………………………………….
………………………………………………………………………. 165
BIBLIOGRAFÍA……………………………………………………………………..
…………………………………………………………………….. 177
Fundamentos de Programación
Fundamentos de Programación
Fundamentos de Programación
Fundamentos de Programación
CAPÍTULO I
INTRODUCCIÓN A LA ALGORÍTMICA
ALGORÍTMICA
OBJETIVOS ESPECÍFICOS
1. Introducción a la Algorítmica.
2. Conceptualizar el Algoritmo y definir las características
3. Como elaboramos un Algoritmo
CONTENIDOS
ALGORITMOS
Entenderemos como problema a cualquier acción o evento que necesite cierto grado de
análisis, desde la simpleza de cepillarse los dientes hasta la complejidad del
ensamblado de un automóvil. En general, cualquier problema puede ser solucionado
soluc
utilizando un algoritmo, en este sentido podemos utilizar los algoritmos para resolver
problemas de cómputo.
1. Salir de la cama
2. Quitarse el pijama
3. Ducharse
4. Vestirse
5. Desayunar
6. Arrancar el automóvil para ir al trabajo o tomar transporte.
ROBUSTEZ DE UN ALGORITMO
ALGOR
Quiere decir que un algoritmo debe contemplar todas las posibles facetas del problema
que queremos resolver, al elaborar un algoritmo no se nos debe escapar ningún detalle
quee provoque un funcionamiento malo nuestro algoritmo. Si logramos construir un
algoritmo robusto, cualquier giro inesperado del problema será controlado por el
algoritmo, es decir, debe ser flexible a cambios.
EFICIENCIA Y EFICACIA
EFICACI DE UN ALGORITMO
Puede darse el caso de que exista un algoritmo eficaz pero no eficiente, en lo posible
debemos de manejar estos dos conceptos conjuntamente.
METODOLOGÍA
A PARA LA SOLUCIÓN
SOLUCIÓN DE PROBLEMAS POR MEDIO DE
COMPUTADORA
Para lograr resolver cualquier problema se deben seguir básicamente los siguientes
pasos:
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y
precisa. Es importante que se conozca lo que se desea que realice la computadora;
mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente
etapa.
DEFINICIÓN
N DE UN ALGORITMO
El Algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea
específica, como la solución de un problema.
CARACTERÍSTICAS
STICAS DE UN ALGORITMO
Ser finito. Se debe terminar en algún momento; o sea debe de tener un número
finito de pasos.
ESTRUCTURA DE UN ALGORITMO
Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes
para resolver el problema y disponerlas en el orden en el que han de ser ejecutadas.
Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los
de detalle, se conoce como método descendente (TOP-down).
(TOP
Como ejemplo supongamos que desea desarrollar un algoritmo que calcule la superficie
de un rectángulo proporcionándole su base y altura. Lo primero que debemos hacer es
plantearnos las siguientes preguntas:
Especificaciones de entrada
- ¿Qué datos son on de entrada?
- ¿Cuántos datos se introducirán?
- ¿Cuántos son datos de entrada válidos?
Especificaciones de salida
- ¿Cuáles son los datos de salida?
- ¿Cuántos datos de salida se producirán?
- ¿Qué formato y precisión tendrán los resultados?
EJERCICIOS RESUELTOS
1. Defina un algoritmo para realizar una llamada
INICIO
1. Acercarse al Teléfono
2. Levantar el Auricular
3. Recordar el Número telefónico
4. Discar el Número
5. Esperar que respondan
6. Conversar
7. Colgar el Auricular
FIN
2. Defina un algoritmo para cambiar bombilla
INICIO
1. Colocar una escalera debajo de la bombilla
2. Subir la escalera
3. Desenroscar la bombilla
4. Bajar la escalera
5. Coger la bombilla nueva
6. Subir la escalera
7. Enroscar la bombilla
8. Bajar la escalera
9. Retirar
etirar la escalera
FIN
3. Defina un Algoritmo para cambiar una Llanta
INICIO
1. Bajarse del Auto
2. Abrir la cajuela, sacar la gata y la llave
3. Colocar la gata y levantar el auto
4. Destornillar los pernos
5. Sacar la llanta
6. Sacar la llanta de repuesto
7. Colocar la llanta de repuesto
8. Enroscar los pernos
9. Bajar el auto
10. Guardar la llanta, la gata y la llave
FIN
INICIO
1. Encender la Radio
2. Seleccionar la opción TAPE
3. Insertar el CD
4. Esperar que cargue el CD
5. Graduar el volumen
6. Escuchar el CD
FIN
EJERCICIOS PROPUESTOS
7. Defina un Algoritmo que permita realizar una compra al crédito en una empresa
comercial.
CAPÍTULO II
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Datos, definición
Tipos de datos: Numérico, de cadena, lógicos
Manejo de Operadores
Expresiones
Ejercicios Prácticos
DEFINICIÓN DE DATOS
1. Un dato es la expresión general que describe los objetos con los cuales opera una
computadora.
2. Existen dos tipos de datos: simples (sin estructuras) y compuestos (estructurados),
los datos compuestos son conjuntos de partidas de datos simples con relaciones
definidas entre ellos.
3. Los datos simpless son: numéricos, lógicos y caracter.
DATOS NUMÉRICOS
1. Es el conjunto de los valores numéricos y puede ser expresado como
numéricoentero y numéricoreal.
numé
DATOS LÓGICOS
1. También llamados booleanos, es aquel que solo puede tomar uno de dos
valores: verdadero (true) o falso (false).
DATOS CARACTER
1. Este tipo de dato contiene un solo carácter.
EJERCICIOS PRÁCTICOS
CTICOS
En cada
da uno de los datos, defina su Tipo de dato.
Datos Tipo
“Hola”
123
¿Quién eres?
Verdadero
“El Sabio”
Falso
12.56
12/15
Trae
“EL Quijote”
56.8999999
¡Alo!
Persona
“Juan”
MANEJO DE OPERADORES
Definición
TIPOS DE OPERADORES
Aritméticos
De relación,
Lógicos,
De asignación,
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:
siguientes
OPERADOR SIGNIFICADO
+ SUMAR
- RESTAR
* MULTIPLICAR
\, DIV DIVISION ENTERA
/ DIVISION REAL
MOD, % RESTO ARTIMETICO
↑ POTENCIACION
OPERADORES RELACIONALES
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
= IGUAL
<> DIFERENTE
OPERADORES LÓGICOS
GICOS
Los operadores lógicos son operadores binarios que permiten combinar los
resultados de los operadores relacionales, comprobando que se cumplen las
condiciones necesarias.
OPERADOR SIGNIFICADO
Y CONJUNCION
O DISYUNCION
NO NEGACION
Observe la tabla
OPERADORES DE ASIGNACIÓN
ASIGNACIÓ
Los operadores de asignación atribuyen a una variable, es decir, depositan en su
zona de memoria correspondiente, el resultado de una expresión o el valor de la
variable (en realidad, una variable es un caso particular de una expresión).
El operador de asignación más utilizado es el operador es . Su forma general
es:
nombre_variable expresión;
Primero se evalúa expresión y el resultado se pone en nombre_variable,
sustituyendo cualquier otro valor que hubiera en esa posición de memoria
anteriormente.
OPERADOR SIGNIFICADO
← ASIGNAR
() AGRUPAR
OPERADOR PRIORIDAD
() [] Signos de Agrupación
↑ Potencia
*, /, % Producto y División
+, - Suma y Resta
Y Operador lógico y
O Operador lógico O
NO Operador lógico de negación
>,>=,<,<=,=,<> Operador de relación
EXPRESIONES
Definición
Es una combinación de distintas variables, constantes, operadores y paréntesis.
Tiene un valor concreto que es el resultado de evaluarla de izquierda a derecha.
El valor devuelto tras la evaluación de una expresión determina el tipo de la
expresión (entera, lógica …)
Ejemplo
Sentencias
Las expresiones son ítems elementales de unas entidades que son las
sentencias. Si nos fijamos en la expresión anterior, la variable que está a la
izquierda del signo (=), el operador de asignación, la expresión aritmética y el
carácter (;) constituyen una sentencia.
Las sentencias son unidades completas,
completas, ejecutables en sí mismas. Ya se verá
que muchos tipos de sentencias incorporan expresiones aritméticas, lógicas o
generales como componentes de dichas sentencias.
EJERCICIOS PROPUESTOS
1. (15 + ( 12 * 2 ) / 4 ) + ( 30 MOD 7) * 5
4. 21 + ( 15 + 20 MOD 9 ) DIV 3
5. Sea: a = 10 b = 12 c = 13 d =10
CAPÍTULO III
VARIABLES Y CONSTANTES
OBJETIVOS ESPECIFICOS
CONTENIDOS
Variables, definición
Identificación de una Variable
Declaración de una Variable
Constantes
Ejercicios Prácticos
VARIABLES
Definición
Declaración
Ejemplos
DECLARACION
ABC VALIDO
A123 VALIDO
1A2B NO VALIDO
_MiVariable VALIDO
Mi_Variable VALIDO
Mi_123456 VALIDO
_1_2_3 VALIDO
Mi@Variable NO VALIDO
Declaración
Ejemplos:
ENTERO: A, B, C
REAL: X, Y, Z
CARÁCTER: Car1, Car2
CADENA : Texto1, Texto2
LOGICO: Estado, Ok, Done
CONSTANTES
Definición
Ejemplos
PI=3.14
SALUDO=“Hola mundo”
MAXIMO=500
RESPUESTA=‘S’
Equivalencias en Visual Basic que se va utilizar para realizar las pruebas de los
seudocódigos:
CONST PI=3.14
CAPÍTULO IV
ESTRUCTURAS BÁSICAS
OBJETIVOS ESPECÍFICOS
CONTENIDOS
ALGORITMO
Tipos de Algoritmos
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los
pasos del proceso.
Lenguajes Algorítmicos
Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un
proceso. De los cuales se encuentran los siguientes tipos de
Lenguajes Algorítmicos:
Diagrama de Flujo
Pseudo Código
INICIO
Edad: Entero
ESCRIBA “cual es tu edad?”
Lea Edad
SI Edad >=18 entonces
ESCRIBA “Eres mayor de Edad”
FIN SI
ESCRIBA “fin del algoritmo”
Estructuras Algorítmicas
Estructura
ALGORITMO Nombre_Descriptivo
Variables: …
INICIO
Instrucciones
y/o
Sentencias
FIN
Sentencias Declarativas
Algoritmo CalculaArea
Cabecera del Proog
grama
VARIABLE
Declaración de Variables
Real: Radio, A
Sentencias Ejecutables
CAPITULO V
ESTRUCTURAS SECUENCIALES
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Estructura Secuencial
Definición
Estructura
Desarrollo Práctico
ctico
DEFINICIÓN
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO
La Asignación
Consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será
reconocida con el nombre de la variable que recibe el valor.
La asignación se puede clasificar de la siguiente forma:
ESCRIBIR (VALOR)
ESCRIBIR (“MENSAJE”)
LEER VARIABLE
DECLARACIÓN
N DE VARIABLES Y CONSTANTES
EJERCICIOS RESUELTOS 1
1. Ingrese un número entero, luego súmele 2 unidades y visualícelo.
ALGORITMO Ejemplo1
VARIABLES
ENTERO: A
INICIO
LEER (A)
A← A + 2
ESCRIBIR (A)
FIN
ALGORITMO Ejemplo2
VARIABLES
ENTERO: A, B, Suma, Producto
INICIO
LEER ( A, B )
Suma ← A + B
Producto ← A * B
ESCRIBIR (Suma, Resta, Producto)
FIN
ALGORITMO Ejemplo3
VARIABLES
ENTERO: N
REAL: Porcentaje
INICIO
LEER (N)
Porcentaje ← N * (5 / 100)
ESCRIBIR (Porcentaje)
FIN
4. Una empresa decide otorgar una bonificación del 5% del haber básico por cada hijo
a todos sus trabajadores. Calcule el total a pagar a un trabajador.
ALGORITMO Ejemplo4
VARIABLES
ENTERO NroHijos
REAL Hbasico, Bonificación, Total
INICIO
LEER (Hbasico, NroHijos)
Bonificación ← (Hbasico * 0.05) * NroHijos
Total ← Hbasico + Bonificación
ESCRIBIR (Total)
FIN
ALGORITMO Ejemplo5
VARIABLES
ENTERO Número, Inverso, Unidad, Decena
INICIO
LEER (Número)
(
Unidad ← Número MOD 10
Decenal ← Número DIV 10
Inverso ← 10 * Unidad + Decena
ESCRIBIR (Inverso)
FIN
6. Ingrese por teclado el nombre del cliente y el costo de una PC; por estar de
promoción la empresa, se aplicará un descuento del 15% del costo, donde el neto
es la diferencia del costo menos el descuento. Aplique el 19% del neto donde el
monto a pagar es la suma del neto mas IGV.. Visualice el descuento, neto, IGV y el
monto a pagar.
ALGORITMO Ejemplo6
VARIABLES
REAL Costo, Descuento, Neto, IGV, Monto, Pago
CADENA Nombre
INICIO
LEER (Nombre, Costo)
Descuento ← 0.15 * Costo
Neto Costo – Descuento
IGV 0.19 * Neto
Pagar ← Neto + IGV
ESCRIBIR (Descuento, Neto, IGV, Pagar)
FIN
ALGORITMO Ejemplo7
VARIABLES
ENTERO Matriculas, Aulas, Falta
INICIO
LEER (matriculas)
Aula ← Matriculas DIV 40
Falta Matricula MOD 40
ESCRIBIR (Aula, Matricula)
FIN
8. Ingrese por teclado un Número de 3 cifras, visualice la suma de las cifras del número
ingresado.
ALGORITMO Ejemplo8
VARIABLES
ENTERO Número, Unidad, Decena, Suma
INICIO
LEER (Número)
(
Unidad ← Número MOD 10
Decena (Número DIV 10) MOD 10
Centena NÚMERO DIV 100
Suma ← Unidad + Decena + Centena
ESCRIBIR (Suma)
FIN
9. Ingrese por teclado la cantidad de metros cúbicos de agua que se consume en una
casa. Calcula y visualice cada uno de los gastos sabiendo que el costo por metros
cubico es 0.35 nuevos soles y el monto del consumo es el producto de la cantidad de
metros cúbicos por el precio.
Del total a pagar deberá pagar el impuesto a las Ventas que representa el 19% del
Monto Total, calcule y visualice el Monto Total a Pagar.
ALGORITMO Ejemplo9
VARIABLES
REAL Cúbicos, Monto, Mant, PJ, Explor, Limp, IGV, Pagar
INICIO
LEER (Cúbicos)
Monto 0.35 * Cubicos
Mant ← Monto * 0.25 /100
PJ Monto * 0.15 / 100
Explor Monto * 0.05 / 100
Limp ← Monto * 0.07 / 100
Monto Monto + Mant + PJ + Explor + Limp
IGV Monto * 0.19
Pagar Monto + IGV
ESCRIBIR (“Mantenimiento:”, Mant)
ESCRIBIR (“Parques y Jardines:”, PJ)
ESCRIBIR (“Exploración:”, Explor)
ESCRIBIR (“Limpieza:”, Limp)
ESCRIBIR (“Monto:”, Monto)
ESCRIBIR (“IGV:”, IGV)
ESCRIBIR (“A Pagar:”, Pagar)
FIN
10. Una Empresa dedicada a la Venta de Electrodomésticos, realiza una promoción del
20% + 15% de descuento. Ingrese el precio de un electrodoméstico, calcule y
visualice su descuento y el neto a pagar.
ALGORITMO Ejemplo10
VARIABLES
INICIO
LEER (Precio)
Descuento1 ← (Precio * 0.20)
Descuento2 (Precio – Descuento1) * 0.15
Neto Precio – (Descuento1 + Descuento2)
ESCRIBIR ((Descuento1+Descuento2), Neto)
FIN
EJERCICIOS RESUELTOS 2
Iniciar la codificación
odificación en Visual Net 2005 (software
( donde se comprueban
n los algoritmos
desarrollados)
ALGORITMO EDAD
INICIO
// Declaración de las variables M : almacena cantidad de meses
Entero: M , A , AM A : almacena cantidad de años
AM : almacena cantidad total de meses
// Muestra en pantalla e Ingresa Datos
ESCRIBIR “Ingrese Anyos: “
LEER A
ESCRIBIR “Ingrese Meses: “
LEER M
Imports system.console
Imports System.Math
Module Module1
Sub main()
End Sub
End Module
2. Ingresar por teclado las dimensiones de un terreno, largo, ancho, precio por metro
cuadrado, se pide calcular y ESCRIBIR:
- El área total
- El precio del Terreno
- La cuota inicial que es 13% del precio
- Cuota mensual a pagar si el pago es en dos años
INICIO
// Declaración de las variables
Real: larg,anch ,pxm, prect , cuotaini,saldo, cutamensu
Imports system.console
Imports System.Math
Module Module2
Sub main()
Dim larg, anch, pxm, area, prect, cuotini, sald, cuotmensu As Double
Write("ingresar
"ingresar largo..:")
largo..:"
larg = ReadLine()
Write("ingresar
"ingresar ancho..:")
ancho..:"
anch = ReadLine()
"ingresar precio por metros ..:")
Write("ingresar ..:"
pxm = ReadLine()
area = (larg * anch)
prect = (area * pxm)
cuotini = (prect * 0.13)
sald = (prect - cuotini)
cuotmensu = (sald / 24)
WriteLine("el
"el area es..:" & area)
WriteLine("precio
"precio total..:" & prect)
WriteLine("cuota
"cuota inicial..:" & cuotini)
WriteLine("el
"el saldo es ..:" & sald)
WriteLine("la
"la cuota mensual es ..:" & cuotmensu)
ReadLine()
End Sub
End Module
3. Se deposita una cierta de dinero en un banco , se desea saber los intereses ganados
y el valor futuro del dinero
INICIO
// Declaración de las variables variables
meses :Entero
ints, monto, vfut :real
FIN
Imports System.Console
Imports System.Math
Module Module3
Sub main()
Write("ingresa
"ingresa monto..:")
monto..:"
monto = ReadLine()
Write("ingresa
"ingresa meses..:")
meses..:"
meses = ReadLine()
ints = monto * 0.02 * meses
vfut = monto + meses
WriteLine()
WriteLine("el
"el valor final es..:" & vfut)
ReadLine()
End Sub
End Module
INICIO
// Declaración de las variables
Real : Vp , Vm, Vc
Vp Valor en Pies almacena un valor en pies
Vm Valor en metros almacena un valor en metros
Vc Valor en centimetros almacena un valor en centimetros
Factor : 1 pie = 30.48 cm 1 m = 100 cm
// Proceso : Calcula Vm
Vc = Vp * 30.48 // Valor en cm
Vm = Vc /100 // Valor en m
// Salida en pantalla
ESCRIBIR Vm
FIN
Imports System.Console
Imports System.Math
Module Module 4
Sub main()
// Salida en pantalla
WriteLine("velocidad
"velocidad en metros.:" & vm)
ReadLine()
End Sub
End Module
INICIO
//Declaración de las variables
Real: A, B, C, P, sp, Area
Lados del triángulo: A , B y C
P : Perímetro
metro del Triángulo (suma de sus lados)
sp : SemiPerímetro
SemiPer del Triángulo = P/2
Area : SQRT ( sp * (sp – A) * (sp - B) * (sp - C))
// Ingreso de Datos
LEER A, B, C
// Salida de Resultados
ESCRIBIR P, Area
FIN
Imports System.Console
Imports System.math
Module Module 5
Sub Main()
Dim l1, l2, l3 As Integer
Dim area, p As Double
Write("Ingresa
"Ingresa lado 1..:")
1..:"
l1 = ReadLine()
Write("ingresa
"ingresa lado 2..:")
2..:"
l2 = ReadLine()
Write("ingresa
"ingresa lado 3 ..:")
..:"
l3 = ReadLine()
p = (l1 + l2 + l3) / 2
area = Sqrt(p * (p - l1) * (p - l2) * (p - l3))
WriteLine()
"ESCRIBIR area..:" & area)
WriteLine("ESCRIBIR
ReadLine()
End Sub
End Module
VARIABLES
ENTERO: Número, Inverso, Unidad, Decena
INICIO
Número)
LEER (Número
Unidad ← Número MOD 10
Decenal ← Número DIV 10
Inverso ← 10 * Unidad + Decena
ESCRIBIR (Inverso)
FIN
Imports System.Console
Imports System.math
Module Module6
Sub Main()
Dim Número, Inverso, Unidad, Decena As Integer
Write("Ingresa
"Ingresa un número de 2 cifras..:")
número =ReadLine()
Unidad = Número MOD 10
Decenal = Número \10
Inverso = 10 * Unidad + Decena
WriteLine("número
número invertido.:" & inverso)
ReadLine()
End Sub
End Module
VARIABLES
ENTERO: Matriculas, Aulas, Falta
INICIO
LEER (matriculas)
Aula ← Matriculas DIV 40
Falta Matricula MOD 40
ESCRIBIR (Aula, Matricula)
FIN
Imports System.Console
Imports System.math
Module Module7
Sub Main()
Aula=Matriculas \40
Falta =Matricula MOD 40
WriteLine("número
número de aulas.:" & aula)
ReadLine()
End Sub
End Module
8. Ingrese por teclado un Número de 3 cifras, visualice la suma de las cifras del número
ingresado.
VARIABLES
ENTERO Número Unidad, Decena, Suma
Número,
INICIO
LEER (Número
Número)
Unidad ← Número MOD 10
Decena (Número
Número DIV 10) MOD 10
Centena NÚMERO DIV 100
Suma ← Unidad + Decena + Centena
ESCRIBIR (Suma)
FIN
9. Ingrese por teclado la cantidad de metros cúbicos de agua que se consume en una
casa. Calcula y visualice cada uno de los gastos sabiendo que el costo por metros
cubico es 0.35 nuevos soles y el monto del consumo es el producto de la cantidad de
metros cúbicos por el precio.
VARIABLES
REAL: Cúbicos, Monto, Mant, PJ, Explor, Limp, IGV, Pagar
INICIO
LEER (Cúbicos)
Monto 0.35 * Cubicos
Mant ← Monto * 0.25 /100
PJ Monto * 0.15 / 100
Explor Monto * 0.05 / 100
Limp ← Monto * 0.07 / 100
Monto Monto + Mant + PJ + Explor + Limp
IGV Monto * 0.19
Pagar Monto + IGV
ESCRIBIR (“Mantenimiento:”, Mant)
ESCRIBIR (“Parques y Jardines:”, PJ)
ESCRIBIR (“Exploración:”, Explor)
ESCRIBIR (“Limpieza:”, Limp)
ESCRIBIR (“Monto:”, Monto)
ESCRIBIR (“IGV:”, IGV)
ESCRIBIR (“A Pagar:”, Pagar)
FIN
10. Una Empresa dedicada a la Venta de Electrodomésticos, realiza una promoción del
20% + 15% de descuento. Ingrese el precio de un electrodoméstico, calcule y
visualice su descuento y el neto a pagar.
VARIABLES
INICIO
LEER (Precio)
Descuento1 ← (Precio * 0.20)
Descuento2 (Precio – Descuento1) * 0.15
Neto Precio – (Descuento1 + Descuento2)
ESCRIBIR ((Descuento1+Descuento2), Neto)
FIN
EJERCICIOS PROPUESTOS
1. Ingrese por teclado un número, calcule y visualice:
a) El doble del número ingresado
b) La tercera parte del número ingresado
c) El cubo del número ingresado
4. Ingrese por teclado el nombre del producto, el precio unitario y la cantidad vendida,
calcule y visualice:
6. Ingrese
ngrese por teclado un número de dos cifras, mostrar el número pero en sentido
inverso.
7. Se desea repartir cierto monto de dinero entre tres personas que conforman una
empresa; obtener el monto que le corresponde a cada persona si la repartición se
basa en la cantidad de acciones que posee cada socio:
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.
8. Desarrolle un algoritmo para la compañía telefónica que permite mostrar el pago por
consumo telefónico, para esto se ingresará el código del usuario, el número
telefónico y la cantidad de minutos utilizados.
Mostrar el código del usuario, el importe de las llamadas realizadas, el IGV y el pago
total, considerando que la empresa cobra 0.30 céntimos de nuevo sol por cada
minuto, la renta básica cobra 48 nuevos soles y el IGV es el 19% del Monto.
10. Ingrese por teclado la cantidad de soles, transformarlo en dólares; considere el tipo
de cambio del día.
a) Cantidad de horas
b) Cantidad de minutos
c) Cantidad de segundos restantes
13. Ingrese por teclado un número,, incrementar el 2.4% de su valor, mostrar el valor del
incremento y el nuevo número.
14. Ingrese por teclado un número de 4 cifras, mostrar los números formados por las
cifras de los extremos y los medios.
15. Ingrese porr teclado el sueldo de un trabajador, asumiendo que éste es un valor
entero, visualizar la mejor distribución de billetes y monedas que se utilizarán para
pagar un sueldo.
Considere billetes de 100, 50, 20 ,10.
Monedas de 5, 2 ,1
16. En un instituto se planteo los siguientes pesos para cada una de las evaluaciones
que tendrá en el curso.
Para tal caso ingrese el nombre del alumno y las 4 evaluaciones, mostrar el nombre
del alumno y su promedio.
CAPITULO VI
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Clasificación
Definición
Sintaxis
Desarrollo Practico
ESTRUCTURAS CONDICIONALES
Definición
Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que
en base al resultado de esta comparación, se siga un curso de acción dentro del
programa. Cabe mencionar que la comparación se puede hacer contra otra variable o
contra una constante, según se necesite.
Pongamos un pequeño ejemplo. Imagine que tenemos nuestro robot subiendo las
escaleras de la Torre Eiffel y le indicamos lo siguiente: si está en el escalón 200 entonces
no continúe subiendo, sino continua su ascensión. Como puede ver aquí se nos presenta
una
na condición y, según en el punto de la escalera en la que se encuentre, nuestro robot
se parará o continuará subiendo.
Se pueden utilizar condiciones tan complejas como se quiera siempre que estén bien
formadas
Clasificación
Definición
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO
EJERCICIOS RESUELTOS
1. Ingrese por teclado 2 números enteros y visualice el mayor de los 2 números
ingresados.
ALGORITMO Ejemplo1
VARIABLES
ENTERO: A, B, Mayor
INICIO
LEER ( A, B )
Mayor A
SI ( B > A )ENTONCES
Mayor B
FIN
FIN-SI
ESCRIBIR ( Mayor )
FIN
Imports System.Console
Imports System.math
Module Module1
Sub Main()
End Sub
End Module
ALGORITMO Ejemplo2
VARIABLES
ENTERO: N
INICIO
LEER ( N )
SI ( N > 10) ENTONCES
N N + 10
FIN
FIN-SI
ESCRIBIR ( N )
FIN
Imports System.Console
Imports System.math
Module Module1
Sub Main()
Dim N As Integer
Write("Ingresa
"Ingresa valor 1..:")
1..:"
N = ReadLine()
IF N>10 THEN
N=N+10
END IF
WriteLine("EL
"EL NUEVO VALOR..:" & N)
ReadLine()
End Sub
End Module
3. Ingrese por teclado la edad de una persona; si su edad es mayor a 17, visualice un
mensaje “Es mayor de edad”.
ALGORITMO Ejemplo3
VARIABLES
ENTERO: edad
INICIO
LEER (edad)
SI (edad > 17) ENTONCES
ESCRIBIR “Es mayor de edad”
FIN
FIN-SI
FIN
Imports System.Console
Imports System.math
Module Module1
Sub Main()
End Sub
End Module
ALGORITMO Ejemplo4
VARIABLES
REAL: talla
INICIO
LEER (talla)
SI (talla>=1.70) ENTONCES
ESCRIBIR “Servicio Obligatorio”
FIN
FIN-SI
FIN
Imports System.Console
Imports System.math
Module Module1
Sub Main()
End Sub
End Module
5. Una empresa otorga un bonificación del 5% del haber básico solo a sus trabajadores
que tienen hijos, calcular el total a pagar a un trabajador.
ALGORITMO Ejemplo5
VARIABLES
ENTERO: NroHijos
REAL: Hbasico, Bonificación, Total
INICIO
LEER (Hbasico, NroHijos)
Bonificación 0
SI ( NroHijos > 0 ) ENTONCES
Bonificación ← Hbasico * 0.05 * NroHijos
FIN
FIN-SI
Total Hbasico + Bonificación
ESCRIBIR (Total)
FIN
Imports System.Console
Imports System.math
Module Module1
Sub Main()
End Sub
End Module
EJERCICIOS PROPUESTOS
3. Ingrese por teclado la edad y talla de una dama, visualice un mensaje “Postulante a la
Escuela de Oficiales”, si su edad mínima es 17 y su talla mínima es 1.65 metros.
6. Ingrese
rese por teclado la descripción y precio de un accesorio de computadora; se le
aplicará un descuento del 5% al precio si el accesorio es Monitor o Teclado. Visualice
el descuento y el nuevo precio.
precio
9. Ingrese por teclado el nombre del curso y su precio; si el nombre del curso es
Networking, se le aplicará un descuento del 15% al precio, visualice el descuento y el
nuevo precio.
10. Ingrese por teclado el año de nacimiento de una persona, visualice un mensaje “Es
mayor de edad”, si su edad es mayor o igual a 18.
11. Ingrese por teclado dos notas, calcule su promedio sabiendo que la segunda nota es
peso doble; visualice un mensaje “Aprobado”, si su promedio es mayor o igual a 11
12. Ingrese por teclado un número, si el número es impar y de tres cifras, visualice el
número incrementado por su número invertido.
13. Ingrese por teclado el nombre, precio y la cantidad de productos a vender, calcule el
monto de la venta. Se aplicará un descuento del 35% de su precio por la compra de
20 unidades. Visualice el descuento y el neto.
CAPÍTULO VII
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Definición
Sintaxis
Desarrollo Practico
Definición
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO
True
False
Donde:
EJERCICIOS RESUELTOS
ALGORITMO Ejemplo1
VARIABLES
ENTERO: A, B
INICIO
LEER(A, B)
SI ( A > B )ENTONCES
ESCRIBIR (A)
SINO
ESCRIBIR (B)
FIN-SI
FIN
ALGORITMO Ejemplo2
VARIABLES
ENTERO: A
INICIO
LEER(A)
SI ( A MOD 2 = 0) ENTONCES
ESCRIBIR (2*A)
SINO
ESCRIBIR (A^2)
FIN-SI
FIN
Imports System.Console
Module Module1
Sub Main()
Dim A As Integer
Write("Ingresa
"Ingresa valor 1..:")
1..:"
A = ReadLine()
IF A MOD 2=0 THEN
WriteLine("EL
"EL DOBLE ES..:" & 2*A)
ELSE
WriteLine("SU
"SU CUADRADO ..:" & A^2)
END IF
ReadLine()
End Sub
End Module
ALGORITMO Ejemplo3
VARIABLES
ENTERO: edad
INICIO
LEER (edad)
SI (edad>17) ENTONCES
ESCRIBIR (“APTO”)
SINO
ESCRIBIR (“NO APTO”)
FIN-SI
FIN
Imports System.Console
Module Module1
Sub Main()
END IF
ReadLine()
End Sub
End Module
4. Ingrese por teclado el total de ahorros de una persona, si ahorró más de 1000,
visualice “PUEDE COMPRAR SU TV”, sino “SIGA AHORRANDO”.
ALGORITMO Ejemplo3
VARIABLES
REAL: ahorros
INICIO
LEER (ahorros)
SI (ahorros>1000) ENTONCES
ESCRIBIR (“PUEDE COMPRAR SU TV”)
SINO
ESCRIBIR (“SIGA AHORRANDO”)
FIN-SI
FIN
Imports System.Console
Module Module1
Sub Main()
Dim AHORROS As DOUBLE
Write("Ingrese
"Ingrese ahorros”)
ahorros = ReadLine()
IF ahorros>1000 THEN
WriteLine("puede
"puede comprar su tv”)
tv”
ELSE
WriteLine("siga
"siga ahorrando”)
ahorrando”
END IF
ReadLine()
End Sub
End Module
5. Ingrese por teclado el tiempo que demora en recorrer 1500 metros un atleta,
visualice un mensaje “ATLETA A COMPETIR EN LA OLIMPIADA” si la marca
mínima es 3 minutos, sino visualice un mensaje “PREPARARSE MAS”
ALGORÍTMICA Ejemplo5
VARIABLES
REAL: tiempo
INICIO
LEER (tiempo)
SI (tiempo<=3.00) ENTONCES
ESCRIBIR (“ATLETA
(“ATLETA A COMPETIR EN LA OLIMPIADA”)
SINO
ESCRIBIR (“PREPARARSE
(“ MAS”)
FIN-SI
FIN
Imports System.Console
Module Module1
Sub Main()
Dim tiempo As double
Write("Ingresa
"Ingresa EDAD..:")
EDAD..:"
tiempo = ReadLine()
IF tiempo<=3.00 THEN
WriteLine (“ATLETA
ATLETA A COMPETIR EN LA OLIMPIADA”))
OLIMPIADA”)
ELSE
WriteLine("PREPARARSE
PREPARARSE MAS”)
MAS
END IF
ReadLine()
End Sub
End Module
6. Una tienda comercial ofrece un descuento del 3% del valor de compra si el pago se
efectúa al contado, en caso el pago sea con tarjeta se le recarga un 5% del valor de
compra. Calcular el total a pagar.
ALGORITMO Ejemplo6
VARIABLES
REAL: Vcompra, Descuento, Recargo, Total
CARÁCTER: TipoPago
INICIO
LEER (Vcompra, TipoPago)
Descuento 0 : Recargo 0
SI (TipoPago = ‘C’ ) ENTONCES
Descuento Vcompra * 0.03
SINO
Recargo Vcompra * 0.05
FIN-SI
Total Vcompra – Descuento + Recargo
ESCRIBIR (Total)
FIN
Imports System.Console
Module Module1
Sub Main()
Dim Vcompra, Descuento, Recargo, Total As double
Dim TipoPago as char
Write("Ingresa
"Ingresa valor de la compra..:")
compra..:"
vcompra = ReadLine()
Write("Ingrese
"Ingrese tipo de compra c/r..:")
c/r..:"
tipopago = ReadLine()
If (TipoPago = “C” ) then
Descuento = Vcompra * 0.03
Else
Recargo =Vcompra * 0.05
End if
Total = Vcompra – Descuento + Recargo
WriteLine("total
"total a pagar:” & totAL)
totAL
ReadLine()
End Sub
End Module
ALGORÍTMICA Ejemplo7
VARIABLES
ENTERO: N, A, C
INICIO
LEER( N )
SI ( N >= 100) Y ( N <= 999 ) ENTONCES
A N DIV 100
C ( N MOD 100) MOD 10
SI ( A = C ) ENTONCES
ESCRIBIR (“CAPICUA”)
SINO
ESCRIBIR(“NO ES CAPICUA”)
FIN
FIN-SI
FIN-SI
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N, A, C As INTEGER
Write("Ingrese
"Ingrese UN NÚMERO DE 3 CIFRAS”)
N = ReadLine()
IF ( N >= 100) AND ( N <=< 999 ) THEN
A = N \ 100
C = ( N MOD 100) MOD 10
IF ( A = C ) THEN
WRITELINE (“CAPICUA”)
ELSE
WRITELINE (“NO
( ES CAPICUA”)
END IF
END IF
ReadLine()
End Sub
End Module
8. Una tienda comercial por campaña publicitaria está ofreciendo descuentos por sus
diversos artículos, donde lo artículos que cuestan mínimo 1000 nuevos soles se le
aplicará un descuento del 10% y aquellos que son menores a dicho monto se le
aplicará un descuento del 3% del precio. Visualice el descuento y el neto
ALGORITMO Ejemplo8
VARIABLES
REAL: Precio, Descuento, Neto
INICIO
LEER (Precio)
Descuento 0
SI (Precio>=1000) ENTONCES
Descuento Precio * 0.10
SINO
Descuento Precio * 0.03
FIN-SI
Neto Precio – Descuento
ESCRIBIR (Descuento, Neto)
FIN
ALGORÍTMICA Ejemplo9
VARIABLES
ENTERO: edad
REAL: talla
CADENA: nombre, estudios
INICIO
LEER (nombre, talla, edad, estudios)
SI ( edad>17
edad> Y talla>=1.70 Y estudios=”SUPERIOR”) ENTONCES
ESCRIBIR (“APTO PARA ESCUELA DE OFICIALES”)
SINO
ESCRIBIR (“APTO PARA ESCUELA DE SUB OFICIALES”)
FIN-SI
FIN
EJERCICIOS PROPUESTOS
1. Ingrese por teclado 2 notas, visualice el mayor de las dos notas y si esa nota es
aprobatoria o no (notas de 0-20).
0
4. Ingrese por teclado dos números, visualice el menor de los dos números ingresados.
6. Ingrese por teclado tres números enteros diferentes, visualice el segundo mayor
número.
8. Ingrese por teclado el nombre de un alumno y sus tres notas, calcule y visualice su
promedio; si el promedio es menor a 11, deberá ingresar la nota sustitutoria que
reemplazara a la nota más baja; calcule y visualice su promedio.
10. Ingrese porr teclado el nombre de un obrero y sus horas trabajadas, el pago que
recibe por cada hora es de 15 nuevos soles. Su jornal es el producto del pago por
hora y las horas trabajadas; si trabaja más de 40 horas, por cada hora extra
trabajada, se le pagará 25 nuevos
nuevos soles. Visualice el jornal que recibió.
CAPÍTULO VIII
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Definición
Sintaxis
Desarrollo Practico
Definición
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO
EJERCICIOS RESUELTOS
1. Ingrese 3 números enteros y visualice el mayor de los 3 números ingresados.
ALGORITMO Ejemplo1
VARIABLES
ENTERO: A, B, C, Mayor
INICIO
LEER( A, B, C)
SI( A>B AND A>C ) ENTONCES
Mayor ← A
SINO SI( B>A AND B>C ) ENTONCES
Mayor ← B
SINO
Mayor ← C
FIN-SI
ESCRIBIR ( Mayor )
FIN
CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA
Imports System.Console
Module Module1
Sub Main()
Dim A, B, C, Mayor As INTEGER
Write("Ingrese
"Ingrese UN PRIMER VALOR:”)
A = ReadLine()
Write("Ingrese
"Ingrese UN SEGUNDO VALOR:”)
B = ReadLine()
Write("Ingrese
"Ingrese UN TERCER VALOR:”)
IF ( A>B AND A>C ) THEN
Mayor = A
ELSEIF ( B>A AND B>C ) THEN
Mayor = B
ELSE
Mayor= C
END IF
WRITELINE (“EL MAYOR VALOR ES :” & Mayor )
ReadLine()
End Sub
End Module
12. Una empresa otorga bonificaciones de su haber básico según la categoría del
trabajador; categoría A: 250; categoría B: 200; categoría C: 120; otras categorías 50.
ALGORITMO Ejemplo3
VARIABLES
CADENA: Categoría
REAL: Bonificación
INICIO
LEER (Categoría)
SI (Categoría = “A”) ENTONCES
Bonificación ← 250
SINO SI (Categoría = “B”) ENTONCES
Bonificación ← 200
SINO SI (Categoría = “C”) ENTONCES
Bonificación ← 120
SINO
Bonificación ← 50
FIN
FIN-SI
ESCRIBIR (Bonificación)
FIN
Imports System.Console
Module Module1
Sub Main()
Dim Bonificación As double
Dim categoria as string
Write("Ingrese
"Ingrese una categoría
categorí :”)
categoria = ReadLine()
IF (categoria = “A”) THEN
Bonificación=250
ELSEIF (categoria
categoria = “B”) THEN
Bonificación=200
ELSEIF (categoria
categoria = “C”) THEN
Bonificación= 120
ELSE
Bonificación =50
END IF
Writeline(“Valor DE Bonificación :” & Bonificación )
ReadLine()
End Sub
End Module
PROMEDIO CATEGORÍA
18 – 20 Excelente
15 – 17 Bueno
11 – 14 Regular
0 -10 Malo
ALGORITMO Ejemplo4
VARIABLES
CADENA: Categoría
ENTERO: nota
INICIO
LEER (nota)
SI (nota<=10) ENTONCES
Categoría ← “Malo”
SINO SI (nota<=14) ENTONCES
Categoría ← “Regular”
SINO SI (nota<=17) ENTONCES
Categoría ← “Bueno”
SINO
Categoría ← “Excelente”
FIN
FIN-SI
ESCRIBIR (Categoría)
FIN
Imports System.Console
Module Module1
Sub Main()
Dim nota As integer
Dim categoria as string
Write("Ingrese
"Ingrese nota :”)
nota = ReadLine()
Iff (nota<=10) then
Categoría=“Malo”
Else if (nota<=14) then
Categoría = “Regular”
Else if (nota<=17) then
Categoría = “Bueno”
Else
Categoría = “Excelente”
End if
Writeline(“observacion:” & categoria)
ReadLine()
End Sub
End Module
14. Una persona está a punto de ver televisión, mostrar si según su edad está apto para
ver el programa televisivo.
EDAD CATEGORÍA
18 -más Contenido para adultos
14 -17 Mayores de 14
0 –13
– apt
ALGORITMO Ejemplo4
VARIABLES
ENTERO: edad
INICIO
LEER (edad
SI (nota<=13) ENTONCES
ESCRIBIR (“apt”)
SINO SI (nota<=17) ENTONCES
ESCRIBIR (“Mayores de 14”)
SINO
ESCRIBIR (“Contenido para Adultos”)
FIN
FIN-SI
FIN
Imports System.Console
Module Module1
Sub Main()
Dim edad As integer
Write("Ingrese
"Ingrese edad :”)
If (nota<=13)
nota<=13) then
Writeline (“apta para todos”)
Else if (nota<=17)
ota<=17) then
Writeline (“Mayores de 14”)
Else
Writeline (“Contenido para Adultos”)
End if
ReadLine ()
End Sub
End Module
EJERCICIOS PROPUESTOS
Ingrese por teclado el nombre del Postulando y la facultad que va a estudiar, visualice:
• El importe de la matricula
• El monto de la mensualidad
• El monto total, que es la suma de la matricula y la mensualidad
9. Un cliente, por campaña navideña, desea comprar panteones, donde según su marca
tiene un precio
Ingrese por teclado el nombre del cliente, la marca del panteón y la cantidad de
panetones a comprar; visualice el precio unitario del panteón, el monto de la compra,
el descuento y el neto a pagar.
pagar
10. Ingrese por teclado la distancia que recorrió un atleta, de acuerdo a la distancia, el
atleta está clasificado:
CAPÍTULO IX
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Definición
SINTAXIS
PSEUCODIGO
Donde:
EJERCICIOS RESUELTOS
1. Ingrese un número entre 1 y 3, luego visualice su equivalente en letras.
ALGORITMO Ejemplo1
VARIABLES
ENTERO N
INICIO
LEER( N )
SI( N = 1 )ENTONCES
ESCRIBIR (“UNO”)
(
SINO
SI( N = 2 )ENTONCES
ESCRIBIR (“DOS”)
SINO
SI( N = 3 )ENTONCES
ESCRIBIR (“TRES”)
SINO
ESCRIBIR (“NÚMERO NO VALIDO”)
FIN-SI
FIN
FIN-SI
FIN-SI
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N As INTEGER
Write("Ingrese
"Ingrese UN NÚMERO entre 1- 3 :”)
N = ReadLine()
IF ( N =1) THEN
Writeline(“uno:”)
ELSE
IF N=2 THEN
Writeline(“DOS:”)
ELSE
IF N=3 THEN
WRITELINE(“TRES”)
ELSE
Writeline(“NÚMERO NO VALIDO:”)
END IF
END IF
END IF
ReadLine()
End Sub
End Module
2. Ingrese el puntaje obtenido por un postulante y luego visualice a que carrera ingreso,
según la siguiente tabla:
ALGORITMO Ejemplo2
VARIABLES
ENTERO Puntaje
INICIO
LEER ( Puntaje )
SI (Puntaje >= 70) Y (Puntaje < 90) ENTONCES
ESCRIBIR (“Contabilidad”)
(
SINO
SI (Puntaje >= 90) Y (Puntaje < 100) ENTONCES
ESCRIBIR (“Administración”)
SINO
SI (Puntaje >= 100) Y (Puntaje < 120) ENTONCES
ESCRIBIR (“Derecho”)
SINO
SI (Puntaje >= 120) Y (Puntaje <= 150) ENTONCES
ESCRIBIR (“INGENIERIA”)
“INGENIERIA”)
SINO
ESCRIBIR (“LE
“LE FALTO:”, 70-Puntaje)
70
FIN-SI
FIN-SI
FIN
FIN-SI
FIN-SI
FIN
3. Ingrese el ciclo y turno a estudiar, luego calcule el total a pagar según la siguiente
tabla:
ALGORITMO Ejemplo3
VARIABLES
REAL Pensión
ENTERO Ciclo
CARÁCTER Turno
INICIO
LEER( Ciclo, Turno )
SI (Ciclo = 1) ENTONCES
SI (Turno = ‘M’) ENTONCES
Pensión ← 850
SINO
Pensión ← 800
FIN
FIN-SI
SINO
SI (Ciclo = 2) ENTONCES
SI (Turno = ‘M’) ENTONCES
Pensión ← 750
SINO
Pensión ← 700
FIN-SI
SINO
SI (Turno = ‘M’) ENTONCES
Pensión ← 650
SINO
Pensión ← 600
FIN-SI/
FIN
FIN-SI
FIN-SI
FIN
Consumo Tarifa
[ 1 – 50 > 0.8
ALGORITMO Ejemplo4
VARIABLES
REAL: Consumo, Tarifa, Monto
INICIO
LEER (Consumo)
SI (Consumo<50) ENTONCES
Tarifa 0.8
SINO
SI (Consumo >= 50) Y (Consumo < 100) ENTONCES
Tarifa 1.5
SINO
SI (Consumo >= 100) Y (Consumo < 150) ENTONCES
Tarifa 1.8
SINO
Tarifa 2.0
FIN-SI
FIN
FIN-SI
FIN-SI
Monto Tarifa * Consumo
ESCRIBIR (Tarifa, Monto)
FIN
ALGORITMO Ejemplo5
VARIABLES
REAL: básico, bonificación, monto
CADENA: Categoría
INICIO
LEER (Categoría)
SI (Categoría =”Empleado”) ENTONCES
básico 600
bonificación 600
SINO
SI (Categoría = ”Obrero”) ENTONCES
básico 550
bonificación 190
SINO
SI (Categoría “Ejecutivo”) ENTONCES
básico 1500
bonificación 500
SINO
básico 200
bonificación 50
FIN-SI
FIN
FIN-SI
FIN-SI
monto básico + bonificación
ESCRIBIR (básico, bonificación, monto)
FIN
EJERCICIOS PROPUESTOS
S 0 2.50 %
S >0 2.75 %
C 0 2.80 %
C >0 3.00 %
V 0 2.50 %
V >0 2.75 %
D 0 2.50 %
D >0 3.00 %
3. Calcular el total a pagar por una compra, sabiendo que existe un recargo según tipo
de tarjeta de crédito con la que se paga la compra.
Visa Electrón ( E ) 0%
VISA ( V ) 5%
MasterCard ( M ) 7%
4. Calcular el total a pagar por su consumo telefónico, sabiendo que su renta básica es
de S/. 50 (60 minutos libres), y que el cobro por minutos adicionales se factura según
la siguiente tabla.
5. Una entidad bancaria ofrece a sus clientes planes de cuentas con tasa de interés
según la siguiente tabla :
6. Ingrese por teclado un números del 1 al 999, exprese el número en letras, por
ejemplo 125 un ciento veinticinco
Se pide elaborar un programa para emitir el recibo por dicho curso, los datos que se
mostraran en el recibo son: nombre del participante, costo del curso y nivel del curso.
CAPÍTULO X
ESTRUCTURAS SELECTIVAS
OBJETIVOS ESPECÍFICOS
CONTENIDOS
• Estructura Selectiva
• Definición
• Sintaxis
• Desarrollo Practico
ESTRUCTURA SELECTIVA
Definición
La estructura
structura condicional selectiva evaluará una expresión que podrá tomar n valores
distintos 1, 2, 3, 4,..n.
Según que elija uno de estos valores en la condición, se realizará una de las “n
acciones”, o lo que es igual, el flujo del algoritmo seguirá un determinado
determinado camino entre
los “n” posibles.
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO
EJERCICIOS RESUELTOS
1. Ingresar un número entre 1 y 5, y luego visualizar su equivalente en letras.
ALGORITMO Ejemplo1
VARIABLES
ENTERO N
INICIO
LEER( N )
CASO ( N ) SEA
1: ESCRIBIR (“UNO”)
2: ESCRIBIR (“DOS”)
3: ESCRIBIR (“TRES”)
4: ESCRIBIR (“CUATRO”)
5: ESCRIBIR (“CINCO”)
OTRO CASO: ESCRIBIR (“FUERA DE RANGO”)
FIN-CASO
CASO
FIN
ALGORITMO Ejemplo2
VARIABLES
CADENA: Categoría
REAL: Bonificación
INICIO
LEER (Categoría)
CASO (Categoría) SEA
“A”: Bonificación ← 250
“B”: Bonificación ← 200
“C”: Bonificación ← 120
OTRO CASO: Bonificación ← 50
FIN
FIN-CASO
ESCRIBIR (Bonificación)
FIN
Imports System.Console
Module Module1
Sub Main()
Dim categoria As Integer
Dim bonificacion as double
Write("Ingresa
"Ingresa categoria..:")
categoria..:"
categoria = ReadLine()
select case categoria
case “A”:bonificacion=250
case “B”:bonificacion=200
case “C”:bonificacion=120
case else
bonificacion=50
End select
Writeline(“la bonificacion es:” & bonificacion)
ReadLine()
End Sub
End Module
FIN
Imports System.Console
Module Module1
Sub Main()
End Sub
End Module
ALGORITMO Ejemplo4
VARIABLES
CADENA: Semana
ENTERO: día
INICIO
LEER (día)
CASO (día) SEA
1: Semana ← “Lunes”
2: Semana ← “Martes”
3: Semana ← “Miércoles”
4: Semana ← “Jueves”
5: Semana ← “Viernes”
6: Semana ← “Sábado”
7: Semana ← “Domingo”
OTRO CASO:
Semana ← “Error”
FIN -CASO
ESCRIBIR (Semana)
FIN
5. Calcular el total a pagar por una compra, sabiendo que existe un recargo según tipo de
tarjeta de crédito con la que se paga la compra.
VISA ( V ) 5%
MasterCard ( M ) 7%
ALGORITMO Ejemplo5
VARIABLES
REAL: monto. Recargo, total
CADENA: tarjeta
INICIO
LEER (tarjeta, monto)
CASO (tarjeta) SEA
“E”: recargo ← 0
“V”: recargo ← 0.05*monto
“M”: recargo ← 0.07* monto
FIN –CASO
Total monto + recargo
ESCRIBIR (total)
FIN
6. Diseñe un programa que calcule el costo de un paciente, el costo depende del tipo de
enfermedad. De acuerdo a la siguiente tabla:
ALGORITMO Ejemplo6
VARIABLES
REAL: costo
CARACTER: tipo
INICIO
LEER (tipo)
CASO (tipo) SEA
“1”: costo ← 122
“2”: costo ← 150
“3”: costo ← 200
FIN –CASO
ESCRIBIR (costo)
FIN
EJERCICIOS PROPUESTOS
1. Escriba un programa que lea un número desde el teclado entre 1 y 12 e imprima el
nombre del mes del año correspondiente. (Enero, Febrero,...etc.).
3. Una entidad bancaria ofrece a sus clientes planes de cuentas con tasa de interés
según la siguiente tabla:
Se pide elaborar un programa para emitir el recibo por dicho curso, los datos que se
mostraran en el recibo son: nombre del participante, costo del curso y nivel del curso.
6. Ingresar una fecha y calcular: el número de días de ese mes e identificar si el año es
bisiesto.
CAPÍTULO XI
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Estructura iterativa
Definición
Tipos de estructuras
Contadores y acumuladores
ESTRUCTURA REPETITIVA
Definición
Todo problema que trabaja con procesos repetitivos o cíclicos debe tomar en cuenta las
siguientes fases:
Definición
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO
PARA Variable←V.Inicial
←V.Inicial HASTA V.Final DE Inc
Instrucciones y/o
Sentencias
FIN-PARA
Donde:
CONTADORES
Representación:
Ejemplo:
ii+1
ACUMULADORES
Es una variable que suma sobre sí misma un conjunto de valores para de esta
manera tener la suma de todos ellos en una sola variable.
La diferencia entre un contador y un acumulador es que mientras el primero va
aumentando de uno en uno, el acumulador va aumentando en una cantidad
variable.
Representación:
<variable> <variable> + <valor variable>
Ejemplo:
S S + variable
EJERCICIOS RESUELTOS
ALGORITMO Ejemplo1
VARIABLES
ENTERO N
INICIO
PARA N←1
N HASTA 10
ESCRIBIR (N)
FIN-PARA
PARA
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N As Integer
For n=1 to 10
Writeline(“ valor:” & N)
End for
ReadLine()
End Sub
End Module
ALGORITMO Ejemplo2
VARIABLES
ENTERO N
INICIO
PARA N ← 10 HASTA 1 DE -1
ESCRIBIR (N)
FIN-PARA
PARA
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N As Integer
For n=10 to 1 step -1
Writeline(“ valor:” & N)
End for
ReadLine()
End Sub
End Module
ALGORITMO Ejemplo3
VARIABLES
ENTERO N, A, B
INICIO
PARA N ← 10 HASTA 99
A ← N DIV 10
B ← N MOD 10
SI ( A = B ) ENTONCES
ESCRIBIR (N)
FIN
FIN-SI
FIN-PARA
PARA
FIN
Imports System.Console
Module Module1
Sub Main()
End Sub
End Module
ALGORITMO Ejemplo4
VARIABLES
ENTERO N, Divisor
INICIO
LEER (N)
PARA Divisor ← 1 HASTA N
SI N MOD Divisor = 0 Entonces
ESCRIBIR (Divisor)
FIN-SI
FIN-PARA
FIN
5. Diseñe un programa que imprima una tabla de cuadrados y de cubos para los
números del 1 hasta N, donde N se ingresa.
ALGORITMO Ejemplo5
VARIABLES
ENTERO N, i, CUADRADO, CUBO
INICIO
LEER (N)
PARA i ← 1 HASTA N
CUADRADO i * i
CUBO i * i * i
ESCRIBIR (N, CUADRADO, CUBO)
FIN-PARA
PARA
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N,I,CUADRADO, CUBO As Integer
WRITE(“Ingrese unn valor”)
N=readline
For I=1 to N
CUADRADO=I*I
CUABO=I*I*I
Writeline(I,” “& CUADRADO &” “ & CUBO)
End for
ReadLine()
End Sub
End Module
ALGORITMO Ejemplo6
VARIABLES
ENTERO N, MAYOR, MENOR, i
INICIO
MENOR 0
MAYOR 0
PARA i ← 1 HASTA 30
LEER (N)
SI N > MAYOR ENTONCES
MAYOR N
FIN SI
SI N < MENOR ENTONCES
MENOR N
FIN SI
FIN-PARA
PARA
ESCRIBIR (MAYOR, MENOR)
FIN
ALGORITMO Ejemplo7
VARIABLES
ENTERO N, FACTORIAL, i
INICIO
FACTORIAL 1
LEER (N)
PARA i ← 1 HASTA N
FACTORIAL FACTORIAL * i
FIN-PARA
PARA
ESCRIBIR (FACTORIAL)
FIN
8. Elabore un programa donde ingrese las notas de 30 alumnos: nombre del alumno, el
curso, nota1 y nota2. Por cada ingreso calcule y visualice su promedio; al finalizar
visualice la cantidad de alumnos aprobados y la cantidad de alumnos desaprobados
ALGORITMO Ejemplo8
VARIABLES
ENTERO N, NOTA1, NOTA2, i, CAPROB, CDESAPROB
REAL PROMEDIO
CADENA NO
NOMBRE, CURSO
INICIO
CAPROB 0
CDESAPROB 0
PARA i ← 1 HASTA 30
LEER (NOMBRE, CURSO, NOTA1, NOTA2)
PROMEDIO (NOTA1 + NOTA2) /2
ESCRIBIR (PROMEDIO)
SI (PROMEDIO>=11) ENTONCES
CAPROB CAPROB + 1
SINO
CDESAPROB CDESAPROB + 1
FIN SI
FIN-PARA
PARA
ESCRIBIR (CAPROB, CDESAPROB)
FIN
EJERCICIOS PROPUESTOS
5. Ingrese un número entero y luego calcule la suma de todos los números impares
menores al número ingresado.
7. Calcular la suma de todos los números de 3 cifras compuestos por cifras diferentes
impares.
8. Diseñe un programa que ingrese las edades de 10 alumnos y que calcule lo siguiente:
• Suma de todas las edades
• Promedio de edades
• Promedio de edades pares
• Edad máxima
• Edad mínima
*
**
***
****
*****
****
***
**
*
10. Elabore un programa que permita convertir un número de base 10 a un número de otra
base, para ello ingrese el número y la base. Ejemplo: Suponga que el número en
decimal que se desea transformar a su equivalente en binario es el 11:
11. Elabore un programa donde ingrese un número,, visualizar los divisores del número
ingresado.
12. Escribe un algoritmo que imprima una pirámide de dígitos como la de la figura,
tomando como entrada el número de filas de la misma.
1
121
12321
1234321
123454321
1, 4, 9, 16,… N2
3, 8, 15, 24………
18. Diseñe un programa donde visualice los números primos comprendidos entre el 1 al
100.
CAPÍTULO XII
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Definición
Sintaxis
ESTRUCTURA MIENTRAS-HACER
MIENTRAS
Definición
Esta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede
ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que
debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple,
entonces ya no se ejecuta el proceso.
Característica
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO
VERDAD
:
:
FIN-MIENTRAS
MIENTRAS Instrucciones y/o
Sentencias
EJERCICIOS RESUELTOS
1. Imprimir los 3 primeros números naturales.
ALGORITMO Ejemplo1
VARIABLES
ENTERO N
INICIO
N←1
MIENTRAS( N <= 3 ) HACER
ESCRIBIR( N )
N←N+1
FIN-MIENTRAS
MIENTRAS
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N As Integer
WHILE N<=3
Writeline(N)
N=N+1
End WHILE
ReadLine()
End Sub
End Module
Imports System.Console
Module Module1
Sub Main()
End Sub
End Module
ALGORITMO Ejemplo3
VARIABLES
ENTERO N, SUMA
INICIO
N ← 10
SUMA ← 0
MIENTRAS (N <= 99) HACER
SUMA ← SUMA + N
N←N+1
FIN-MIENTRAS
MIENTRAS
ESCRIBIR (“LA SUMA ES:”, SUMA)
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N, SUMA As Integer
N=10
SUMA=0
WHILE N<=99
SUMA=SUMA+N
N=N+1
End WHILE
WRITELINE(“ La suma es :” & suma)
ReadLine()
End Sub
End Module
Imports System.Console
Module Module1
Sub Main()
End Sub
End Module
ALGORITMO Ejemplo6
VARIABLES
ENTERO N, Cifras
INICIO
LEER (N)
Cifras ← 0
MIENTRAS (N <> 0) HACER
Cifras ← Cifras + 1
N ← N DIV 10
FIN-MIENTRAS
MIENTRAS
ESCRIBIR (“Número
(“ Cifras:”, Cifras)
FIN
ALGORITMO Ejemplo7
VARIABLES
ENTERO N, SUMA, CPARES, CIMPARES, i
INICIO
CPARES 0
CIMPARES 0
SUMA 0
I1
MIENTRAS (i <=5) HACER
LEER (N)
ALGORITMO Ejemplo8
VARIABLES
RESTO N MOD 10
SUMA SUMA + RESTO
N N DIV 10
FIN MIENTRAS
ESCRIBIR (SUMA)
FIN
ALGORITMO Ejemplo9
VARIABLES
ENTERO N, CONTADOR, i
INICIO
CONTADOR 0
LEER (N)
i2
MIENTRAS (i < N) HACER
SI (N MOD N = 0) ENTONCES
CONTADOR CONTADOR + 1
FIN SI
ii+1
FIN MIENTRAS
SI (i = 0) ENTONCES
ESCRIBIR (“NÚMERO
(“ PRIMO”)
SINO
ESCRIBIR (“NÚMERO
(“ COMPUESTO”)
FIN SI
FIN
EJERCICIOS PROPUESTOS
S ← 2 + 4 + 6 + 8 + … + 98
3. Generar y visualizar la siguiente serie:
S ← 1+2+3/2+4/3+5/4+…+10/9
4. Ingrese un número entero y calcule la suma de las cifras del número.
5. Ingrese un número entero y luego calcule la suma de cifras pares e impares que
están contenidas en el número ingresado.
6. Ingrese un número entero y calcule la mayor y menor cifra contenidas en el número
ingresado.
7. Ingrese un número entero y luego forme un 2do número con las cifras del número
núm
ingresado en forma inversa.
8. Ingrese un número entero y luego obtenga su equivalente en base 5.
9. Diseñe un programa que lea Nombre y edad de 5 alumnos y calcule la edad
promedio así como también la mayor edad, considere que la edad debe encontrarse
entre 18 a 70 años.
10. Diseñe un programa que imprima lo siguiente:
%
%%
%%%
%%%%
%%%%%
%%%%%%
%%%%%%%
11. Escribe un algoritmo que lea un número natural N y dibuje un triángulo de asteriscos
con base y altura N. Por ejemplo si N=5 debería dibujarse:
*
**
***
****
*****
12. Diseñe un programa para hallar la suma de N términos de la siguiente serie:
1 + 1/32 + 1/52 + 1/72 + 1/92+............................
13. Calcular la suma de todos los números primos existentes entre 1 y 1000.
14. Calcular la
a suma de todos los números de 3 cifras compuestos por cifras diferentes
impares.
15. Visualizar la siguiente serie de números: +1-2+3-4+5-6+7-8+…+N
CAPÍTULO XIII
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Definición
Sintaxis
Definición
Característica
Repite un proceso una cantidad de veces, pero a diferencia del Mientras Que, el
Repita-Hasta
Hasta lo hace hasta que la condición se cumple y no mientras, como en el
Mientras Que. Por otra
otra parte, esta estructura permite realizar el proceso cuando
menos una vez, ya que la condición se evalúa al final del proceso, mientras que en el
Mientras Que puede ser que nunca llegue a entrar si la condición no se cumple
desde un principio.
SINTAXIS
DIAGRAMA DE FLUJO
PSEUDOCÓDIGO
REPETIR
Instrucciones y/o
FALSO : Sentencias
:
HASTA (Expresión<es>)
EJERCICIOS RESUELTOS
ALGORITMO Ejemplo1
VARIABLES
ENTERO N
INICIO
N ←1
REPETIR
ESCRIBIR (N)
N←N+1
HASTA (N > 5)
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N As Integer
N=1
Do
Writeline (“ valor “ & N)
N=N+1
Loop Until N>5
End Sub
END MODULE
ALGORITMO Ejemplo2
VARIABLES
ENTERO N
INICIO
N ← 10
REPETIR
ESCRIBIR (N)
N←N+2
HASTA (N > 98)
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N As Integer
N=10
Do
Writeline (“valor “ & N)
N=N+2
Loop Until N>98
End Sub
END MODULE
ALGORITMO Ejemplo3
VARIABLES
INICIO
N ←1
REPETIR
ESCRIBIR ( N ↑ 2 )
N←N+1
HASTA (N > 10)
FIN
Imports System.Console
Module Module1
Sub Main()
Dim N As Integer
N=1
Do
Writeline(“ valor “ & N^2)
N=N+1
Loop Until N>10
End Sub
END MODULE
ALGORITMO Ejemplo4
VARIABLES
ENTERO N, Divisor, Resto
INICIO
LEER (N)
Divisor ← 1
REPETIR
Resto ← N MOD Divisor
SI (Resto = 0) ENTONCES
ESCRIBIR (Divisor)
FIN-SI
Divisor ← Divisor + 1
HASTA (Divisor > N)
FIN
Imports System.Console
Module Module1
Sub Main()
End Sub
END MODULE
ALGORITMO Ejemplo5
VARIABLES
ENTERO N, M, INV, Cifra
INICIO
LEER (N)
M ←N
INV ← 0
REPETIR
Cifra ← M MOD 10
INV ← (INV * 10) + Cifra
M ← M DIV 10
HASTA (M = 0)
SI (N = INV) ENTONCES
ESCRIBIR (“ES CAPICUA”)
SINO
ESCRIBIR (“NO ES CAPICUA”)
FIN-SI
FIN
Imports System.Console
Module Module1
Sub Main()
End Sub
END MODULE
EJERCICIOS PROPUESTOS
9. Escriba un pequeño programa para imprimir los primeros cien números naturales
haciendo una pausa cada vez que se llene la pantalla e indicando con un mensaje
adecuado que al oprimir una tecla la lista continuará.
10. Escriba un programa que imprima los primeros n números naturales pares. Valide el
valor de n y emita un mensaje de error si no es natural.
11. Escribe un algoritmo que lea un número natural N y dibuje un triángulo de asteriscos
con base y altura N. Por ejemplo si N=5 debería dibujarse:
*
**
***
****
*****
12. Escriba un programa para calcular e imprimir todos los números enteros
comprendidos entre 100 y 999 tales que sean iguales a la suma de los cubos de sus
dígitos, es decir, los números de la forma abc, con:
abc = a3 + b3 + c3
13. Ingrese un número entero y luego calcule la suma de cifras pares e impares que
están contenidas en el número ingresado.
14. Ingrese un número entero y calcule la mayor y menor cifra contenidas en el número
ingresado.
CAPÍTULO XIV
OBJETIVOS ESPECÍFICOS
CONTENIDOS
SUBPROGRAMAS
Introducción
Cuando una de estas acciones no primitivas se repite en varios puntos del algoritmo
es interesante darle un nombre y reutilizarla.
re
Definición
1. DIVISION EN MODULOS
2. ABSTRACCION
3. ENCAPSULAMIENTO
Procedimientos o Rutinas
Funciones
PROCEDIMIENTOS
Definición
Invocar un Procedimiento
ALGORITMO Ejemplo
Definición de
VARIABLES
variables publicas
ENTERO A, B
PROCEDIMIENTO SUMA ( )
INICIO
Definición del
de
ESCRIBIR(A + B)
procedimiento
FIN-PROCEDIMIENTO
Suma ( )
INICIO
LEER(A, B) Ejecutar el
SUMA ( ) procedimiento
FIN Suma ( )
ALGORITMO Ejemplo
Definición de
VARIABLES
variables publicas
ENTERO A, B
PROCEDIMIENTO SUMA ( ENTERO: M, N)
INICIO
Definición de l
ESCRIBIR ( M +N )
procedimiento Suma( )
FIN-PROCEDIMIENTO
donde se definen sus
parámetros M y N
INICIO
LEER (A, B)
SUMA (A, B)
FIN Ejecutar el
procedimiento
Suma enviando
como parámetros el
valor de A y B.
Parámetros
ESTRUCTURA DE UN PROCEDIMIENTO
Opcional
VAR
: <variables_locales>
INICIO Instrucciones
y/o
: Sentencias
:
FIN- PROCEDIMIENTO
EJERCICIOS RESUELTOS
ALGORITMO Ejemplo1
VARIABLES
ENTERO N
PROCEDIMIENTO Imprime (CADENA Texto, ENTERO NÚMERO)
VARIABLES
ENTERO I Procedimiento imprime,
INICIO
con la declaración de
PARA I ← 1 HASTA NÚMERO
ESCRIBIR (Texto) parámetros
FIN-PARA
FIN-PROCEDIMIENTO
INICIO
LEER (N)
Imprime (“HOLA”, N)
Imprime (“IDAT”, 20)
Imprime (“COMPUTACION”, 50)
FIN
Imports System.Console
Module Module1
Dim N As Integer
SUB IMPRIME(TEXTO
TEXTO AS STRING, NÚMERO AS INTEGER)
DIM I AS INTEGER
For I=1 to NÚMERO
Writeline (Texto)
End for
END SUB
Sub Main()
End Sub
End Module
ALGORITMO Ejemplo2
VARIABLES
ENTERO A, B
PROCEDIMIENTO ImprimeMayor (ENTERO M, ENTERO N)
INICIO
SI ( M > N )ENTONCES
ESCRIBIR (M)
SINO
ESCRIBIR (N)
FIN-SI
FIN-PROCEDIMIENTO
PROCEDIMIENTO
INICIO
LEER (A, B)
ImprimeMayor (A, B)
FIN
Imports System.Console
Module Module1
Sub Main()
WRITE (“ INGRESE UN VALOR A :”)
A=READLINE
WRITE (“ INGRESE UN VALOR B :”)
B=READLINE
ImprimeMayor (A,, B)
B
End Sub
End Module
ALGORITMO Ejemplo3
VARIABLES
ENTERO M
PROCEDIMIENTO ImprimeDivisores (ENTERO N)
VARIABLES
ENTERO I
INICIO
PARA I ← 1 HASTA N
SI (N MOD I = 0) ENTONCES
ESCRIBIR (I)
FIN
FIN-SI
FIN-PARA
PARA
FIN-PROCEDIMIENTO
PROCEDIMIENTO
INICIO
LEER (M)
ImprimeDivisores (M)
FIN
ALGORITMO Ejemplo4
VARIABLES
ENTERO M
PROCEDIMIENTO ImprimeSumaMenores (ENTERO N)
VARIABLES
ENTERO SUMA, I
INICIO
SUMA ← 0
PARA I ← 1 HASTA N-1
SUMA ← SUMA + I
FIN-PARA
PARA
ESCRIBIR (SUMA)
FIN-PROCEDIMIENTO
PROCEDIMIENTO
INICIO
LEER (M)
ImprimeSumaMenores (M)
FIN
Imports System.Console
Module Module1
Dim M As Integer
SUB ImprimeSumaMenores (N AS INTEGER)
Dim I , SUMA as Integer
SUMA=0
FOR I=1 TO N--1
SUMA=SUMA+I
END FOR
END SUB
Sub Main()
WRITE(“ INGRESE UN VALOR ENTERO :”)
M=READLINE
ImprimeSumaMenores (M)
End Sub
End Module
ALGORITMO Ejemplo5
VARIABLES
ENTERO M
PROCEDIMIENTO ImprimeSumaCifras (ENTERO N)
VARIABLES
ENTERO SUMA, CIFRA
INICIO
SUMA ← 0
MIENTRAS (N<>0) HACER
CIFRA N MOD 10
SUMA ← SUMA + CIFRA
N N DIV 10
FIN-MIENTRAS
MIENTRAS
ESCRIBIR (SUMA)
FIN-PROCEDIMIENTO
PROCEDIMIENTO
INICIO
LEER (M)
ImprimeSumaCifras (M)
FIN
ALGORITMO Ejemplo6
VARIABLES
ENTERO N1, N2, N3
PROCEDIMIENTO ImprimeMenor (ENTERO A, ENTERO B, ENTERO C)
VARIABLES
ENTERO MENOR
INICIO
MENOR A
SI (B < MENOR) ENTONCES
MENOR ← B
FIN-SI
SI (C < MENOR) ENTONCES
MENOR C
FIN-SI
ESCRIBIR (MENOR)
FIN-PROCEDIMIENTO
PROCEDIMIENTO
INICIO
LEER (N1, N2, N3)
ImprimeMenor (N1, N2, N3)
FIN
ALGORITMO Ejemplo7
VARIABLES
ENTERO M
PROCEDIMIENTO ImprimeInverso (ENTERO N)
VARIABLES
ENTERO INVERSO, CIFRA
INICIO
INVERSO ← 0
MIENTRAS (N<>0) HACER
CIFRA N MOD 10
INVERSO ← 10 * INVERSO + CIFRA
N N DIV 10
FIN-MIENTRAS
MIENTRAS
ESCRIBIR (INVERSO)
FIN-PROCEDIMIENTO
PROCEDIMIENTO
INICIO
LEER (M)
ImprimeInverso (M)
FIN
EJERCICIOS PROPUESTOS
*
**
***
****
*****
abc = a3 + b3 + c3
10. Ingrese un número entero y luego desarrolle un procedimiento que permita calcular
la suma de cifras pares e impares que están contenidas en el número ingresado.
CAPÍTULO XV
USO DE FUNCIONES
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Funciones
Declaración
Desarrollo práctico.
FUNCIONES
Definición
Las funciones se invocan por su nombre seguido de los valores que se pasaran a
sus respectivos parámetros formales.
Una función puede llamar a otra función inclusive puede llamarse a si misma
(recursividad).
EJERCICIOS RESUELTOS
1. Crear una función que retorne el cuadrado de un número entero.
ALGORITMO Ejemplo1
VARIABLES
ENTERO M
FUNCIÓN Cuadrado (ENTERO N): ENTERO
INICIO
RETORNAR (N * N)
FIN-FUNCIÓN
INICIO
LEER (M)
ESCRIBIR (Cuadrado (M) )
FIN
Imports System.Console
Module Module1
Dim M As Integer
Function Cuadrado (N
N AS INTEGER) as Integer
Return n*n
END FUNCTION
Sub Main()
WRITE(“ INGRESE UN VALOR ENTERO :”)
M=READLINE
Writeline(“ Llama a la function “ & Cuadrado (M))
End Sub
End Module
2. Crear una función que retorne el mayor valor de 2 números enteros.
ALGORITMO Ejemplo2
VARIABLES
ENTERO A, B
FUNCIÓN Mayor (ENTERO M, ENTERO N): ENTERO
INICIO
SI (M > N) ENTONCES
RETORNAR (M)
SINO
RETORNAR (N)
FIN-SI
FIN-FUNCIÓN
INICIO
LEER (A, B)
ESCRIBIR (Mayor (A, B) )
FIN
Imports System.Console
Module Module1
Sub Main()
WRITE(“ INGRESE UN VALOR ENTERO :”)
A=READLINE
WRITE(“ INGRESE UN SEGUNDO ENTERO :”)
B=READLINE
Writeline(“ Llama a la function “ & MAYOR (A,B))
End Sub
End Module
ALGORITMO Ejemplo3
VARIABLES
ENTERO M
FUNCIÓN SumaCifras (ENTERO N): ENTERO
VARIABLES
ENTERO SUMA, Cifra
INICIO
SUMA ← 0
MIENTRAS (N <> 0) HACER
Cifra ← N MOD 10
SUMA ← SUMA + Cifra
N ← N DIV 10
FIN-MIENTRAS
MIENTRAS
RETORNAR (Suma)
FIN-FUNCIÓN
INICIO
LEER (M)
ESCRIBIR (SumaCifras (M) )
FIN
Imports System.Console
Module Module1
Dim M As Integer
Function SumaCifras ( N AS INTEGER) as Integer
Dim suma, cifra as Integer
Suma=0
Do while n<>0
Cifra= n mod 10
Suma=suma+cifra
N=n \10
Loop
Return suma
End Function
Sub Main()
WRITE(“ INGRESE UN VALOR ENTERO :”)
m=READLINE
Writeline(“ Llama a la function “ & SumaCifras (M))
End Sub
End Module
ALGORITMO Ejemplo4
VARIABLES
ENTERO M
FUNCIÓN Factorial (ENTERO N ) : ENTERO
VARIABLES
ENTERO Facto, I
INICIO
Facto ← 1
PARA I ← 1 HASTA N
Facto ← Facto * I
FIN-PARA
PARA
RETORNAR ( Facto )
FIN-FUNCIÓN
INICIO
PARA M ← 1 HASTA 5
ESCRIBIR (Factorial ( M ) )
FIN-PARA
PARA
FIN
5. Implementar una función que retorne la suma de la mayor y menor cifras contenidas en
un número entero.
ALGORITMO Ejemplo5
VARIABLES
ENTERO M
FUNCIÓN SumaMaxMin (ENTERO N): ENTERO
VARIABLES
ENTERO Cifra, MayorCifra, MenorCifra
INICIO
MayorCifra ← 0 : MenorCifra ← 9
MIENTRAS (N <> 0) HACER
Cifra ← N MOD 10
SI (Cifra > MayorCifra) ENTONCES
MayorCifra ← Cifra
FIN
FIN-SI
SI (Cifra < MenorCifra) ENTONCES
MenorCifra ← Cifra
FIN
FIN-SI
N ← N DIV 10
FIN-MIENTRAS
MIENTRAS
RETORNAR (MayorCifra + MenorCifra)
FIN-FUNCIÓN
INICIO
LEER (M)
ESCRIBIR (SumaMaxMin (M))
FIN
6. Implementar una función que retorne la suma de todos los números de 2 cifras
compuestos por cifras diferentes pares.
ALGORITMO Ejemplo6
VARIABLES
ENTERO M
FUNCIÓN SumaPares (ENTERO N): ENTERO
VARIABLES
ENTERO SUMA, A, B
INICIO
SUMA ← 0
PARA N ← 10 HASTA 99
A ← N DIV 10
B ← N MOD 10
SI ( A <> B ) Y (A MOD 2=0) Y (B MOD 2=0) ENTONCES
SUMA ← SUMA + N
FIN
FIN-SI
FIN-PARA
PARA
RETORNAR SUMA
FIN-FUNCIÓN
INICIO
LEER (M)
ESCRIBIR (SumaPares (M) )
FIN
7. Implementar una función que retorne la suma de los elementos de la siguiente serie:
1+8+27+64+…+1000
ALGORITMO Ejercicio7
INICIO
ESCRIBIR (SumaSerie ())
FIN
EJERCICIOS PROPUESTOS
1. Implemente una función que permita calcular el factorial del número ingresado.
2. Implemente una función que retorne un mensaje indicando si es “primo” o “no primo”
de un número ingresado.
4. Implemente una función que retorne la suma de todos los números de 3 cifras
compuestos por cifras
as diferentes impares.
6. Elabore una función que permita retornar la suma de la serie, donde N es ingresado
por teclado:
1, 4, 9, 16,…
16 N2
8. Elabore una función que retorne la suma de los N términos de la siguiente serie:
1 + 1/2 + 2/3 + 3/4 + 4/5+............................
4/5+
CAPITULO XVI
OBJETIVOS ESPECÍFICOS
CONTENIDOS
Objetivo:
Indicarle al alumno el uso correcto de los Arreglos para determinar el
manejo de los elementos (items) que puede almacenar un programa en forma
volátil por medio de una posición la cual es manejada por un índice que empieza
desde 0 hasta el número de elementos -1
1 del tamaño original del vector para
realizar un proceso o n procesos cuando son llamados.
Cabe resaltar cada punto será afianzada por dada clase que se tratara hasta que
el alumno identifique los temas y sus ideas queden más claras.
Arreglos
• Definición tipos.
o Arreglos Unidimensionales (Vectores).
• Declaración.
• Algoritmos básicos.
• Ejercicios.
QUE ES UN ARREGLO
Para acceder a los elementos de un arreglo se hace uso del nombre del arreglo
seguido de un índice cerrado entre paréntesis, este índice representa la posición
posic del
elemento en el arreglo.
Sintaxis:
VARIABLES
Tipo_Dato Nombre_
Nombre_Arreglo (Número_Elementos)
EJERCICIOS RESUELTOS
1. Elabore
labore un algoritmo para ingresar y visualizar los elementos de un arreglo
unidimensional de tipo entero
ALGORITMO Ejemplo1
CONSTANTES
MAX = 10
VARIABLES
ENTERO A (MAX),
MAX), I
INICIO
PARA I ← 0 HASTA MAX-1
MAX
LEER ( I ) )
LEER(A
FIN-PARA
PARA I ← 0 HASTA MAX-1
MAX
ESCRIBIR( A( I ) )
FIN-PARA
FIN
FIN
3. Calcular el promedio de los elementos contenidos en un arreglo de tipo entero.
ALGORITMO Ejemplo3
CONSTANTES
MAX = 10
VARIABLES
ENTERO M(MAX), I, SUMA, PROMEDIO
INICIO
SUMA ← 0
PARA I ← 0 HASTA MAX-1
LEER( M(I) )
SUMA ← SUMA + M( I )
FIN-PARA
PARA
PROMEDIO ← SUMA DIV MAX
ESCRIBIR( PROMEDIO )
FIN
4. Calcular el mayor y menor valor de los elementos contenidos en un arreglo de tipo entero
ALGORITMO Ejemplo4
CONSTANTES
MAX = 10
VARIABLES
ENTERO M(MAX), I, MAYOR, MENOR
INICIO
PARA I ← 0 HASTA MAX-1
LEER( M(I) )
FIN-PARA
PARA
MAYOR ← M(0) : MENOR ← M(0)
PARA I ← 1 HASTA MAX-1
SI( M(I) > MAYOR)ENTONCES
MAYOR ← M(I)
FIN
FIN-SI
SI( M(I) < MENOR)ENTONCES
MENOR ← M(I)
FIN
FIN-SI
FIN-PARA
PARA
ESCRIBIR(“MAYOR=“,MAYOR,” MENOR=“, MENOR)
FIN
ALGORITMO Ejemplo5
CONSTANTES
MAX = 10
VARIABLES
ENTERO M(MAX), I, DATO, POSICION
INICIO
PARA I ← 0 HASTA MAX-1
LEER( M(I) )
FIN-PARA
PARA
LEER( DATO )
POSICION ← -1
PARA I ← 0 HASTA MAX-1
SI( M(I) = DATO )ENTONCES
POSICION ← I : I ← MAX-1
FIN
FIN-SI
FIN-PARA
PARA
SI( POSICION <> - 1 )ENTONCES
ESCRIBIR(“DATO ENCONTRADO”)
SINO
ESCRIBIR(“DATO NO ENCONTRADO”)
FIN-SI
FIN
EN VISUAL BASIC:
Ejemplo realizar una aplicación para ingresar un número de elementos a un array de tamaño
10 luego visualizar su contenido con la posición de memoria correspondiente.
Ps Pro
Algoritmo array1 Imports System.Console
Variables Module array1
i,n : entero Sub main()
a(10) : real Dim i, n As Integer
Inicio Dim a(10) As Decimal
Leer Write("ing
"ing # de elementos al array..:")
array..:"
"ing # de elementos.:",n-1
elementos.:",n n = CInt(ReadLine()) - 1
si (n>10) entones If (n > 10) Then
imprimir WriteLine("error
"error desbordamiento de
" error desbordamiento de division..:")
division..:" Else
si no 'ingresar elementos al array
para i=0 hasta n For i = 0 To n
Leer Write("ing
"ing elementos al array..:")
array..:"
"ing elementos al a(i) = CDec(ReadLine())
(ReadLine())
array",a(i) Next
fin para WriteLine("")
' imprimir
para i=0 hasta n For i = 0 To n
imprimir WriteLine("" indice #.: " & i & " valor
" índice #: ",i," valor es: es..: " & a(i))
", a(i) Next
fin para End If
fin si ReadLine()
Fin. End Sub
End Module
Ps Pro
Imports System.Console
Module suma
Sub main()
Dim i, n As Integer
Dim a1(12), b1(12), S(12) As Decimal
Write("ING NÚMERO DE ELEMENTOS..:")
ELEMENTOS..:"
n = CInt(ReadLine()) - 1
If (n > 12) Then
WriteLine("error desbordamiento de division.:")
division.:"
Else
' primer array
For i = 0 To n
Write("ing elementos al array a1.:")
a1(i) = CDec(ReadLine())
Next
WriteLine("")
' segundo array
For i = 0 To n
Write("ing elementos al array b1.:")
b1(i) = CDec(ReadLine())
Next
WriteLine("")
' calculo de la suma
For i = 0 To n
S(i) = a1(i) + b1(i)
Next
' imprimir la suma
For i = 0 To n
WriteLine("indice #.: " & i & " valor es.:" & S(i))
Next
End If
ReadLine()
End Sub
End Module
Aquí su formato.
Ps Pro
bandera=0 bandera = 0
Leer WriteLine("ing
"ing elemento a buscar..:")
buscar..:"
“ing elemento a buscar”,bu bu = CDec(ReadLine())
Para i=0 hasta n For i = 0 To n
Si(array(i)=bu) entonces If (a(i) = bu) Then
Imprimir WriteLine("item:" & array(i) &
“item”, array(i), “encontrado en.:”, i "encontrado en" & i)
Bandera=1 bandera = 1
Fin si End If
Fin para Next
Si (bandera=0) entonces If (bandera = 0) Then
Imprimir WriteLine("No
"No se encontro elemento")
elemento"
“no se encontró.:” End If
Fin si
Ps Pro
Desarrollar el ps. bandera = 0
WriteLine(
WriteLine("ingresar elemento a buscar..:")
bu = CDec(ReadLine())
CDec
For i = 0 To n
If (a(i) = bu) Then
WriteLine(
WriteLine("Elemento.: " & a(i) & " fue encontrado ")
bandera = 1
WriteLine( Desea anular el item " & a(i) & " (s/n) ")
WriteLine("
s = CChar(ReadLine())
CChar
If (s = "s")
"s" Then
WriteLine( El item " & a(i) & " fue anulado en pos.:" & i)
WriteLine("
a(i) = 0
WriteLine(
WriteLine("")
WriteLine(
WriteLine("los nuevos elementos son.:")
WriteLine(
WriteLine("")
For si = 0 To n
If a(si) > 0 Then
WriteLine(a(si))
End If
Next si
End If
End If
Next i
If (bandera = 0) Then
WriteLine(
WriteLine("No se encontro elemento")
End If
Ordenamiento de datos:
Intercambio:
Ps Pro
Para i=0 hasta n For i = 0 To n
Para índice secun=1 +1 hasta n For si = i + 1 To n
Si (array(i) > array(índice secun)) If (a(i) > a(si)) Then
entonces temp = a(si)
Temp=array (índice secun) a(si) = a(i)
Array(índice secun)=array(i) a(i) = temp
Array(i)=temp End If
Fin si Next si
Fin para índice secun Next i
Fin para i For i = 0 To n
WriteLine(a(i))
Para i=0 hasta n Next
Imprimir
Array(i)
Fin para i
Problemas propuestos
2) Llenar dos vectores A y B de 45 elementos cada uno, sumar el elemento uno del vector
A con el elemento uno del vector B y así sucesivamente hasta 45, almacenar el
resultado en un vector C, e imprimir el vector resultante.
5) Almacenar 300 números en un vector, imprimir cuantos son ceros, cuántos son
negativos, cuantos positivos. Imprimir además la suma de los negativos y la suma de los
positivos.
8) Se tiene el vector A con 100 elementos almacenados. Diseñe un algoritmo que escriba
“SI” si el vector esta ordenado ascendentemente o “NO” si el vector no está ordenado
10) Diseñe un algoritmo que lea dos vectores A y B de 20 elementos cada uno y multiplique
el primer elemento de A con el último elemento de B y luego el segundo elemento de A
por él diecinueveavo elemento de B y así sucesivamente hasta llegar al veinteavo
elemento de A por el primer elemento de B. El resultado de la multiplicación almacenarlo
en un vector C.
11) Diseñe un algoritmo que almacene en un vector llamado FIB[100] los 100 primeros
números de la serie fibonacci.
nacci.
MATRICES
OBJETIVO:
Cabe resaltar cada punto será afianzada por dada clase que se tratara hasta que el alumno
identifique los temas y sus ideas queden más claras.
TEMAS:
ARREGLOS
o Arreglos bidimensionales (Vectores).
Ps Pro
Nf,nc,fi,ci : entero Dim Nf,nc,fi,ci as integer
X(5,5), y(5,5), s(5,5) : real Dim x(5, 5), y(5, 5), s(5, 5) As double
Dim a3(,,) As Integer
Dim c3(,,) As Integer = {{1, 2}, {3, 4}, {5, 6},{7,
8}, {9, 10}, {11, 12},{{13, 14}, {15, 16}, {17,
18},{{19, 20}, {21, 22}, {23, 24}}
Arrays Bidimensionales
Todos los arrays vistos hasta el momento han sido de tipo unidimensional, es decir, estaban
compuestos de una lista de valores única.
.NET Framework nos provee también de la capacidad de crear arrays formados por más de
una lista de valores, o lo que es igual, arrays multidimensionales. Un array de este tipo, se
caracteriza por estar compuesto de varias dimensiones o listas anidadas al estilo de filas y
columnas.
Crearíamos un array multidimensional formado por tres filas y cinco columnas. En este caso,
el número correspondiente a la primera dimensión denota las filas, mientras que el número
de la segunda dimensión hace lo propio para las columnas. La Figura 209 muestra un
diagrama con la estructura de este array.
Para recorrer arrays multidimensionales, la clase Array dispone de varios miembros, algunos
de los cuales,, describimos seguidamente.
Es un array en que el acceso de sus elementos lo hace con más de in índice, trabajando así
con uno principal para las filas y otro secundario para el número de columnas.
• Sintaxis.
• Para leer
EJEMPLOS
Ejemplo 1 : Realizar una matriz de nf =5 nc =5, para ingresar las marcar de 5 atletas al final
visualizar los intentos de cada atleta, el número de atletas que pasaron la marca y el atleta
que tiene mayor marca.
Algoritmo Matriz1
Variables
a(5, 4) : real
i, x : entero
t, sm, prom : real
INICIO
para i = 1 hasta 5
Para x = 1 hasta 4
Imprimir "Ingrese intentos {0} del atleta {1}", x, i), a(i, x)
Fin para x
Fin para i
Para i = 1 hasta 5
Imprimir "atleta {0}", i
Para x = 1 hasta 4
Imprimir "intentos {0} {1}", i, a(i, x)
Fin para x
Fin para i
t←0
Para i = 1 hasta 5
Si (a(i, 1) < a(i, 2)) o (a(i, 1) < a(i, 3)) o (a(i, 1) < a(i, 4)) entonces
t←t+1
Fin si
Fin para
Imprimir "Número de atletas que pasaron la primera marca ", t
Para i = 1 hasta 5
sm ← 0
Para x = 1 hasta 4
sm ← sm + a(i, x)
Fin para
prom ← sm / 4
Imprimir " el promedio del atleta {0} es {1}", i, prom
Fin para
sm ← 0
para i = 1 hasta 5
Para x = 1 hasta 4
Si (a(i, x) > sm) entonces
sm ← a(i, x)
Fin si
Fin para x
Fin para i
Imprimir " La marca más alta entre los atletas es {0}", sm
Fin.
Ejemplo 2 : Realizar una matriz de 5 filas y 5 columnas ingresar los elementos y determinar
cuáles son pares.
Algoritmo Matriz2
Variables
n(5, 5) : entero
fi, ci, cp : entero
INICIO
Para fi = 1 hasta 5
Para ci = 1 hasta 5
Imprimir "Ingrese elementos a la matriz n(" , fi , "," , ci , ")", n(fi, ci)
Fin para ci
Fin para fi
cp ← 0
Para fi = 1 hasta 5
Para ci = 1 hasta 5
Si (n(fi, ci) Mod 2 = 0) entonces
cp ← cp + 1
Fin si
Fin para ci
Fin para fi
Imprimir "pares d la matriz {0}", cp
Fin.
Algoritmo Matriz3
Variables
z(9, 9) : real
a, b, c, fi, ci, nf, nc : entero
INICIO
Leer
"Ing. número de filas ..:", nf - 1
"Ing. número de columnas ..:", nc - 1
Si (nf > 8) y (nc > 8) entonces
"Horror"
Sino
Imprimir "matrix de " , (nf * nc) , "--> " elementos"
Para fi = 1 hasta nf
Para ci = 1 hasta nc
Imprimir "(" , fi , "," , ci ")->"")
Leer
"ing valor de A :", a
"ing valor de B :", b
"ing valor de C :", c
Calcular
z(fi, ci) ← Pow(a, 2) + Pow(b, 2) + Pow(c, 2)
Fin para ci
Fin para fi
Para fi = 1 hasta nf
Para ci = 1 hasta nc
Imprimir
"(" , fi , "," , ci , ")--->",
") z(fi, ci)
Fin para ci
Fin para fi
fin si
Fin.
Algoritmo Matriz4
Variables
x(9, 9), y(9, 9) : real
a, b, c, fi, ci, nf, nc : entero
INICIO
Leer
"Ing. número de filas ..:", nf - 1
"Ing. número de columnas ..:", nc - 1
Si (nf > 8) y (nc > 8) entonces
"Error“
Sino
"matrix de " , (nf * nc) , "--> > elementos"
Para fi = 1 hasta nf
Para ci = 1 hasta nc
Imprimir
"(" , fi , "," , ci , ")->"
")
Leer
"ing valor de A :", a
"ing valor de B :", b
"ing valor de C :", c
Calcular
x(fi, ci) ← (b + Pow(b, 2) - 4 * a * c) / 2
y(fi, ci) ← (c + 1 * a + 1) + ((c - 2) + (b + 2))
Fin para ci
Fin para fi
"indice valor x(i)", "indice valor y(i)“
Para fi = 1 hasta nf
Para ci = 1 hasta nc
Imprimir
"(" , fi , "," , ci , ")--->"
") , x(fi, ci) , "(" , fi , "," , ci , ")--->"
>" , y(fi, ci)
Fin para ci
Fin para fi
Fin si
Fin.
Ejercicio 5 Realizar una aplicación para ingresar elementos a una matriz nf = 20, nc = 15
acumularlos, luego visualizar la matriz.
Algoritmo Matriz5
Variables
m(20, 15), am : real
fi, ci, nf, nc, cm : entero
INICIO
Leer
"Ing. número de filas ..:", nf - 1
"Ing. número de columnas ..:", nc - 1
Si (nf > 8) y (nc > 8) entonces
"Error“
Sino
am ← 0
Imprimir
"matrix de " , (nf * nc) , "elementos"
Para fi = 1 hasta nf
Para ci = 1 hasta nc
"Ing. Items matrix m (" , fi , ", " , ci , ")-->",
") m(fi, ci)
am ← am + m(fi, ci)
Fin para ci
Fin para fi
Para fi = 1 hasta nf
Para ci = 1 hasta nc
"(" , fi , " , " , ci , ")" , m(fi, ci)
Fin para ci
Fin para fi
Imprimir
"suma de elementos .: ", am
Fin si
Fin.
OBJETIVOS:
0 0 3 0 Los valores solo van a ser validos del 1 al 20; si yo pongo otro fuera de ese
parámetro me debe de rechazar el valor y pedir otra vez el valor. También
0 0 0 8
debe pedir si se quiere introducir más datos, y mostrar la tabla; si se introduce
0 0 0 0 un valor ya repetido que debe marcar que el dato ya existe, mostrar el mensaje
para introducir nuevamente.
Problema 4. Un comercio utiliza para la atención a sus clientes 5 cajeros (1,2,3,4,5) por cada
transacción se ingresa el número de cajero e importe de la transacción, que puede ser retiro,
deposito y otros. El proceso finaliza cuando en número de caja se ingresa cero. Determinar: a)
total de ingresos, retiros y otros en cada caja b) cual fue el cajero con menos ingresos y con
mayores
res retiros c) visualizar el total por cada caja.
Problema 5.
Problema 6.
Se desea desarrollar un programa que relacione la información de los síntomas que padece un
paciente con la información de los síntomas de las diferentes enfermedades. El nombre de los
pacientes debe colocarse en un vector, el nombre de las
las enfermedades debe colocarse en otro
vector, la información sobre los síntomas de cada paciente está codificada en una matriz en
donde las filas representa cada paciente y las columnas los diferentes síntomas que padece y la
información de los síntomas de
de cada enfermedad debe colocarse en una matriz en donde las
filas representan las diferentes enfermedades y las columnas los síntomas de cada
enfermedad. Las matrices de síntomas tendrán solamente los valores verdadero o falso, en
donde verdadero representa
a que el síntoma está presente en la enfermedad o en el paciente,
según sea el caso, y falso lo contrario.
El programa debe:
Generar un reporte de los pacientes con la enfermedad que padecen
Generar un reporte con la enfermedad más común, el número de pacientes
pacientes que la tienen y el
porcentaje.
Generar un reporte con la enfermedad menos común, el número de pacientes que la tienen y el
porcentaje.
Problema 8. Escribir un programa que lea los elementos de una matriz A de NxN y retorne
la transpuesta de A en otra matriz B de NXN, tal que B[i][j]=A[j][i].
Problema 9. Hacer un algoritmo que permita obtener el productos de dos matrices A[i][j] y
B[j][k].
Problema 10. Hacer un algoritmo que permita rotar los elementos del contorno de una
matriz NxM en sentido horario (Los elementos internos serán ceros)
Problema 11 Obtener
tener la transpuesta de una matriz
a) Cuadrada
b) No
o cuadrada (teniendo en cuenta de que tamaño deberá ser la nueva matriz)
Problema 12. Se tiene una matriz, intercambiar los elementos de 2 renglones seleccionados
por el usuario.
Problema 13. Obtener en un arreglo la suma de los elementos de cada columna par de una
matriz y el producto de los elementos de cada columna impar de la misma matriz.
Ejemplo Nro. 1: Ingresar 2 números enteros y luego visualizar el mayor valor de estos
números.
Ejemplo Nro. 2: Una tienda comercial ofrece a sus clientes un descuento del 3% del
total de compra si el número de productos adquiridos es mayor a 5. Calcular el total a
pagar por una compra.
Ejemplo Nro. 3: Una empresa otorga a sus trabajadores una bonificación equivalente al
5% del salario por cada hijo que tenga el trabajador. Calcular la bonificación y el total a
pagar a un trabajador.
BIBLIOGRAFIA
Ismael Patiño
o
Felix García
Alejandro Calderón
Javier Fernandez
Direcciones Internet
http://www.ulpgc.es/otros/tutoriales/mtutor/indice.html
http://www.programacion.com/java/tutorial/jap_data_alg/
http://pjsml.50megs.com/java/algoritmos.html
http://www.csgabriel.edu.ec/java/