sábado, 18 de septiembre de 2010

UNIDAD 3

PROBLEMA

¿Qué es?
Un problema es una pregunta sobre objetos y estructuras que requiere una explicación y demostración.

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.
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.

ELEMENTOS Y RELACIONES DEL PROBLEMA
Son elementos aquellas características de la situación problemática imprescindibles para el enunciado del problema, es decir, sumados los elementos del problema se tiene como resultado la estructura de la descripción del problema.
Para poder abarcar la búsqueda de una solución a un problema, el investigador debe precisar la naturaleza y las dimensiones del mismo. Para ello, se requiere reunir datos empíricos que se puedan relacionar con el problema y posibles explicaciones del mismo.
Para que la lista obtenida de los elementos del problema adquiera verdadero significado, el investigador procurará hallar las relaciones que existen entre los hechos empíricos, por una parte, y entre las explicaciones racionales por la otra, y tratara de relacionar aquellos con estas.
Luego de incorporar nuevos datos a la lista de elementos, eliminar los que considere carentes de importancia, el investigador realizará un profundo examen de los supuestos en que se basan los hechos, explicaciones y relaciones halladas. 

HARDWARE

¿Qué es?

En computación, término inglés que hace referencia a cualquier componente físico tecnológico, que trabaja o interactúa de algún modo con la computadora. No sólo incluye elementos internos como el disco duro, CD-ROM, disquetera, sino que también hace referencia al cableado, circuitos, gabinete, etc. E incluso hace referencia a elementos externos como la impresora, el mouse, el teclado, el monitor y demás periféricos.

¿QUÉ ES UN SISTEMA OPERATIVO?

Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.
Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento.
Los Sistemas Operativos más utilizados son dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.
PROGRAMAS DE APLICACIÓN

En la informática, un programa de aplicación es un tipo de software diseñado para facilitar al usuario la concreción de un cierto trabajo. Esta característica lo diferencia de otros tipos de programas, como los sistemas operativos (que son los que hacen funcionar a la computadora), los lenguajes de programación (que permiten crear los programas informáticos en general) y las utilidades (que realizan tareas de mantenimiento o de uso general).

LENGUAJE DE PROGRAMACIÓN 

Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas.
Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.

Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.

Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.

Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leídos por una persona.

Los lenguajes de programación son independientes de las computadoras a utilizar.
Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos.


BIBLIOGRAFÍA

GENERACIONES DE LOS LENGUAJES DE PROGRAMACIÓN

Los lenguajes de programación se dividen en 2 categorías fundamentales:
bajo nivel: Son dependientes de la máquina, están diseñados para ejecutarse en una determinada computadora. A esta categoría pertenecen las 2 primeras generaciones. Alto Nivel: Son independientes de la máquina y se pueden utilizar en una variedad de computadoras. Pertenecen a esta categoría la tercera y la cuarta generación. Los lenguajes de más alto nivel no ofrecen necesariamente mayores capacidades de programación, pero si ofrecen una interacción programador/computadora más avanzada. Cuanto más alto es el nivel del lenguaje, más sencillo es comprenderlo y utilizarlo.
Cada generación de lenguajes es más fácil de usar y más parecida a un lenguaje natural que su predecesores. Los lenguajes posteriores a la cuarta generación se conocen como lenguajes de muy alto nivel. Son lenguajes de muy alto nivel los generadores de aplicaciones y los naturales.
En cada nuevo nivel se requieren menos instrucciones para indicar a la computadora que efectúe una tarea particular. Pero los lenguajes de alto nivel son sólo una ayuda para el programador. Un mayor nivel significa que son necesarios menos comandos, debido a que cada comando o mandato de alto nivel reemplaza muchas instrucciones de nivel inferior.


Generaciones   
La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones.
Primera generación: lenguaje maquina.
Segunda generación: se crearon los primeros lenguajes ensambladores.
Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…
Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización de partes del código para otros programas. Ej. Visual, Natural Adabes…
Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP

BIBLIOGRAFÍA
 
http://www.desarrolloweb.com/articulos/2358.php
http://www.mailxmail.com/curso-componentes-pc-s/generaciones-lenguajes-programacion 


ESTRUCTURAS BÁSICAS DE DIAGRAMAS DE FLUJO

Un problema se puede dividir en acciones elementales o instrucciones, usando un número limitado de estructuras de control (básicas) y sus combinaciones que pueden servir para resolver dicho problema.
Las Estructuras Básicas pueden ser:

Secuenciales: cuando una instrucción del programa sigue a otra.
Selección o decisión: acciones en las que la ejecución de alguna dependerá de que se cumplan una o varias condiciones. Repetición, Iteración: cuando un proceso se repite en tanto cierta condición sea establecida para finalizar ese proceso
.
ESTRUCTURAS BÁSICAS.
Tipos de estructuras de programación. Estructuras básicas y secuencial.
Estructura Secuencial.
Se caracteriza porque una acción se ejecuta detrás de otra. El flujo del programa coincide con el orden físico en el que se han ido poniendo las instrucciones. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, sumarización, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa:
Definición de variables (Declaración),inicialización de variables,.lectura de datos,cálculo, salida
  
Representación en Diagrama de Flujo para el ejemplo:

  
Tipos de estructuras de programación. Estructuras básicas y secuencial.





Tipos de estructuras selectivas. Estructura simple.

La especificación formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una descripción más complicada que una lista sencilla de instrucciones. Este es el caso cuando existen un número de posibles alternativas resultantes de la evaluación de una determinada condición.
Estas estructuras se identifican porque en la fase de solución del problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones deben realizarse o no.
Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if - then - else o en español si - entonces - sino) y en flujograma con una figura geométrica en forma de rombo.
Las estructuras selectivas o alternativas se clasifican en:
a) Simples
b) Dobles
c) Compuestas
d) Múltiples

ESTRUCTURAS SELECTIVAS SIMPLES.

Se identifican porque están compuestos únicamente de una condición. La estructura si - entonces evalúa la condición y en tal caso:
Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son varias).
Si la condición es falsa, entonces no se hace nada.

Español                      Inglés
Si <condición>            If <condición>
Entonces                    then
<acción Si>                <acción Si>
fin_si                          endif

 Estructura de selección doble.

Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes.
Representación pseudocodificada..

Español                                    Inglés
Si <condición> entonces             If <condición> then
<acción S1>                             <acción S1>
sino                                          else
<acción S2>                             <acción S2>
Fin_Si                                      End_if
Entonces, si una condición C es verdadera, se ejecuta la acción S1 y si es falsa, se ejecuta la acción S2.
 
Estructura de selección doble.


Estructuras selectivas compuestas.


En la solución de problemas encontramos numerosos casos en los que luego de tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra decisión. Dicho proceso puede repetirse numerosas veces. En aquellos problemas en donde un bloque condicional incluye otro bloque condicional se dice que un bloque está anidado dentro del otro.


Ejemplo
Dados los datos A, B y C que representan números enteros diferentes, construir un algoritmo para escribir estos números en forma descendente. Este es un ejemplo de los algoritmos conocidos como de Lógica Pura, ya que poseen muchas decisiones y muchas bifurcaciones.
Salida: A, B y C ordenados descendentemente.
Entradas: A, B y C.
La dinámica del problema es comparar dos números a la vez para conocer cuál es el mayor.
Estructuras selectivas compuestas.

Con frecuencia es necesario que existan más de dos elecciones posibles. Este problema se podría resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el número de alternativas es grande puede plantear serios problemas de escritura y de legibilidad.
Usando la estructura de decisión múltiple se evaluará una expresión que podrá tomar n valores distintos, 1, 2 , 3, ....,n y según que elija uno de estos valores en la condición, se realizará una de las n acciones o lo que es igual, el flujo del algoritmo seguirá sólo un determinado camino entre los n posibles.
Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la acción 1, si toma el valor 2 ejecutará la acción 2, si toma el valor N realizará la acción N.
Estructura selectiva múltiple.


Estructuras repetitivas e iterativas.

Son operaciones que se deben ejecutar un número repetido de veces. El conjunto de instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo, Bucle o Lazo.
Iteración
es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el bucle.
Fases de un Programa Cíclico :
1. Entrada de datos e instrucciones previas
2. Lazo o bucle
3. Instrucciones finales o resto del proceso
4. Salida de resultado

Ejemplo de bucle infinito:
Estructuras repetitivas e iterativas.

En el flujograma anterior, observa que la flecha que se regresa hacia arriba nos está indicando que hay que volver a evaluar la expresión. En ese caso como el bucle es infinito, no se tiene una condición para terminar y se estará haciendo siempre. En el siguiente ejemplo, ya se agregó una condición, la cual nos permitirá finalizar la ejecución del bucle en el caso en que la condición se cumpla.

Ejemplo de bucle finito:
 Estructuras repetitivas e iterativas.


Bucles Repetitivos:
A continuación, te muestro tres diseños de estructuras cíclicas: las independientes son cuando los bucles se realiza uno primero hasta que se cumple la condición y solo en ese caso se entra al bucle B.
En los ciclos anidados, al entrar a una estructura de repetición, dentro de ella se encuentra otra. La más interna se termina de realizar y se continúa con la externa hasta que la condición se cumple.
En los bucles cruzados, los cuales no son convenientes de utilizar, se tiene que iniciamos un bucle y no se ha terminado cuando empezamos otro, luego utilizamos estructuras goto (saltos) para pasar al bucle externo y se quedan entrelazados.
Esto puede ocasionar que el programa pierda el control de cuál proceso se está ejecutando y podamos obtener resultados erróneos. Veamos gráficamente el diseño de estas tres formas cíclicas:
Estructuras repetitivas e iterativas.
BIBLIOGRAFÍA
  


Diseñar un algoritmo que lea cuatro variables y calcule e imprima el producto, suma y media aritmética.


Este es la liga que para el podcast. http://blip.tv/file/4300840/


No hay comentarios:

Publicar un comentario en la entrada