You are on page 1of 48

Algoritmos

El algoritmo
de la amistad
Temática
 Concepto de Algoritmo.
 Datos, tipos de datos y operaciones
primitivas.
 Constantes y variables.
 Expresiones.
 Funciones intrínsecas.
 Asignación.
 Entrada y salida de información.
Una definición

 Un algoritmo consiste en el grupo


de instrucciones que definen la
secuencia de operaciones que
resuelven un problema específico.

Diseño
Problema del Programa
algoritmo
Pasos para la solución
de un problema
 El diseño del algoritmo describe el
análisis del problema y desarrollo
del algoritmo.
 Se expresa el algoritmo como un
programa en un lenguaje de
programación.
 Se ejecuta y valida el programa
por la computadora.
Características de los
algoritmos
 Preciso, indicará el orden de cada paso.
 Definido, el mismo resultado se obtendrá
al ejecutar el algoritmo “n” veces.
 Finito, deberá terminar en algún
momento.
Ejemplo 1
Genere un algoritmo que sume
los números entre el 3 y el 30.
1. Inicio.
2. Hacer SUMA igual cero.
3. Establecer NUMERO igual a 1.
4. Sumar NUMERO a SUMA.
5. Incrementar NUMERO en 3
6. Si NUMERO es menor o igual que 30 ir a
4; si no imprimir a SUMA.
7. Fin
Ejemplo 2
Genere un algoritmo que determine al mayor
de tres números enteros ingresados.

1. Inicio
2. Leer los números y guardarlos en NUM1,
NUM2 y NUM3 respectivamente
3. Comparar NUM1 y NUM2, el número mayor
se guarda en AUX.
4. Comparar AUX y NUM3, imprimir el número
mayor.
5. Fin.
Tarea 2.1 Diseñe un algoritmo para
determinar si un número es primo o no.

Tarea 2.2 Genere un algoritmo que


sume los números entre el 2 y el 20.

Tarea 2.3 Genere un algoritmo que


sume los números entre el 5 y el 50.
Tipos de lenguajes
 Máquina; escritos en código binario.

 Bajo
nivel (ensamblador); escrito en
nemotécnicos.

 Alto
nivel; diseñados para ser
entendidos por el ser humano.
Instrucciones básicas
 Entrada/Salida: transferencia de información entre
dispositivos periféricos y memoria central.

 Aritmético/Lógicas: ejecutan operaciones de éstos tipos.

 Selectivas: seleccionan tareas en función de una


operación lógica

 Repetitivas: permiten la iteración de secuencias de


instrucciones un número dado de veces
Datos, Tipos de Datos y
Operaciones Primitivas
 Un dato es la expresión general que
describe los objetos con los cuales opera
la computadora
 Los tipos son: simples (no estructurados)
y compuestos (estructurados). Aquellos
se subdividen en:
 Numericos (integer, real)
 Lógicos (booleans)
 Carácter (char, string)
Datos primitivos
Datos

Numérico Carácter Lógico

Entero Real
Constantes y Variables
 Constantes: valores que durante la
ejecución de un programa no
cambian su valor.

 Variables: valores que cambiarán


durante la ejecución del programa
Expresiones

 Se definen como una combinación de


constantes, variables, símbolos de
operación, paréntesis, y nombres de
funciones especiales.
 Una expresión consta de operandos y
operadores.
 Las expresiones se clasifican en
aritméticas, lógicas y carácter.
Expresiones aritméticas
Operador Significado Tipo de operandos Tipo resultado
^ Potencia Entero o real Entero o real

+ Suma Entero o real Entero o real

- Resta Entero o real Entero o real

* Multiplicación Entero o real Entero o real

/ División Real Real


\ División entera Entero Entero
Mod módulo Entero Entero
Reglas de prioridad
Operador Gráfo
Parentesis ( )
Exponencial ^

Multi, divide *, /

Div y mod \, mod

Más y menos +, -
Operadores de comparación
Expresión 1 Operador de Expresión 2
relación

Operador Significado
< Menor
> Mayor
= Igual
<= Menor o igual
>= Mayor o igual
<> Distinto
Operadores lógicos

Operador lógico Expresión lógica Significado


Not No p Negación
And PyQ Conjunción
Or PoQ Disyunción
Funciones Matemáticas
Función Descripción
Abs(x) Absoluto
Atn(x) Tangente inversa
Cos(x) Coseno
Exp(x) Exponencial
Int(x), Fix(x) Parte entera
Log(x) Logaritmo natural
Rnd(x) Aleatorio
Sin(x) Seno
Sqr(x) Raiz Cuadrada
Tan(x) Tangente
Sgn(x) Signo
Operación de Asignación

 Es la forma de darle valores a


