Post on 05-Feb-2018
[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
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
[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.
[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
[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.