+ All Categories
Home > Documents > LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS...

LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS...

Date post: 24-Jan-2016
Category:
Upload: juan-antonio-crespo-navarrete
View: 213 times
Download: 0 times
Share this document with a friend
35
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)
Transcript
Page 1: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

LE, EI, Profesor Ramón Castro Liceaga

UNIVERSIDAD LATINA (UNILA)

I.- FUNDAMENTOS DE ALGORITMOS(CONCEPTOS)

Page 2: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Definición de algoritmo.•Describe el método para realizar una tarea.

•Es una secuencia de instrucciones lógicas y finitas que, ejecutadas adecuadamente, dan lugar al resultado deseado.

• Es un proceso de solución a un problema informático

• Nos permiten implementar un programa informático

Ejemplos de algoritmos no informáticos:

a) Receta de cocinab) Una partitura musicalc) El cálculo de los promedios,, etc.

Page 3: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

¿Cuáles son las propiedades de un Algoritmo?•Finitud: Número finito de pasos

•Definibilidad: Cada paso definido de un modo preciso

•Conjunto de Entradas: Datos iniciales del algoritmo

•Conjunto de Salidas: Respuesta que obtenemos del algoritmo

•Efectividad: Las operaciones a realizar deben ser básicas, para que el procesador pueda realizarlasde modo exacto y en tiempo finito.

Page 4: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Autómatas y lenguajes formales.

•Un autómata es un modelo computacional consistente en un conjunto de estados bien definidos, un estado inicial, un alfabeto de entrada y una función de transición.

•Este concepto es equivalente al de autómata finito o maquina de estados finitos.

Page 5: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

El Autómata

•El autómata comienza en un estado inicial con un conjunto de símbolos; su paso de un estado a otro se efectúa a través de una función de transición, la cual partiendo del estado actual y un conjunto de símbolos de entrada, lo lleva al nuevo estado correspondiente.

Page 6: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Ejemplo de Autómata

El autómata pasa por sus cuatro combinaciones o estados posibles realizados con 0 y 1.

Page 7: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Definición de alfabeto

• Un alfabeto se puede definir como el conjunto de todos los símbolos válidos o posibles para una aplicación. Por tanto, en el campo de los autómatas, un alfabeto está formado por todos los caracteres que utiliza para definir sus entradas, salidas y estados.

Ejem: 0,1,+,-, (), main, &, etc.

Page 8: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Definición de frase

• Una frase es la asociación de un conjunto de símbolos definidos en un alfabeto (cadena) que tiene la propiedad de tener sentido, significado y lógica.

Ejemplo: area = (base * altura) / 2

Page 9: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Definición de cadena vacía

• Se dice que una cadena es vacía cuando la longitud del conjunto de caracteres que utiliza es igual a cero, es decir, es una cadena que no tiene caracteres asociados.

Ejemplo: un espacio en blanco.

Page 10: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Definición de lenguaje

• Se puede definir un lenguaje como un conjunto de cadenas que obedecen a un alfabeto fijado.

Ejemplo: Lenguaje C, C++, C#, Visual Basic, etc.

Page 11: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Modelo• Un modelo es una representación o

especificación, algunas veces en término de un lenguaje matemático, de los pasos necesarios para reproducir un subconjunto determinado de la realidad previamente descrita. Un modelo parte siempre de la descripción de lo que se representa.

El autómata mas conocido en el mundo es denominado modelo de Turing o Maquina de Turing, modelo de un algoritmo.

Page 12: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

• Modelo de Alan Turing

1936.- Fue un matemático, informático teórico, inglés.

Uno de los padres de la Ciencia de la computación siendo el precursor de la informática moderna. Proporcionó una influyente formalización de los conceptos de algoritmo y computación: la máquina de Turing.

Formuló la Tesis de Church-Turing, la cual postula que cualquier modelo computacional existente tiene las mismas capacidades algorítmicas, o un subconjunto, de las que tiene una máquina de Turing (MT = algoritmos + modelo computacional)

Page 14: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

MAQUINA DE TURING (MT)

•Es modelo formal de un computador

•Es un modelo computacional que realiza una lectura/escritura de manera automática sobre una entrada llamada cinta, generando una salida en esta misma.

CINTA => L/E => CINTA

•Con este aparato extremadamente sencillo es posible realizar cualquier cómputo que un equipo digital sea capaz de realizar

Page 15: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

ELEMENTOS DE LA MAQUINA DE TURING (MT) Este modelo está conformado por:

•un alfabeto (conjunto de letras) de entrada y uno de salida

•un símbolo especial llamado blanco (normalmente b, Δ o 0)

•un conjunto de estados finitos

•un conjunto de transiciones entre dichos estados (inicio / fin).

Page 16: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Máquina universal

