clase 1 de introduccion a la programacion

17
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución de problemas aporta grandes ventajas, como son la rapidez de ejecución y la confiabilidad de los resultados obtenidos. En la actualidad los sistemas de computadoras consisten en un enorme conjunto de elementos de circuitos(hardware)y programación (software), que se han diseñado para proporcionar a la computación un ambiente productivo y agradable. Muchos de los problemas acarrean complicados cálculos, así como la utilización de grandes cantidades de datos; esto nos causa muchos problemas ya que el riesgo de equivocarse es muy grande, y también con la utilización de grandes cantidades de datos el trabajo se convierte en pesado y rutinario. Mediante la computadora se eliminan estos problemas, pues su capacidad se basa en la rapidez, la precisión y memoria. Sin embargo la computadora no puede hacer todo por si sola. Es preciso que se le describa con detalle y en su lenguaje, todos los pasos que tiene que realizar para la resolución del problema. Esta descripción es lo que se conoce como programa de computadora, este dirigirá el funcionamiento de la máquina en la resolución del problema. La primer decisión que hay que tomar cuando se crea un programa, es contestar a las preguntas: ¿Qué es lo que el programa se supone que va a hacer?, ¿cuál es el problema que se va a resolver?,¿Qué tarea va a realizar nuestro programa?. Cuanto más se detalle la descripción, más fácil será lograr resultados. Los ordenadores no hablan nuestro idioma, son máquinas y como tales, necesitan un lenguaje específico pensado por el hombre para ellas. Además, necesitan constantemente interpretar todas las instrucciones que reciben. Dada la dificultad de comunicación entre el computador y el programador, pronto aparecieron lenguajes de programación que hacen posible la comunicación con el microprocesador, utilizando términos y símbolos relacionados con el tipo de problema que se debe resolver, mediante el empleo de herramientas que brinda la informática. Estos lenguajes permiten, por un lado, escribir las operaciones que son necesarias realizar para resolver el problema de un modo parecido a como se escribiría convencionalmente (es decir, redactar adecuadamente el algoritmo de resolución del problema) y, por el otro, se encarga de traducir el

Upload: reynaldocastillo

Post on 18-Dec-2014

53 views

Category:

Education


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Clase 1 de introduccion a la programacion

Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución de problemas aporta grandes ventajas, como son la rapidez de ejecución y la confiabilidad de los resultados obtenidos.

En la actualidad los sistemas de computadoras consisten en un enorme conjunto de elementos de circuitos(hardware)y programación (software), que se han diseñado para proporcionar a la computación un ambiente productivo y agradable.

Muchos de los problemas acarrean complicados cálculos, así como la utilización de grandes cantidades de datos; esto nos causa muchos problemas ya que el riesgo de equivocarse es muy grande, y también con la utilización de grandes cantidades de datos el trabajo se convierte en pesado y rutinario. Mediante la computadora se eliminan estos problemas, pues su capacidad se basa en la rapidez, la precisión y memoria.

Sin embargo la computadora no puede hacer todo por si sola. Es preciso que se le describa con detalle y en su lenguaje, todos los pasos que tiene que realizar para la resolución del problema.Esta descripción es lo que se conoce como programa de computadora, este dirigirá el funcionamiento de la máquina en la resolución del problema.

La primer decisión que hay que tomar cuando se crea un programa, es contestar a las preguntas: 

¿Qué es lo que el programa se supone que va a hacer?, ¿cuál es el problema que se va a resolver?,¿Qué tarea va a realizar nuestro programa?. Cuanto más se detalle la descripción, más fácil será lograr resultados.

Los ordenadores no hablan nuestro idioma, son máquinas y como tales, necesitan un lenguaje específico pensado por el hombre para ellas. Además, necesitan constantemente interpretar todas las instrucciones que reciben. Dada la dificultad de comunicación entre el computador y el programador, pronto aparecieron lenguajes de programación que hacen posible la comunicación con el microprocesador, utilizando términos y símbolos relacionados con el tipo de problema que se debe resolver, mediante el empleo de herramientas que brinda la informática.

