sábado, 19 de septiembre de 2009

calculadora en visual estudio



public Class Form1
Dim n1, n2 As Double
Dim opera As Double
Dim resp As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = TextBox1.Text + Str(1)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = TextBox1.Text + Str(2)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Text = TextBox1.Text + Str(3)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
TextBox1.Text = TextBox1.Text + Str(4)
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
TextBox1.Text = TextBox1.Text + Str(5)
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
TextBox1.Text = TextBox1.Text + Str(6)
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
TextBox1.Text = TextBox1.Text + Str(7)
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
TextBox1.Text = TextBox1.Text + Str(8)
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
TextBox1.Text = TextBox1.Text + Str(9)
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
TextBox1.Text = TextBox1.Text + Str(0)
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
n1 = Val(TextBox1.Text)
opera = 3
TextBox1.Text = " "
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
n1 = Val(TextBox1.Text)
opera = 4
TextBox1.Text = " "
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
n1 = Val(TextBox1.Text)
opera = 1
TextBox1.Text = " "
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
n1 = Val(TextBox1.Text)
opera = 2
TextBox1.Text = " "
End Sub
Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
Dim raiz As Double
resp = 0
n1 = Val(TextBox1.Text)
raiz = Math.Sqrt(n1)
TextBox1.Text = raiz
End Sub
Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
n1 = Val(TextBox1.Text)
TextBox1.Text = 1 / n1
End Sub
Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
n1 = Val(TextBox1.Text)
TextBox1.Text = n1 ^ 2
End Sub
Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
n1 = Val(TextBox1.Text)
TextBox1.Text = n1 ^ 3
End Sub
Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
n1 = Val(TextBox1.Text)
opera = 6
TextBox1.Text = " "
End Sub
Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
n1 = Val(TextBox1.Text)
TextBox1.Text = 0 - n1
End Sub


Private Sub Button25_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim seno, den As Double
n1 = Val(TextBox1.Text)
den = 180 / n1
seno = Math.Sin(Math.PI / den)
TextBox1.Text = seno
End Sub
Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim pi As Double
n1 = Val(TextBox1.Text)
pi = Math.PI
TextBox1.Text = pi
End Sub
Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim tan, den, dec As Double
n1 = Val(TextBox1.Text)
den = 180 / n1
dec = Math.PI
tan = Math.Tan(dec / den)
TextBox1.Text = tan
End Sub
Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim cos, den, dec As Double
n1 = Val(TextBox1.Text)
den = 180 / n1
dec = Math.PI
cos = Math.Cos(dec / den)
TextBox1.Text = cos
End Sub
Private Sub Button23_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click
resp = 0
n2 = Val(TextBox1.Text)
If (opera = 1) Then
resp = n1 * n2
TextBox1.Text = resp
End If
If (opera = 2) Then
resp = n1 / n2
TextBox1.Text = resp
End If
If (opera = 4) Then
resp = n1 - n2
TextBox1.Text = resp
End If
If (opera = 3) Then
resp = n1 + n2
TextBox1.Text = resp
End If
If (opera = 6) Then
resp = n1 ^ n2
TextBox1.Text = resp
End If
End Sub
Private Sub Button24_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click
TextBox1.Text = (" ")
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
TextBox1.Text = TextBox1.Text & (".")
End Sub
End Class





miércoles, 19 de agosto de 2009

guia-- poo

Cuestionario 1 Conceptos básicos del modelo orientado a objetos.


1-Como se reconocen los objetos y clases en el mundo real y cual es la interacción que existe entre ellos.

2-Define los siguientes conceptos: abstracción y encapsulamiento y de un ejemplo de su aplicación en el mundo real.


3-Defina que significa POO y complejidad del software y diga en que casos se aplica cada una de estas.


4-Defina que es el ciclo de vida del software y como se lleva a cabo, de un ejemplo de su aplicación.

5-Dentro de un problema que se desea resolver por computadora, que se entiende por “especificaciones de requerimientos”.

6-Explique ampliamente en que consiste el Análisis Orientado a Objetos y de un ejemplo de su aplicación.

7-Explique ampliamente en que consiste el Diseño Orientado a Objetos y de un ejemplo de su aplicación.


