Está en la página 1de 62

FACULTAD POLITÉCNICA

UNIVERSIDAD NACIONAL DEL ESTE


ADMISIÓN

Lógica del Algoritmo


Materia:
ELEMENTOS Y CONCEPTOS FUNDAMENTALES

Datos Información
Datos
Un dato es la expresión general que describe los
objetos con los cuales opera una computadora.
La mayoría de las computadoras pueden
trabajar con varios tipos de datos.

Los algoritmos y los programas correspondientes


operan sobre esos tipos de datos.
INFORMACIÓN
Vamos a definirla primero de forma matemática :

INFORMACIÓN = HERRAMIENTA + FORMA DE


EXPRESIÓN +SOPORTE + DATOS

• Siendo la Herramienta, la pintura, la escritura, el


ordenador.
• La forma de expresión, los dibujos, los símbolos,
los caracteres, el lenguaje.
• El Soporte, las paredes, papiro, tablillas de
arcilla, papel, soporte magnético, etc., y
• Los datos la noticia que queremos transmitir.
Lenguaje
Es una serie de símbolos que sirven
para transmitir uno o más mensajes
(ideas) entre dos entidades diferentes.
TRANSMISIÓN, ELEMENTOS Y TRATAMIENTO DE LA INFORMACIÓN
JERARQUIA DE LOS DATOS

Organización de los datos para su proceso en


computadoras.

• Caracter: es un digito pudiendo ser una letra, numero


o caracter especial ej. A, 1, %, ñ.
• Campo: Grupo de caracteres tratados como una
unidad.
• Registro: Es una colección de campos unidos que son
tratados como una unidad.
JERARQUÍA DE LOS DATOS
Organización de los datos para su proceso en
computadoras.

• Archivo: es un numero de registro relacionados que


son tratados como una unidad.

• Bases de datos: no son meramente colección de


archivos, si no que una fuente central de datos
significativos que son compartidos por numerosos
usuarios y para diversas aplicaciones
Algoritmos
Concepto e importancia
Es un conjunto de pasos lógicos y estructurados que nos
permiten dar solución aún problema.

La importancia de un algoritmo radica en desarrollar un


razonamiento lógico matemático a través de la comprensión
y aplicación de metodologías para la resolución de
problemáticas, éstas problemáticas bien pueden ser de la
propia asignatura o de otras disciplinas como matemáticas,
química y física que implican el seguimiento de algoritmos,
apoyando así al razonamiento critico deductivo e inductivo.
No podemos apartar nuestra vida cotidiana
de los algoritmos, ya que al realizar cualquier
actividad diaria los algoritmos están
presentes, aunque pasan desapercibidos, por
ejemplo: Al levantarnos cada día para hacer
nuestras labores hacemos una serie de pasos
una y otra vez; eso es aplicar un algoritmo.
Características de los Algoritmos.

Las características fundamentales que debe cumplir todo


algoritmo son:

• Un algoritmo debe ser preciso e indicar el orden de realización


de cada paso.

• Un algoritmo debe estar definido. Si se sigue un algoritmo dos


veces, se debe obtener el mismo resultado cada vez.

• Un algoritmo debe ser finito. Si sigue un algoritmo, se debe


terminar en algún momento; o sea debe tener un número finito
de pasos.
Estructura de un Algoritmo
Todo algoritmo consta de tres secciones principales:

Entrada Proceso Salida

Entrada: Es la introducción de datos para ser transformados.

Proceso: Es el conjunto de operaciones a realizar para dar


solución al problema.

Salida: Son los resultados obtenidos a través del proceso.


Metodología para la descomposición de un algoritmo

Conceptos
Definición del problema
En esta etapa se deben establecer los resultados y objetivos
que se desea para poder saber si los datos que se tienen son
suficientes para lograr los fines propuestos.

Análisis
Una vez definido el problema se deberán organizar los datos
de tal manera que sean susceptibles de usar en los cálculos
siguientes.
Diseño
En esta etapa se proponen soluciones a los problemas a
resolver, por lo que se realiza una toma de decisiones
aplicando los conocimientos adquiridos y utilizando los
datos existentes.

Verificación o prueba de escritorio


Se consideran resultados previstos para datos conocidos a
fin de que al probar cada una de sus partes podamos ir
comprobando que el algoritmo sirve o requiere modificarse.
Análisis del Problema
Identificadores
Un identificador es el nombre que se le asigna a los datos de
un programa (constantes, variables, tipos de datos), y que
nos permiten el acceso a su contenido.

