lunes, 6 de julio de 2015

LÓGICA DE PROGRAMACION

Objetivos de la programación

En la preparación de un programa, el programador puede tener que escoger entre soluciones alternativas en muchos puntos. Cada elección debe hacerse para satisfacer los objetivos y restricciones de la tarea de programación particular. Aquí asumiremos como apropiados para toda tarea de programación los siguientes objetivos:
  • Exactitud
  • Claridad
  • Eficiencia
EXACTITUD
Un objetivo obvio en la escritura de cualquier programa de computador es que tiene que satisfacer su especificación exactamente. A menudo, sin embargo, a causa de la complejidad de la labor del programa, y de un entendimiento o cuidado inadecuados de parte del programador, un programa falla en satisfacer alguna parte de su especificación. Un programador tiene que ser en todo tiempo cuidadoso de la exactitud o pertinencia del programa para su propósito especificado.
Un factor clave en el logro de exactitud es la simplicidad. Escogiendo el algoritmo o técnica más simple disponible, es más probable que un programador vea si satisface o no los requerimientos de la especificación del programa, y es menos probable que la describa incorrectamente en su programa. La innecesaria complejidad no cumple propósito alguno en la programación de computadores.
Algunos programas son, por supuesto, inherentemente complejos. Para tales programas, el programador debe adoptar un tratamiento sistemático que controle y limite la complejidad de la que tiene que ocuparse en cada etapa. 
CLARIDAD
Un programa es necesariamente tan complejo como el algoritmo que describe. Sin embargo, es importante que la forma en que el algoritmo esté descrito, por el texto del programa, no sea mas complicada de lo que es necesario. La claridad del programa es una ayuda importante para el programador mismo en el diseño y limpieza del programa; y para otros que puedan tener que leer y alterar el programa en alguna etapa posterior.
La claridad del programa es lograda casi en la misma forma que para cualquier texto escrito, tal como un ensayo o un libro en los cuales se requiere:
a).- Una separación lógica del texto en partes comprensibles (capítulos, secciones, etc.) que reflejen la distinción entre los temas que describen, y su presentación en una secuencia lógica que refleje las relaciones entre ellas;
b).- Una selección cuidadosa de las características del lenguaje, usadas en cada parte para expresar su sentido propuesto tan precisamente como sea posible;
c).- Otra selección cuidadosa de las palabras usadas para denotar los objetos y conceptos involucrados;
d).- La inclusión de comentarios y preámbulos para clarificar el texto principal cuando sea necesario;
e).- Un aprovechamiento de los dispositivos para presentación de textos, tales como las líneas en blanco y la sangría, para enfatizar la relación entre partes componentes de textos.
Un programador podría ser tan diligente en el uso de éstas técnicas para lograr claridad como el autor de cualquier texto. En muchos casos, la utilidad de un programa es determinada tanto por la claridad de su texto como por las cualidades del algoritmo que describe.
EFICIENCIA
El costo de ejecutar un programa de computador, es medido normalmente en términos de :
a).- El tiempo tomado por el computador para llevar a cabo la secuencia de operaciones involucradas;
b).- La cantidad de memoria de computador usada en hacerlo.
En muchos ambientes (de máquina), el programa competirá con otros programas por el uso de esos recursos del computador, y es, por tanto, lógico minimizar los requerimientos del programa para cada uno.
El tiempo tomado para ejecutar el programa, es directamente proporcional al número de operaciones que el procesador tiene que realizar al hacerlo. El programador debe, por tanto, escoger un algoritmo que minimice las operaciones implicadas, y tener cuidado de evitar cualquier operación redundante al expresar el algoritmo como un programa de computador.
La memoria usada por el programa durante su ejecución, es determinada por la cantidad de datos que tienen que ser guardados, y por el número de instrucciones del procesador requeridas para definir el programa, ya que éstas también tienen que ser guardadas en la memoria. Para minimizar el almacenamiento usado por su programa, el programador debe, por tanto, considerar los datos manipulados y el número de operaciones especificadas por el programa.
Para algunos programas, o partes de programas, el uso eficiente del tiempo o del almacenamiento puede ser crítico; para otros puede serlo menos. El programador debe estar enterado de cualquiera de tales requerimientos de eficiencia cuando escriba su programa.