8-Explique ampliamente en que consiste la Programación Orientada a Objetos, conceptos y mencione 10 características de esta.


9-Enliste cuales son los elementos primordiales en el modelo de objetos.

10-Defina los siguientes conceptos y de un ejemplo de la aplicación de cada uno de ellos: Abstracción, Encapsulamiento, Modularidad, Jerarquía y herencia, Polimorfismo.

11-Explique ampliamente cual ha sido el desarrollo histórico de los paradigmas en el desarrollo del software.


12-Explique ampliamente cuales son los Beneficios del modelo de objetos y de la POO sobre otros paradigmas.




Solución

1- Se reconocen aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Es que para hacer una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos.
La programación orientada a objetos es una de las formas más populares de programar y viene teniendo gran acogida en el desarrollo de proyectos de software desde los últimos años.

Todo objeto del mundo real tiene 2 componentes: características y comportamiento.Por ejemplo, los automóviles tienen características (marca, modelo, color, velocidad máxima, etc.) y comportamiento (frenar, acelerar, retroceder, llenar combustible, cambiar llantas, etc.).

Las Clases

En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo, nuestro teléfono celular es sólo uno de los miles que hay en el mundo. Si hablamos en términos de la programación orientada a objetos, podemos decir que nuestro
objeto celular es una instancia de una clase conocida como "celular". Los celulares tienen características (marca, modelo, sistema operativo, pantalla, teclado, etc.) y comportamientos (hacer y recibir llamadas, enviar mensajes multimedia, transmisión de datos, etc.

Entonces Una clase representa la esencia de un grupo de objetos por ejemplo: lápiz, borrador, sacapuntas etc. son objetos que pertenecen a una misma clase porque son del mismo tipo.

2- abstracción: un principio por el cual se aísla toda aquella información que no resulta relevante a un determinado nivel de conocimiento.
La abstracción no es única: Un coche puede ser...Una cosa con ruedas, motor, volante y pedales (conductor)Algo capaz de transportar personas (taxista)

Encapsulamiento: El encapsulamiento de variables y métodos en un componente de
software ordenado es, todavía, una simple idea poderosa que provee dos principales beneficios a los desarrolladores de software: El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto en una sola entidad. En los lenguajes estructurados esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y el ocultamiento que veremos a continuación. La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque lo que nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace.
La encapsulación da lugar a que las clases se dividan en dos partes:
Interface: captura la visión externa de una clase, abarcando la abstracción del comportamiento común a los ejemplos de esa clase.
Implementación: comprende la representación de la abstracción, así como los mecanismos que conducen al comportamiento deseado.


3 - Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita ver este tipo de programación.
La complejidad del software se desarrolla mediante las personas que son hábiles para lo cual necesitan recopilar información necesaria es decir dominar la problemática del sistema para lo cual se ven enfocados al tratamiento del problema y después a gestionar un proceso mediante el cual desarrollaran el software y así atraves de eso podrán llevarlo a la práctica hasta que atreves del usuario pueda tener la flexibilidad de probarlo, para lo cual el software y la poo tienen varias aplicaciones en la programación formando grandes estructuras de ellas
4- El ciclo de vida del software en el Proceso Unificado
Las fases del ciclo de vida del software son: concepción, elaboración, construcción y transición. La concepción es definir el alcance del proyecto y definir el caso de uso. La elaboración es proyectar un plan, definir las características y cimentar la arquitectura. La construcción es crear el producto y la transición es transferir el producto a sus usuarios [Booch 1998].
Un ingeniero de software necesita de herramientas, entre ellas las herramientas de Rational son las más avanzadas, pero son muy costosas. También puede utilizar las herramientas de oficina como un editor de textos, un modelador de datos, etc., muchas de ellas son de código abierto y aún están de desarrollo. Utiliza las que más te sean de utilidad.
5- La parte más dura en la construcción de un sistema software es decidir cómo construirlo…Ninguna parte del trabajo mutila el resultado del sistema si está hecho mal. Ninguna parte es más dificultosa para rectificarlo después”
La ingeniería de requisitos facilita el mecanismo apropiado para comprender lo que quiere el cliente, analizando necesidades, confirmando su viabilidad, negociando una solución razonable, especificando la solución sin ambigüedad, validando la especificación y gestionando los requisitos para que se transformen en un sistema operacional.
Los requerimientos para un sistema de software determinan lo que hará el sistema y definen las restricciones de su operación e implementación.
El proceso de ingeniería de requisitos puede ser descrito en 5 pasos distintos: identificación de requisitos, Análisis de requisitos y negociación, Especificación de requisitos, Novelizado del sistema, Validación y gestión de requisitos
6- Se considera como un análisis de actividades y consiste en la solución de negocios para el usuario y se expresa con los casos de uso. El diseño lógico es la solución del equipo de proyecto del negocio y consiste de las siguientes tareas: Identificar los usuarios y sus roles Obtener datos de los usuarios Evaluar la información Documentar los escenarios de uso Validar con los usuarios Validar contra la arquitectura de la empresa
7- Elaborar una especificación completa y validada de la arquitectura global hardware-software, de la estructura de control y de la estructura de datos del producto, así como un esquema de los manuales de usuarios y planes de test; de las interfaces de relación, dimensionamiento y algoritmos claves de cada componente de programa.
8- La Programación Orientada a Objetos (POO) es una forma de enfocar la tarea de programación. Los enfoques de la programación han cambiado drásticamente desde la invención de las computadoras, la creciente complejidad de los programas, antes se realizaban mediante una consola las instrucciones máquinas en binario. Esto funcionaba porque los programas sólo tenían unos pocos cientos de instrucciones. Cuando crecieron los programas, se invento el lenguaje ensamblador para que el programador pudiera manejar programas más largos y complejos usando una representación simbólica de las instrucciones máquina.
• Herencia múltiple• Sobrecarga de operadores y funciones• Derivación• Funciones virtuales• Plantillas• Gestión de excepciones Estado interno:• Principio de ocultación:• Representación de un objeto
• Encapsulamiento
9- Abstracción *Encapsulamiento *Modularidad *Jerarquía y Herencia *Polimorfismo
10- Abstracción: Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.
Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
Modularidad: Es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. La modularización consiste en dividir un programa en módulos que se puedan compilar por separado, pero que tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la Modularidad de diversas formas. La Modularidad es la propiedad de un sistema que permite su descomposición en un conjunto de módulos cohesivos y débilmente acoplados. Por supuesto no todos los módulos son iguales: tomar un programa monolítico y separarlo de forma aleatoria en archivos no es óptimo. Se debe tener en cuenta los conceptos asociados de dependencia, acoplamiento, cohesión, interfaz, encapsulación y abstracción. Una vez identificado lo que es un buen módulo, se puede contemplar la reutilización de un buen módulo como componente.
Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que reimplementar su comportamiento. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple; esta característica no está soportada por algunos lenguajes (como Java).
Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
11- En Ingeniería de software el desarrollo en cascada es el enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de forma tal que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior. Un ejemplo de una metodología de Programación ,Diseño , Análisis de requisitos ,desarrollo en cascada es: Mantenimiento De esta forma, cualquier error de diseño, Implantación ,Prueba detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costes del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto. Si bien ha sido ampliamente criticado desde el ámbito académico y la industria, sigue siendo el paradigma más seguido al día de hoy Para cada actividad habrá cuatro tareas. Imagen: Modelo Espiral.JPG Determinar o fijar objetivos Fijar también los productos definidos a obtener: requerimientos, especificación, manual de usuario. Fijar las restricciones. Identificación de riesgos del proyecto y estrategias alternativas para evitarlos. Hay una cosa que solo se hace una vez: Planificación inicial o previa.
Análisis del riesgo Se estudian todos los riesgos potenciales y se seleccionan una o varias alternativas propuestas para reducir o eliminar los riesgos. Desarrollar, verificar y validar (probar) Tareas de la actividad propia y se prueba. Planificar Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos con las fases siguientes y planificamos la próxima actividad. Ventajas El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos. Inconvenientes Genera mucho trabajo adicional. Exige una cierta habilidad en los analistas (es bastante difícil).
12- En resumen, la programación orientada a objetos beneficia a los desarrolladores debido a que: Los programas son fáciles de diseñar debido a que los objetos reflejan elementos del mundo real.
Las aplicaciones son más sencillas para los usuarios debido a que los datos innecesarios están ocultos.
Los objetos son unidades auto contenida.
La productividad se incrementa debido a que puede reutilizar el código.
Los sistemas son fáciles de mantener y se adaptan a las cambiantes necesidades de negocios.
Es más fácil crear nuevos tipos de objetos a partir de los ya existentes.
Simplifica los datos complejos.
Reduce la complejidad de la transacción.
Confiabilidad.
Robustez.
Capacidad de ampliación.

miércoles, 15 de julio de 2009

paradicmas de programcion

Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro.

PROGRAMACION IMPERACTIVA

La programación imperativa, en contraposición a la programación declarativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.
La implementación de
hardware de la mayoría de computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, y las sentencias son instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador).
Los lenguajes imperativos de alto nivel usan
variables y sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas y las listas de revisión de procesos, a pesar de no ser programas de computadora, son también conceptos familiares similares en estilo a la programación imperativa; cada paso es una instrucción, y el mundo físico guarda el estado (Zoom).
Los primeros lenguajes imperativos fueron los lenguajes de máquina de los computadores originales. En estos lenguajes, las instrucciones fueron muy simples, lo cual hizo la implementación de hardware fácil, pero obstruyendo la creación de programas complejos.
Fortran, cuyo desarrollo fue iniciado en 1954 por John Backus en IBM, fue el primer gran lenguaje de programación en superar los obstáculos presentados por el código de máquina en la creación de programas complejos.

