5
[COLEGIO MONTANO] SISTEMAS Básicas de Programación ¿Qué significa programar? Programar es aquella actividad por la cual se crean programas para computadoras. Un programa es un conjunto de instrucciones que le dicen a la máquina lo que debe hacer. A los programas los llamaremos también Software. El software indica al hardware lo que debe hacer. Ámbitos en que se emplea la programación Desarrollo de aplicaciones financieras en grandes corporaciones Control de inscripciones y pagos en nuestro colegio Juegos para consolas como Wii, Playstation y Xbox Control de tráfico aéreo Compras y subastas en línea. Chatear con amigos y actualizar mi información en redes sociales como Facebook y Twitter Enumere otras actividades en las cuales el software nos facilita el trabajo: Historia de la Programación Sobre los últimos 50 años, los idiomas que programan han evolucionado del código binario de máquina a herramientas poderosas que crean las abstracciones complejas. o Primera Generación: Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la información sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de cálculo, uno por uno. Segunda Generación: El primer gran avance que se dio, fue la abstracción dada por el Lenguaje Ensamblador, y con él, el nacimiento de las primeras herramientas automáticas para generar el código máquina. o Tercera Generación: En los 50s y 60s empezaron usar computadoras científicos de otras ramas; y les era sumamente complicado trabajar con lenguaje Ensamblador. Así, nació el concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN (FORmula TRANslation). Después se han desarrollado innumerables lenguajes, que siguen el mismo concepto: “la mayor abstracción posible, y facilitar la vida al programador” o Cuarta Generación: Los idiomas de la cuarta generación son similares a los de la tercera generación. Lo nuevo de estos lenguajes son conceptos como clases, objetos y eventos que permiten soluciones más fáciles y lógicos. Lenguajes como C++, java y C# se llaman lenguajes orientados al objeto. o Quinta Generación: En esta generación se encuentra los conocidos como “Lenguajes de inteligencia artificial”. Han sido muy valorados al principio de las noventa - mientras ahora el desarrollo de software toma otros caminos. Lo que veremos en el futuro es menos dependencia en el idioma, y más en el modelando herramientas, tal como el Unificado Modelando el Idioma (UML)

[COLEGIO MONTANO] SISTEMAS - · PDF fileUn programa es un conjunto de instrucciones que le dicen a la máquina lo que debe hacer. ... que crean las abstracciones complejas

Embed Size (px)

Citation preview

Page 1: [COLEGIO MONTANO] SISTEMAS -  · PDF fileUn programa es un conjunto de instrucciones que le dicen a la máquina lo que debe hacer. ... que crean las abstracciones complejas

[COLEGIO MONTANO] SISTEMAS

Básicas de Programación ¿Qué significa programar?

Programar es aquella actividad por la cual se crean programas para computadoras.

Un programa es un conjunto de instrucciones que le dicen a la máquina lo que debe hacer.

A los programas los llamaremos también Software.

El software indica al hardware lo que debe hacer.

Ámbitos en que se emplea la programación

Desarrollo de aplicaciones financieras en grandes corporaciones

Control de inscripciones y pagos en nuestro colegio

Juegos para consolas como Wii, Playstation y Xbox

Control de tráfico aéreo

Compras y subastas en línea.

Chatear con amigos y actualizar mi información en redes sociales como Facebook y Twitter

Enumere otras actividades en las cuales el software nos facilita el trabajo:

Historia de la Programación

Sobre los últimos 50 años, los idiomas que programan han evolucionado del código binario de máquina a herramientas poderosas

que crean las abstracciones complejas.

o Primera Generación:

Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria

la información sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de

cálculo, uno por uno.

Segunda Generación:

El primer gran avance que se dio, fue la abstracción dada por el Lenguaje Ensamblador, y con él, el nacimiento de las primeras

herramientas automáticas para generar el código máquina.

o Tercera Generación:

En los 50s y 60s empezaron usar computadoras científicos de otras ramas; y les era sumamente complicado trabajar con

lenguaje Ensamblador. Así, nació el concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN (FORmula

TRANslation). Después se han desarrollado innumerables lenguajes, que siguen el mismo concepto: “la mayor abstracción posible,

y facilitar la vida al programador”

o Cuarta Generación:

Los idiomas de la cuarta generación son similares a los de la tercera generación. Lo nuevo de estos lenguajes son conceptos como

clases, objetos y eventos que permiten soluciones más fáciles y lógicos. Lenguajes como C++, java y C# se llaman lenguajes

orientados al objeto.

o Quinta Generación:

En esta generación se encuentra los conocidos como “Lenguajes de inteligencia artificial”. Han sido muy valorados al principio de

las noventa - mientras ahora el desarrollo de software toma otros caminos.

Lo que veremos en el futuro es menos dependencia en el idioma, y más en el modelando herramientas, tal como el Unificado

Modelando el Idioma (UML)

Page 2: [COLEGIO MONTANO] SISTEMAS -  · PDF fileUn programa es un conjunto de instrucciones que le dicen a la máquina lo que debe hacer. ... que crean las abstracciones complejas

[COLEGIO MONTANO] SISTEMAS

Sistemas de Información Un sistema de información (SI) es un conjunto de elementos orientados al tratamiento y administración de datos e información,

organizados y listos para su posterior uso, generados para cubrir una necesidad (objetivo). Dichos elementos formarán parte de alguna

de estas categorías:

Personas.

Datos.

Actividades o técnicas de trabajo.

Recursos materiales en general (típicamente recursos informáticos y de comunicación, aunque no tienen por qué ser de este tipo obligatoriamente).