variables y constantes. Se
realiza con el signo = y sigue
el sentido de derecha a
izquierda
PROBLEMAS RESUELTOS
CON COMPUTADORAS Y
HERRAMIENTAS DE
PROGRAMACION

26/04/2018 22
SOLUCION DE PROBLEMAS

 Fases de fragmentación:
 Análisis del problema: definición
concisa a fin de que sea analizado en
todo detalle.
 Diseño del algoritmo: procedimiento,
paso a paso, para la solucionar el
problema dado.
 Solución del algoritmo con la
computadora: codificación del algoritmo
en un lenguaje de programación
23
ANALISIS DEL PROBLEMA
 El propósito llegar a un cierto grado de
comprensión de la naturaleza del
problema.

 Una buena definición del problema,


junto con una descripción detallada de
entrada y salida, son los requisitos más
importantes para una solución eficaz.

26/04/2018 24
ANALISIS DEL PROBLEMA
Que información debe proporcionar la
solución del problema.
Solución del
Problema

Análisis del Diseño del Solución por


Problema algoritmo computadora
1. ANALISIS DEL PROBLEMA
Que datos se necesitan para resolver el
problema.
Análisis del
Problema

Definicióndel Especificaciones Especificaciones


Problema de entrada de salida
1. ANALISIS DEL PROBLEMA
 Ejemplo: dados los lados de un
triángulo rectangulo, calcular la
hipotenusa.

 Entradas: valores de los lados (variable


LADO1 y variable LADO2).
 Salida: valor de la hipotenusa (variable
LADO3).
 Variables: LADO1, LADO2 y LADO3 (tipo
reales).
2. DISEÑO DEL ALGORITMO
 La información proporcionada al algoritmo
constituye su entrada y la información
producida constituye su salida.

 Los problemas complejos se resuelven


eficazmente si se fragmentan en
subproblemas que sean más sencillos de
solucionar que el original. Esta técnica sigue
el principio: Divide y Vencerás
2. DISEÑO DEL ALGORITMO
1. Inicio
2. Total=0, Num=9, Limite=90
3. Print Num
4. Total=Total+Num
5. Si Num < Limite entonces
Num=Num+9 y regresar a 3
6. Print Total
7. Fin
tarea
1. Determine el máximo común divisor
para dos números enteros.
2. Ordene 3 números ingresados
3. Convierta un número decimal entero
en hexadecimal
3. SOLUCION DE PROBLEMAS
MEDIANTE LA COMPUTADORA
 Una vez diseñado el algoritmo y
representado mediante una herramienta de
programación se debe:

Solución del
Problema por
Computadora

Codificación Ejecución del Comprobación


del programa programa del programa
3.1 REPRESENTACION GRAFICA
DE LOS ALGORITMOS

 Los métodos usuales para


representarlo son:
1. Diagrama de flujo
2. Pseudocódigo
3.1 REPRESENTACION GRAFICA
DE LOS ALGORITMOS
3.2 PSEUDOCODIGO
 Es un lenguaje de especificación de
algoritmos que permite una codificación
rápida y simple.
 Su ventaja radica en que el
programador no debe preocuparse por
la sintaxis de un lenguaje de
programación en particular.
 Utiliza palabras sencillas de entender
para codificar programas.
ESTRUCTURA

DE UN

PROGRAMA
Concepto de Programa

Conjunto de instrucciones que producirán


la ejecución de una determinada tarea.
Esencialmente es un medio para lograr
un fin.
PROCESO DE
PROGRAMACION

Consiste en la solución de
problemas y el desarrollo de
programas
Elementos básicos de un
programa
 Palabras reservadas.
 Identificadores (nombres de variables).
 Caracteres especiales.
 Constantes.
 Variables.
 Expresiones.
 instrucciones.
DIAGRAMAS

DE FLUJO
Estructuras básicas
Todo programa cumple las siguientes
características:
 secuenciales,
 selectivas, y
 repetitivas.
posee un solo punto de entrada y salida.
se puede recorrer toda la estructura del
programa modular.
todas las instrucciones son ejecutables y
no existen bucles infinitos.
Instrucciones Secuenciales
Instrucción Selectiva Simple
Instrucción Selectiva Compuesta
Instrucción Selectiva Múltiple
“Select – Case”
Instrucción Repetitiva
“While-Wend”
Instrucción Repetitiva
“Do-Loop While”
Instrucción Repetitiva
“For-Next”
FIN