PROGRAMACION FUNDAMENTAL

El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitando el concepto de estado del cómputo. La secuencia de computaciones llevadas a cabo por el programa se regiría única y exclusivamente por la reescritura de definiciones más amplias a otras cada vez más concretas y definidas, usando lo que se denominan "definiciones dirigidas".

Características
Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje imperativo, sino como funciones puramente matemáticas, en las que se verifican ciertas propiedades como la
transparencia referencial (el significado de una expresión depende únicamente del significado de sus subexpresiones), y por tanto, la carencia total de efectos laterales.
Otras características propias de estos lenguajes son la no existencia de asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteración (lo que obliga en la práctica a que todas las repeticiones de instrucciones se lleven a cabo por medio de
funciones recursivas).
Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos. La diferencia entre ambos estriba en que los lenguajes funcionales híbridos son menos dogmáticos que los puros, al admitir conceptos tomados de los
lenguajes imperativos, como las secuencias de instrucciones o la asignación de variables. En contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva, conservando a la vez su transparencia referencial, algo que no se cumple siempre con un lenguaje funcional híbrido.

LENGUAJES FUNCIONALES

Entre los lenguajes funcionales puros, cabe destacar a Haskell y Miranda. Los lenguajes funcionales híbridos más conocidos son Scala, Lisp, Scheme, Ocaml, SAP y Standard ML (estos dos últimos, descendientes del lenguaje ML). Erlang es otro lenguaje funcional de programación concurrente. R también es un lenguaje funcional dedicado a la estadística.[1] Recientemente Microsoft Research está trabajando en el lenguaje F# (Functional#).
Entre otros lenguajes que se podrían utilizar para programación funcional se podrían incluir a
Perl, pues, aunque es un lenguaje de propósito muy general, se pueden realizar programas
usando exclusivamente funciones definidas por el usuario. Así como Python, como lenguaje que incorpora el paradigma funcional.
Programación lógica
De Wikipedia, la enciclopedia libre
Saltar a
navegación, búsqueda
La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación; no debe confundirse con la disciplina de la lógica computacional.
La programación lógica comprende dos
paradigmas de programación: la programación declarativa y la programación funcional. La programación declarativa gira en torno al concepto de predicado, o relación entre elementos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.

