lunes, 10 de marzo de 2014

INTRODUCCIÓN A PROGRAMACIÓN.

PROBLEMA INFORMATICO:
Cuando un usuario plantea a un programador un problema que resolver mediante su ordenador, por lo general ese usuario tendrá conocimientos más o menos amplios sobre el dominio del problema, pero no es habitual que tenga conocimientos de informática. Por ejemplo, un contable que necesita un programa para llevar la contabilidad de una empresa será un experto en contabilidad (dominio del problema), pero no tiene por qué ser experto en programación.
Del mismo modo, el informático que va a resolver un determinado problema puede ser un experto programador, pero en principio no tiene por qué conocer el dominio del problema; siguiendo el ejemplo anterior, el informático que hace un programa no tiene por qué ser un experto en contabilidad.

PROGRAMA INFORMATICO.
Un programa informático 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. Al conjunto general 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, (propio en sistemas Unix, donde debido a la estructura de este último, los ficheros no necesitan hacer uso de extensiones; posteriormente, los presentaron como ficheros ejecutables, con extensión .exe, en los sistemas operativos de la familia Windows) 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 determinado lenguaje de programación, han sido traducidas al único idioma que la máquina comprende, combinaciones de ceros y unos llamado código máquina. El mismo término, puede referirse tanto a un programa ejecutable, como a su código fuente, el cual es transformado en un binario una vez que es compilado.
INFORMATICA.
La informática es una ciencia que estudia métodos, procesos, técnicas, con el fin de almacenar, procesar y transmitir información y datos en formato digital. La informática se ha desarrollado rápidamente a partir de la segunda mitad del siglo XX, con la aparición de tecnologías tales como el circuito integradoInternet y el teléfono móvil.
SISTEMAS INFORMATICOS.
Un sistema informático como todo sistema, es el conjunto de partes interrelacionadas, hardwaresoftware y de recurso humano que permite almacenar y procesar información. El hardware incluye computadoras o cualquier tipo de dispositivo electrónico inteligente, que consisten enprocesadores, memoria, sistemas de almacenamiento externo, etc. El software incluye al sistema operativofirmware y aplicaciones, siendo especialmente importante los sistemas de gestión de bases de datos. Por último el soporte humano incluye al personal técnico que crean y mantienen el sistema (analistas, programadores, operarios, etc.) y a los usuarios que lo utilizan.
VARIABLE.
En programación, una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad o información conocida o desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor almacenado: esta separación entre nombre y contenido permite que el nombre sea usado independientemente de la información exacta que representa.

CONSTANTE.
En programación, una constante es un valor que no puede ser alterado durante la ejecución de un programa.
Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.
Por ejemplo:
  • El valor de pi = 3.1416
Por conveniencia, el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes.


En matemáticaslógicaciencias de la computación y disciplinas relacionadas, unalgoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.


En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones
MEDIOS DE EXPRESIÓN DE UN ALGORITMO
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje naturalpseudocódigodiagramas de flujo ylenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles:
  1. Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
  2. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
  3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.
DIAGRAMA DE FLUJO:
Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.

PSEUCODIGO
El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas.
El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él.
Así el pseudodocódigo cumple con las funciones antes mencionadas para representar algo abstracto los protocolos son los lenguajes para la programación. Busque fuentes más precisas para tener mayor comprensión del tema.

PRUEBA DE ESCRITORIO.
La prueba de escritorio es una herramienta útil para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de ejecutarlo. 

Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo.

.

Metodología De Solución

ETAPAS DE UN METODO DE SOLUCION DE PROBLEMA




Los pasos a seguir para la solución de un problema son:

1)     Identificación del problema
2)     Planteamiento de alternativas de solución
3)     Elección de una alternativa de solución
4)     Desarrollo de la solución
5)     Aplicación de la solución
6)     Evaluación de la solución

1.     IDENTIFICACION DEL PROBLEMA

Debemos analizar qué problema se quiere resolver a través de medios informáticos y cómo queremos darle solución.     La solución a un problema puede representarse por diferentes tipos de datos:  

·          Datos numéricos
          Representados por números del 0 al 9

·          Datos alfanuméricos
           Letras       a-z    A-Z
           Números  0-9
           Caracteres   + - * / < >

·          Datos lógicos
           Falso - verdadero

·          Datos constantes
           Datos que no cambian. 
           
·          Datos variables
          Datos que cambian dependiendo de las condiciones del problema.

 Las consideraciones a seguir para identificar un problema son:
1)     Identificar las variables
Son condiciones que se dan en cualquier problema y se dan a través de casos específicos.   
2)     Delimitar la solución
Definir qué parte del problema se pretende resolver a través de la tecnología de información y comunicación.   
3)     Considerar los recursos disponibles


Ver con qué recursos se cuenta para solucionar los problemas que se presenten.   

2.     PLANTEAMIENTO DE ALTERNATIVAS DE SOLUCION

Para cada problema existe más de una forma para resolverlo.  Las alternativas de solución deben tener las siguientes características:

1)     Efectos futuros.  Que la duración de la solución de una alternativa sea la mayor posible.
2)     Reversibilidad.  Que una decisión pueda revertirse.  
3)     Impacto. Cómo beneficia en las áreas de la empres la implementación de la alternativa
4)     Calidad.  El emplear materiales inadecuados por ser baratos en la construcción de un edificio.
5)     Periodicidad.  Si el problema es único o se presenta muy seguido.  Debemos tomar en cuenta la periodicidad para justificar el hecho  de aplicar tecnologías de información y comunicación.  


3.     ELECCION DE UNA ALTERNATIVA DE SOLUCION
Los aspectos a tomar en cuenta al elegir una alternativa son:
1)     Desarrollar todas las alternativas
2)     Evaluar las alternativas
3)     Seleccionar la mejor alternativa
4.     DESARROLLO DE LA SOLUCION

Se trata de planear cómo resolver el problema creando un algoritmo de solución

5.     APLICACIÓN DE LA SOLUCION

Se le llama también implementación

6.     EVALUACION DE LA SOLUCION


Al aplicar una solución puede originar problemas no previstos.  En informática hay que preveerlos.  (Prueba o mantenimiento).  El ciclo se puede repetir, hasta que se resuelva satisfactoriamente

Se hace una  prueba siguiendo el algoritmo paso a paso y debemos tabular qué es lo que sucede con las variables y anotar sus cambios