Sunteți pe pagina 1din 31

Algoritmos

DEFINICIÓN DE
ALGORITMO
 Conjunto de pasos o acciones que se realizan de
manera ordenada para llegar a la solución de un
problema.

 Conjunto de sentencias/instrucciones en lenguaje


nativo, las cuales expresan la lógica para la
resolución de un problema.

 Conclusión: Es un método para resolver un


problema. La resolución de un problema exige el
diseño de un algoritmo que resuelva el problema.
ETAPAS EN LA RESOLUCIÓN DE UN
PROBLEMA USANDO UNA COMPUTADORA

Problema  Algoritmo  Algoritmo + LP 


Programa de computadora

 Diseño del algoritmo.- Describe los pasos a


seguir para la resolución de un problema
dado (análisis y desarrollo del algoritmo)
 Programa en computadora.- El algoritmo se
expresa mediante un lenguaje de
programación en un programa.
TIPOS DE ALGORITMOS

Algoritmo Cualitativo.- Son los algoritmos


descritos mediante palabras. Ej.:

 La elaboración de una receta de cocina


 El tejido a mano de una chompa
 Búsqueda de un número telefónico
 El cambio de una llanta
 El cambio de un foco quemado
TIPOS DE ALGORITMOS

Algoritmo Cuantitativo.- Son los algoritmos que


se basan en cálculos numéricos. Ej.:

 Pasos a seguir para resolver una ecuación de


segundo grado
 Pasos a seguir para calcular los sueldos de los
empleados de una empresa
 Instrucciones para calcular los impuestos a pagar
de los vecinos de un municipio
CARACTERÍSTICAS DE UN
ALGORITMO
Los algoritmos deben tener estas
características:

 Indicar un orden a seguir en cada uno de sus


pasos.
 Ser definido (confiable), si se ejecuta dos
veces debe lograrse el mismo resultado.
 Ser finito, es decir terminar en un número
finito de pasos.
UN ALGORITMO COMO
PROCESADOR DE DATOS

ENTRADA = DATOS  PROCESADOR  SALIDA = INFORMACIÓN

Ej.: Leer la base y altura de un rectángulo y mostrar el área en


pantalla.

 Entrada (Lectura de datos)


Se conocen los valores de la Base y la Altura
 Proceso (Calculo de Area)
Area = Base * Altura
 Salida (Muestra los resultados)
Muestra valor del Area
EJEMPLO
 Ej.: Un socio de una biblioteca solicita un libro para lectura, si el
libro se encuentra se le presta el libro, si no se devuelve la ficha
de pedido.
INICIO
LEER Ficha de pedido
EXAMINAR el Estante
SI el libro esta en Estante ENTONCES
Acepta el pedido
Recepción Carnet de socio
SI NO
Niega el pedido
Devuelve Ficha de Pedido
FIN SI
FIN
DATOS

Para la computadora es una secuencia de


bits 0 ó 1. Sin embargo los lenguajes de alto
nivel permiten ignorar los detalles de la
representación interna dependiendo del nivel
de abstracción del lenguaje utilizado.
TIPOS DE DATOS
PRIMITIVOS
 Datos numéricos: Conjunto de los valores
numéricos. Pueden representarse en dos formas:
 Entero: Subconjunto de los números enteros
pueden ser + o -, no tienen componentes
fraccionarios.
 Real: Subconjunto de los números reales + ó - , los
números reales siempre tienen punto decimal
 Datos lógicos: De tipo lógico, también denominado
booleano, verdadero o falso.
 Datos cadena: Conjunto finito y ordenado de
caracteres.
TIPOS DE DATOS
PRIMITIVOS

DATOS

NUMÉRICOS CARACTERES LÓGICOS

ENTEROS REALES
CONSTANTES Y
VARIABLES
CONSTANTES

Es un grupo de datos que permanecen sin cambio


durante la ejecución del algoritmo o del programa,
pueden ser:
 Constante Numérica que representa un
determinado valor
 Constante Alfanumérica o literal que representa
cualquier combinación de caracteres
 Constante Lógica
CONSTANTES Y
VARIABLES
VARIABLES
Es un grupo de datos que puede variar o alterarse
durante la ejecución del algoritmo o la ejecución del
programa, se les identifica por los siguientes
atributos:

 El Nombre o identificador que se le asigna


 El tipo que describe el uso de la variable
 El valor de la variable que es la cantidad que tiene
asociada en un determinado momento
 Una variable de un tipo determinado solo puede
tomar valores de ese tipo
TIPOS DE VARIABLES
Las variables puede ser identificadas de acuerdo a la función
que asume en el algoritmo, como:

CONTADOR
Sirve para llevar una cuenta con incrementos o decrementos
constantes, generalmente de 1 en 1.

Ej.: Cumpleaños, variable que acumula el número de


cumpleaños año con año
Requiere de las siguientes instrucciones:
Cumpleaños = 1 //inicializar en uno
Cumpleaños = Cumpleaños + 1 //Cumpleaños
aumenta en uno cada año
TIPOS DE VARIABLES
ACUMULADOR
Sirve para llevar una suma o cuenta de diferentes valores
(acumular).
Ej.: SEdad variable que almacena la suma de las edades de una
cantidad de personas.

Requiere de las siguientes instrucciones:


SEdad = 0 // Inicializa en cero
SEdad = SEdad + Edad // SEdad se incrementa en el
valor de Edad

 Inicializar, significa poner en blanco o en cero una variable o


campo antes de su utilización.
 Los acumuladores y contadores por lo general se inicializan en
cero.
TIPOS DE VARIABLES

VARIABLE DE TRABAJO
Campo que almacena temporalmente el resultado
de alguna operación. No es variable de entrada ni
de salida.

Ej.: Me piden encontrar el área de un cuadrado,


para ello necesito el valor para el Lado

AREACUADRADO = LADO x LADO


EXPRESIONES
ARITMÉTICAS
Son combinaciones de constantes y/o variables
unidos por operadores aritméticos paréntesis y
nombres de funciones especiales.
Operadores Aritméticos
Operador Significado Tipos operandos Tipo de
resultado
^ Potenciación  Base entera o real Entero o real
Exponente Entero Entero o real
+ Adición Entero o real Entero o real
- Sustracción Entero o real Entero o real
* Multiplicación Entero o real Entero o real
/ División Entero o real Real
% resto Entero Entero
LOS OPERADORES EN
ALGORITMOS Y EN C#
OPERADORES ALGORITMOS
C#
ARITMÉTICOS PSEUDOCODIGO
Adición o suma + +
Resta o - -
Sustracción
Multiplicación * *
División Real / /
Potencia ^
Nota :
%
Ddo y Dsor se Modulo(resto) MOD
Ej.: R = (Ddo % Dsor)
declaran enteros Ej.: R = Ddo % Dsor
 
EXPRESIONES RELACIÓNALES
Operadores Relaciónales
algoritmos Significado En lenguaje C#
Operado Complem Operador Complem Operador Comple
r ento ento mento
menor que mayor o
< >= < >=
igual que
<= > menor o igual mayor que <= >
que
mayor que menor o
> <= > <=
igual que
>= < mayor o igual menor que >= <
que
igual que distinto de
= ≠ == !=
(diferente)
distinto de
≠ = (diferente) != ==
EXPRESIONES RELACIÓNALES

En algoritmos En C#

Edad > 18 Edad > 18


SalBruto <= SalBruto <= SalNeto
SalNeto
EstCivil≠ 'S' EstCivil  != 'S'
EXPRESIONES LÓGICAS O
BOOLEANAS

En algoritmos En C#
(Edad > 18 ) Y ( Talla < ( Edad > 18 ) && ( Talla <
1.70
NO ( )sexo = ´F’ ) 1.70 )   == ´F’ )
!( sexo
(EstCivil = ‘C’ ) O (Sueldo ( EstCivil == ‘C’ ) || (Sueldo >
> 2000) 2000)
PSEUDOCÓDIGO
 Es un lenguaje de especificación de algoritmos. Es
similar al lenguaje común o al lenguaje natural
humano
 Su traducción a un lenguaje de programación es
sencilla
 Utiliza enunciados donde cada uno de ellos
representan una instrucción en un programa de
computadora
 Ofrece gran facilidad para representar en un
lenguaje no formal las instrucciones de un algoritmo
que sirve de base para el código o programa fuente
 Utiliza palabras reservadas en ingles o en
castellano como:
Iniciar el algoritmo INICIO
Finalizar el algoritmo FIN
Lectura (permite ingresar los valores de las
LEER
variables)
Mostrar (permite mostrar los valores de las
MOSTRAR
variables)
SI (expBooleana)
{.......}
SINO
{.......}
SELECCIONA según
Estructura Selectiva (selector)
{
caso 1: …
caso 2: …
caso N: …
}
PARA ( ...; Hasta;...)
{.........}
MIENTRAS (expBooleana)
Estructura Repetitiva {....}
DO
{....}
MIENTRAS (expBooleana)
INSTRUCCIÓN DE
ASIGNACIÓN
 Operación en la cual el computador desarrolla o
evalúa una expresión matemática y almacena el
resultado final en una determinada variable. En la
forma más simple de asignación el computador
mueve una constante o el contenido de un campo a
otra variable.

SINTAXIS:

Nombre_de_la_variable = expresión, variable o constante


ASIGNACIÓN ARITMÉTICA:

En algoritmos En C#
var1 = 3 + 4 * 2 var1 = 3 + 4 * 2;
var2 = 0.65 / 0.2 var2 = 0.65 / 0.2;
var3 = var1 / var2 var3 = var1 / var2;
ASIGNACIÓN DE CARACTERES
O CADENA DE CARACTERES

En algoritmos En C#
caracter vCad, car char vCad, car;
car = 'S' car = 'S';
vCad = "28 de julio de 1821" vCad = "28 de julio de 1821";
ESTRUCTURA Y DISEÑO DE UN
ALGORITMO EN PSEUDOCÓDIGO
ENCABEZADO:
 Empezar con la palabra ALGORITMO
seguida por una descripción adecuada de
acuerdo al problema a resolver
Ej.:ALGORITMO Calcular área del circulo

INICIO DEL ALGORITMO


 Indicar el inicio del Algoritmo

Ej.: INICIO
ESTRUCTURA Y DISEÑO DE UN
ALGORITMO EN PSEUDOCÓDIGO
DECLARACIÓN DE CONSTANTES
 Definir los valores que no cambian en el transcurso
del algoritmo
Ej.: CONST Pi = 3.1416

DECLARACIÓN DE LAS VARIABLES A USAR


 Definir las variables que sean necesarios para
resolver el problema, identificándolas con un
nombre y determinando sus tipos.
Ej.: REAL Radio, Área
LEER CALCULAR E
IMPRIMIR
Definir en forma eficiente las estructuras de datos que permitan
leer, calcular o imprimir tantas veces como lo requiera la
operación a ser resuelta.
 Leer Datos: Permite introducir los valores de las variables de
entrada disponibles como materia prima, para evaluar las
variables de salida
Ej.: LEER Radio
 Calcular: Permite procesar los valores de entrada para producir
la salida adecuada.
Ej.: Area = Pi x Radio x Radio
Area = Pi * pow (Radio,2)
 Mostrar: Resultados del proceso de los datos, permite dar salida
a la información requerida.
Ej.: MOSTRAR Area
ALGORITMO

ALGORITMO calcular área del circulo


INICIO
CONST Pi = 3.1416
REAL Radio, Area
LEER Radio
Area = Pi * pow (Radio, 2)
MOSTRAR Area
FIN
Ejercicio
Ej.: Construir un algoritmo que permita calcular el jornal básico
de un obrero, si para ello se requiere ingresar por teclado la
tarifa horaria y el numero de horas trabajadas. La formula del
jornal es: Jornal = TarHora x NroHoras

ALGORITMO calculo del jornal básico


INICIO
REAL TarHora, Jornal
ENTERO NroHoras
LEER TarHora
LEER NroHoras
Jornal = TarHora * NroHoras
MOSTRAR Jornal
FIN