Trabajo Fund. de Programacion (1)

9
Alumno: Arteaga Barrera Gerardo Alejandro Materia: Fundamentos De Programación Horario: 4-5 Pm. 1.2 Algoritmo: Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. Sus Características: 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 0 o mas 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 1 o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. Su 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.

description

Programacion

Transcript of Trabajo Fund. de Programacion (1)

Page 1: Trabajo Fund. de Programacion (1)

Alumno: Arteaga Barrera Gerardo Alejandro

Materia: Fundamentos De Programación

Horario: 4-5 Pm.

1.2 Algoritmo:Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado.

Sus Características:• 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 0 o mas 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 1 o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue.

• Su 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 2: Trabajo Fund. de Programacion (1)

1.3 Lenguaje De Programación:Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.

Linea Del Tiempo Del Lenguaje De Progamacion

01/19/1950Desarrollo del lenguaje ensamblador

Es un lenguaje de programacion de bajo nivel, basado en la representacion de código de máquina. (binario ) El ensamblador realiza la traduccion del codigo de máquina.

01/01/1957 Se crea el lenguaje FORTAN

Es un lenguaje de programacion de Alto nivel que se utilizo principalmente para el calculo numérico y para la computadora científica. Creado por IBM

01/01/1958 Creacion de LISP

Especificado originalmente en 1958 por John McCarthy y sus colaboradores en el Instituto Tecnológico de Massachusetts, el Lisp es el segundo más viejo lenguaje de programación de alto nivel. El nombre LISP deriva del "LISt Processing"

01/01/1960 Se crea el lenguaje COBOL

Creado como lenguaje de programacion universal para poder ser utilizado en cualqueir ordenador.

01/19/1960Lenguaje de programacio ALGOL

Su nombre viene de Algorithmic Language. Fue muy popular en las universidades durante los años 60, pero no llegó a cuajar como lenguaje de utilización comercial.

01/01/1962 Lenguaje SNOBOLSNOBOL (StriNg Oriented symBOlic Language) es un lenguaje de programación de computadoras de muy alto nivel. Fue uno más de los lenguajes orientados a cadenas de texto

01/19/1964 Progrmacion con BASIC

Fue diseñado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el Dartmouth College en New Hampshire, USA. Es un lenguaje de programación de alto nivel.

01/01/1970 PASCAL

Es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización fue de gran uso para herramientas de todo tipo.

Page 3: Trabajo Fund. de Programacion (1)

01/01/1972 Lenguaje de programacion C

C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B. Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel.

01/01/1983 Creación de C++C++ es un lenguaje de programación diseñado 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.

01/01/1987 PERLPerl es un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma características del lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.

01/01/1991 HTML

siglas de HyperText Markup Language, es de los primeros lenguaje para paginas web. Describe 22 elementos comprendiendo el diseño inicial y relativamente simple de HTML. Trece de estos elementos todavía existen en HTML 4

01/01/1991 Phyton

Python es un lenguaje de programación interpretado creado por Guido van Rossum. Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación estructurada y programación funcional. Que ha permitido modificar la forma de programar en la actualdiad.

01/01/1995 JavaScript

Javascript es un lenguaje de programación interpretado dialecto del estándar ECMAScript. Se define como orientado a objetos2 , basado en prototipos, imperativo, débilmente tipado y dinámico. Diseñado por: Netscape Communications Corp, Mozilla Fundation

Page 4: Trabajo Fund. de Programacion (1)

Variables Y vectores:Las variables podrían calificarse como contenedores de datos y por ello se diferencian según el tipo de dato que es capaz de almacenar. En la mayoría de lenguajes de programación se requiere especificar un tipo de variable concreto para guardar un dato concreto. Por ejemplo, en Java, si deseamos guardar una cadena de texto deberemos especificar que la variable es del tipo "String". Por contra en otros lenguajes como PHP, este tipo de especificación de variables no es necesario. Además también existen variables compuestas por varias variables llamadas vectores. Un vector no es más que un conjunto de variables ordenadas guardadas dentro de un variable contenedor

• Variables tipo Char: Estas variables contienen un único carácter, es decir, una letra, un signo o un número.

• Variables tipo Int: Contienen un número entero.

• Variables tipo float: Contienen un número decimal.

• Variables tipo String: Contienen cadenas de texto, o lo que es lo mismo, es un vector con varias variables del tipo Char.

• Variables del tipo Boolean: Solo pueden contener un 0 o un 1. El cero es considerado para muchos lenguajes como la variable del tipo String "False" mientras que el 1 se considera "True".

1.4 Programa:Es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar.1 2Al conjunto general

Page 5: Trabajo Fund. de Programacion (1)

de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital.

En informática, se los denomina comúnmente binarios, debido a que una vez que han pasado por el proceso de compilación y han sido creados, las instrucciones que se escribieron en un lenguaje de programación que los humanos usan para escribirlos con mayor facilidad, se han traducido al único idioma que la máquina comprende, combinaciones de ceros y unos llamada código máquina. El mismo término, puede referirse tanto a un programa ejecutable, como a su código fuente, el cual estransformado en un binario cuando es compilado.

Generalmente el código fuente lo escriben profesionales conocidos como programadores. Se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo y que posteriormente puede ser convertido en una imagen ejecutable por un compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instrucción por instrucción.

De acuerdo a sus funciones, se clasifican en software de sistema y software de aplicación. En los computadores actuales, al hecho de ejecutar varios programas de forma simultánea y eficiente, se le conoce como multitarea.