TIPOS DE SOFTWARE


Software de Sistema

Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:
  • Sistemas operativos
  • Herramientas de Corrección y Optimización
  • Controladores de dispositivos
  • Herramientas de diagnóstico
  • Servidores Utilidades
SISTEMAS OPERATIVOS
Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas entre las que destaca la administración de los dispositivos periféricos.
Se encarga de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema.
CONTROLADOR DE DISPOSITIVOS
Un controlador de dispositivo, llamado normalmente controlador (en inglés, device driver) es unprograma informático que permite al sistema operativo interactuar con un periférico, haciendo unaabstracción del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo. Se puede esquematizar como un manual de instruccionesque le indica cómo debe controlar y comunicarse con un dispositivo en particular. Por tanto, es una pieza esencial, sin la cual no se podría usar el hardware.
Herramientas de diagnóstico
Una herramienta de diagnóstico es un software que permite monitorear y en algunos casos controlar la funcionalidad del hardware, como: computadoras, servidores y periféricos, según el tipo y sus funciones. Estos dispositivos pueden ser, la memoria RAM, el procesador, los discos durosruteadores, tarjetas de red, entre muchos dispositivos más.
Servidores
Una aplicación informática o programa que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes. Algunos servicios habituales son los servicios de archivos, que permiten a los usuarios almacenar y acceder a los archivos de una computadora y los servicios de aplicaciones, que realizan tareas en beneficio directo del usuario final. Este es el significado original del término. Es posible que un ordenador cumpla simultáneamente las funciones de cliente y de servidor.
DE APLICACIONES
  • Aplicaciones para Control de sistemas y automatización industrial
  • Aplicaciones ofimáticas
  • Software educativo
  • Software empresarial
  • Bases de datos
  • Telecomunicaciones (p.ej. internet y toda su estructura lógica)
  • Videojuegos Software médico
  • Software de Cálculo Numérico y simbólico.
  • Software de Diseño Asistido (CAD)
  • Software de Control Numérico (CAM)
Software educativo
Se denomina software educativo al destinado a la enseñanza y el auto aprendizaje y además permite el desarrollo de ciertas habilidades cognitivas. Como software educativo tenemos desde programas orientados al aprendizaje hasta sistemas operativos completos destinados a la educación, como por ejemplo las distribuciones GNU/Linux orientadas a la enseñanza.
Software empresarial
Cualquier tipo de software que está orientado a ayudar a una empresa a mejorar su productividad o a medirla.
El término engloba una amplia variedad de aplicaciones informáticas que incluyen desde programas de contabilidad y de ofimática, hasta sistemas de planificación de recursos empresariales (ERP), pasando por programas de gestión de clientes (CRM),de recursos humanos, etc.
Base de datos
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.
Software de Programación o de Usuario Final
  • Editores de texto
  • Compiladores
  • Intérpretes
  • Enlazadores
  • Depuradores
Editores de texto
Es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor. Se usan cuando se deben crear o modificar archivos de texto como archivos de configuración, scripts o el código fuente de algún programa.
Compiladores
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar.
Enlazadores
Un enlazador (en inglés, linker) es un programa que toma los ficheros de código objeto generado en los primeros pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita aquellos recursos que no necesitay enlaza el código objeto con su(s) biblioteca(s) con lo que finalmenteproduce un fichero ejecutable o una biblioteca
Depurador
Un depurador (en inglés, debugger), es un programa que permite depurar o limpiar los errores de otro programa informático. El depurador permite detener el programa en:
  • Un punto determinado mediante un punto de ruptura.
  • Un punto determinado bajo ciertas condiciones mediante un punto de ruptura condicional.
  • Un momento determinado cuando se cumplan ciertas condiciones.
  • Un momento determinado a petición del usuario.