Todos estos elementos interactúan entre sí para procesar los datos (incluyendo procesos manuales y automáticos) dando lugar a información más elaborada y distribuyéndola de la manera más adecuada posible en una determinada organización en función de sus objetivos.

Tendencias de la programación en la actualidad

http://www.marisolcollazos.es/noticias-informatica/?cat=10

www.enterpriseanalyst.net/download/mda_informatica.pdf

http://www.maestrosdelweb.com/editorial/web2/

http://www.lacofa.es/index.php/tecnologias/tendencias-en-lenguajes-de-programacion-en-2008

Page 3: [COLEGIO MONTANO] SISTEMAS -  · PDF fileUn programa es un conjunto de instrucciones que le dicen a la máquina lo que debe hacer. ... que crean las abstracciones complejas

[COLEGIO MONTANO] SISTEMAS

Fundamentos de Desarrollo

Fases del desarrollo de software

Ingeniería de software es la disciplina o área de la Ingeniería que ofrece métodos y técnicas para desarrollar y mantener

programas.

La creación del software es un proceso intrínsecamente creativo.

El término fases de desarrollo expresa cómo ha progresado el desarrollo de un software y cuánto desarrollo puede requerir.

Cada versión importante de un producto pasa generalmente a través de una etapa en la que se agregan las nuevas características

(etapa alfa), después una etapa donde se eliminan errores activamente (etapa beta), y finalmente una etapa en donde se han

quitado todos los bugs (errores) importantes (etapa estable).

Alpha / Alfa

Es la primera versión del programa, la cual es enviada a los verificadores para probarla.

Algunos equipos de desarrollo utilizan el término alfa informalmente para referirse a una fase donde un producto todavía es

inestable, aguarda todavía a que se eliminen los errores o a la puesta en práctica completa de toda su funcionalidad, pero

satisface la mayoría de los requisitos.

El nombre se deriva de alfa, la primera letra en el alfabeto griego.

Beta

Una versión beta o lanzamiento beta representa generalmente la primera versión completa del programa informático o de otro

producto, que es posible que sea inestable pero útil para que las demostraciones internas y las inspecciones previas seleccionen a

clientes.

Versión candidata a definitiva (RC)

Una versión candidata a definitiva o candidata para el lanzamiento, aunque más conocida por su nombre en inglés release

candidate, comprende un producto final, preparado para publicarse como versión definitiva a menos que aparezcan errores que

lo impidan.

En esta fase el producto implementa todas las funciones del diseño y se encuentra libre de cualquier error que suponga un punto

muerto en el desarrollo.

Versión de disponibilidad general (RTM)

La versión de disponibilidad general (también llamada "dorada") de un producto es su versión final.

Normalmente es casi idéntica a la versión candidata final, con sólo correcciones de último momento.

Es considerada muy estable y relativamente libre de errores con una calidad adecuada para una distribución amplia y usada por

usuarios finales

Ciclo de vida de software

Describe el desarrollo del software, desde la fase inicial hasta la fase final.

El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en

la calidad del software, en los plazos de implementación y en los costos asociados.

Page 4: [COLEGIO MONTANO] SISTEMAS -  · PDF fileUn programa es un conjunto de instrucciones que le dicen a la máquina lo que debe hacer. ... que crean las abstracciones complejas

[COLEGIO MONTANO] SISTEMAS

Resolución de problemas

La resolución de un problema mediante computadoras consiste en el proceso que a partir de la descripción de un problema, expresado

habitualmente en lenguaje natural y en términos propios del dominio del problema, permite desarrollar un programa que resuelva

dicho problema.

Problemas = Oportunidad

La mayoría de programas surgen a partir de un problema que debe ser resuelto, pero también cuando dicho problema es visto por un

programador como una oportunidad de insertar dentro de la oferta informática un producto que facilite los procesos a cierto grupo de

usuarios.

Piense en distintos programas comerciales en la actualidad, e indique qué oportunidades han aprovechado.

Análisis Básico de problemas

Cuando analizamos un problema de programación es importante preguntarse

o Requerimientos y expectativas: ¿Qué es lo que se espera?

o Recursos: Con qué elementos se podrá trabajar.

o Determinar las salidas que se esperan

o Establecer el proceso que llevará a las salidas deseadas

o Determinar cuáles son las entradas que se tendrán

Diagrama de flujos:

Conjunto ordenado y finito de operaciones que plantea una solución a un problema determinado.

o Lenguajes

Hablado

Escrito

o Diagramas

Diagramas de flujo

Diagramas de Nassi-Schneiderman

StoryBoards

Page 5: [COLEGIO MONTANO] SISTEMAS -  · PDF fileUn programa es un conjunto de instrucciones que le dicen a la máquina lo que debe hacer. ... que crean las abstracciones complejas

[COLEGIO MONTANO] SISTEMAS

Ejercicios

Resolver usando DFD

Hacer un diagrama de flujo que calcule el área de un círculo, pidiendo al usuario los datos que son necesarios

para calcularlo.

Hacer un diagrama de flujo que calcule el área de un triángulo, pidiendo al usuario los datos que son

necesarios para calcularlo.

Hacer un diagrama de flujo que permita determinar si un número ingresado es positivo o negativo

Hacer un diagrama de flujo que nos verifique si el número ingresado es divisible para 5

Hacer un diagrama de flujo que convierta un valor ingresado en pies a: yardas – metros – pulgadas –

centímetros

Hacer un diagrama de flujo que analice si en dos números ingresados: cual es mayor, cual es menor, o si son

iguales.

Hacer un diagrama de flujo que permita convertir de grados Farenheit a grados centigrados, y mueste ese

valor en pantalla.

Hacer un diagrama de flujo que solicite el valor de los tres lados de un triángulo y determine si es equilátero,

isósceles o escaleno.