19
Alumna :María scoppetta * TRABAJO DE INFORMATICA Lic. Deyson Ozuna Blanco Grado: 9°

Trabajo dfe informatica

Embed Size (px)

Citation preview

Page 1: Trabajo dfe informatica

Alumna :María scoppetta

*TRABAJO DE INFORMATICA

Lic. Deyson Ozuna BlancoGrado: 9°

Page 2: Trabajo dfe informatica

*La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah Muhammad bien Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latín, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o Al-Khowarizmi) que vivió entre los siglos VIII y IX.

*Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la máquina analítica en 1842. Por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage, nadie completó su máquina, por lo que el algoritmo nunca se implementó.

*La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es así, que existía la errada creencia que no había problema que no se pudiera resolver y en base a ello, el matemático David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en día gracias a los trabajos de Kurt Gödel, Alonzo Church (calculo lamba), Alan Turing (maquina de turing), se sabe que dentro del universo de problemas, una pequeña parte es computable, luego que el objetivo que perseguia David Hilbert no era computable, es lo que se ha denominado como la computabilidad de los algoritmos.

HISTORIA.

Page 3: Trabajo dfe informatica

*Que es algoritmo?*Es un conjunto ordenado y finito de operaciones, con el

objetivo de realizar una actividad con pasos definidos y así encontrar una solución a cualquier problema la gran mayoría de veces.

Page 4: Trabajo dfe informatica

Características de un algoritmo:

Las características fundamentales que debe cumplir todo algoritmo son:-Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.-Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.-Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.-Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.-Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.

Page 5: Trabajo dfe informatica

*Clasificación de algoritmos.

*ALGORITMO DETERMINISTA: es u completamente predecible si se conocen las entradas. Se determina de forma única el siguiente paso.

*ALGORITMO NO DETERMINISTA: este a diferencia del otro ofrece diferentes resultados con la entrada, por eso se deben agotar todas las alternativas antes de encontrar la solución.

*ALGORITMOS COMPUTACIONALES: procesos realizados por una computadora.

*ALGORITMOS NO COMPUTACIONALES: Procesos que son realizados por el ser humano.

Page 6: Trabajo dfe informatica

*Análisis de algoritmos.*El análisis y estudio de los algoritmos es una disciplina

de las ciencias de la computación y, en la mayoría de los casos, su estudio es completamente abstracto sin usar ningún tipo de lenguaje de programación ni cualquier otra implementación; por eso, en ese sentido, comparte las características de las disciplinas matemáticas. Así, el análisis de los algoritmos se centra en los principios básicos del algoritmo, no en los de la implementación particular. Una forma de plasmar (o algunas veces "codificar") un algoritmo es escribirlo en pseudocódigo o utilizar un lenguaje muy simple tal como Léxico, cuyos códigos pueden estar en el idioma del programador.

Page 7: Trabajo dfe informatica

*¿Cómo resolver

problemas de Algoritmos ?*Hay muchos que piensan que resolver un algoritmo es

resolver un problema matemático o una ecuación. El enunciado del problema es que es lo que queras lograr, y el algoritmo debe ser una explicación detallada de cada paso que tenes que dar para solucionar el problema. por ejemplo: el problema seria: se quiere orfenar una tabla por nombres ahora, lo que vos tenes que hacer es pensar como lo harías vos, por ejemplo:

*Agarrar el primer nombre y ponerlo al principio.Agarrar el segundo nombre.Si este nombre viene después (en orden) que el anterior ponerlo Después de este.Si no, ponerlo primero y correr el anterior mas abajoAgarras el tercer nombreLo comparas con el primero y haces lo mismoDespués con comparas por el segundo y haces lo mismoy así hasta terminar.

Page 8: Trabajo dfe informatica
Page 9: Trabajo dfe informatica

*Solucionar un programa de algoritmos.

*Es una herramienta para aprender la lógica de programación, orientada aestudiantes sin experiencia en dicha área. Mediante la utilización de un simple y limitado pseudo-lenguaje intuitivo y en español, permite comenzar a comprender conceptos básicos y fundamentales de un algoritmo computacional. Nacido originalmente como proyecto final para la materia Programación I de la carrera Ingeniería en Informática de la Facultad deIngeniería y Ciencias Hídricas de la Universidad Nacional del Litoral, es en realidad un intérprete de pseudocódigo basado en los contenidos dela cátedra de Fundamentos de Programación de dicha carrera.

Page 10: Trabajo dfe informatica

Diagramas de flujo

*Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.

*Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.

Page 11: Trabajo dfe informatica

-Algoritmo de ordenamiento En computación y matemáticas un algoritmo de ordenamiento es un algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden, es decir, el resultado de salida ha de ser una permutación —o reordenamiento— de la entrada que satisfaga la relación de orden dada. Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico. Ordenamientos eficientes son importantes para optimizar el uso de otros algoritmos (como los de búsqueda y fusión) que requieren listas ordenadas para una ejecución rápida. También es útil para poner datos en forma canónica y para generar resultados legibles por humanos.

-Algoritmo de búsqueda Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez.

La variante más simple del problema es la búsqueda de un número en un vector.

Tipos de algoritmos según su función

Page 12: Trabajo dfe informatica

*Algoritmo de ordenamiento

Algoritmo de búsqueda

Page 13: Trabajo dfe informatica

*DFD

*Un diagrama de flujo de datos (DFD por sus siglas en español e inglés) es una representación gráfica para la maceta del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó" para mostrar más detalles del sistema que se está modelando.

*Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del diseño estructurado, basado en el modelo de computación de Martin y Estrin: "flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales tendrán que ser informados y consultados en todas las etapas de una evolución del sistema.

Page 14: Trabajo dfe informatica
Page 15: Trabajo dfe informatica

*C++

*C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multi para digma.

Page 16: Trabajo dfe informatica
Page 17: Trabajo dfe informatica

*Visual FoxPro

*Visual FoxPro es un lenguaje de programación procedural, orientado a objetos que posee un Sistema Gestor de Bases de datos o Database Management System (DBMS) y Sistema administrador de bases de datos relacionales, producido por Microsoft.

Características*Capacidades para el manejar datos nativos y remotos.*Flexibilidad para crear soluciones de bases de datos.*Lenguaje de Programación Orientado a objetos.*Utilización de Sentencias SQL en forma nativa.*Manejo de vistas, cursores y control completo de estructuras relacionales.*Su propio gestor de base de datos incorporado. Sin embargo, también puede

conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.

*Cuenta con un motor de generación de informes renovado y flexible para soluciones más robustas.

*Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reportes en formato XML.

Page 18: Trabajo dfe informatica
Page 19: Trabajo dfe informatica