ALGORITMOS

DEFINICIÓN: Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema.
Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación.

Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador.
CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos:
  • Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.
  • Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.
  • Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.
  • Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.

CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes características:
  • 1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer.
    2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.
    3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.
    4. Puede tener cero o más elementos de entrada.
    5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.

PARTES DE UN ALGORITMO:
 Todo Algoritmo debe tener las siguientes partes:
· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.

TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:

· Diagramación libre (Diagramas de flujo).
· Diagramas Nassi-Shneiderman.
· Pseudocódigo.
· Lenguaje natural (español, inglés, etc.).
· Fórmulas matemáticas.
DIAGRAMA DE FLUJO
es un esquema grafico por el cual te basas para dar entendimiento a un proceso determinado con el fin de encontrar el resultado optimo... recuerda por "flujo" se entiende la secuencia que utilizas y lo representas con algunas figuras geometricas para su mejor comprension, como quien dice vas fluyendo como agua en tuberias para llegar a la meta.
DIFERENCIA ENTRE ALGORITMO Y DIAGRAMA DE FLUJO
  Por algoritmo se entiende "una lista de instrucciones donde se especifica una sucesión de operaciones necesaria para resolver cualquier problema de un tipo dado".
El algoritmo es de carácter general y puede aplicarse a cualquier operación matemática o a cualquier problema.
Los algoritmos, para llegar a ser tales, deben reunir ciertas características: que el procedimiento (pasos a seguir) debe estar estrictamente descripto, cada acción debe ser precisa y general, es decir, que pueda ser aplicable a todos los elementos de una misma clase.
Los diagramas de flujo, como su nombre lo indica, son gráficas que representan la dirección que sigue la información que contiene un algoritmo. Los datos se encierran en diferentes figuras, llamadas: figuras lógicas.
Existen cinco figuras lógicas únicas utilizadas en el diagrama de flujo: inicio, proceso, ciclo y fin.
EJEMPLO DE ALGORITMO

PROBLEMA: Cambiar la rueda pinchada de un automóvil teniendo un gato mecánico en buen estado, una rueda de reemplazo y una llave inglesa.
ALGORITMO:
Inicio
PASO 1.  Aflojar los tornillos de la rueda pinchada con la llave inglesa.
PASO 2.    Ubicar el gato mecánico en su sitio.
PASO 3.    Levantar el gato hasta que la rueda pinchada pueda girar libremente.
PASO 4.    Quitar los tornillos y la rueda pinchada.
PASO 5.    Poner rueda de repuesto y los tornillos.
PASO 6.    Bajar el gato hasta que se pueda liberar.
PASO 7.    Sacar el gato de su sitio.
PASO 8.  
  Apretar los tornillos con la llave inglesa.
Fin


miércoles, 20 de mayo de 2015

MECANISMO PERPETUO

QUE ES:
El movimiento perpetuo se refiere a aquel mecanismo que operaría de manera indefinida en el tiempo sin requerir de energía adicional tras iniciar su funcionamiento. Por lo mismo es que el concepto de aplica a máquinas que intentan hipotéticamente lograr estos efectos; un ejemplo extremadamente sencillo sería una rueda que no pare nunca de girar, lo que como ejemplo alguna vez pude ver en la televisión en un reportaje sobre inventores contemporáneos que han intentado lograr estos efectos (por supuesto que la rueda no era de lo más simple, sino que contaba con una serie de contrapesos y mecanismos buscando este movimiento sin fin o contínuo).

TIPOS:
Se dividen en dos categorías, según la ley de la termodinámica que violen:

Móvil perpetuo de primera especie

