lunes, 23 de febrero de 2009

DIVISION DEL TRABAJO

introducion.......................................DEGG
INDICE.............................................DEGG
PROBLEMA ....................................PNB
ALGORITMO .................................DEGG
LA PRUEBA DE ESCRITORIO ....PNB
PSEUDOCÓDIGO...........................DEGG
DIAGRAMA DE FLUJO..................PNB
LENGUAJE DE PROGRAMACIÓNPNB

viernes, 20 de febrero de 2009

inicio

Centro De Bachillerato Tecnológico Industrial y De Servicios Nº200

Alumnos: David Esteban García García.
Bernardo Pérez Navarro.
PROFESORA: Gloria Cecilia Molina Ramírez.
4F
MARERIA:
Aplicar los principios de programación en la solución de problemas
Desarrollar el proceso de solución de un problema



INTRODICCION…………………………………………………………………..1
INDICE………………………………………………………………….. 2
MAPAS CONCEPTIVOS…………………………………………..3-12
DEFINICIONES……………………………………………………….13
CONCLUSION………………………………………………………..
DEFINICIONES
PROBLEMA………………………………………………………………13
ANALISIS FE UN PROBLEMA……………………………………..13
PSEUDOGODIGO………………………………………………………14
PRUEBA DE ESCRITORIO……………………………………………15
ALGORITMO……………………………………………………………..15
ESTRUCTURA………………………………………………….…….….16
DIAGRAMA DE FLUJO………………………………………….…...16
ELEMENTOS DEL DIAGRAMA DE FLUJO…………………….17
REGLAS PARA ESCRIBIR IN DIAGRAMA DE FLUJO……….18
LENGUAJE DE PROGRAMACION…………………………………19
TIPOS DE LENGUAJE DE PROGRAMACION…………………19-20

PROBLEMA: Un problema suele ser un asunto del que se espera una solución. Puede referirse a: en matemática, un problema es una pregunta sobre objetos definidos. El problema se plantea cuando nos cuestionamos el porqué de algún fenómeno, o bien nos interesamos por las consecuencias de una teoría. La determinación del problema es una operación mediante la cual se especifica claramente y de un modo concreto sobre qué se va a realizar la investigación. Es el punto inicial de la cadena: Problema- Investigación- Solución; por tanto, determinará toda la posterior proyección de la investigación se debe tener en cuenta:
El problema, responde al ¨ POR QUE¨, de la Investigación lo podemos definir como la situación propia de un objeto, que provoca una necesidad en un sujeto, el cual desarrollará una actividad para transformar la situación mencionada.
El problema es objetivo en tanto es una situación presente en el objeto; pero es subjetivo, pues para que exista el problema, la situación tiene que generar una necesidad en el sujeto.
Cualquier problema científico es consecuencia del desconocimiento de la existencia, en una esfera de la realidad, de elementos y relaciones de dicha realidad objetiva. El planteamiento del problema científico es la expresión de los límites del conocimiento científico actual que genera la insatisfacción de la necesidad del sujeto.
ANALISIS DE UN PROBLEMA: Al tener una forma para percibir y concebir los problemas podemos concentrarnos también en la naturaleza y clase de los mismos. Entendiendo un problema como la desviación de una situación actual de una deseada en un punto de tiempo dado. Posee cinco componentes:
- Quienes enfrentan el problema y quien(es) toman decisiones- Aspectos del problema que se pueden controlar- Aspectos de la situación problema que se escapan del control de quien toma la decisión- Las restricciones que se imponen desde dentro o desde fuera sobre los aspectos mencionados- Los posibles resultados producidos al hacer una decisión
Existen además tres formas de hacerle frente a los problemas: Resolución, solución y disolución del problema
- Resolución: selección arbitraria de una acción lo suficientemente buena para eliminar el problema (enfoque clínico)- Solución: selección de una acción de entre varias que ofrece el resultado óptimo (enfoque de investigación)- Disolución: eliminación del problema mediante un cambio de intenciones de los involucrados o mediante un cambio de naturaleza y/o ambiente del problema (enfoque de diseño).Aún así, cualquiera de los tres enfoques que se emplee no significa la completa desaparición de problemas, dado que el tratamiento de un problema genera nuevos problemas.

PSEUDOCÓDIGO: Un pseudocódigo(falso lenguaje), es una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software.
Para probar el algoritmo se utiliza un Pseudo intérprete el cual se encuentra disponible para las plataformas GNU/Linux y Windows, es de código libre y está escrito en C++. El mismo se ejecuta en un Terminal.
El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema.
No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones, veamos un ejemplo, que podríamos definir como: lenguaje imperativo, de tercera generación, según el método de programación.


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. Esta prueba consiste en que damos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama, hasta obtener los resultados. El análisis de estos nos indicará si el diagrama esta correcto o si hay necesidad de hacer ajustes (volver al paso 4). Se recomienda dar diferentes datos de entrada y considerar todos los posibles casos, aun los de excepción o no esperados, para asegurarnos de que el programa no producirá errores en ejecución cuando se presenten estos casos.
ALGORITMO: Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.
En los años 1970, de la mano de John Henry Holland, surgió una de las líneas más prometedoras de la inteligencia artificial, la de los algoritmos genéticos. Son llamados así porque se inspiran en la evolución biológica y su base genético-molecular. Estos algoritmos hacen evolucionar una población de individuos sometiéndola a acciones aleatorias semejantes a las que actúan en la evolución biológica (mutaciones y recombinaciones genéticas), así como también a una Selección de acuerdo con algún criterio, en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son descartados.
Los algoritmos genéticos establecen una analogía entre el conjunto de soluciones de un problema, llamado fenotipo, y el conjunto de individuos de una población natural, codificando la información de cada solución en una cadena, generalmente binaria, llamada cromosoma. Los símbolos que forman la cadena son llamados los genes. Cuando la representación de los cromosomas se hace con cadenas de dígitos binarios se le conoce como genotipo. Los cromosomas evolucionan a través de iteraciones, llamadas generaciones. En cada generación, los cromosomas son evaluados usando alguna medida de aptitud.

ESTRUCTURA: La estructura es la disposición y orden de las partes dentro de un todo. También puede entenderse como un sistema de conceptos coherentes enlazados, cuyo objetivo es precisar la esencia del objeto de estudio. Tanto la realidad como el lenguaje tienen estructura. Uno de los objetivos de la semántica y de la ciencia consiste en que la estructura del lenguaje refleje fielmente la estructura de la realidad.
En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales (un dato elemental es la mínima información que se tiene en el sistema) con el objetivo de facilitar la manipulación de estos datos como un todo o individualmente.
DIAGRAMA DE FLUJO: Un diagrama de flujo es una forma más tradicional de especificar los detalles algorítmicos de un proceso y constituye la representación gráfica de un proceso multifactorial. Se utiliza principalmente en programación, economía y procesos industriales, pasando también a partir de estas disciplinas a formar parte fundamental de otras, como la psicología cognitiva; estos diagramas utilizan una serie de símbolos con significados especiales. Son la representación gráfica de los pasos de un proceso, que se realiza para entenderlo mejor. Son modelos tecnológicos utilizados para comprender los rudimentos de la programación lineal. Es la representación gráfica de flujo o secuencia de resta es así desde que empezó, etc. Rutinas simples, son la forma de especificar los detalles algorítmicos de un proceso mediante la esquematización gráfica para entenderlo mejor. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operación.
ELEMENTOS DE DIAGRAMA DE FLUJO:
1.- Se debe de escribir de arriba hacia abajo y de izquierda a derecha
2.- Los símbolos se unen con líneas
3.- Se usan flechas para indicar el flujo de información
4.- Los círculos de decisión pueden y deben tener más de una línea de flujo
5.- Todos los símbolos pueden tener más de una línea de entrada
Ejercicio: Deducir el salario neto de un trabajador a partir de la lectura del nombre, horas trabajadas, precio de la hora y sabiendo que los impuestos aplicados son el 10 % sobre el salario bruto.
Ejercicio: Se desea realizar el algoritmo que resuelva el siguiente problema:
Cálculo de los salarios semanales de los empleados de una empresa, sabiendo que éstos se calculan en base a las horas semanales trabajadas y de acuerdo a un precio especificado por cada hora. Si se pasa de 40 hrs. semanales, las horas extraordinarias se pagarán a razón de 1.5 veces la hora ordinaria.
REGLAS PARA ESCRIBIR UN DIAGRAMA DE FLUJO:
Se debe de escribir de arriba hacia abajo y de izquierda a derecha
2.- Los símbolos se unen con líneas
3.- Se usan flechas para indicar el flujo de información
4.- Los círculos de decisión pueden y deben tener más de una línea de flujo
5.- Todos los símbolos pueden tener más de una línea de entrada
Ejercicio: Deducir el salario neto de un trabajador a partir de la lectura del nombre, horas trabajadas, precio de la hora y sabiendo que los impuestos aplicados son el 10 % sobre el salario bruto.
Ejercicio: Se desea realizar el algoritmo que resuelva el siguiente problema:
Cálculo de los salarios semanales de los empleados de una empresa, sabiendo que éstos se calculan en base a las horas semanales trabajadas y de acuerdo a un precio especificado por cada hora. Si se pasa de 40 hrs. semanales, las horas extraordinarias se pagarán a razón de 1.5 veces la hora ordinaria.
Ejercicio: Dados tres números, determinar si la suma de una pareja de ellos es igual al 3er número si se cumple la condición escribir iguales y en caso contrario distintos.
LENGUAJE DE PROGRMACION: Con la aparición de las computadoras desaparecen las secuencias de posiciones de llaves mecánicas que debían desconectarse para obtener una acción determinada, una llave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101...) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina o código máquina.
La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje ensamblador.
TIPOS DE LENGUAJE DE PROGRMACION: Los tipos de lenguajes de programación los podemos clasificar en dos grandes grupos. Los lenguajes de programación de bajo nivel y los de alto nivel. El tipo de lenguaje de programación de bajo nivel depende totalmente de la máquina, en este caso de la computadora u ordenador, estos solos entienden el lenguaje binario o el código máquina, que consiste en ceros y unos. Es decir, que para realizar cualquier acción, solo utilizan este tipo de lenguaje de programación.
Los lenguajes de programación más cercanos a la arquitectura del hardware pertenecen al tipo de lenguajes de programación de bajo nivel. Mientras que los lenguajes de programación que se encuentran más próximos a los usuarios y programadores pertenecen al tipo de lenguajes de programación de alto nivel.
El tipo de lenguaje de programación de bajo nivel es totalmente dependiente de la computadora u ordenador, es decir que no podemos utilizarlo en cualquier otra. Este tipo de lenguaje de programación está prácticamente diseñado a la medida del hardware y aprovecha las características de este. Dentro de este tipo de lenguajes de programación podemos citar al lenguaje máquina y al lenguaje ensamblador.
Dentro del tipo de lenguajes de programación de alto nivel tenemos a todos aquellos lenguajes de programación que son más afines al lenguaje natural que al lenguaje máquina. Estos lenguajes de programación son completamente independientes de la arquitectura del hardware de la computadora u ordenador. Por lo que en general, un programa escrito con un lenguaje de programación de alto nivel lo podemos utilizar en cualquier otra computadora.

tipos de lenguajes de programacion

lenguajes de programacion

estructura de un diagrama de flujo

reglas para elaborar un diagrama de flujo