Estos lenguajes permiten, por un lado, escribir las operaciones que son necesarias realizar para resolver el problema de un modo parecido a como se escribiría convencionalmente (es decir, redactar adecuadamente el algoritmo de resolución del problema) y, por el otro, se encarga de traducir el algoritmo al lenguaje máquina (proceso conocido como compilación) con lo que se le confiere al programa la capacidad de correr (ser ejecutado) en el ordenador. El ordenador es en realidad tan sólo una máquina virtual, capaz de resolver todos los problemas que los usuarios seamos capaces de expresar mediante un algoritmo (programa).

Page 2: Clase 1 de introduccion a la programacion

A continuación, unas cuantas definiciones de los lenguajes de programación.1) Un lenguaje de programación es una notación para escribir programas, a través de los cuales podemos comunicarnos con el hardware y dar así las órdenes adecuadas para la realización de un determinado proceso.

Un lenguaje está definido por una gramática o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de símbolos utilizados. Los distintos niveles de programación existentes nos permiten acceder al hardware, de tal forma que según utilicemos un nivel u otro, así tendremos que utilizar un determinado lenguaje ligado a sus correspondientes traductores.

2)Conjunto de normas “lingüísticas” (palabras y símbolos) que permiten escribir un programa y que éste sea entendido por el ordenador y pueda ser trasladado a ordenadores similares para su funcionamiento en otros sistemas.

3)Conjunto de instrucciones, órdenes y símbolos reconocibles por autómata, a través de su unidad de programación, que le permite ejecutar la secuencia de control deseada. Al conjunto de total de estas instrucciones, órdenes y símbolos que están disponibles se le llamar lenguajes de programación del autómata. El programa está formado por un conjunto de instrucciones, sentencias, bloques funcionales y grafismos que indican las operaciones a realizar. Las instrucciones representan la tarea más elemental de un programa: leer una entrada, realizar una operación, activar una salida, etc. La sentencia representa el mínimo conjunto de instrucciones o sentencias que realizan una tarea o función compleja: encontrar el valor de una función lógica en combinación de varias variables, consultar un conjunto de condiciones, etc. El bloque funcional es el conjunto de instrucciones o sentencias que realizan una tarea o función compleja: contadores, registros de desplazamientos, transferencias de información, etc. Todos estos elementos están relacionados entre sí mediante los símbolos o grafismos.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

CLASIFICACION DE LOS LENGUAJES DE PROGRAMACION

Lenguaje máquina:• Es directamente inteligible por la máquina.• Las instrucciones son cadenas binarias en las cuales se especifica:• Está ligado al Hardware; difiriendo así de una computadora a otra.

Ventajas e inconvenientes del lenguaje maquina:Ventajas:a)Mayor velocidad de ejecución, por ser directamente ejecutable.

Inconvenientes:a) Dificultad y lentitud de la codificaciónb) Poca fiabilidad.c) Gran dificultad a la hora de verificar y poner a punto los programas.d) Los programas solo son ejecutables para el procesador sobre el que se crean.

Page 3: Clase 1 de introduccion a la programacion

Lenguajes de bajo nivel (Ensamblador)• Son más fáciles de interpretar que los lenguajes máquina.• Dependen de la máquina.• Sus instrucciones son nemotécnicos (más parecidos al lenguaje del programador que el anterior, que es el lenguaje de la maquina como su propio nombre dice).

Ventajas e inconvenientes:Ventajas:

A) Se codifican mejor que en el lenguaje máquina.B) Mayor velocidad de calculo

Inconvenientes:a) Dependencia total de la máquina.b) Los programadores necesitan tener una visión global del sistema; es decir, necesitan conocer el lenguaje y el interior de la maquina (conocer su software).