Motivación
Históricamente, los
ordenadores se han programado utilizando lenguajes muy cercanos a las peculiaridades de la propia máquina: operaciones aritméticas simples, instrucciones de acceso a memoria, etc. Un programa escrito de esta manera puede ocultar totalmente su propósito a la comprensión de un ser humano, incluso uno entrenado. Hoy día, estos lenguajes pertenecientes al paradigma de la Programación imperativa han evolucionado de manera que ya no son tan crípticos.
En cambio, la
lógica matemática es la manera más sencilla, para el intelecto humano, de expresar formalmente problemas complejos y de resolverlos mediante la aplicación de reglas, hipótesis y teoremas. De ahí que el concepto de "programación lógica" resulte atractivo en diversos campos donde la programación tradicional es un fracaso.

CAMPOS DE APLCACION

La programación lógica encuentra su hábitat natural en aplicaciones de inteligencia artificial o relacionadas:
Sistemas expertos, donde un sistema de información imita las recomendaciones de un experto sobre algún dominio de conocimiento.
Demostración automática de teoremas, donde un programa genera nuevos teoremas sobre una teoría existente.
Reconocimiento de
lenguaje natural, donde un programa es capaz de comprender (con limitaciones) la información contenida en una expresión lingüística humana.
Etc.
La programación lógica también se utiliza en aplicaciones más "mundanas" pero de manera muy limitada, ya que la programación tradicional es más adecuada a tareas de propósito general.

