Professional Documents
Culture Documents
Algoritmos: Introducción.
ALGORITMOS:
Definición: Conjunto finito y ordenado de pasos que nos permite resolver un determinado problema.
Constantes: Objetos cuyo valor permanece invariable a lo largo de la ejecución de un programa. Pueden ser:
Números enteros.
Números reales.
Constantes alfanuméricos.
Variables: Objeto cuyo valor puede ser modificado a lo largo de la ejecución de un programa. No es un dato, sino un área de la
memoria que contiene al dato (como en Excel, la celda). Pueden ser:
Numéricas.
Alfanuméricas.
Operadores: Representan el tipo de operación a realizar entre los distintos objetos que conforman una instrucción. Pueden ser:
Signo Operación
> mayor
< menor
= igual
>= mayor o igual
<= menor o igual
<> distinto
Operadores Lógicos: Combinan operadores relacionados con las reglas de Álgebra Booleana.
Signo Operación
OR (o) Suma lógica
AND (y) Producto lógico
NOT (no) Negación
Tipo de acciones:
Acciones de entrada: permiten ingresar datos (LEER).(desde el exterior de introducen datos a la memoria principal, se lo
denomina asignación externa de memoria)
Acciones de salida: permiten mostrar resultados (MOSTRAR).( de memoria al exterior)
Acciones de asignación: son operaciones de asignación de valores a variables. ).(de memoria a memoria, se lo denomina
asignación interna de memoria)
Estructura:
Proceso
•Dos •MOSTRAR
números •Suma (a+b) resultado
(a,b) SUMA
Entrada Salida
Pasos:
1
• Obtener los dos números.
2
• Obtener/calcular la suma.
3
• Informar el resultado.
INICIO
MOSTRAR “Ingresar dos números cualesquiera:”
LEER a,b
suma ← a+b
MOSTRAR “La suma es:”, suma
FIN.
Memoria Principal
Programa
Teclado a b Monitor
Suma
Unidad de Unidad
control aritmética y
lógica
Estructura:
Entrada Salida
Pasos:
INICIO
MOSTRAR “Ingresar los dos lados del rectángulo:”
LEER lmayor, lmenor
per ← lmayor*2+lmenor*2
sup ← lmayor *lmenor
diag ← (lmayor^2 + lmenor^2)^1/2
MOSTRAR “El perímetro es:”, per
MOSTRAR “La superficie es:”, sup
MOSTRAR “La diagonal es:”, diag
FIN.
Prueba de escritorio:
Ejemplo: {2,4}
Ejemplo 4: (Problema 8) Un comerciante de venta de heladeras para por mes a los vendedores 500 pesos, más una comisión del
10% del total de las ventas que realice. Si conocemos para el vendedor, la cantidad de heladeras vendidas y el importe de la
heladera (se comercializa un solo modelo). ¿Cuál será el sueldo del vendedor?
INICIO
MOSTRAR “Ingrese la cantidad de heladeras y el importe”
LEER cant, imp
Sueldo ← 500 + 0,10*cant*imp
MOSTRAR “El valor del sueldo es:”, sueldo
FIN.
Ejercicios Propuestos:
o PROBLEMA 9.
o PROBLEMA 11.
VERDADERO
SI
FALSO
Estructuras selectivas:
Decisión simple.
Decisión doble.
6
Algoritmos: Introducción.
Decisión en bloque.
Decisión múltiple.
Decisión simple:
SI • Condición
ENTONCES • Instrucción
Ejemplo 1: Dados dos números cualesquiera, mostrar si el primero es mayor que el segundo.
Estructura:
• Dos números
Proceso • VERDADERO O
cualesquiera • El primero es FALSO
(a,b) mayor que el
segundo? (a>b?)
Entrada Salida
Pasos:
1
• Obtener los dos números (a,b).
2
• Verificar si el primero es mayor al segundo.
3
• Informar si el primero es mayor que el segundo.
INICIO
MOSTRAR “Ingresar dos números:”
LEER a, b
SI a > b ENTONCES
MOSTRAR “El primer número es mayor”
FIN-SI
FIN.
Prueba de escritorio:
Ejemplo: {2,4}
Ejemplo: {4,2}
7
Algoritmos: Introducción.
a b Pantalla Teclado U.A.L
4 2 Ingrese dos números 4
4 2 4>2?
2 VERDADERO
El primer número es mayor
Ejercicios propuestos:
o PROBLEMA 16.
Decisión Doble:
SI •Condición
ENTONCES •Instrucción 1
SINO •Instrucción 2
Ejemplo 2(Problema 12): Dados dos números diferentes, sumarlos si el primero es menor que el segundo, caso contrario, restarlos.
INICIO
MOSTRAR “Ingrese dos números diferentes”
LEER a, b
SI a < b ENTONCES
suma ← a + b
MOSTRAR “El valor de la suma es:”, suma
SINO
resta ← a – b
MOSTRAR “El valor de la resta es:”, resta
FIN-SI
FIN.
Ejemplo 3: Dados dos números cualesquiera, informar la suma, la división y el mayor de ambos.
Estructura:
Pasos:
8
Algoritmos: Introducción.
INICIO
MOSTRAR “Ingresar dos números:”
LEER a, b
suma ← a+b
division ← a/b
MOSTRAR “La suma es:”, suma
MOSTRAR “La división es:”, division
SI a > b ENTONCES
MOSTRAR “El primer número es mayor”
SINO
MOSTRAR “El segundo número es mayor”
FIN-SI
FIN.
INICIO
MOSTRAR “Ingresar dos números:”
LEER a, b
suma ← a+b
MOSTRAR “La suma es:”, suma
SI b=0 ENTONCES
MOSTRAR “La división no está definida”
SINO
division ← a/b
MOSTRAR “La división es:”, división
FIN-SI
SI a > b ENTONCES
MOSTRAR “El primer número es mayor”
SINO
MOSTRAR “El segundo número es mayor”
FIN-SI
FIN.
Prueba de escritorio:
9
Algoritmos: Introducción.
Ejemplo: {2,4}
Ejemplo: {4,2}
Ejemplo: {4,0}
INICIO
MOSTRAR “Ingrese tres números”
LEER a,b, c
suma ← a + b + c
prom ← suma/3
MOSTRAR “La suma es:”, suma
SI prom > 5 ENTONCES
MOSTRAR “El promedio es mayor que 5”
SINO
MOSTRAR “El promedio es:”, prom
FIN-SI
FIN.
Ejercicios propuestos:
o PROBLEMA 13.
o PROBLEMA 14.
Decisión en bloque: Se usa cuando tenemos decisiones concatenadas (una dentro de la otra).
10
Algoritmos: Introducción.
SI...condición
ENTONCES...SI...condición
ENTONCES (SINO)...FIN-SI
Ejemplo 5(Problema 17): Dados dos números, si el primero es mayor que el segundo, restarlos, si son iguales, multiplicarlos, en caso
contrario, sumarlos.
Estructura:
Dos números: a, b
¿ a > b?
SI NO
a-b ¿a = b?
SI NO
a*b a+b
INICIO
MOSTRAR “Ingrese dos números”
LEER a, b
SI a > b ENTONCES
resta ← a – b
MOSTRAR “La resta es:”, resta
SINO
SI a = b ENTONCES
suma ← a + b
MOSTRAR “La suma es:”, suma
SINO
prod ← a * b
MOSTRAR “El producto es:”, prod
FIN-SI
FIN-SI
FIN.
Ejemplo 6 (Problema 18): Se conocen las longitudes de los tres lados de un triángulo, informar si se trata de un triángulo equilátero,
isósceles o escaleno.
INICIO
MOSTRAR “Ingrese los lados del triángulo”
LEER lado1, lado2, lado3
SI lado1 =lado2 ʌ lado2=lado3
MOSTRAR “El triángulo es equilátero”
SINO
SI lado1 < > lado2 ʌ lado2 < > lado3
MOSTRAR “El triángulo es escaleno”
SINO
11
Algoritmos: Introducción.
MOSTRAR “El triángulo es isósceles”
FIN-SI
FIN-SI
FIN.
Ejemplo 7 (Problema 24): Conocidos los coeficientes de una ecuación de segundo grado, calcular e informar las raíces de la
ecuación.
INICIO
MOSTRAR “Ingresar los coeficientes de la ecuación de segundo grado:”
LEER a, b, c
discriminante ← b^2-4*a*c
SI discriminante > 0 ENTONCES
MOSTRAR “Los valores de las raíces son:”, (b – (discriminante)ʌ1/2)/2*a, (b + (discriminante)ʌ1/2)/2*a
SINO
SI discriminante = 0 ENTONCES
MOSTRAR “El valor de las raíces dobles es:”, b/2*a
SINO
MOSTRAR “La ecuación tiene raíces imaginarias”
FIN-SI
FIN-SI
FIN.
Ejercicios Propuestos:
o PROBLEMA 19.
o PROBLEMA 20.
Decisión Múltiple: “SELECCIONAR CASO” Se usa cuando tenemos decisiones concatenadas y más complejas (una dentro de la otra).
Ejemplo 8 (Problema 23): Conocidas la cantidad de horas trabajadas, la categoría y la antigüedad de un empleado, calcular el sueldo
teniendo en cuenta que cobra $50 adicionales por cada año trabajado. El valor para cada categoría es:
Categoría 1: $10.
Categoría 2: $15.
Categoría 3: $20.
Estructura:
Entrada Salida
Pasos:
12
Algoritmos: Introducción.
• Obtener datos de: horas trabajadas(ht),
1 Categoría (cat) y Antigüedad (ant).
• Seleccionar la categoría.
2 • Calcular el sueldo.
• Informar el sueldo.
3
INICIO
MOSTRAR “Ingresar la cantidad de horas trabajadas, la categoría y la antiguedad”
LEER ht, cat, ant
SI cat = 1 ENTONCES
sueldo ← ht *10 + 50*ant
SINO
SI cat=2 ENTONCES
sueldo ← ht *15 + 50*ant
SINO
sueldo ← ht *20 + 50*ant
FIN-SI
FIN-SI
FIN.
INICIO
MOSTRAR “Ingresar la cantidad de horas trabajadas, la categoría y la antiguedad”
LEER ht, cat, ant
SELECCIONAR CASO cat
CASO=1
vh=10
CASO=2
vh=15
CASO=3
vh=20
FIN SELECCIONAR
sueldo ← ht *vh + 50*ant
MOSTRAR “El sueldo es:”, sueldo
FIN.
Ejercicios Propuestos:
o PROBLEMA 25.