1. ALGORITMO: Es una serie de pasos lógicos y secuenciales para resolver un problema, en principio los lingüistas
creyeron que el origen de esta palabra derivaba de la combinación de “Algiros” (que quería decir dolor) y
“Arithmos” (que quería decir número), la teoría mas aceptada por los historiadores es la de MOHAMMED AL
KHOWARIZMI, matemático persa que vivió durante el siglo XIX y alcanzó gran reputación por el enunciada de la
reglas paso a paso para sumar, restar, multiplicar y dividir números decimales; la traducción al latín del apellido
en la palabra algorismus derivó posteriormente en algoritmo. Euclides, el gran matemático griego (si.IV ac),
inventó un método para encontrar el máximo divisor de dos números y se consideraba junto a AL KHOWARIZMI
los dos grandes padres de la ciencia de los algoritmos o algoritmia.
CARACTERISTICAS:
Preciso: Indicar el orden de realización de cada paso.
Definido: Si se sigue un algoritmo dos veces, se debe tener el mismo resultado.
Finito: Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe tener un número
determinado de pasos.
PASOS PARA RESOLUCION DE PROBLEMAS CON PROGRAMAS DE COMPUTADOR
1. Definición del problema: esta dado por el enunciado del problema, el cual debe ser claro y completo. Es
importante saber exactamente que s lo que se pide en el enunciado o problema.
2. Análisis del problema: Una vez claro y entendido el problema es preciso analizar:
Los datos o resultados que se esperan
Los datos de entrada que nos suministran
El proceso al que se requiere someter esos datos con el fin de obtener los resultados esperados.
Áreas de trabajo, formulas y otros recursos necesarios.
3. Selección de la mejor opción: Al analizar el problema es posible encontrar varias formas de resolverlo;
lo importante es determinar cual es la mejor opción: la que produce los resultados esperados en el menor
tiempo y al menor costo.
4. Diagramación: Una vez claro como resolver el problema se procede a realizar el algoritmo o
PSEUDOCÓDIGO con la lógica de la opción seleccionada, y posteriormente graficar las instrucciones del
algoritmo dando así origen al DIAGRAMA DE FLUJO (representación gráfica de un algoritmo).
5. Prueba de escritorio: consiste en dar datos de entrada al programa a realizar y realizar la corrida en frio
(Ejecución de línea por línea) ; esto permite verificar si el algoritmo está lógicamente bien estructurado.
6. Codificación: Una vez verificado el algoritmo o diagrama de flujo se procede a la codificación, que
consiste en transcribir las instrucciones del pseudocódigo a un lenguaje de programación (Cobol, Basic,
Clipper, Pascal, etc).
7. Compilación: Es el proceso mediante el cual se analizan todas las instrucciones codificada en un
lenguaje (programa fuente), detectando errores de sintaxis y generando un programa en lenguaje máquina
(programa objeto).
8. Ejecución y prueba: se ejecuta la corrida del programa (programa compilado) en el computador y así se
permita verificar la exactitud del mismo.
ELEMENTOS CONSTITUTIVOS DE UN PROGRAMA O ALGORITMO
1. Palabras Reservadas (Inicio, Fin, Si, entonces, mientras, según, repetir, etc).
2. Identificadores (Nombre de Variables).
3. Caracteres Especiales (coma, apostrofo, etc).
4. Constantes: Son objetos cuyo valor permanece invariable a lo largo de la ejecución de un programa.
Es la denominación de un valor concreto, de tal forma que se utiliza su nombre cada vez que se
necesita referenciarlo. Al igual que las variables se utilizan literales para identificarlas, por ejemplo:
PI=3.14152.
5. Variable: Son objetos cuyo valor puede ser modificado a lo largo de la ejecución de un programa. En
la mayoría de los lenguajes de programación se utilizan literales para almacenar su valor, por ejemplo:
X=5 o X 5.
Lcdo.Laryenson Gutiérrez Página 1
2. 6. Datos: Son las características propias de cualquier entidad; es decir, la expresión general que
describe los objeto con los cuales opera una computadora, estos se clasifican de la siguiente forma:
Numéricos: Es el conjunto de valores numéricos. Estos pueden representarse de dos
forma distinta.
Enteros: Son números completos, no tienen componentes fraccionarios o decimales y
pueden ser negativos o positivos, en algunos lenguajes de les denomina INTEGER
números de punto o coma fija. Su rango abarca desde -32768 a 32767, los números
enteros fuera de este rango se pueden representar como reales.
Real: Los números reales poseen punto decimal y abarcan los números enteros, pueden
ser negativos o positivos, son representados en notación científica en la mayoría de los
lenguajes.
Lógicos: También denominados booleanos (álgebra booleana); es aquel dato que solo
puede tomar dos valores: cierto o verdadero (true) y falso (false), este tipo de dato se utiliza
para representar las opciones SI/NO que determinan las condiciones.
Carácter: Es el conjunto finito y ordenado de caracteres que la computadora reconoce, en
algunos lenguajes de programación se utilizan caracteres (char) y cadenas (string), de
acuerdo con esto se precisa lo siguiente:
Carácter: Almacena un solo tipo de carácter, por ejemplo: P:=”3”.
Cadena: Es una serie de caracteres que se encuentra delimitados por una comilla
(apostrofo) o doble comilla según el tipo de lenguaje de programación.
7. Expresiones: Son combinaciones de constantes, variables, símbolos de operación, paréntesis y
nombres de funciones espaciales.
8. Contadores: Es un campo de memoria que esta destinado a contener los diferentes valores que se
van incrementando o decrementando en cada iteración. El campo contendrá las sucesivas sumas
parciales que se van realizando en la ejecución de las sucesivas repeticiones. El incremento en las
sumas parciales es siempre constante, pudiendo ser positivo o negativo, es decir, el contador se irá
incrementando o decrementando. El contador se representa con una variable, ejemplo:
Cont:=Cont+1.
9. Acumulador: Es un campo o zona de memoria, cuya misión es almacenar cantidades de variables
resultantes de sumas sucesivas, realiza la función de un contador con la diferencia que el valor que
suma no es constante. Se representa de la siguiente forma: <variable>:= <variable>+<variable1>.
10. Estructuras de Control: Permiten describir las instrucciones de un programa de acuerdo las
características del caso y los pasos de resolución de un problema con programa de computador, en
este sentido esta clasificada de la siguiente forma: secuencial, condicional y repetitivas.
Estructura Secuencial: Son un conjunto de instrucciones que tienen que realizarse una tras otra
para la ejecución de una operación, las acciones deben realizarse en el orden en que están descritas
sin puedan omitirse alguna, ejemplo: Hacer un algoritmo que permita determinar la suma y el
producto de dos números.
Inicio
Leer a y b
Suma=a+b
Producto=a*b
Mostrar suma, producto
Fin
Estructura Condicional: Es la selección entre un conjunto de instrucciones, entre varias posibles
dependiendo de que se cumpla o no una determinada condición, de acuerdo con esto se destacan los
siguientes casos:
Lcdo.Laryenson Gutiérrez Página 2
3. Estructura Condicional Simple: Si la condición se cumple se ejecutan un conjunto de acciones, pero si
no se cumple no se realiza ninguna acción.
o Inicio
o Si Condición
o Entonces
o Accion1...
o Accion2...
o Fin si
o Fin.
Ejemplo: Realizar un algoritmo que muestre si el número introducido es mayor que 20.
• Inicio
• Leer num
• Si num>20 entonces
• Mostrar num
• Fin si
• Fin
Estructura Condicional Compuesta o doble: Se ejecuta un grupo de instrucciones u otro grupo,
dependiendo que la condición sea cierta o falsa.
o Inicio
o Si Condición
o Entonces
o Accion1...
o Accion2...
o Sino
o Accion3...
o Accion4..
o Fin si
o Fin.
Ejemplo: Realizar un algoritmo que muestre el mayor de dos números introducido.
• Inicio
• Leer a y b
• Si a>b entonces
• Mostrar el mayor es “a”
Sino
• Mostrar el mayor es “b”
• Fin si
• Fin
Estructura Condicional Anidadas: Contienen otra estructura condicional dentro de la misma.
o Inicio
o Si Condición
o Entonces
o Accion1...
o Accion2...
o Si Condición
o Accion3...
Lcdo.Laryenson Gutiérrez Página 3
4. o Accion4...
o Fin si
o Fin si
o Fin.
Ejemplo: Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y C
Respectivamente. El algoritmo debe imprimir cual es el mayor.
Inicio
Leer A, B y C
Si A > B y A > C Entonces
Escribir A “Es el mayor”
Sino
Si B > A y B > C Entonces
Escribir B “Es el mayor”
Sino
Escribir C “Es el mayor”
Fin Si
Fin Si
Fin
Ejercicios varios
1) Hacer un algoritmo que lea tres notas y calcule su promedio.
2) Hacer un algoritmo que lea los lados de un cuadrado y calcule su área, luego leerá la base y la altura de
un triangulo y calculará su área, mostrará las dos áreas y el promedio de ellas.
3) Hacer un programa que lea dos valores y los suma, en caso de que la suma sea menor a 20 sumarla 10,
se deberá mostrar el resultado en ambos casos.
4) Hacer un algoritmo que lea una serie de valores y que para cada valor leído, si es positivo le calcule su
cuadrado, mientras que si es negativo le calcule su cubo.
5) Hacer un programa que lea una serie de nombres, estaturas y edades vaya mostrando el nombre de las
personas elegidas para ingresar a la academia militar, sabiendo que se aceptan las personas de 16 años,
con una estatura superior a 1.75mt, el proceso se detendrá al leer una edad igual cero.
6) Hacer un programa que lea los montos de las ventas de una tienda y valla mostrando el descuento
aplicado a cada venta, sabiendo que el descuento se calcula de la siguiente manera: Si el monto mayor a
5000bsf un 20%, si el monto esta entre 1000bsf y 5000bsf 15% y si el monto es menor a 1000bsf no
hay descuento.
7) Hacer un algoritmo que lea una serie de números y valla calculando y mostrando el cuadrado de cada
uno de ellos. El proceso se detendrá cuando uno de los valores introducidos sea cero.
8) Hacer un programa que lea una serie de horas trabajadas y el sueldo por horas de cada empleado de
una empresa y valla calculando el monto que se le debe pagar, se mostrará este monto y además si este
es mayor a 5000bsf se imprimirá “cheque”, mientras que si es menor se imprimirá “efectivo”.
9) Hacer un programa que lea el sueldo de un empleado y calcule su monto de seguro social obligatorio,
sabiendo que si el empleado gana 3000bsf o menos se le toma el 4% de su sueldo, mientras que si
gana más de 3000bsf se le aplica directamente 120bsf.Mostrar el resultado.
10) Hacer un programa que lea el consumo del mes de teléfono perteneciente a una persona cualquiera y
calcule el monto a pagar bajo ciertas condiciones: si el consumo del mes es mayor a 180bsf
monto=30+consumo adicional*0.20 y consumo adicional=consumo del mes-180, en cado contrario el
monto a pagar es 20bsf
11) Hacer un diagrama de flujo que lea tres valores A, B, C. Si A es mayor a 10 se multiplica A por B y si
esta multiplicación es menor a 50 se le suma C y se mostrará el resultado.
12) Hacer un algoritmo que lea tres notas de un alumno y calcule y muestre su promedio, si este promedio es
mayor a 17 escribirá un mensaje “Felicitaciones”
Lcdo.Laryenson Gutiérrez Página 4
5. 13) Realice un programa que lea el sueldo y el monto de impuesto de un empleado. Si el impuesto es mayor
a 200bsf se averigua si su sueldo es mayor o igual a 5000bsf en cuyo caso se emitirá “paga demasiado”.
Realizar un diagrama de flujo que lea tres valores A, B, C y suma y muestre la multiplicación de A y B,
luego deberá multiplicar dicha suma por C y mostrar el resultado.
14) Una Empresa tiene dos empleados que confeccionan zapatos. Realice un programa que lea para cada
empleado su nombre y número de zapatos que procesó y muestre lo que se debe pagar en bsf sabiendo
que por cada par de zapatos se debe pagar 80bsf.
15) Realice un programa que lea un número y muestre su cuadrado, su cubo, su mitad y doble de su valor.
16) Realice un algoritmo que para una empresa lea la edad del vendedor y el monto en bolívares de lo que
vendió a crédito y el monto en bolívares de lo que vendió de contado y calcule lo obtenido por crédito y
contado respectivamente por los vendedores menores de 30 años. La lectura se detiene si se lee una
venta con monto igual a cero.
17) Hacer un programa que lea los sueldo de 20 empleados de una empresa y cuente cuantos ganan mas de
3000bsf.
18) Hacer un programa que lea las notas que obtuvo un estudiante durante el curso y calcule su promedio.
No se leen mas notas si aparece una calificación mayor a 20.
19) Realizar un algoritmo que para una tienda lea el monto en bolívares de cada unas de las ventas de un
vendedor y calcule y muestre cuanto se le debe pagar por comisión sabiendo que las comisiones
asignadas son:
A) 10% de la venta para montos hasta 1000bsf.
B) 15% de la venta para montos entre 1001bsf y 5000bsf.
C) 1000bsf para montos mayores a 5000bsf.
El programa se detiene si se lee un monto en cero.
20) Hacer un programa que para un restaurante lea el monto obtenido por cada persona que comió en el
restaurante y muestre el número de personas que comieron y el total de bolívares recaudados. El
programa se detiene si se lee un monto en cero.
21) Realice un algoritmo que lea tres valores A, B, C. Si el valor de A es menor a 10 se deberá sumar B y C,
y si el resultado de esta suma es menor a 50 se multiplicará por 2 y mostrar el resultado. Si el valor de A
es mayor o igual a 10 entonces se multiplicará B por 5 y se le sumará C y se mostrará el resultado.
22) A un trabajador le pagan según sus horas y una tarifa de pago por horas. si la cantidad de horas
trabajadas es mayor a 40 horas. La tarifa se incrementa en un 50% para las horas extras. calcular el
salario del trabajador dadas las horas trabajadas y la tarifa.
23) Dado un monto calcular el descuento considerando que por encima de 100 el descuento es el 10% y por
debajo de 100 el descuento es el 2%.
24) Escribir el algoritmo que permita emitir la factura correspondiente a una compra de un artículo
determinado, del que se adquieren una o varias unidades. El IVA es del 19% y si el precio bruto (precio
venta mas IVA) es mayor de $13000 se debe realizar un descuento del 5%.
25) Diseñar el algoritmo correspondiente a un programa que calcule el área y el perímetro de un triángulo
rectángulo dada la base y la altura.
26) Diseñe un programa que dados tres números indique cual de ellos es el menor.
27)Se procesan las notas de 5 alumnos, de las cuales se desea saber cual es el promedio de esas 5 notas,
y cual fue la nota mayor y menor, además de imprimir al final el nombre y la nota de cada alumno.
Lcdo.Laryenson Gutiérrez Página 5