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