ALGORITMOS

31
Algoritmos

Transcript of ALGORITMOS

Page 1: ALGORITMOS

Algoritmos

Page 2: 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.

Page 3: ALGORITMOS

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.

Page 4: ALGORITMOS

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

Page 5: ALGORITMOS

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

Page 6: ALGORITMOS

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.

Page 7: ALGORITMOS

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

Page 8: ALGORITMOS

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

Page 9: ALGORITMOS

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.

Page 10: ALGORITMOS

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.

Page 11: ALGORITMOS

TIPOS DE DATOS PRIMITIVOS

DATOS

NUMÉRICOS CARACTERES LÓGICOS

ENTEROS REALES

Page 12: ALGORITMOS

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

Page 13: ALGORITMOS

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

Page 14: ALGORITMOS

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

Page 15: ALGORITMOS

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.  

Page 16: ALGORITMOS

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

Page 17: ALGORITMOS

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

Page 18: ALGORITMOS

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)  

Page 19: ALGORITMOS

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)

! = = =

Page 20: ALGORITMOS

EXPRESIONES RELACIÓNALES

En algoritmos En C#

Edad > 18 Edad > 18

SalBruto <= SalNeto  SalBruto <= SalNeto 

EstCivil 'S' EstCivil  != 'S'

Page 21: ALGORITMOS

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)

Page 22: ALGORITMOS

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:

Page 23: ALGORITMOS

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)

Page 24: ALGORITMOS

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

Page 25: ALGORITMOS

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;

Page 26: ALGORITMOS

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";

Page 27: ALGORITMOS

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

Page 28: ALGORITMOS

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

Page 29: ALGORITMOS

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

Page 30: ALGORITMOS

ALGORITMO

ALGORITMO calcular área del circulo

INICIO

CONST Pi = 3.1416

REAL Radio, Area

LEER  Radio

Area = Pi * pow (Radio, 2)

MOSTRAR Area

FIN

Page 31: ALGORITMOS

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