Fundamentos
La mayoría de los lenguajes de programación lógica se basan en la
teoría lógica de primer orden, aunque también incorporan algunos comportamientos de orden superior. En este sentido, destacan los lenguajes funcionales, ya que se basan en el cálculo lambda, que es la única teoría lógica de orden superior que es demostradamente computable (hasta el momento).

Programación orientada a objetos
De Wikipedia, la enciclopedia libre
Saltar a
navegación, búsqueda
La Programación Orientada a Objetos (POO u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.


Es un paradigma que utiliza objetos como elementos fundamentales en la construcción de la solución. Surge en los años 70. Un objeto es una abstracción de algún hecho o cosa del mundo real que tiene atributos que representan sus características o propiedades y métodos que representan su comportamiento o acciones que realizan. Todas las propiedades y métodos comunes a los objetos se encapsulan o se agrupan en clases. ¨Una clase es una plantilla o un prototipo para crear objetos, por eso se dice que los objetos son instancias de clases. Lenguaje de programación: C++, Java, C#, VB.Net, etc

miércoles, 17 de junio de 2009

C++



1





. Dada una cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidadcambiaría es un dato-desconocido.





2




. La presión, el volumen y la temperatura de una masa de aire se relacionan por la formula: masa - (presión * volumen}/(0.37 * (temperatura + 460))


3




Calcular el numero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la formula es:num. pulsaciones = (220 - edad)/10


4




Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.


5
En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la sig. tabla:
Área Porcentaje del presupuestoGinecología 40%Traumatología 30%Pediatría 30%Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.





6
En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la sig. tabla:
Área Porcentaje del presupuestoGinecología 40%Traumatología 30%Pediatría 30%Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.





7




Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana cualquiera.


8

Tres personas deciden invertir su dinero para fundar una empresa. Cada una ce ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.






9



Un alumno desea saber cual será su promedio general en las tres materias mas difíciles que cursa y cual será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan como se muestra a continuación:La calificación de Matemáticas se obtiene de la sig. manera:Examen 90%Promedio de tareas 10%En esta materia se pidió un total de tres tareas.La calificación de Física se obtiene de la sig. manera:Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas.La calificación de Química se obtiene de la sig. manera:
Examen85%
promedio de tareas 15%en esta materia se pidió un promedio de tres tareas



10
ejercicio en clase 3



11







trabajo en clase
12 NOMINA

Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en la empresa sabiendo que las horas de trabajo exceden de 40 el resto se considera horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.




EJERCICIOS SWITH
1


2


3


ejercicios

1



2


3




ejercico
PUNTO 1

-CALCULA CIERTA CANTIDAD DE NUMEROS Y DETERMINA CUAL ES EL MAYOR



PUNTO 2
SAVER CUANDO ES NUMERO PRIMO O NO PRIMO



PUNTO 3

CICLO PARA TABLAS DE MULTIPLICAR CUALQUIER NUMERO



PUNTO 4

CALCULAR EL NUMERO MENOR DE CUELQUIER VARIABLE



PUNTO 5

CLACULAR NUMERO MENOR DE 3 VARIABLES


GUIA 15 DE JULIO VECTORES


1-Leer 5 números y crear un vector con ellos. Luego imprimir la posición y el valor.


2 -Realizar un programa que genere los números pares de 2 a 200 y llenar un vector con ellos Luego imprimir el vector.


3 -Crear dos vectores uno llamado nombre y el segundo apellido cada vector será de 5 posiciones que almacenaran dichos datos pedidos al usuario, al final debe imprimir el nombre completo de cada posición.




4 -Escribir un programa que lea una línea te texto, la almacene en un vector y la imprima al revés.

5 Realizar un programa para ordenar por selección el siguiente vector a={52,63,7,15,26,68,12,2}.

6 Genere y llene dos vectores A y B de tamaño M; luego genere un tercer vector C con la unión de la primera mitad del vector A y la segunda mitad del vector B. (Asuma que M es par). Ejemplo gráfico:



7 Diseñe un algoritmo que almacene en un vector llamado FIB[100] los 100 primeros números de la serie Fibonacci (0,1,1,2,3,5,8,13,21,34,55,….).



taller
1) Hacer un algoritmo que almacene números en una matriz de 3 * 2. Imprimir la suma de los números almacenados en la matriz.



