ALGORITMOS
Un algoritmo es una serie de
pasos organizados que describe el proceso que se debe seguir, para dar solución
a un problema específico.
Existen dos clases de
algoritmos:
1.
Algoritmo
Cualitativo: pasos o instrucciones descritas por medio de palabras para
obtener una respuesta o solución de un problema cualquiera
Ejemplo:
La utilización de un directorio
(Búsqueda de un teléfono), para buscar un teléfono en un directorio, se debe
conocer el algoritmo que se va a utilizar, es decir la forma en que están
codificados los nombres de las personas, para así lograr encontrarlos y
localizar el número telefónico correspondiente.
2.
Algoritmo
cuantitativo: pasos o instrucciones que involucran cálculos numéricos para
llegar a un resultado satisfactorio
Ejemplo:
Los pasos que se deben llevar a
cabo para realizar una nómina
Variables: son todos aquellos valores que pueden o no cambiar en el
transcurso de un algoritmo. Normalmente se ingresan como datos.
Constantes: son todos aquellos valores que no cambian en el
transcurso de un algoritmo.
Ejemplo:
Realizar un algoritmo que lea
cuatro variables y calcule e imprima su producto, suma y media aritmética
Inicio
Var N1, N2, N3, N4
Producto (N1*N2*N3*N4)
Suma (N1+N2+N3+N4)
Media Aritmética (N1+N2+N3+N4)/4
Muestre (Producto, Suma, Media
Aritmética)
fin
CONECTIVOS LÓGICOS Y
PROPOSICIONES COMPUESTAS
EXPRESIONES LÓGICAS Y
MATEMÁTICAS
De la evaluación de una expresión
lógica siempre se obtiene un valor de tipo lógico (verdadero o falso). En las expresiones lógicas se pueden utilizar
dos tipos de operadores:
Relacionales: se utiliza para comparar los valores de dos
expresiones. Estas deben ser del mismo
tipo (aritmética, lógicas, de carácter o de cadena).
Ejemplo:
22 >
13 (aritméticas) V
22.5
‹ 3.44 (aritméticas) F
C
> f (de carácter) F
Verdadero
= falso (lógica) F
Hola
como estas ------ saludo no es proposición
A B C D E F
1 2 3 4 5 6
Expresiones Lógica
Para que se dé una expresión lógica en los operadores debe
haber un resultado falso o verdadero para que se pueda cumplir
Lógicos
Un
operador lógico actúa, exclusivamente, sobre valores de expresiones
lógicas. Los operadores lógicos son:
Conjunción (and) (y): se utiliza para conectar dos proposiciones que se deben
cumplir para obtener un resultado verdadero.
Ejemplo:
El coche enciende cuando tiene gasolina en el tanque y tiene corriente
la batería
P: el coche enciende
Q: tiene gasolina en el tanque
R: tiene corriente la batería
P = Q Ứ R
Q
|
R
|
P = Q Ứ R
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
Ejercicio
V
|
V
|
|||||
9
|
>
|
3
|
y
|
8
|
>
|
6
|
V
|
F
|
|||||
9
|
>
|
3
|
y
|
8
|
>
|
9
|
F
|
V
|
|||||
9
|
=
|
3
|
y
|
8
|
>=
|
6
|
F
|
V
|
|||||
9
|
=
|
3
|
y
|
8
|
>=
|
6
|
TABLA DE VERDAD
P = Q Ứ R
Q
|
R
|
P = Q Ứ R
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
Disyunción (or) (o): se deduce que si al
menos una de las dos expresiones es verdadera, el resultado será verdadero
Ejemplo: Una persona puede entrar al cine si compra su boleto u obtiene
un pase
P: entra al cine
Q: compra su boleto
R: obtiene un pase
P = Q Ừ R
Q
|
R
|
P = Q Ừ R
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
Ejercicio
V
|
V
|
|||||
9
|
>
|
3
|
O
|
8
|
>
|
6
|
V
|
F
|
|||||
9
|
>
|
3
|
O
|
8
|
>
|
9
|
F
|
V
|
|||||
9
|
=
|
3
|
O
|
8
|
>=
|
6
|
F
|
V
|
|||||
9
|
=
|
3
|
O
|
8
|
>=
|
6
|
P = Q Ừ R
Q
|
R
|
P = Q Ừ R
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|