Toda máquina que funciona perpetuamente y produce trabajo, sin ninguna entrada externa de energía, y sujeta a ninguna perdida, pasando el tiempo la máquina seguirá funcionando sin detenerse.

Móvil perpetuo de segunda especie

Toda máquina que funciona periódicamente, la cual transforma el total de la energía, en otro tipo (mecánica, eléctrica, etc.), sin pérdida alguna en el proceso.1
Un ejemplo de este tipo de máquina, sería un móvil, el cual pudiese desplazarse con el simple impulso del viento.

lunes, 6 de abril de 2015

                                             QUES ES PAGINA WEB
como su nombre lo dise es una pagina que contiene informacion electronica contener texto, sonido, vídeo, programas, enlaces y muchas otras cosas, adaptada para la World Wide Web y que puede ser accedida mediante un navegador

TIPOS DE PAGINA WEB:


Por lo regular clasificamos de dos (2) formas las páginas de un sitio web o el sitio web en general, las cuales son:
  • Estáticas
  • Dinámicas
Páginas web estáticas:
Se le denomina páginas estáticas debido a que su contenido no cambia, lo cual quiere decir, que se crea con un contenido específico y este no se modifica, la extensión más común para este tipo de páginas es el .html
Páginas web dinámicas:
Se le denomina páginas dinámicas debido a que su contendido varía según la consulta del usuario al servidor, ya que la información a mostrar se encuentra almacenada en una base de datos. Hoy en día este tipo de páginas es de las más comunes, debido a las grandes ventajas en el ahorro de recursos y tiempo.
También es muy importante que conozcamos sus precios y el ¿por qué? de su valor, por eso te invitamos a consultar sus costos.

Tipos de páginas web según la tecnología empleada

Para clasificar los tipos de páginas web en esta categoría de una forma clara y concisa, lo aremos en tres (3) subcategorías:
  • HTML.
  • Flash.
  • Lenguaje de servidor.
Páginas en HTML
Son páginas estáticas las cuales se diseñan en lenguaje de marcado, también podemos considerar que este tipo de lenguaje o código es el más común y fácil de aprender. Como una gran ventaja que tenemos con este tipo de páginas web es su fácil implementación y diseño.
Páginas en Flash
Son páginas animadas y generalmente se emplean con diseños muy coloridos, este tipo de diseño no es de mucho agrado para los buscadores en especial el de Google ™ ya que como no es texto el robot (Googlebot o araña) que analiza las páginas no sabrá de qué se trata la temática de la página web.
Páginas en lenguaje de servidor
Son páginas dinámicas y con una gran capacidad, y como mencionamos anteriormente este tipo de páginas es de las más comunes. Uno de los lenguajes más usados es el PHP, y también es bueno mencionar la fuerza que tiene la unión de PHP y Ajax.
También podríamos aplicar una categoría a los tipos de páginas web según su objeto o campo de aplicación, pero esto ya sería como una división de lo anterior visto.
QUE ES HTML:
Es un estándar que sirve de referencia para la elaboración de páginas web en sus diferentes versiones, define una estructura básica y un código (denominado código HTML) para la definición de contenido de una página web, como texto, imágenes, videos, entre otros. Es un estándar a cargo de la W3C, organización dedicada a la estandarización de casi todas las tecnologías ligadas a la web, sobre todo en lo referente a su escritura e interpretación.

COMO ES LA ESTRUCTURA DEL LENGUAJE HTML:
En esta sección conoceremos los cuatro elementos básicos que "marcan" la estructura de un documento HTML. Pero antes de nada veamos el esqueleto de un documento HTML vacío:
<!DOCTYPE> <html> <head></head><body></body></html>La primera línea está reservada al DOCTYPE (tipo de documento), después viene el documento HTML, que está dividido en dos secciones: head (cabecera) y body (cuerpo).

QUE SON ETIQUETAS EN EL LENGUAJE HTML: