lunes, 20 de abril de 2015

Ju
Taller de exposiciones
1.

La lógica proposicional o lógica de orden cero es un sistema formal cuyos elementos más simples representan proposiciones, y cuyas constantes lógicas, llamadas conectivas, representan operaciones sobre proposiciones, capaces de formar otras proposiciones de mayor complejidad.1


La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional,programación con restricciones, programas DSL (de dominio específico) e híbridos. 


2.

algoritmo en DFD




algoritmo en pseint





3.

eficiencia en un algoritmo

En Ciencias de la Computación, el término eficiencia algorítmica es usado para describir aquellas propiedades de losalgoritmos que están relacionadas con la cantidad de recursos utilizados por el algoritmo. Un algoritmo debe ser analizado para determinar el uso de los recursos que realiza. 

4.
  Algoritmos.
Definición:


 Es una fórmula para resolver un problema.
Un programa de computadoras, es un algoritmo que le dice a la computadora los pasos específicos para llevar a cabo una tarea.
Es un conjunto de acciones o secuencias de operaciones que ejecutadas en un determinado orden resuelven un problema.
Un algoritmo es un conjunto ordenado y finito de operaciones que se utiliza para la solución de un problema. Se trata de instrucciones o reglas definidas que, a través de pasos sucesivos, que permiten realizar una actividad.
Cabe destacar que los algoritmos son muy importantes en la informática ya que permiten representar datos como secuencias de bits.    
Ejemplos: El ejemplo mas popular es una receta de comida. La analogía es clara.
Otros pueden ser los siguientes entre muchos.
Cambiar una llanta: Juan recibe la siguiente información: “su automóvil tiene una llanta pinchada”.
Juan se dirige al parqueadero con el objeto de cambiar la llanta pinchada. Entonces,
debe revisar llantas (subproceso)
si están bien, devolverse
sino asegurar vehículo
colocar gato y aflojar pernos
reemplazar llanta
asegurar llanta
guardar herramienta.


5.

VERIFICACIÓN POR SEGUIMIENTO CON TABLAS DE VARIABLES
El uso de las tablas de variables para la verificación del algoritmo supone un proceso similar al del seguimiento escrito, pero centrado sobre las variables y con una presentación y estructuración más adecuada. Los cambios en el valor de las variables, el número de iteración en los bucles, etc. se reflejan en una o varias tablas consiguiéndose una presentación más ordenada y legible.
Programar una computadora consiste en escribir las instrucciones para que la computadora realice una tarea; se suele decir que la computadora resuelve problemas, pero lo correcto es decir que la computadora ejecuta las instrucciones que resuelven el problema, en este sentido la tarea consiste en ejecutar las instrucciones. Al conjunto de instrucciones específicas para que la computadora realice la tarea se le llama programa.
5.
Dato entrada
Salario de los trabajadores
Dato salida
 suma de los salarios
6.
Entrada
Tiempo de cada cimpetidor
Tiempo por competidores
Salida
Sumar todos los tiempos y dividir x el numero de competidores





viernes, 17 de abril de 2015

grupo 3 representacon de algoritmos

REPRESENTACION DE UN ALGORITMO 

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


Los algoritmos pueden ser creados de dos formas:
1)Seudocódigo.- Es un conjunto pequeño y claro de instrucciones; en secuencia, que permite llevar a cabo una tarea.
2)Diagrama de flujo.- Es la representación de la secuencia, a través de símbolos, de la tarea que se va a realizar.
Un ejemplo de algoritmo es el que realizamos para cambiar una llanta a un automóvil:
Inicio
Aflojar tornillos de las llantas
levantar el coche con el gato
Sacar los tornillos de las llantas
Quitar la llanta
Poner la llanta de repuesto
Poner los tornillos
Bajar el gato
Apretar los tornillos
fin

1) ALGORITMO EXPRESADO EN PSEUDOCODIGO

Definición
Mucho se habla del pseudocódigo en las carreras de Analista de Sistemas y Programación. Pero no existe mucha bibliografía al respecto.
Comencemos aclarando que no es una forma de programación. Se trata de una herramienta que los analistas de sistemas utilizan para comunicar a los programadores la estructura del programa que van a realizar, de forma de tener una idea bien clara de lo que se necesita programar.
Digamos que el pseudo código es una forma de diagramar un algoritmo para resolver un determinado problema, sin atenerse a ningún lenguaje de programación en especial.
Un algoritmo es un conjunto de procedimientos que permiten resolver un problema.
En vez de escribir el programa directamente en un lenguaje de programación determinado (C, Basic, etc.), crearemos un borrador entendible para todos, para luego de tener bien en claro lo que se debe hacer, pasar a la programación propiamente dicha.

El pseudo código se refiere a crear un código para orientar a los programadores, pero sin la sintaxis ni la estructura propia de ningún lenguaje.

