You are on page 1of 12

1

Algoritmos: Introducción.
ALGORITMOS:

Definición: Conjunto finito y ordenado de pasos que nos permite resolver un determinado problema.

Programar: Es escribir un algoritmo en un lenguaje común para el programador y la máquina.

Definición de elementos para desarrollar un algoritmo y un programa


 Datos numéricos: sólo números.
 Datos alfanuméricos: todas las letras, los números tomados como caracteres (no se pueden hacer cuentas con ellos), otros
caracteres: puntos, comas, paréntesis.
 Datos Booleanos: sólo pueden tener datos V o F.

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:

 Operadores aritméticos: Efectúan cuentas.


Signo Operación
+ suma
- resta
* multiplicación
/ división
^ potencia

 Operadores relacionados: Comparan dos valores e indican, si la relación es V o F.

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

Estructura general de un algoritmo:


 Entrada de datos: Formada por todas las acciones que toman los datos objeto del programa desde un dispositivo externo
(teclado, unidad de disco, etc) depositándolos en la memoria principal de la computadora.
 Proceso: Conjunto de acciones que resuelven el problema a partir de los datos que han sido introducidos.
2
Algoritmos: Introducción.
 Salida de resultados: La constituyen las acciones que hacen que los datos resultantes del proceso sean proporcionados al
exterior (monitor, impresora, etc).

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)

Metodología para escribir un algoritmo:


Para escribir un algoritmo se utilizan tres tipos de estructuras:
 Estructura secuencial: las acciones se ejecutan una a continuación de la otra.
 Estructura selectivas: acciones que, de acuerdo a su cumplimiento o no, provocan la ejecución de fases diferentes del
algoritmo.
 Estructura repetitiva: es la ejecución de un grupo de acciones que se repite un número determinado de veces.
3
Algoritmos: Introducción.
Algoritmos: Estructura secuencial:

Ejemplo 1: (Problema 10) Dados dos números cualesquiera, sumarlos.

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

Prueba de escritorio: Cuadro que muestra los tres pasos.


U.A.L.: Unidad Aritmética y Lógica.
Ejemplo: {12,5}

a b suma Pantalla Teclado U.A.L.


12 5 17 Ingrese dos números 12
12 5
5 12+5=17
La suma es: 17
4
Algoritmos: Introducción.
Ejemplo 2: (Problema 6) Conocidas las medidas de un terreno de forma rectangular, se desea saber:
1. La superficie del terreno.
2. El perímetro del terreno.
3. La diagonal del terreno.

Estructura:

• Lados del rectángulo


(lmayor,lmenor)
Proceso • MOSTRAR resultado
PERÍMETRO.
• Perímetro: lmayor • MOSTRAR resultado
*2+lmenor*2. SUPERFICIE.
• Superficie: lmayor*lmenor. • MOSTRAR resultado
• Diagonal: (lmayor^2 + DIAGONAL.
lmenor^2)^1/2

Entrada Salida

Pasos:

•Obtener los lados del rectángulo.


1

•Obtener/calcular el perímetro, la superficie y la diagonal.


2

•Informar el resultado del perímetro, la superficie y la diagonal.


3

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}

lmenor lmayor Per Sup Diag Pantalla Teclado U.A.L.


2 4 12 8 2√5 Ingrese los lados del rectángulo 2
2 4
4 Per=2*2+4*2
El perímetro es: 12 Sup=2*4
La superficie es: 8 Diag=(2^2+4^2)^1/2
La diagonal es: 2√5
5
Algoritmos: Introducción.
Ejemplo 3: (Problema 7) Calcular el sueldo de un empleado conociendo la cantidad de horas trabajadas y el valor que gana por hora.
INICIO
MOSTRAR “Ingrese la cantidad de horas trabajadas y el valor de la hora”
LEER horas, valor
sueldo ← horas*valor
MOSTRAR “El valor del sueldo es:”, sueldo
FIN.

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.

Algoritmos: Estructuras selectivas:

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}

a b Pantalla Teclado U.A.L


2 4 Ingrese dos números 2
2 4 2>4?
4 FALSO

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:

• Dos números Proceso • VERDADERO: El


cualesquiera (a,b) primero es mayor.
• Suma: a+b.
• FALSO: El segundo es
• División: a/b mayor
• El primero es mayor
que el segundo?
(a>b?)
Entrada Salida

Pasos:
8
Algoritmos: Introducción.

• Obtener los dos números (a,b).


1
• Calcular la suma.
• Calcular la división.
2 • Verificar cuál es mayor

• Informar cuál es el mayor.


3

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.

IMPORTANTE: No tuvimos en cuenta la situación en que b=0!!!!!!!!!


Podríamos modificar la leyenda de inicio aclarando que el segundo número no debe ser cero, ya que si el usuario usa éste valor el
programa no va a correr. O podemos modificar el algoritmo para que se incluyan todos los casos. De todas maneras, tenemos el
mismo caso ya que son varios SI independientes (no concatenados).

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}

a b Suma División Pantalla Teclado U.A.L.


2 4 6 1/2 Ingrese dos números 2
2 4 2+4=6
4 4=0? FALSO ENTONCES
La suma es: 6 2/4=1/2
La división es: ½ 2>4? FALSO ENTONCES
El segundo número es mayor MOSTRAR “…”

Ejemplo: {4,2}

a b Suma División Pantalla Teclado U.A.L.


4 2 6 2 Ingrese dos números 4
4 2 4+2=6
2 4=0? FALSO ENTONCES
La suma es: 6 4/2=2
La división es: 2 4>2? VERDADERO ENTONCES
El primer número es mayor MOSTRAR “…”

Ejemplo: {4,0}

a b Suma División Pantalla Teclado U.A.L.


4 0 4 IndefinidaIngrese dos números 4
4 0 4+0=4
0 0=0? VERDADERO ENTONCES
La suma es: 4 MOSTRAR”…”
La división no está definida 4>0? VERDADERO ENTONCES
El primer número es mayor MOSTRAR “…”
Ejemplo 4 (Problema 15): Dados tres números, se pide:
1. La suma.
2. El promedio.
3. Si el promedio es mayor que 5, mostrar un mensaje que diga: “El promedio es mayor que 5”.

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:

• Horas trabajadas, ht. Proceso • Cálculo del valor del


• Categoría, cat. sueldo.
• Selección de categoría.
• Antigüedad, ant.
• sueldo=ht*cat+50*ant

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.

Instrucción SELECCIONAR CASO:

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.

You might also like