2)Hacer un algoritmo que llene una matriz de 3 * 3 y determine la posición [renglon ,columna] del numero mayor almacenado en la matriz. Los números son diferentes.


3)Hacer un algoritmo que llene una matriz de 3 * 3. Calcular la suma de cada renglón y almacenarla en un vector, la suma de cada columna y almacenarla en otro vector.




DFD

1

ALGORITMO PARA CALCULAR UN INCREMENTO DE 25% EN EL SALARIO DE UN OBRERO.





2

ALGORITMO PARA CALCULAR LA REPARTICION DEL PRESUPUESTO ANUAL EN UN HOSPITAL.



3
ALGORITMO PARA OBTENER EL PRECIO DE VENTA DE UN ARTICULO, AUMENTANDO A SU VALOR ORIGINAL UN 30%.



4
ALGORITMO PARA DETERMINAR EL TIEMPO PROMEDIO QUE UNA PERSONA TARDA EN RECORRER UNA RUTA EN DIFERENTES DIAS DE LA SEMANA.



5

ALGORITMO PARA DETERMINAR EL PORCENTAJE QUE C/U DE TRES PERSONAS INVIERTE EN UNA EMPRESA, TENIENDO EN CUENTA QUE LAS INVERCIONES SON DIEFERENTES ENTRE SI.



6
ALGORITMO PARA DETERMINAR EL PROMEDIO DE C/U DE TRES MATERIAS TENIENDO EN CUENTA EL PORCENTAJE QUE VALE CADA NOTA COMO EXAMENES Y PROMEDIOS DE LAS TAREAS ASIGNADAS EN CADA MATERIA. Y ASI DETERMINAR TAMBIEN LA NOTA GENERAL DEL ALUMNO.



7

UNA PERSONA DEBE REALIZAR UN MUESTREO CON 10 PERSONAS PARA DETERMINAR EL PROMEDIO DE PESO DE LOS NIÑOS, JOVENES, ADULTOS Y VIEJOS SE DETERMINAN LAS CATEGORIAS CON BASE EN LA SIGUIENTE TABLA. CATEGORIA EDAD
NIÑO 0-12 JOVEN 13-29 ADULTO 30-59 VIEJO 60 EN ADELANTE



8





9


1. Calcular la factorial de un número.








10




1.realizar un algoritmo que escriba los números de uno en uno hasta 20



11



12

Diseña el algoritmo del programa que sume y muestra en pantalla los múltiplos de 3 entre 3 y 99.



13


Diseñe un algoritmo que permita calcular el Máximo Común Divisor de dos números.






14





15





16





17 EXAMEN 1





18 EXAMEN 2





19





vectores
1


3



4


5



6



7


8




9



examen
1Llenar una matriz de 5*5 e imprime en diagonal