Algoritmos
Algoritmos
Algoritmos
Una variable: es un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo del
algoritmo o ejecución del programa.
Una constante: es una partida de datos (objetos) que permanecen sin cambios durante todo el
desarrollo del algoritmo o durante la ejecución del programa.
Los Datos a procesar por una computadora, ya sean simples o estructurados, deben almacenarse en
casillas o celdas de memoria para su parte de utilización.
Estas casillas o celdas de memoria (Constante o variables) tienen un nombre que permite su
identificación.
La memoria del computador está dividida en celdas numeradas de forma consecutiva, por lo que,
cada una de ellas tiene una dirección. En informática las direcciones de memoria suelen
representarse con números hexadecimal (Figura 1).
Figura 1 Estructura de contenido y direcciones de una memoria.
Gráficamente si se guarda un dato en una celda de memoria, por ejemplo el número 5 (Figura 2), se
observara que la dirección de memoria de la variable podría ser 012FF88. Para poder acceder al
dato se tendría que saber la dirección de memoria.
En los lenguajes de programación es una palabra que tiene un significado gramatical para ese
lenguaje y no puede ser utilizada como identificador, del Pseudocódigo a estudiar las
palabras reservadas serian: Cadena, Real, Entero, Inicio, Fin, carácter, lógico, si, entonces,
entre otros.
SINTAXIS.
VARIABLE: es un objeto cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecución
del programa, es decir representa un valor almacenado en memoria que se puede modificar en
cualquier momento o conservar para ser usado tantas veces como se desee.
Declaración de variables:
Todas las variables pueden ser declaradas antes de ser usadas, cada variable tiene asociado un tipo
de dato, identificador y un valor.
En la variable se les declarara el tipo de datos que va permanecer; entre ellos serian, Entero, real y
cadena (Tabla 1.1).
Variables válidas:
Variables no válidas:
Esta es la primera fase en la vida de cualquier variable. La declaración se realiza en la sección que
comienza con la palabra reservada var. Sintaxis es:
Para declarar más de una variable en una misma línea, las separaremos por medio de comas (,)
Es darle un valor inicial a la variable. Así como la primera que se hace con una variable es
declarada, lo siguiente se tienen que ser inicializada. Esto se realiza para evitar posibles errores en
tiempo de ejecución, pues una variable tienen un valor indeterminado después de la declaración.
Principalmente, existen dos maneras de otorgar valores iniciales a las variables:
Utilización de variables:
Una vez declaradas e iniciada una variable, es el momento de utilizarla. Esta es la parte que
presenta una mayor abanico de posibilidades.
CONSTANTE: es un dato que permanece sin cambio durante el desarrollo del algoritmo o durante la
ejecución del programa, es decir valores fijos
En la constante se les declarara el tipo de datos al que va permanecer; entre ellos tenemos: Entero,
real y cadena (Tabla 1.2).
Para declarar más de una constante en una misma línea, las separaremos por medio de comas (,)
Const
Constantes Expresión: También se declara en la sección const, pero a estas no se les asigna un
valor directamente, sino que se les asigna una expresión. Esta expresión se evalúa en tiempo de
compilación y el resultado s ele asigna a la constante.
Const
Min = 0
Max = 99
Intervalo = 10
Tipos de constantes:
a) Constantes Numéricas.
Ejemplo: 90
Ejemplo: 3.14159
b) Constantes Alfanuméricas.
• Cadena: Contienen una serie de caracteres tales como letras mayúsculas, minúsculas,
dígitos, signos de puntuación y otros símbolos especiales.
Ejemplo : ‘F’
Un operador es un símbolo que permite relacionar dos datos en una expresión y evaluar el resultado
de la operación.
• Aritméticos
• Relacionales
• Lógicos
OPERADORES ARITMÉTICOS
Los operadores aritméticos (Tabla1.1), pueden ser utilizados con los tipos enteros y reales, sirven
para realizar operadores aritméticos básicos.
Para algunos operadores algebraicos será necesario convertirlo a una expresión a que la
computadora lo entienda; a eso se le llama en forma: Algorítmica.
OPERADORES ARITMÉTICOS
Operador Operador Ejemplo Ejemplo
Significado Resultado
Algebraico Algorítmica Algebraico Algorítmica
Circunflejo ⁿ ^ 4² 4^2 16
Multiplicación × * 5×5 5*5 25
División ÷ / 10 ÷ 4 20/ 6 3.3333
Suma + + 45+10 45 + 10 55
Resta - - 60-45 60 – 45 15
División entera Div (\) 20 div 6 3
Modulo Mod (%) 20 mod 6 2
Tabla 1.1 Operadores aritméticos.
La división de dos números, sin importar su tipo, puede dar como resultados de tipo real, para
obtener resultados enteros sin importar el tipo se puede ocupar los operadores DIV la cual devolverá
la parte entera del resultado del cociente, el MOD devolverá la parte entera del residuo.
Ejemplo:
1. Operar 49 DIV 5
2. Operar 49 MOD 5
Desarrollo:
Para este ejercicio se trabaja como que fuera una división normal (Figura 1), pero al momento de
extraer el resultado se trabaja de la siguiente manera:
Al evaluar expresiones que contengan operadores aritméticos se tiene que respetar la jerarquía
de operadores, es decir, al tener una expresión más de un operador, se tiene que aplicar primero el
operador de mayor jerarquía, resolver esa operación, y así sucesivamente, se presentara la jerarquía
de operadores aritméticos, (Tabla 1.2).
*, /
+, - • A Menor
Para los operadores algebraicos será necesario convertirlo a una expresión Algorítmica por eso es
necesario conocer el orden de las operaciones aritméticas para que la computadora entienda y
ejecute en el orden correcto, vemos algunos ejemplos.
Ejemplo:
Convertir a expresiones algorítmica los siguientes ejercicios
Asignación
El bloque de asignación se utiliza para asignar valores a una variable, viéndolo de otra forma, la
asignación es una operación destructiva, que si la variable tiene asignado un valor, este valor es
eliminado, quedando con un nuevo valor.
Instrucciones de Asignación:
Donde,
Identificador: cuyo valor va a ser modificado debe ser escritos la izquierda del operador de
asignación.
Valor o expresión: a la derecha se sitúa una expresión cuyo valor se proporciona a la variable
situada a la izquierda.
La acción de asignar es destructiva, ya que el valor que tuviera la variable antes de la asignación se
pierde y se reemplaza por el nuevo valor. Así, en la secuencia de operaciones.
Cuando éstas se ejecutan, el valor último que toma A será 5 (los valores 25 y 134 han
desaparecido).
Las acciones de asignación se clasifican según sea el tipo de expresiones en: aritmética, lógicas y
de caracteres.
Una variable en el lado derecho de una sentencia de asignación debe tener un valor antes de que la
sentencia de asignación se ejecute. Hasta que un programa le da un valor a una variable, esa
variable no tiene valor.
En la izquierda de una sentencia de asignación solo pueden existir variables. Por consiguiente no es
válido lo siguiente:
Al lado derecho del igual puede haber una constante, una variable o una expresión Por consiguiente
es válido lo siguiente:
La asignación es una operación destructiva. Esto significa que si la variable tenía asignado un valor
anteriormente, éste se destruye, conservando ahora el nuevo valor. Estas variables pueden tomar
únicamente valores que correspondan al mismo tipo. Es decir, una variable declarada como variable
tipo carácter solo puede tomar valores caracteres.
Ejemplos: Entero: A, B, C Declara de tipo entero las variables A, B y C de manera que solo podrán
almacenar datos enteros.
Los resultados finales en las tres variables son:
• Variable A 4
• Variable B -22
• Variable C 26
Clasificación de Asignación.
Operadores Relacionales
Los operadores relacionales son símbolos que se usan para comparar dos valores, todos
los operadores relacionales dan como resultado un valor lógico (Booleano).
Ejemplo:
Los operando pueden ser de tipo numéricos, cadena, constantes o variables, entre
las constantes o variables pueden ser de tipo entero, real, carácter o cadena, a continuación se
presentara operadores relacionales con sus respectivos resultados (Tabla 1.2).
Todos los operadores relacionales pertenecen al mismo nivel de prioridad pero a la vez se
encuentran en un nivel inferior al grupo de operadores aritméticos, (Tabla1.3).
JERARQUÍA DE OPERADORES
() • De Mayor
*, /
+, -
OPERADOR SIGNIFICADO
Not (no) Negación
And (Y) Producto Lógico
Or (O) Suma Lógica
Hay que tener en cuenta que cada operador lógico tiene su jerarquía de operadores(Tabla 1.1).
JERARQUÍA DE OPERADORES LÓGICOS
NOT • Mayor
AND (Y)
OR (O)
• Menor
TABLAS DE VERDAD
• Operador NOT
NOT
Valor1 Resultado
Verdadero Falso
Falso Verdadero
Figura 1.2 Tabla de verdad NOT.
En el operador And (Producto Lógico), es un operador que afecta a dos operadores, este operador
va devolver valor verdadero únicamente cuando ambos operando sean verdaderos, (Figura1.3).
And ( y )
Valor1 Valor2 Resultado
Falso Falso Falso
Falso Verdadero Falso
Verdadero Falso Falso
Verdadero Verdadero Verdadero
Figura 1.3 Tabla de verdad And.
• Operador OR (O)
En el operador OR (Suma Lógica), es un operador que afecta a dos operadores, este operador va
devolver valor falso únicamente cuando ambos operando sean Falso, (Figura1.4).
OR (O)
Valor1 Valor2 Resultado
Falso Falso Falso
Falso Verdadero Verdadero
Verdadero Falso Verdadero
Verdadero Verdadero Verdadero
Figura 1.4 Tabla de verdad OR.
La mayoría de los problemas se pueden resolver más de una forma, por lo que es necesario pensar
y plantear diferentes alternativas que permitan resolver cada problema planteado.
DEFINICIÓN DE PROBLEMA
Representa una dificultad o una situación que necesita ser transformada de un estado a otro.
En esta fase está dada por el enunciado del problema, se tiene como objetivo alcanzar, mediante
una serie de operaciones, actividades o métodos bien definidos a encontrar una solución.
SOLUCIÓN DE PROBLEMAS
En el proceso de creación de un programa pueden ser identificadas por dos fases.(Figura 1.1).
1. Que información se necesita para obtener el resultado de los datos (Datos de Entrada).
2. Los métodos y formulas que se necesitan para procesar los datos y producir una salida
(Proceso).
3. Que información se desea producir (Datos de Salida).
Para resolver un algoritmo se debe comenzar por identificar las tareas más importantes para resolver
el problema y disponerlas en el orden el que han de ser ejecutadas.
Ejemplo: se desea desarrollar un algoritmo que calcule la superficie de un rectángulo: lo primero que
se tiene que plantear son las siguientes preguntas:
• En la parte de entrada:
• Especificaciones de salida:
Pasos:
Identificar la parte de entrada, la información o datos a solicitar al usuario para determinar lo que
pide, la entrada de datos es base y altura.
Como se puede observar en el ejemplo anterior, el análisis del problema es encontrar la superficie de
un rectángulo para eso se tiene que solicitar dos datos de entrada, altura y base, para continuar con
el proceso que es calcular la superficie con la formula que existe para calcular la superficie de un
rectángulo para que al final se muestre el resultado de la superficie.
· VERIFICACIÓN DEL ALGORITMO
Una vez terminado de escribir el algoritmo es necesario comprobar y que ejecute todo los resultados
correcto y esperado para lo que se ha diseñado.
Fase de implementación.
En esta fase representa que una vez finalizado el algoritmo que se está diseñando, representando
mediante un método normalizado (Diagrama de flujo o Pseudocódigo, Figura 3), y verificado se debe
pasar a la fase de codificación, traducción de algoritmo a un determinado lenguaje de programación,
que se deberá ser completada con la ejecución y comprobación del programa en la computadora.
1. Que información se necesita para obtener el resultado de los datos (Datos de Entrada).
2. Los métodos y formulas que se necesitan para procesar los datos y producir una salida
(Proceso).
3. Que información se desea producir (Datos de Salida).
Figura 1 Análisis de problema.
Tabla de análisis.
La tabla de análisis tiene como objetivo desarrollar las habilidades de análisis de los
problemas, haciendo uso de los conocimientos adquiridos hasta el momento, se deberá
obtener por cada ejercicio los identificadores, clasificarlos de que tipos de datos pertenecen
además presentar cuál de ellos adquieren valores en la parte de entrada, cuales durante la
fase de proceso y cuales serán la parte de salida (Figura 1).
Variable: Se le asignara una ‘X’ al identificador cuyo valor se desconoce y son datos que
pueden cambiar durante el desarrollo del algoritmo.
Constante: Se le asignara una ‘X’ al identificador cuyo valor se conoce, mismo dato que el
enunciado al problema proporciona y son datos que no van a cambiar durante el desarrollo
del algoritmo.
Nota 1: Nunca un identificador va ser de tipo variable y constante a la vez; solo se le marcara
una ‘X’ si es variable o una constante.
Numérica de tipo Entero: Se le asignara una ‘X’ al identificador cuyos datos sean números
que no lleven decimales y que se realizara operaciones aritméticas.
Numérica de tipo Real: Se le asignara una ‘X’ al identificador cuyos datos sean números que
lleven decimales y que se realizara operaciones aritméticas.
Alfanumérica: Se le asignara una ‘X’ al identificador cuyos datos sean números o caracteres
especiales pero que no se podrán realizar operaciones aritméticas.
Entrada: Se le asignara una ‘X’ al identificador cuyos datos se desconocen y que serán
necesarios solicitarlos para la solución al problema.
Proceso: En esta parte se reflejaran los procedimientos necesarios para obtener la solución al
problema efectuando cálculos de acuerdo a una secuencia de operaciones.
Salida: Se le asignara una ‘X’ al identificador cuyo dato o resultados se encuentre almacenado
para presentar lo que el enunciado haya solicitado.
Nota3: Las variables solamente pueden adquirir datos o valores en la parte de entrada y
proceso.
Nota Importante: Así como se van a nombrar los identificadores así los va a tener que ocupar
en todo el desarrollo del algoritmo.