• Es un modelo de modelos, es por excelencia el modelo teórico de la computabilidad; basta con codificar cualquier maquina particular de Turing en su cinta para que sea simulada y pueda resolver en particular ese problema algorítmicamente.

• Una Máquina universal es una Máquina de Turing que es capaz de simular el funcionamiento de cualquier otra Máquina de Turing por codificación posterior.

Page 17: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

INSTALACIÓN DE UN COMPILADOR

En particular existen muchos compiladores de C/C++, sin embargo, con la idea de que empieces en cuanto antes a programar, el compilador lo puedes bajar de Internet en la siguiente ruta e instálalo en tu equipo de cómputo.

Dev-C++: http://sourceforge.net/projects/dev-cpp/

Page 18: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Area = Base * Altura / 2

lee

lee

Inicio

Base

Altura

Area Despliega

Fin

Entre los pasos de abstracción para encontrar la solución de un problema se pueden considerar los siguientes:

1. Análisis del problema.- Es la parte inicial del proceso de abstracción la cual toma la percepción del problema.2. Modelación.- Es la descripción de un problema o fenómeno descrito. Puede ser en forma de diagrama de flujo, pseudocódigo, gráfica, etc.3. Prueba Manual.- Es el resultado o cálculo esperado, en base al análisis previo de niveles de abstracción anteriores4. Codificación.- Es la traducción del modelo a lenguaje de programación. Elaboración de programa fuente en un editor5. Compilación.- Es el proceso de generación de un programa objeto, entendible por la computadora, a partir de un programa fuente. http://sourceforge.net/projects/dev-cpp/6.- Ejecución.- Es la puesta en marcha del programa en el computador7.- Prueba Final.- Verificación de la solución del problema.

En general son siete pasos descritos o algoritmo para resolver un problema. Es decir, algoritmo de algoritmos que dice: Si el resultado esperado es igual a la prueba final, termina mi algoritmo. De lo contrario me regreso al paso 4.

EJEMPLO PARA CALCULAR EL AREA DE UN TERRENO EN FORMA DE TRIANGULO:

METODOLOGIA PARA EL ANÁLISIS E IMPLANTACIÓN DE UN ALGORITMO

Area = Base por Alturaentre 2

Sean :Base = 5 y Altura = 15entonces .- Area = 5 * 15 / 2

Por lo tanto Area = 37.5

#include <stdio.h>

void main(){

int Base, Altura, Area;

Base = 0;Altura = 0;Area = 0;

printf("Programa que calcula el area de un triangulo\n");printf("Dime el valor de la base del Triangulo: ");scanf("%d",&Base);

printf("Dime el valor de la altura del Triangulo: ");scanf("%d",&Altura);

Area = Base * Altura / 2;

printf("\nEl Area del Triangulo es %d ",Area);printf("\n");

}

1 2

3

4

Nota: los pasos 5, 6 y 7 se realizan en el computador.

SALIDA

PROCESO

ENTRADA

Page 19: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

1b.- Presentación del problema:

Desarrolla un algoritmo-programa en C/C++ que en base a este temario, muestre el acumulado de los porcentajes obtenidos en las unidades y calcule tu calificación convirtiendo los porcentajes de exámenes y actividades a números enteros

Page 20: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

PROBLEMAS A RESOLVER:Nota: Siguiendo la metodología de los siete pasos, desarrolle un programa en C / C++ que resuelva los siguientes problemas y envía tu programa con tu maestro.

a).-La longitud de una circunferencia es 43.96 m. ¿Cuál es el área del círculo?

b).- Calcular el área de un rombo cuyas diagonales miden 30 y 16 cm, y su lado mide 17 cm.

c).- Calcular la tasa de interés a dos meses correspondiente a un capital invertido de 20,000.00 dólares teniendo como base un interés simple de 1,400.00 dólares.

- Expresar la tasa de interés con dos decimales y en porcentaje.

Page 22: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Que es un Pseudocódigo

Es una descripción informal de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación.

Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas

Page 27: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

PRACTICA 05

DE ACUERDO A LOS SIETE PASOS DESARROLLE UN PROGRAMA (CON DIAGRAMA DE FLUJO Y PSEUDOCODIGO) QUE CALCULE LA VENTA DE UN ARTICULO INCLUYENDO EL IVA DEL 16 %

Page 32: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

PRACTICA 05

DE ACUERDO A LOS SIETE PASOS DE LA PROGRAMACION DETERMINE SI UN EMPLEADO ES OBRERO (SUELDO MENOR A 500.00, EMPLEADO (SUELDO IGUAL A 3000.00) O GERENTE SUELDO MAYOR A 3000.00

Page 33: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Simbología

Page 34: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Simbología

Page 35: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) I.- FUNDAMENTOS DE ALGORITMOS (CONCEPTOS)

Simbología


Recommended