Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Conceptos Básicos de la Programación (PPT) (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

Lenguajes de alto nivel
Lenguaje que permite representar el mecanismo de resolución de los problemas usando instrucciones independientemente de la computadora
Cercanía conceptual al programador
Pascal, C, Java, etc. son lenguajes de alto nivel
Capacidad de abstracción
Abstracción procedimental (poder representar operaciones más complejas como calcular las raíces de un polinomio)
Abstracción de datos (poder representar información más compleja como el estado de una cuenta bancaria)

¿Cómo conseguir que la computadora “entienda” los programas escritos en lenguajes de alto nivel?
Intérprete
Analiza el programa fuente y lo ejecuta directamente en la máquina
Compilador
Analiza el programa fuente y lo traduce a lenguaje máquina
Ej. Turbo Pascal es un compilador de Pascal

Monografias.com

El sistema operativo
Programa básico encargado de manejar el hardware y facilitar el trabajo a los demás programas (aplicaciones) proporcionándoles un conjunto de servicios genéricos
Asignación de tiempos de CPU
Control y asignación racional de los recursos de la computadora
Ejecución de programas
Controlar la E/S (ej., almacenar/recuperar en/de memoria permanente)
Control de errores y protección (ej., monitorizar la ejecución de un programa)
Interfaz con el usuario

¡Sin sistema operativo todo sería mucho más complicado!

Monografias.com

El sistema operativo (cont.)
¿Quién ejecuta el sistema operativo?
Las computadoras suelen estar preparadas para, al arrancar, ejecutar un pequeño programa que, a su vez, se encarga de ejecutar el sistema operativo
En el caso de los PCs normales, se almacena en memoria un programa denominado BIOS (Basic Input/Output System), capaz de localizar en memoria secundaria el programa “cargador” del sistema operativo

Monografias.com

Aplicaciones de propósito específico
Programas que permite en uso de la computadora para la realización de trabajos específicos y que se implantan sobre el sistema operativo
Procesadores de texto
Hojas de cálculo
Sistemas de gestión de bases de datos
Herramientas de diseño e ingeniería
Juegos

Monografias.com

La programación: resolución de problemas
Un programa es una secuencia de instrucciones con un propósito concreto que un ordenador puede interpretar y ejecutar
Programar es resolver problemas
Conjunto de actividades implicadas en la descripción, el desarrollo y la implementación eficaz de soluciones algorítmicas a problemas bien especificados

Algoritmo 1. m. Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema.
(Extraído del Diccionario de la RAE, 22ª edición)

Un algoritmo es, por tanto, una sistemática que transforma un estado inicial en un estado final
La entrada del programa: Precondiciones
Descripción del estado inicial (datos y situación de partida)
La salida del programa: Postcondiciones
Descripción del estado final (datos y situación deseada al acabar)

Monografias.com

La programación: resolución de problemas (cont.)
Utilizamos los lenguajes de programación para expresar los algoritmos de forma que el ordenador los entienda
De igual forma, que utilizamos la lengua castellana para expresar nuestras ideas a otras personas
Recuerda: Programar BIEN no es sólo conocer la sintaxis de uno o varios lenguajes de programación

Monografias.com

El problema del montón de fichas
Supongamos que tenemos un montón de fichas, cada una de las cuales tiene escrito el nombre de una persona junto con otros datos personales (fecha de nacimiento, dirección, número de teléfono). Las fichas están ordenadas alfabéticamente por el nombre.
Creamos una nueva ficha y deseamos incorporarla al montón existente.
¿Cómo dividimos el montón original en dos montones, tales que todas las fichas del primer montón precedan a la nueva en la ordenación y todas las del segundo no le precedan, pudiendo estar alguno de los montones finales vacío?

¿Cuáles son las precondiciones?
¿Cuáles son las postcondiciones?
¿Qué algoritmos se te ocurren?
¿Qué lenguaje utilizamos para describir todo lo anterior?

La programación: resolución de problemas (cont.)

Monografias.com

(Gp:) Análisis
(Gp:) Diseño
(Gp:) Implementación
(Gp:) Pruebas
(Gp:) Mantenimiento

El Ciclo de Vida del Software
Todas las tareas a realizar desde que se concibe un programa hasta que se deja de utilizar (no sólo “hasta que se codifica” ni “hasta que se instala”)
Existen distintos modelos del ciclo de vida software, aunque nosotros estudiaremos el más simple: Modelo en Cascada

Monografias.com

(Gp:) Análisis
(Gp:) Diseño
(Gp:) Implementación
(Gp:) Pruebas
(Gp:) Mantenimiento

(Gp:) “Quiero 3 habitaciones, 2 baños, garaje…”
(Gp:) Planos, diseño circuito eléctrico y de agua
(Gp:) Se construye la casa
(Gp:) Se comprueba la solidez de la estructura, el funcionamiento de las instalaciones, el acabado…
(Gp:) Algunas reparaciones, se cierra la terraza, se instala aire acondicionado
(Gp:) Casa

(Gp:) ¿Qué tiene que hacer exactamente nuestro programa?
(Gp:) ¿Cómo vamos a organizar el programa? ¿Qué partes tendrá y cómo funcionará?
(Gp:) Se construye el software
(Gp:) Ponemos a prueba nuestro programa, incluso en situaciones límite
(Gp:) Pequeñas modificaciones o correcciones (parches), actualizaciones, etc…
(Gp:) Software

Monografias.com

Fases en el desarrollo de una aplicación (cont.)
Análisis
Actividad en la que se analizan y clarifican los diferentes aspectos del problema que debe ser resuelto por la aplicación, con el fin de establecer claramente qué debe ser construido
El resultado es, normalmente, un documento de requisitos software que especifica claramente las funcionalidades de la aplicación
Funcionalidad = lo que tiene que hacerse (sin saber todavía cómo)

Monografias.com

Fases en el desarrollo de una aplicación (cont.)
Diseño
Actividad en la que se decide la organización y la estructura de una aplicación que satisfaga los diferentes requisitos establecidos en la fase de análisis
El resultado es uno (o varios) documentos de diseño que especifican claramente cómo construir la aplicación
Mientras que el análisis se ocupa de qué hay que hacer, el diseño se ocupa de cómo hacerlo
Hay varias técnicas de diseño, nosotros estudiaremos una de las más básicas: el diseño funcional

Monografias.com

Fases en el desarrollo de una aplicación (cont.)
Implementación
Actividad en la que se construye (codifica) la aplicación utilizando un lenguaje de programación concreto, y siguiendo, las directrices marcadas por los documentos de diseño
Si las actividades anteriores han sido realizadas correctamente, la fase de implementación debería ser bastante trivial
La implementación se encarga de concretar el diseño teniendo en cuenta un lenguaje y herramienta de desarrollo concreta

Monografias.com

Fases en el desarrollo de una aplicación (cont.)
Pruebas
Actividad en la que se asegura que la aplicación construida satisface los requisitos del usuario
Se debe invertir mucho tiempo en hacer pruebas (¡mucho más que en su implementación!)
Dos pasos diferenciados
Verificación: ¿Se ajusta la aplicación construida a los requisitos establecidos?
Validación: ¿Resuelve la aplicación el problema que realmente tenía el usuario?

Monografias.com

Fases en el desarrollo de una aplicación (cont.)
Mantenimiento
Actividad en la que la aplicación se modifica para satisfacer cambios o ampliaciones en los requisitos del usuario, corregir errores, etc.
¡Es la actividad más costosa en el desarrollo de software!(Tened en cuenta que hay programas que están muchos años en funcionamiento y lo usan miles de personas)
Estos costes pueden aliviarse si se hacen bien todo lo anterior

*Otras actividades
Confección de los manuales de usuario
Planificación y control del proyecto
Gestión de versiones

Monografias.com

Fases en el desarrollo de una aplicación (cont.)
Este Modelo en Cascada, tan lineal, no suele aplicarse “tal cual” en la vida real
Conviene hacer pruebas desde las primeras fases de desarrollo, por ejemplo para detectar y corregir errores prematuros, etc.
Los programas suelen construirse en varias iteraciones (sacando primero una versión básica, luego otra con más funcionalidad añadida, etc.)
Cada iteración es un ciclo completo (análisis, diseño, pruebas, etc.), siendo el diseño más importante en las primeras y la implementación más importante en las últimas

Monografias.com

Lenguajes de programación
Un lenguaje de programación puede describirse a tres niveles distintos:
Nivel sintáctico
Descripción de la forma (= sintaxis) de las instrucciones
Suelen utilizarse lenguajes artificiales con mucho “formalismo” (= rigor matemático y lógico)
Nivel semántico
Descripción del significado (= semántica) de las instrucciones
Puede utilizarse lenguaje natural (español, inglés, etc.) o intentar expresarse de manera más formal
Nivel pragmático
Descripción de cómo se utilizan las instrucciones
Suelen utilizarse tutoriales y ejemplos de programas…

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter