ALGORITMOS
Transcript of ALGORITMOS
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
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
ENTRADA = DATOS PROCESADOR SALIDA = INFORMACIÓN
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.INICIOLEER Ficha de pedidoEXAMINAR el EstanteSI el libro esta en Estante ENTONCESAcepta el pedidoRecepción Carnet de socioSI NO Niega el pedidoDevuelve Ficha de PedidoFIN SIFIN
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 VARIABLESVARIABLES
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:
CONTADORSirve 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ñoRequiere de las siguientes instrucciones:Cumpleaños = 1 //inicializar en unoCumpleaños = Cumpleaños + 1 //Cumpleaños
aumenta en uno cada año
TIPOS DE VARIABLES
ACUMULADORSirve 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 realExponente Entero
Entero o realEntero 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 ARITMÉTICOS
ALGORITMOS PSEUDOCODIGO
C #
Adición o suma + +
Resta o Sustracción - -
Multiplicación * *
División Real / /
Potencia ^
Nota :Ddo y Dsor se declaran enteros
Modulo(resto) MODEj.: R = Ddo % Dsor
%Ej.: R = (Ddo % Dsor)
EXPRESIONES RELACIÓNALES
Operadores Relaciónales
algoritmos Significado En lenguaje C#
Operador Complemento Operador Complemento Operador Complemento
< > = menor que mayor o igual que < > =
<= > menor o igual que mayor que < = >
> < = mayor que menor o igual que > < =
>= < mayor o igual que menor que > = <
= igual que distinto de (diferente) = = ! =
=distinto de (diferente)
! = = =
EXPRESIONES RELACIÓNALES
En algoritmos En C#
Edad > 18 Edad > 18
SalBruto <= SalNeto SalBruto <= SalNeto
EstCivil 'S' EstCivil != 'S'
EXPRESIONES LÓGICAS O BOOLEANAS
En algoritmos En C#
(Edad > 18 ) Y ( Talla < 1.70 ) ( Edad > 18 ) && ( Talla < 1.70 )
NO ( sexo = ´F’ ) !( sexo == ´F’ )
(EstCivil = ‘C’ ) O (Sueldo > 2000) ( EstCivil == ‘C’ ) || (Sueldo > 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 variables)
LEER
Mostrar (permite mostrar los valores de las variables)
MOSTRAR
Estructura Selectiva
SI (expBooleana) {.......}SINO{.......}
SELECCIONA según (selector){ caso 1: …caso 2: …caso N: …}
Estructura Repetitiva
PARA ( ...; Hasta;...){.........}
MIENTRAS (expBooleana){....}
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ÓDIGOENCABEZADO:
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ÓDIGODECLARACIÓN DE CONSTANTES
Definir los valores que no cambian en el transcurso del algoritmoEj.: 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 salidaEj.: LEER Radio
Calcular: Permite procesar los valores de entrada para producir la salida adecuada.Ej.: Area = Pi x Radio x RadioArea = 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ásicoINICIOREAL TarHora, JornalENTERO NroHorasLEER TarHoraLEER NroHorasJornal = TarHora * NroHorasMOSTRAR JornalFIN