Lenguajes de alto nivel:• Es un lenguaje más parecido al del programador.• Es independiente de la máquina.

Ventajas e inconvenientes:1. Ventajas:a) Tiempo de formación de los programas es relativamente corto.b) Las modificaciones y puestas a punto de los proyectos son más fáciles.c) Reducción del coste de los programas.d) Transportabilidad.

1. Inconvenientes:a) Incremento del tiempo de ejecución.b) No se aprovechan al 100% los recursos de la máquina.c) Aumento del tamaño en memoria.

Page 4: Clase 1 de introduccion a la programacion
Page 5: Clase 1 de introduccion a la programacion

Definiciones de Algoritmo:• Un algoritmo es la expresión de una secuencia precisa de operaciones que conduce a la resolución de un problema.

• Sistema de reglas que permiten obtener una salida específica a partir de una entrada específica. Cada paso debe estar definido exactamente, de forma que pueda traducirse a lenguaje de computadora

Page 6: Clase 1 de introduccion a la programacion

Propiedades de los Algoritmos.1. Debe ser finito2. Toda regla debe definir perfectamente la acción a desarrollar3. Todos sus pasos deben ser simples y tener un orden definido.4. Un Algoritmo no debe resolver un solo problema particular sino una

clase de problemas.5. Un Algoritmo debe ser eficiente y rápido.

Cómo se construye un programa.Fases en la construcción de un programa

ANÁLISIS DEL PROBLEMA: equivale a decidir qué es lo que tenemos que hacer DISEÑO O DESARROLLO DE LA SOLUCIÓN: en esta etapa se define cómo vamos

a hacerlo - Un problema complejo se resuelve dividiendo el problema en sub problemas, y así sucesivamente hasta que la resolución de cada sub problema sea fácilmente programable

Fase de Codificación: Implementación del Algoritmo en el lenguaje de programación más adecuado ->Obtención del Programa

Fase de Pruebas: No basta que el programa esté terminado .-> Hay que comprobar que el programa NO falla y funciona perfectamente en todos los casos posibles que se puedan presentar.

Fase de Documentación y Mantenimiento: Se elabora la documentación del programa, y se realizan las actualizaciones oportunas que se vayan necesitando.

Tipos de Datos

Page 7: Clase 1 de introduccion a la programacion

Diagramas de Flujo.Es una representación gráfica de un algoritmo, mediante símbolos (cajas) que tiene los pasos del algoritmo escritos en cajas unidas por flechas, denominadas líneas de flujo, que indican la secuencia en que se debe ejecutar.

Page 8: Clase 1 de introduccion a la programacion

El pseudocódigo

El pseudocódigo es la representación narrativa (no hay reglas sintácticas estrictas) de un algoritmo, escrita en lenguaje natural utilizando las estructuras de control típicas de algún Lenguaje de Programación y algunos símbolos algebraicos.La utilización de pseudocódigo presenta las ventajas de ser más compacto que un organigrama, ser más fácil de escribir y ser más fácil de transcribir a un lenguaje de programación.Las estructuras de control deciden qué camino hay que seguir en función de una condición. Son las siguientes:1. Estructura secuencial: consiste en colocar una instrucción tras otra, de manera que se van ejecutando de arriba abajo.2. Estructura selectiva o condicional (si, si no): permiten ejecutar un conjunto de instrucciones u otras en función de si se cumple o no una condición3. Estructura iterativa o de repetición (mientras, repetir, para): permite repetir una instrucción o grupo de ellas un nº fijo de veces o mientras (o hasta que) una condición sea cierta.

Page 9: Clase 1 de introduccion a la programacion
Page 10: Clase 1 de introduccion a la programacion
Page 11: Clase 1 de introduccion a la programacion
Page 12: Clase 1 de introduccion a la programacion
Page 13: Clase 1 de introduccion a la programacion
Page 14: Clase 1 de introduccion a la programacion
Page 15: Clase 1 de introduccion a la programacion