1.5 Programación:La Programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y

Page 6: Trabajo Fund. de Programacion (1)

diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.

Objetivos de la Programación:• Corrección: Un programa es correcto si hace lo que debe hacer tal y como se

estableció en las fases previas a su desarrollo..

• Claridad: Es muy importante que el programa sea lo más claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento.

• Eficiencia: Se trata de que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los recursos que utiliza.

• Portabilidad: Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aquélla en la que se elaboró

1.6 Paradigmas de la Programación:Un paradigma es un determinado marco desde el cual miramos el mundo, lo comprendemos, lo interpretamos e intervenimos sobre él. Abarca desde el conjunto de conocimientos científicos que imperan en una época determinada hasta las formas de pensar y de sentir de la gente en un determinado lugar y momento histórico.

En nuestro contexto, el paradigma debe ser concebido como una forma aceptada de resolver un problema en la ciencia, que más tarde es utilizada como modelo para la

Page 7: Trabajo Fund. de Programacion (1)

investigación y la formación de una teoría. También, el paradigma debe ser concebido como un conjunto de métodos, reglas y generalizaciones utilizadas conjuntamente por aquellos entrenados para realizar el trabajo científico de investigación.

Tipos de Paradigmas:

PROGRAMACIÓN POR PROCEDIMIENTOS

Es el paradigma original de programación y quizá todavía el de uso más común. En él, el programador se concentra en el procesamiento, en el algoritmo requerido para llevar a cabo el cómputo deseado.

Los lenguajes apoyan este paradigma proporcionando recursos para pasar argumentos a las funciones y devolviendo valores de las funciones. FORTRAN es el lenguaje de procedimientos original, Pascal y C son inventos posteriores que siguen la misma idea. La programación estructurada se considera como el componente principal de la programación por procedimientos.

PROGRAMACIÓN MODULAR:Con los años, en el diseño de programas se dio mayor énfasis al diseño de procedimientos que a la organización de la información. Entre otras cosas esto refleja un aumento en el tamaño de los programas. La programación modular surge como un remedio a esta situación. A menudo se aplica el término módulo a un conjunto de procedimientos afines junto con los datos que manipulan. Así, el paradigma de la programación modular consiste en:

• Establecer los módulos que se requieren para la resolución de un problema.

Page 8: Trabajo Fund. de Programacion (1)

• Dividir el programa de modo que los procedimientos y los datos queden ocultos en módulos.

Este paradigma también se conoce como principio de ocultación de procedimientos y datos. Aunque C++ no se diseño específicamente para desarrollar la programación modular, su concepto de clase proporciona apoyo para el concepto de módulo.

ABSTRACCIÓN DE DATOS

Los lenguajes como ADA y C++ permiten que un usuario defina tipos que se comporten casi de la misma manera que los tipos definidos por el lenguaje. Tales tipos de datos reciben a menudo el nombre de tipos abstractos o tipos definidos por el usuario. El paradigma de programación sobre este tipo de datos consiste en:

• Establecer las características de los tipos de datos abstractos se desean definir.

• Proporcionar un conjunto completo de operaciones válidas y útiles para cada tipo de dato.

Cuando no hay necesidad de más de un objeto de un tipo dado, no es necesario este estilo y basta con el estilo de programación de ocultamiento de datos por medio de módulos.

PROGRAMACIÓN ORIENTADA A OBJETOS (OOP)El problema con la abstracción de datos es que no hay ninguna distinción entre las propiedades generales y las particulares de un conjunto de objetos. Expresar esta distinción y aprovecharla es lo que define a la OOP a través del concepto de herencia. El paradigma de la programación orientada a objetos es, entonces,

• Definir que clases se desean

• Proporcionar un conjunto completo de operaciones para cada clase

• Indicar explícitamente lo que los objetos de la clase tienen en común empleando el concepto de herencia

Page 9: Trabajo Fund. de Programacion (1)

En algunas áreas las posibilidades de la OOP son enormes. Sin embargo, en otras aplicaciones, como las que usan los tipos aritméticos básicos y los cálculos basados en ellos, se requiere únicamente la abstracción de datos y/o programación por procedimientos, por lo que los recursos necesarios para apoyar la OOP podrían salir sobrando.

Programación Lógica:La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa.

La programación lógica además de ser técnica que expresa adecuadamente hechos y reglas que define un problema es una estructura de componentes lógicos de un algoritmo, donde el sistema provee la secuenca de control y que al separarse de la lógica , el programa migra con un conjunto de declaraciones formales de especificaciones correctas por definición, asi la eficiencia de programa queda probada automáticamente .

La evaluación empieza definiendo una meta, luego probando que esta se ajusta a un hecho o se deduce a alguna regla.

Si la transformación existente es verificada por sus antecedentes, entonces estos se convierten en nuevas metas a equipararse con hechos o resolverse vía otras reglas.

Paradigma Funcional:El objetivo del paradigma funcional es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitando el concepto de estado del cómputo. La secuencia de computaciones llevadas a cabo por el programa se regiría única y exclusivamente por la re escritura de definiciones más amplias a otras cada vez más concretas y definidas, usando lo que se denominan definiciones dirigidas.Todo esto con el objetivo de familiarizar a los estudiantes con un lenguaje elegante en el cual se pueda manejar más fácilmente y así los programas sean menos extensos y complejos.Otro de los objetivos primordiales de dicho paradigma es buscar satisfacer las necesidades del usuario con respecto a operaciones matemáticas y convertirse en un lenguaje más expresivo.