Utilización en la práctica
En el trabajo de un analista de sistemas, una de las partes más trabajosas es la de determinar que es lo que necesitan de un sistema los usuarios finales. Se dedican muchas horas a hacer un relevamiento de los datos que serán necesarios, los tipos de procesamientos, las salidas, etc. Y debe existir una realimentación entre el diseño y el usuario, para garantizar que el sistema cumpla con los requisitos del usuario.

Supongamos que tenemos un sistema para una empresa que utiliza una interfaz gráfica en Visual Basic, algunas aplicaciones específicas en C, y páginas PHP para trabajo vía Internet. Seguramente que crear un diagrama específico para cada lenguaje sería una tarea tediosa.
Gracias a esta herramienta, podemos reunir a todos los programadores, dar las pautas de trabajo, y mediante el pseudo código, cada programador sabrá lo que hace el sistema, y podrá escribir el código correspondiente.
Incluso dos programadores que dominen el mismo lenguaje pueden tener metodologías de trabajo distintas. Un problema puede ser resuelto de muchas maneras, cada una más o menos eficiente que la otra, pero todas cumplen con el objetivo.

El pseudo código elimina estas diferencias, dando libertad a los programadores para que puedan ajustarse a su metodología de trabajo.
Generalmente, este código se escribe con la participación de todos los programadores. Esto representa la ventaja de que muchas opiniones ayudan a elegir la mejor entre todas, logrando una solución efectiva y eficaz al problema planteado.

2) EXPRESAR UN ALGORITMO CON UN DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas, es decir, es la representación grafica de las distintas operaciones que se tienen que realizar para resolver un problema, con indicación expresa el orden lógico en que deben realizarse.
Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación. Para hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente.
El diagrama de flujo representa la forma más tradicional y duradera para especificar los detalles algorítmicos de un proceso. Se utiliza principalmente en programación, economía y procesos industriales.
Para realizar los diagramas de flujo utilizamos distintas figuras geométricas  en forma de caja de texto, que sirven para distinguir el tipo de tareas que se ejecutan, las flechas indican el flujo del proceso y se valen de determinada simbología específica para facilitar su comprensión
Por otra parte, un algoritmo consta de tres partes, secciones ó módulos principales, en la siguiente figura podemos observar las secciones que constituyen un algoritmo.


El módulo 1.- representa la operación o acción que permite el ingreso de los datos del programa.
El módulo 2.- representa la operación o conjunto de operaciones secuenciales, cuyo objetivo es obtener la solución al problema.
El módulo 3.- representa una operación o conjunto de operaciones que permiten comunicar al exterior el o los resultados alcanzados.
DIAGRAMA DE FLUJOS DE DATOS
Un diagrama de flujo de datos (DFD sus siglas en español e inglés) es una representación gráfica del flujo de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó"Resultado de imagen para que es dfd

ESTRUCTURADO
En programación, un lenguaje estructurado es aquel que soporta la división en bloques (procedimientos y funciones) que pueden o no comunicarse entre sí.

Además la programación se controla con secuencia, selección e iteración. Permite reutilizar código programado y otorga una mejor comprensión de la programación.

Es contrario al paradigma inestructurado, de poco uso, que no tiene ninguna estructura, es simplemente un “bloque”, como por ejemplo, los archivos batch (.bat).





https://www.youtube.com/watch?v=SDv2vOIFIj8

viernes, 10 de abril de 2015

LOICA PREPOSICONAL

VIERNES


SOLUCION

1. PROPOSICION
La lógica proposicional o lógica de orden cero es un sistema formal cuyos elementos más simples representan proposiciones, y cuyas constantes lógicas, llamadas conectivas, representan operaciones sobre proposiciones, capaces de formar otras proposiciones de mayor complejidad.
La lógica proposicional trata con sistemas  lógicos que carecen de cuantificadores, o variables interpretables como entidades. En lógica proposicional si bien no hay signos para variables de tipo entidad, sí existen signos para variables proposicionales (es decir, que pueden ser interpretadas como proposiciones con un valor de verdad de definido), de ahí el nombre proposicional.

2. OPERADORES LÓGICOS

 Igual
¿10=5? NO 
Mayor que
 ¿10>5? SI 
 Menor que
¿10<5? NO 
>= 
Mayor o igual que
¿10>=5? SI 
<= 
 Menor o igual que
 ¿10<=5? NO 
<> 
 Distinto
¿10<>5? SI 

3. CONECTORES LOGICOS
 es un símbolo o palabra que se utiliza para conectar dos fórmulas bien formadas o sentencias (atómicas o moleculares), de modo que el valor de verdad de la fórmula compuesta depende del valor de verdad de las fórmulas componentes.
Los conectivos lógicos más comunes son los conectivos binarios (también llamados conectivos diádicos) que unen dos frases, que pueden ser consideradas los operandos de la función. También es común considerar a la negación como un conectivo monádico.
4. TABLAS DE VERDAD
Existen conectores u operadores lógicas que permiten formar proposiciones compuestas (formadas por varias proposiciones). Los operadores o conectores básicos son:


NEGACIÓN
Palabras conectivas: no, no es cierto que, no es verdad que, nunca, carece de, sin, etc.
Prefijos negativos: a, des, in, i.
Condición: lo V se transforma en F (y al revés) P -p

CONJUNCIÓN: .
Palabras conectivas: y, aunque, pero, mas, también, sin embargo, además, etc.
Condición: es V cuando ambas son V
Ejemplo:
Sea el siguiente enunciado "el auto enciende cuando tiene gasolina en el tanque y tiene corriente en la batería"
Sean:
p= tiene gasolina el tanque
q = tiene corriente la batería
r = el auto enciende = p ^ q
La conclusión resultante es que para que el auto encienda se debe tener gasolina en el tanque y corriente en la batería, sino se tiene una de estas dos condiciones el auto no arrancará.

DISYUNCIÓN INCLUSIVA
Una, otra o ambas a la vez. (y/o)
Palabras conectivas: o
Condición: es F cuando las dos son F.

Ejemplo:
Sea el siguiente enunciado "Una persona puede entrar al cine si compra boleto u obtiene un pase"
Sean:
p= compra boleto
q = obtiene un pase
r = una persona entra al cine = p v q
La conclusión resultante es obvia, puesto que para entrar al cine es necesario tener por lo menos una de las dos condiciones: comprar un boleto o tener un pase, si se tiene ambas también se puede entrar, si no tengo ninguna de las dos alternativas entonces no se puede entrar al cine.

DISYUNCIÓN EXCLUSIVA
O una o la otra (NUNCA ambas juntas)
Palabras conectivas:
O ......... o .....
O bien .... o bien
.... a menos que ....
.... salvo que ......
Condición: es V cuando uno es V y el otro es F.



LA CONDICIONAL
Palabras conectivas: Si ..p.. entonces ..q.. Si ..p.. , ..q.. Cuando .......p............. , ......q.. Siempre ......p............. , ....q.. Es condición suficiente..p..para que..q.. .........q........ sólo si ......p....... Es condición necesaria...q..para que..p..
Condición: es falsa sólo si el antecedente (p) es V y el consecuente (q) es F.

Ejemplo:
Si se tiene lo proposición "Si un cuerpo se calienta, entonces se dilata", se observa que estamos diciendo es que la primera proposición "si el cuerpo se calienta" implica a la segunda proposición " entonces se dilata", pero no se afirma que el antecedente es verdadero, ni el consecuente es verdadero, puede ser que el cuerpo no se calentó y el cuerpo se dilato por causa de otros factores ajenos a la temperatura, un golpe

LA BICONDICIONAL
Palabras conectivas: si y sólo si; cuando y sólo cuando; es equivalente a; es condición suficiente y necesaria para; etc.
Condición: son verdaderas si ambas proposiciones tienen el mismo "valor de verdad".


NEGACION CONJUNTA
Simbolizaciones equivalentes:
Palabras conectivas:
Ni.... ni.....
No.... ni.....
Condición: es V si sólo ambas proposiciones son F.
NEGACION CONJUNTA
Simbolizaciones equivalentes:
Palabras conectivas:
O no............... o no......
Es incompatible.... con.......
Condición: es F si las proposiciones son ambas V


DE TRES



DE UNO

V = F

F = V

lunes, 6 de abril de 2015

JERARQUIA DE INFORMACIÓN
LUNES :SD







Datos :
  -  VARIABLE: una variable es un espacio de memoria reservado para almacenar un valor que corresponde a un tipo de dato soportado por el lenguaje de programación
CONSTANTE: una constante es un valor que no puede ser alterado/modificado durante la ejecución de un programa, únicamente puede ser leído.


Estructura de Datos Estáticas:
Son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la ejecución del programa.
Estas estructuras están implementadas en casi todos los lenguajes.

Estructura de Datos Dinámicas:
No tienen las limitaciones o restricciones en el tamaño de memoria ocupada que son propias de las estructuras estáticas.
Mediante el uso de un tipo de datos especifico, denominado puntero, es posible construir estructuras de datos dinámicas que no son soportadas por la mayoría de los lenguajes, pero que en aquellos que si tienen estas características ofrecen soluciones eficaces y efectivas en la solución de problemas complejos.
Archivo de información
Un archivo o fichero informático es un conjunto de bits que son almacenados en un dispositivo. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene. A los archivos informáticos se les llama así porque son los equivalentes digitales de los archivos escritos en libros, tarjetas, libretas, papel  microfichas del entorno de oficina tradicional.
Base de datos
Una base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite. Una base de datos es un sistema de archivos electrónico.
Bases de datos inteligentes

Es una clase de inteligencia artificial diseña para sorprender