Ejemplo:
Calf1
Valor_1
Num_hrs
Tipos de Datos
Conjunto específico de valores de los datos y un conjunto de operaciones que actúan
sobre esos datos.

Datos numéricos
El tipo numérico es el conjunto de los valores numéricos. Estos pueden representarse en
dos formas distintas:
Tipo numérico entero: Es un subconjunto Tipo numérico real: Consiste en un
finito de los números enteros. Los subconjunto de los números reales. Los
enteros son números completos, no números reales siempre tienen un punto
tienen componentes fraccionarios o decimal y pueden ser positivos o negativos.
decimales y pueden ser positivos o Un número real consta de un entero y una
negativos. parte decimal.
Ejemplo de números enteros: Ejemplo de números reales:
5, 6, -15, 15, 20, 17, 1340, 26 0.08, 3452.43, -8.345, 3.0, 45.122
Datos Lógicos (Booleanos)
El tipo lógico, también denominado booleano, es
el dato que sólo puede tomar uno de dos
valores:

Cierto o verdadero (True) o Falso(False).


Datos Tipo Carácter y Cadenas
El tipo caracter es el conjunto finito
y ordenado de caracteres que la
computadora reconoce.
- Caracteres Alfabéticos (A, B, C,
Un dato tipo carácter contiene un ….Z) (a, b, c, ….z)
solo caracter.
- Caracteres Numéricos (1, 2,..., 9, 0)
Los caracteres que reconocen las - Caracteres Especiales (+, *, -, /, <,
diferentes computadoras no son >, . , ; , ^, …)
estándar; sin embargo, la mayoría
reconoce los siguientes caracteres
alfabéticos y numéricos:
Operadores y Expresiones
Expresiones: Es un conjunto de constantes, variables,
operadores con lo que se realizan las operaciones y permite
obtener un resultado.

Ejemplo:
resultado  a*(2*b+5)/c

Cal_final (cali1+cali2)/2
Operadores y Operandos

Operadores: Son elementos que relacionan de forma diferente, los valores de


una o más variables y/o constantes. Es decir, los operadores nos permiten
manipular valores.
Propiedades
de
operaciones
El orden de los factores NO altera el producto:

a Propiedad distributiva

b Propiedad conmutativa

c Propiedad asociativa

d Propiedad de identidad
Operadores: Es un símbolo que permite manipular los valores de variables
y/o constantes.
Operadores matemáticos
1) ^ **
2) * / div mod
3) + -
Los operadores con igual nivel de prioridad se evalúan de
izquierda a derecha.
Operador de asignación
1) = ó 
Sirve para recuperar o guardar los valores obtenidos al realizarse
o ejecutarse una expresión.
Operadores de relación

1) Mayor que >


2) Menor que <
3) Mayor igual que >=
4) Menor igual que <=
5) Igual =
6) Diferencia < > !=
• Son empleados para comparar dos ó más valores.
• Su resultado produce valores como verdadero y falso.
• Tienen el mismo nivel de prioridad.
Operadores Lógicos o booleanos
AND OR NOT
VAL1 VAL2 RESUL VAL1 VAL2 RESUL VAL1 RESUL
Cierto Cierto Cierto Cierto Cierto Cierto Cierto Falso
Falso Cierto
Cierto Falso Falso Cierto Falso Cierto
Falso Cierto Falso Falso Cierto Cierto
Falso Falso Falso Falso Falso Falso

• Son empleados para comparar dos valores (verdadero y falso)


• Su resultado produce valores como verdadero y falso.
• Los tres tienen el mismo nivel de prioridad.
Prioridad entre los Operadores

1) Matemáticos
Siempre se ejecutan de
2) Relacionales izquierda a derecha en
caso de haber dos ó más
operadores con el mismo
3) Lógicos
nivel de prioridad.

4) De asignación
Diseño de algoritmos
Alternativas de solución

Es la forma de representar la secuencia lógica de


ejecución de instrucciones.

Esta puede ser a través de:

1) Diagramas de flujo
2) Pseudocódigo
Diagrama de flujo
Es la representación gráfica de un algoritmo.

Es empleado para representar la solución de un


algoritmo empleando figuras geométricas, donde cada
una de ellas representa en particular una tarea especifica
que realizar.

Las más comunes son:


SIMBOLO UTILIDAD
El rectángulo se utiliza para
identificar las acciones a
realizar, es decir, este símbolo
indica el proceso a realizar

El trapezoide, indica la entrada


o lectura de los datos

El rombo, es la caja de
decisiones, representa las
alternativas con solo dos
posibles opciones SI y NO
SIMBOLO UTILIDAD

Los círculos, son utilizados para indicar


el inicio y el final del algoritmo.

El cono se utiliza para indicar una


salida en pantalla.

La flecha, indica la secuencia de


acciones a realizar, es decir, es quien
marca la continuidad y orden de
ejecución de las acciones propias del
problema a resolver.
SIMBOLO UTILIDAD

Representa la repetición de pasos a


a través de los ciclos
Recomendaciones para el diseño de Diagramas de Flujo

• Se deben se usar solamente • Se deben trazar los símbolos de


líneas de flujo horizontales y/o manera que se puedan leer de arriba
verticales. hacia abajo y de izquierda a derecha.
• Se debe evitar el cruce de líneas • Todo texto escrito dentro de un símbolo
utilizando los conectores. deberá ser escrito claramente, evitando
• Se deben usar conectores solo el uso de muchas palabras.
• cuando sea necesario.
• No deben quedar líneas de flujo
sin conectar.
Pseudocódigo
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar
solución a un problema determinado.
El Pseudocódigo utiliza palabras que indican el proceso a realizar. Se verifica
mediante una prueba de escritorio.
Es empleado para representar la solución de un algoritmo empleando lenguaje
natural escrito estableciendo la secuencia de pasos sin imprecisiones y de manera
clara.
Ejemplo:
Proceso
Leer lista_de_variables;
variable<-expresion;
Escribir lista_de_expresiones;
FinProceso
Uso del Diagrama de flujo, pseudocódigo y prueba de escritorio
para los tipos de estructuras
Secuenciales
Implica escribir un paso tras de otro,
donde el primero que se haya escrito es
el primero que se ejecutará.
Inicio
Acción1
Acción2
.
.
AcciónN
Fin
Secuenciales
Ejemplo:
Selectivas: Se utilizan para TOMAR DECISIONES.

✓ Simples
Lo que se hace es EVALUAR la condición, si la condición
es verdadera realiza la acción, en caso contrario
termina el programa.
NO Condicion SI

Si <condición> entonces Accion

Acción(es)
Fin-si

1
Selectivas Simples DFD
Ejemplo:
Pseudocódigo DFD

Inicio
Leer COMPRA
Si (COMPRA>1000) entonces
DESCUENTO=COMPRA*0.10
PAGO=COMPRA–DESCUENTO
Escribir PAGO
Finsi
Fin
Selectivas
✓ Doble
Luego de evaluar una condición si esta se cumple, es
decir si es verdadera realiza una serie de acciones, y si
esta es falsa se realiza otra serie de acciones distinta a
la primera.

Si <condición> entonces
NO Condicion SI NO Condicion SI

Acción(es) Accion Accion Accion

Sino
Acción(es)
Finsi
1 2
Selectivas Doble DFD
Ejemplo:
Pseudocódigo DFD

Inicio
Leer EDAD
Si (EDAD>=18) entonces
Escribir “Mayor de edad”
Sino
Escribir “Menor de edad”
Finsi
Fin
Selectivas
Múltiple
Se realiza a partir de anidar estructuras simples y/o dobles, de manera
tal que se realicen diferentes acciones con base a varias
comparaciones, así habrá tantas opciones como se requieran.
Si <condición> entonces
Acción(es)
Sino
Si <condición> entonces
Acción(es)
Sino
.
. Varias condiciones
.
Finsi
Finsi
Selectivas Múltiple DFD
Ejemplo:
Pseudocódigo

Inicio
Leer NUMERO
Si (NUMERO==0) entonces
Escribir “Número cero”
Sino
Si (NUMERO>0)
Escribir “Número positivo”
Sino
Escribir “Número negativo”
Finsi
Finsi
Fin
Repetitivas: Este tipo de estructura se utilizan para
ejecutar acciones repetidamente, esto se hace
posible mediante una secuencia de instrucciones
que se repiten una y otra vez y así evitamos escribir
múltiples veces las mismas instrucciones.
Repetitiva
✓ Para
Esta estructura ejecuta los pasos de la solución del algoritmo un
número definido de veces y de modo automático controla el número
de iteraciones o pasos a través del cuerpo del ciclo. Para el control se
utiliza un contador en el cual se va acumulando el número de veces
que se ha repetido las instrucciones.

Hacer para V.C = LI a L.S


Acción1 V.C Variable de control de ciclo
Acción2 L.I Límite inferior
. L.S Límite superior
.
AcciónN
Fin para
Repetitiva Para
Ejemplo:
Pseudocódigo

Proceso sin_titulo
Para DATOS<-1 Hasta 5 Con Paso 1 Hacer
Leer NUM1,NUM2;
SUMA<-NUM1+NUM2;
Escribir "el resultado de sumar ",NUM1," + ",NUM2," = ",SUMA;
FinPara
FinProceso
Repetitiva Para
Ejemplo:

DFD
Repetitiva
✓ Mientras
Este se utiliza cuando NO sabemos el número de veces que se ha de
repetir un ciclo, los ciclos se determinan por una condición que se
evalúa al inicio del ciclo, es decir, antes de ejecutarse todas los pasos.

Hacer mientras <condición>


Accion1 C o n d ic i o n N o

Accion2 Si

. A c c io n e s

.
AccionN
Fin-mientras
Repetitiva Mientras
Ejemplo

DFD
Diagrama de Flujo

Ejemplo
• Necesitamos hacer un programa que multiplique dos números
enteros.
• Sabemos que “5 x 3 = 15″ es lo mismo que “5 + 5 + 5 = 15”.
• Variables
● multiplicando: entero (nos indica el número que vamos a sumar)
● multiplicador: entero (nos indica el número de veces que lo vamos a sumar)
● resultado: entero (en esta variable asignaremos el resultado)
● indice: entero (nos indicara el número de veces que el número se ha sumado)

Computacion - FA.CE.NA.
Diagrama de Flujo

Ejemplo
• Necesitamos hacer un programa que multiplique dos números
enteros.
• Algoritmo
• 1) Asignamos el número 5 a multiplicando
• 2) Asignamos el número 3 a multiplicador
• 3) Asignamos el número 0 a resultado
• 4) Asignamos el número 0 a indice
• 5) Mientras indice sea menor a multiplicador
• 6) Sumamos multiplicando y resultado
• 7) Asignamos a resultado la suma
• 8) Incrementamos 1 a indice y Vuelve al paso 5
• 9) Muestra el resultado
• 10) Finalizar
• Tenemos que inicializar cada variable de nuestro algoritmo, como se muestra en los primeros cuatro pasos.
Diagrama de Flujo

Ejemplo
• Necesitamos hacer un programa que multiplique dos
números enteros.

• El siguiente paso es…


• Prueba de escritorio
• La prueba de escritorio es la ejecución manual de nuestro algorítmo
• Ponemos a prueba nuestro algoritmo y nos mostrará si tenemos errores (por lo
que tendremos que modificar el algoritmo) o si esta bien diseñado. Básicamente
es el registro de las variables.
• Siguiendo paso a paso nuestro algoritmo, obtendremos la siguiente tabla.

Computacion - FA.CE.NA.
Diagrama de Flujo

Ejemplo
• Necesitamos hacer un programa que multiplique dos
números enteros.

• Multiplicado 5
• Multiplicador 3
• Resultado 0 5 10 15
• Indice 0 1 2 3

• Vemos que el ultimo registro de la variable resultado, es 15, por lo que nuestro
algoritmo esta funcionando correctamente. Podemos probar con otros número.

Computacion - FA.CE.NA.
Diagrama de Flujo

Ejemplo
• Necesitamos hacer un programa que multiplique dos números
enteros.
Diagramas de flujo
• Una vez que hemos probado muestro algoritmo con la prueba de escritorio y el
resultado es el correcto, podemos seguir a diseñar el diagrama de flujo.
• Cada paso de nuestro algoritmo en un procedimiento y se representan con un
rectángulo. (Podemos agrupar varios procedimientos en un solo rectángulo, pero no es
lo indicado)
• Este será el diagrama de flujo de nuestro algoritmo.

Computacion - FA.CE.NA.
Ejemplo

• Pseudocódigo y Código
• El pseudocódigo es el siguiente paso de
nuestro programa, y es la representación
(escrita con nuestras propias palabras) del
algoritmo.

Inicio
multiplicando= 5
multiplicador = 3
resultado = 0
indice = 0

Mientras (indice <


multiplicador) entonces
resultado = resultado +
multiplicando
indice = indice + 1
Fin mientras
Imprimir resultado
Fin

También podría gustarte