Definición de
Algoritmo:
La palabra algoritmo se
deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un
matemático y astrónomo árabe que escribió un tratado sobre manipulación de
números y ecuaciones en el siglo IX.
Un algoritmo es una serie
de pasos organizados que describe el proceso que se debe seguir, para dar
solución a un problema específico.
1.4
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.
1.5
Lenguajes Algorítmicos
Es una serie de símbolos y
reglas que se utilizan para describir de manera explícita un proceso.
Tipos de Lenguajes Algorítmicos
- Gráficos: Es la representación gráfica de las
operaciones que realiza un algoritmo (diagrama de flujo).
- No Gráficos: Representa en forma descriptiva las
operaciones que debe realizar un algoritmo (pseudocodigo).
1.6
Metodología para la solución de problemas por medio de computadora
1.7
Definición del Problema
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.
- Análisis del Problema:Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cuál es la información que se desea producir (salida) Los métodos y fórmulas que se necesitan para procesar los datos. Una recomendación muy práctica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.
- Diseño del Algoritmo: Las características de un buen algoritmo son: Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. Debe ser finito en tamaño y tiempo de ejecución.
1.10
Codificación
La codificación es la
operación de escribir la solución del problema (de acuerdo a la lógica del
diagrama de flujo o pseudocodigo), en una serie de instrucciones detalladas, en
un código reconocible por la computadora, la serie de instrucciones detalladas
se le conoce como código fuente, el cual se escribe en un lenguaje de
programación o lenguaje de alto nivel.
1.11
Prueba y Depuración
Los errores humanos dentro
de la programación de computadoras son muchos y aumentan considerablemente con
la complejidad del problema. El proceso de identificar y eliminar errores, para
dar paso a una solución sin errores se le llama depuración.
La depuracióno prueba
resulta una tarea tan creativa como el mismo desarrollo de la solución, por
ello se debe considerar con el mismo interés y entusiasmo.
Resulta conveniente
observar los siguientes principios al realizar una depuración, ya que de este
trabajo depende el éxito de nuestra solución.
1.12
Documentación
Es la guía o comunicación
escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o
diagramas.
A menudo un programa
escrito por una persona, es usado por otra. Por ello la documentación sirve
para ayudar a comprender o usar un programa o para facilitar futuras
modificaciones (mantenimiento).
La documentación
se divide en tres partes:
- Documentación Interna: Son los comentarios
o mensaje que se añaden al código fuente para hacer mas claro el
entendimiento de un proceso.
- Documentación Externa: Se define en un documento escrito los siguientes puntos: Descripción del Problema, Nombre del Autor, Algoritmo (diagrama de flujo o pseudocodigo), Diccionario de Datos,Código Fuente (programa)
- Manual del Usuario: Describe paso a paso la
manera como funciona el programa, con el fin de que el usuario obtenga el
resultado deseado.
1.13
Mantenimiento
Se lleva acabo después de
terminado el programa, cuando se detecta que es necesario hacer algún cambio,
ajuste o complementación al programa para que siga trabajando de manera
correcta. Para poder realizar este trabajo se requiere que el programa este correctamente
documentado.
CAPITULO II.
ENTIDADES PRIMITIVAS PARA
EL DESARROLLO DE ALGORITMOS
2.1 Tipos de datos
2.2 Expresiones
2.3 Operadores y operandos
2.4 Identificadores como
localidades de memoria
OBJETIVO EDUCACIONAL:
El alumno:
- Conocerá las reglas para cambiar formulas
matemáticas a expresiones validas para la computadora, además de
diferenciar constantes e identificadores y tipos de datos simples.
2.1
Tipos De Datos
Todos los datos tienen un
tipo asociado con ellos. Un dato puede ser un simple carácter, tal como `b', un
valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto
de valores que puede tomar una variable.
-Numéricos
-Simples Lógicos
-Alfanuméricos (string)
Tipos de datos Arreglos
(Vectores, Matrices), Estructurados Registros (Def. por el Archivos
usuario) Apuntadores
Tipos de Datos Simples
- Datos Numéricos: Permiten representar valores escalares de
forma numérica, esto incluye a los números enteros y los reales. Este tipo
de datos permiten realizar operaciones aritméticas comunes.
- Datos Lógicos: Son aquellos que solo pueden tener dos
valores (cierto o falso) ya que representan el resultado de una
comparación entre otros datos (numéricos o alfanuméricos).
- Datos Alfanuméricos (String): Es una secuencia de caracteres
alfanuméricos que permiten representar valores identificables de forma
descriptiva, esto incluye nombres de personas, direcciones, etc. Es
posible representar números como alfanuméricos, pero estos pierden su
propiedad matemática, es decir no es posible hacer operaciones con ellos.
Este tipo de datos se representan encerrados entre comillas.
Ejemplo: “Instituto Tecnológico de
Tuxtepec” “1997”
2.2
Expresiones
Las expresiones son
combinaciones de constantes, variables, símbolos de operación, paréntesis y
nombres de funciones especiales. Por ejemplo:
a+(b + 3)/c
Cada expresión toma un
valor que se determina tomando los valores de las variables y constantes
implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de
operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican
las expresiones en:
- Aritméticas
- Relaciónales
- Lógicas
2.3
Operadores y Operandos
- Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores Aritméticos, Tipos de Operadores Relaciónales Lógicos.
- Operadores Aritméticos: Los operadores aritméticos permiten la
realización de operaciones matemáticas con los valores (variables y
constantes).
Los operadores aritméticos
pueden ser utilizados con tipos de datos enteros o reales. Si ambos son
enteros, el resultado es entero; si alguno de ellos es real, el resultado es
real.
Operando (Operador)
Operando Valor (constante o variable)
Operadores
Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
Mod Modulo (residuo de la
división entera)
Ejemplos:
Expresión Resultado
7 / 2 3.5
12 mod 7 5
4 + 2 * 5 14
Prioridad
de los Operadores Aritméticos
- Todas las expresiones entre paréntesis se
evalúan primero. Las expresiones con paréntesis anidados se evalúan de
dentro a fuera, el paréntesis mas interno se evalúa primero.
- Dentro de una misma expresión los
operadores se evalúan en el siguiente orden.
1.- ^ Exponenciación
2.- *, /, mod
Multiplicación, división, modulo.
3.- +, - Suma y resta.
- Los operadores en una misma expresión con
igual nivel de prioridad se evalúan de izquierda a derecha.
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2 46 / 5 =
9.2
3 + 5 * (10 - (2 + 4)) = 23
3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 14.0 / 40 =
5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) =
28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
Operadores Relaciónales:
- Se utilizan para establecer una relación
entre dos valores.
- Compara estos valores entre si y esta
comparación produce un resultado de certeza o falsedad (verdadero o
falso).
- Los operadores relaciónales comparan
valores del mismo tipo (numéricos o cadenas)
- Tienen el mismo nivel de prioridad en su evaluación.
- Los operadores relaciónales tiene menor
prioridad que los aritméticos.
Operadores
Relaciónales
> Mayor que
< Menor que
> = Mayor o igual que
< = Menor o igual que
<> Diferente
= Igual
Ejemplos:
Si a = 10 b = 20 c = 30
a + b > c Falso
a - b< c Verdadero
a - b = c Falso
a * b <> c Verdadero
Ejemplos no lógicos:
a < b < c
10 < 20 < 30
T < 30 (no es lógico
porque tiene diferentes operandos)
Operadores Lógicos:
- Estos operadores se utilizan para
establecer relaciones entre valores lógicos.
- Estos valores pueden ser resultado de una
expresión relacional.
Operadores
Lógicos
And Y
Or O
Not Negación
Operador
And
Operando1 Operador
Operando2 Resultado
T ANDT T
T F F
F T F
F FF
Operador
Or
Operando1 Operador
Operando2 Resultado
T OR T T
T F T
F T T
F FF
Operador
Not
Operando Resultado
T F
F T
Ejemplos:
(a < b) and (b < c)
(10<20) and (20<30)
T and T
T
Prioridad
de los Operadores Lógicos
Not
And
Or
Prioridad
de los Operadores en General
1.- ( )
2.- ^
3.- *, /, Mod, Not
4.- +, -, And
5.->, <, > =, <
=, <>, =, Or
Ejemplos:
a = 10 b = 12 c = 13 d =10
1) ((a > b)or(a < c)) and ((a = c) or (a
> = b))
F T F F
T F
F
2) ((a > = b) or (a < d)) and (( a> = d)
and (c > d))
F F T T
F T
F
3) not (a = c) and (c > b)
F T
T
T
2.4
Identificadores
Los identificadores
representan los datos de un programa (constantes, variables, tipos de datos).
Un identificador es una secuencia de caracteres que sirve para identificar una
posición en la memoria de la computadora, que nos permite accesar a su
contenido.
Ejemplo: Nombre
Num_hrs
Calif2
Reglas
para formar un Identificador
- Debe comenzar con una letra (A a Z,
mayúsculas o minúsculas) y no deben contener espacios en blanco.
- Letras, dígitos y caracteres como la
subraya ( _ ) están permitidos después del primer carácter.
- La longitud de identificadores puede ser de
hasta 8 caracteres.
Constantes
y Variables
- Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo:
pi = 3.1416
- Variable: Es un espacio en la memoria de la
computadora que permite almacenar temporalmente un dato durante la
ejecución de un proceso, su contenido puede cambia durante la ejecución
del programa. Para poder reconocer una variable en la memoria de la
computadora, es necesario darle un nombre con el cual podamos
identificarla dentro de un algoritmo.
Ejemplo:
área = pi * radio ^ 2
Las variables son : el
radio, el área y la constate es pi
Clasificación de las Variables
Numéricas
Por su Contenido Lógicas
Alfanuméricas (String)
Variables
De Trabajo
Por su Uso Contadores
Acumuladores
Por su
Contenido
- Variable Numéricas: Son aquellas en las cuales se almacenan
valores numéricos, positivos o negativos, es decir almacenan números del 0
al 9, signos (+ y -) y el punto decimal. Ejemplo:
iva=0.15 pi=3.1416
costo=2500
- Variables Lógicas: Son aquellas que solo pueden tener dos
valores (cierto o falso) estos representan el resultado de una comparación
entre otros datos.
- Variables Alfanuméricas:Esta formada por caracteres alfanuméricos
(letras, números y caracteres especiales). Ejemplo:
letra='a' apellido='lopez'
direccion='Av. Libertad #190'
Por su
Uso
- Variables de Trabajo: Variables que reciben el resultado de una
operación matemática completa y que se usan normalmente dentro de un
programa. Ejemplo:
suma=a+b/c
- Contadores: Se utilizan para llevar el control del
numero de ocasiones en que se realiza una operación o se cumple una
condición. Con los incrementos generalmente de uno en uno.
- Acumuladores: Forma que toma una variable y que sirve
para llevar la suma acumulativa de una serie de valores que se van leyendo
o calculando progresivamente.





No hay comentarios:
Publicar un comentario