ALGORITMOS
CONCEPTOS BÁSICOS
CONCEPTOS BÁSICOS
Un algoritmo es un método para resolver
paso a paso un problema.
CONCEPTOS BÁSICOS
•
El término (Algoritmo) se popularizó con
el advenimiento de la era informática.
•
Se hizo necesaria la solución de
problemas paso a paso..
•
Todo esto para utilizar la computadora
CONCEPTOS BÁSICOS
•
El lenguaje utilizado en los algoritmos se
asemeja al nuestro y a su vez se aproxima al
lenguaje de programación.
•
En nuestro lenguaje se estructuran los
CONCEPTOS BÁSICOS
Introducción a los Algoritmos
•
El ser humano está permanentemente resolviendo
problemas:
•
Cuando vamos a pagar servicios. (banco con menos gente, o la
atención sea más rápida)
•
Cuando vamos al médico (encontrar desocupado al médico de
nuestra confianza)
CONCEPTOS BÁSICOS
Introducción a los Algoritmos
•
A medida que vayamos encontrando
CONCEPTOS BÁSICOS
Concepto de Algoritmo
CONCEPTOS BÁSICOS
Ejemplos de Algoritmo
•
Realizar una llamada desde un teléfono
publico.
•
Preparar una tortilla de huevo.
•
Problemas de tipo matemático como:
CONCEPTOS BÁSICOS
Ejemplo: Algoritmo para cambiar un bombillo fundido
1. Inicio
2. Colocar la escalera debajo del bombillo fundido.
3. Elegir un bombillo nuevo de una potencia adecuada.
4. Subir por la escalera hasta alcanzar el bombillo fundido.
5. Girar el bombillo fundido hacia la izquierda hasta que esté suelto.
6. Ubicar el bombillo nuevo en el mismo lugar.
7. Darle la vuelta hacia la derecha hasta que quede ajustado.
8. Bajar de la escalera.
9. Fin
CONCEPTOS BÁSICOS
Características de un algoritmo
•
Ser preciso
poseer una serie de pasos
definidos claramente y en orden lógico.
•
Estar bien definido
después de
suministrar un conjunto de datos idénticos
se deben obtener los mismos resultados.
CONCEPTOS BÁSICOS
Tipos de Algoritmos
•
Algoritmos cualitativos
son todos aquellos
pasos o instrucciones (descritos por medio de
palabras y variables) ordenados y lógicos que
nos llevan a la realización de una actividad o
tarea o a la solución de un problema --
generalmente no involucran cálculos numéricos.
CONCEPTOS BÁSICOS
Ejemplo: (algoritmo cualitativo)
•
Un cliente realiza un pedido en una
fábrica. La fábrica examina en su banco de
datos la ficha del cliente:
si
el cliente es
solvente entonces la empresa acepta el
pedido, en caso contrario, lo rechaza.
•
El algoritmo correspondiente es el
CONCEPTOS BÁSICOS
El algoritmo para una de las soluciones es:
1. Inicio
2. Leer el pedido
3. Examinar ficha del cliente
4. Si el cliente es solvente aceptar pedido,
en caso contrario rechazar pedido.
CONCEPTOS BÁSICOS
Tipos de Algoritmos
•
Algoritmos cuantitativos
son una serie de pasos
o instrucciones ordenados y lógicos que nos llevan a
la solución de un problema o a la obtención de una
respuesta;
normalmente
involucran
cálculos
numéricos de manera explícita.
•
Ejemplo:
Hallar el valor de la variable Y sabiendo
que
Y = X² + X – 3
CONCEPTOS BÁSICOS
Ejercicio:
Algoritmo para resolver la siguiente ecuación
matemática:
F = M * 7 – X
Una de las soluciones es:
1. Inicio
2. Debemos conocer o asignarle un valor a M.
3. Debemos conocer o asignarle un valor a X.
4. Realizar las operaciones M * 7 y al resultado restarle el valor
de X, luego guardar el valor resultante en la variable F o sea F =
M * 7 – X
Ejercicios de refuerzo
Escribir los algoritmos para:
•
Preparar un arroz blanco
•
Hallar el valor de Y sabiendo que:
2. Variable
•
En primer lugar se debe entender cómo se almacena la
información y los datos en las memorias.
•
En el siguiente gráfico observamos que contiene
información sobre cada uno de los estudiantes de la
universidad:
ARCHIVO DATOS
CAMPOS
2. Variable
•
Podemos ver que la información se almacena como un
ARCHIVO
que se identifica con un nombre (para este
ejemplo
DATOS
)
•
El archivo está dividido en una serie de partes
llamadas
REGISTROS
(para nuestro caso es donde se
guarda la información correspondiente a un
estudiante)
•
A su vez, cada registro se subdivide en partes menores
a las que se denominan
CAMPOS
(que es donde
realmente se almacena la información del estudiante)
•
También debemos notar que los campos tienen unos
2. Variable
•
En el ejemplo encontramos tres variables:
COD, NOM,
SEM
, que han sido definidas para guardar el código, el
nombre y el semestre, respectivamente, de cada uno
de los alumnos.
•
Ya podemos suponer que aunque se utilicen las
2. Variable
La variable se asigna básicamente con los
siguientes propósitos:
•
Almacenar o dejar la información en el campo.
•
Visualizar, mirar o accesar aquello que se
encuentra en el campo.
Entonces,
qué es
una
variable
?
2.1 Partes de una variable
Consta básicamente de
dos partes
:
•
Nombre
•
Valor o contenido
Ejemplo: COD = 5500022
2.1 Partes de una variable
Qué es entonces el
nombre
de una
variable
?
•
Respuesta:
es el conjunto de caracteres: letras,
números y caracteres especiales aceptados, con los
cuales se identifica el contenido de un campo en un
momento determinado.
Qué es el
valor o contenido
de una
variable
?
2.2 Normas para definir variables
Son normas que se sugiere seguir para la asignación de
nombres de variables, estas son:
•
En lo posible el nombre debe comenzar por una letra.
•
El nombre debe ser mnemotécnico (o sea que esté
relacionado con su contenido).
•
El nombre no debe exceder de 8 caracteres.
•
No deben existir espacios entre las letras del nombre.
•
No debe poseer caracteres especiales, excepto los
2.2 Normas para definir variables
Ejemplo de variables correctamente definidas
(nombres):
TOT
CODIGO
codigo
COD
Cod
men100f nombre
NOMBRE
NOM
2.3 Normas para la asignación del contenido a
una variable
•
Si el
contenido
es un carácter o una cadena
de caracteres, éste debe asignarse entre
comillas
sencillas o dobles, según sea el
lenguaje que se está utilizando.
•
Las variables no tienen restricciones en
2.3 Normas para la asignación del contenido a
una variable
Ejemplos:
TOT = 235438
Sueldo = 500000
cod = 5500012
S1_X = -87.5
C = ‘$’
CARACT = ‘9C’
R = ‘*’
Ejercicios
De los siguientes ejercicios, cuáles son correctos, cuáles
incorrectos y porque?
1. $1C = -34
2. RM10P = ‘HOLA’
3. 12TOT1 = 2349
4. 1 tot = ‘234’
5. Tot1 = 378000
6. nom = ‘carlos julio’
7. R$ = 25700
8. R1 = 230876
9. R1_jkl = El libro es para principiantes
10.234 = P
3. TIPOS DE DATOS
Los más utilizados son:
3.1 Datos Numéricos
. Dentro de estos tenemos los
enteros y los reales.
a. Los enteros
(integer) son números que pueden
estar precedidos del signo + o del signo – y no
tienen parte decimal. Ejm: -24, 35, 281, 9, -1.
b. Los reales
(real) pueden estar precedidos del
3. TIPOS DE DATOS
3.2 Datos alfanuméricos
. Son datos cuyo contenido puede ser
un carácter o una cadena o sucesión de caracteres.
Inicialmente recordemos lo que es un caracter:
a. Caracter
(character = caracter): es cualquier letra (
A
a la
Z
o
a
a la
z
), número (0 al 9) o signo(#, $, - , %, etc. ). Ejm:
‘a’, ‘8’, ‘%’, ‘-’, etc.
Características:
•
Para que sea dato de tipo carácter debe estar formado por
solo uno de ellos.
•
Se debe delimitar o encerrar entre comillas, normalmente
3. TIPOS DE DATOS
b. Cadena de caracteres (string):
es decir, una sucesión
de caracteres:
Ejemplos:
‘HOLA CÓMO ESTÁS?’
‘Cra. 7 No. 54-35’
‘ABC’
‘726’
Características:
•
Para que sea dato de tipo cadena de caracteres
debe estar formado por dos o más de ellos.
•
Se debe delimitar o encerrar entre comillas,
3. TIPOS DE DATOS
3.3 Datos Lógicos o booleanos (boolean).
Son
datos que solo pueden tomar dos valores
(verdadero [
true
] o falso [
false
]).
Ejemplo:
•
Pregunta si
A > B
?; si el valor de A es mayor
3. TIPOS DE DATOS
Existen otros tipos de datos como:
3.4 Datos tipo subserie
Sucesión de caracteres, conocidos como datos
subserie. Ejm: ‘a’..’f’
Significa que la subserie de caracteres comienza
en a y termina en f.
3.5 Datos tipo enumerado
3.6 Datos tipo ordinal
4. CONSTANTE
‘Recordar el concepto de variable’
Constante
es el nombre que se le da a un campo en
una memoria cuyo contenido no cambia o varía a
través de un proceso.
Ejemplos:
C = 27
Sim = ‘*’
R1X = -34.789
Si el contenido no cambia, así pasemos muchas veces por
ellas, serán constantes.
El nombre de las constantes se asignan teniendo en cuenta las mismas normas para la
5. Expresión Aritmética o Algebraica
Es el conjunto de variables y/o constantes
unidas por operadores aritméticos.
Ejemplos:
1. Y = X³ + X² + 6
2. TOTAL = SB + HEX - DES
Variable
Variable
Constante
Var. o Const.
Var. o Const.
6. Operador
El
operador
se define como: símbolo o palabra
que permite formular operaciones, establecer
relaciones y hacer comparaciones de tipo
lógico y matemático.
También podemos decir que el operador
es un
símbolo
o palabra que significa que se ha de
6.1 Tipos de operadores
Existen tres tipos de operadores:
•
Operadores aritméticos.
•
Operadores de relación (relacionales).
•
Operadores Lógicos
6.1.1 Operadores aritméticos
. Se utilizan para
6.1 Tipos de operadores
OPERADOR
DESCRIPCIÓN
+
Suma o adición
-
Resta o sustracción
*
Multiplicación
/
División
** , ^
Exponenciación o
potenciación
div
División entera
mod
Módulo o residuo
6.1 Tipos de operadores
Los operadores se utilizan de igual forma que en
matemáticas y debemos acostumbrarnos a
utilizarlos como se indican aquí ya que de es forma
los reconocen todos los sistemas automatizados.
Por ejemplo:
X.Y
debemos escribirlo como
X*Y
.
Nota:
Tener en cuenta como se codifican los
operadores aritméticos en determinados lenguajes
o paquetes.
Por ejemplo
: el operador de exponenciación utilizado
Jerarquía de Operaciones:
La jerarquía para los operadores aritméticos se
da en el siguiente orden:
1. Operador exponencial: (** , ^)
2. Operadores de multiplicación y división: (* , / )
3. Operadores de suma y resta: ( + , - )
4. Operaciones de división entera y residuo:
(div , mod)
Nota: Si los operadores están en el mismo nivel de
jerarquía, las operaciones se realizan de
Uso de paréntesis:
Cuando una expresión aritmética posee
paréntesis, se deben tener en cuenta los
siguientes parámetros:
El computador ejecuta primero las operaciones
que estén dentro del paréntesis ().
Si existen varios pares de paréntesis, comienza
a realizar las operaciones por el más interno
hasta llegar al externo.
Dentro de cada paréntesis se sigue la jerarquía
6.1 Tipos de operadores
6.1.2 Operadores lógicos:
Se utilizan para crear las
expresiones lógicas o booleanas.
Una expresión lógica o booleana es una expresión que
solo pude tomar uno de dos valores, falso (
false
)
o
verdadero (
true
).
OPERADOR
DESCRIPCIÓN
AND
Para indicar Y
(Debe cumplir las dos condiciones)
OR
Para indicar O
(Debe cumplir una de las dos condiciones)
NOT
Para indicar NO (Negar)
6.1 Tipos de operadores
Ejemplo:
Pregunta si (A + B) AND (E + F) son mayores que M.
Para que sea verdadera debe cumplir las dos (2) condiciones:
•
La primera que (A + B) sea mayor que M.
•
La segunda que (E + F) sea también mayor que el valor de
M.
La jerarquía de estos operadores viene establecida así:
1. El operador NOT
2. El operador AND
3. El operador OR
Nota:
Los operadores lógicos se ejecutan de izquierda a derecha
6.1 Tipos de operadores
6.1.3 Operadores de relación.
También se utilizan para crear
expresiones lógicas o booleanas y para formular los
interrogantes o preguntas, y son los siguientes:
OPERADOR
DESCRIPCIÓN
>
Indica mayor que
<
Indica menor que
=
Indica igual a
> =
Indica mayor o igual a
< =
Indica menor o igual a
< >
Indica diferente, distinto o no igual
Ejemplo de operadores
Pregunta si
R + K > = F
. Nos está preguntando si la suma de
R + K
es mayor o igual al valor de F. Vemos que puede tomar cualquiera
de los dos (2) caminos que nos proporcionan las expresiones
lógicas (falso y verdadero); si cumple la condición (ser > = F)
tomará el camino de verdadero, de lo contrario se irá por falso.
Nota:
•
Se pueden utilizar en conjunto los tres (3) tipos de operadores
para crear expresiones complejas.
•
Los paréntesis se pueden utilizar y tienen prioridad sobre
cualquier operación.
Ejemplo de expresión compleja:
Pregunta: si ( X
+
Y )
AND
( W
–
T )
> =
TOT entonces….
Op. Arit.
Op. Lóg.
Op. Arit.
7. Diagramación
Es el arte de diseñar diagramas con pasos
lógicos y que lleven a la solución gráfica de
un problema.
En la diagramación encontramos varios tipos
de diseños, por ejemplo: están los
diagramas
de transición
, los
diagramas de bloques
, los
7.1 Diagrama de flujo
7.1.1 Simbología utilizada en los diagramas de flujo
REPRESENTACIÓN DEL
SÍMBOLO EXPLICACIÓN DEL SÍMBOLO
Símbolo utilizado para marcar el inicio y el fin del diagrama de flujo.
Símbolo utilizado para asignar los datos de entrada. Indica lectura.
Normalmente se usa para asignar datos de entrada por teclado.
Símbolo utilizado para representar un proceso. Dentro de él podemos expresar asignaciones, operaciones aritméticas, etc.
7.1.1 Simbología utilizada en los diagramas de flujo
REPRESENTACIÓN DEL
SÍMBOLO EXPLICACIÓN DEL SÍMBOLO
Símbolo para representar una iteración o repetición controlada. En su interior se deja indicado el número de repeticiones a ejecutar. Símbolo para representar una decisión múltiple. Dentro del símbolo encontramos un selector o variable de selección, que permite seguir por uno de los caminos alternativos dependiendo del valor del selector.
Símbolo utilizado para representar la información de una salida o resultado. Indica impresión o escritura en papel.
7.1.1 Simbología utilizada en los diagramas de flujo
REPRESENTACIÓN DEL
SÍMBOLO EXPLICACIÓN DEL SÍMBOLO
Símbolo utilizado para indicar almacenamiento o lectura de acceso secuencial. Especialmente se utiliza para indicar almacenamiento o lectura en cinta magnética.
Símbolo utilizado para indicar impresión en pantalla.
Símbolo utilizado para representar almacenamiento o lectura de datos en diskette.
7.1.1 Simbología utilizada en los diagramas de flujo
REPRESENTACIÓN DEL
SÍMBOLO EXPLICACIÓN DEL SÍMBOLO
Símbolo utilizado para indicar conexión dentro de una misma página. Se sugiere colocarle un número en forma ascendente. Se conoce con el nombre de conector en la misma página.
Símbolo utilizado para indicar conexión entre páginas diferentes. Se sugiere colocarle una letra en mayúscula en forma ascendente. Se conoce como conector en otra página.
Nota:
Ejemplo de conectores:
D =
‘CONTINUAR?’
A D
TOT
2
1 Inicio
F
F < 8
TOT =F+3 TOT =F-2
1
2
Ejemplo de conectores:
•
Podemos observar que el conector 1 está indicando
continuación del diagrama y el conector 2 indica que si
la condición se cumple debe devolverse al comienzo del
diagrama;
•
Si la condición no se cumple debe continuar en lapágina
siguiente; allí el diagrama debe comenzar con el
conector en otra página
igual al que posee el caracter A
indicando continuación de la página anterior.
•
El uso de conectores es funcional y muy útil cuando los
7.2 Pasos en la construcción de un diagrama de flujo
RESULTADO (S) INICIO
LACTURA (S)
PROCESO (S)
FIN
7.3 Normas para la construcción de diagramas
Para la construcción de diagramas de flujo se deben
tener en cuanta las siguientes normas:
a. Todo diagrama de flujo debe tener un
inicio
y un
fin
.
b. Las líneas utilizadas para indicar la dirección de flujo
del diagrama son rectas, verticales y horizontales (no
deben ser inclinadas ni cruzadas).
c. Todas las líneas utilizadas para indicar la dirección de
flujo del diagrama deben estar conectadas.
7.3 Normas para la construcción de diagramas
e. La notación utilizada en el diagrama debe ser
independiente
del lenguaje de programación.
f. Si el diagrama de flujo requiere de más de una
hoja para su construcción debemos utilizar los
conectores
adecuados y enumerar las páginas
consecutivamente.
g. No puede salir más de una línea de un mismo
símbolo, excepto del bloque de decisión.
h. En
programación estructurada
cada diagrama y
Ejemplo
Z, X, B, A INICIO
A, B, X, Z
FIN
Construya un diagrama de flujo que lea el valor de las variables A, B, X, Z que representan números enteros y escríbalos en orden inverso:
Se leen los datos o valores.
Se imprimen o escriben en orden inverso.