jueves, 29 de enero de 2009

EJERCICIO 2.- REALIZAR UN ALGORITMO PARA ¨IR AL CINE¨


ALGORITMO:
salida: ver la película
datos de entrada:nombre de la película,numero de sala,hora de llegada

1.-ir a internet
2.-verificar la cartelera
3.-buscar nombre de la pelicula
4.-verificar hora
5.-esperar hora
6.-ir al cine
7.-comprar el boleto
8.-ir a la sala
9.-ver la pelicula

algoritmo calculo de un circulo

algoritmos NS

definición.
El diagrama N-S o también conocido como diagrama de Chapin es una técnica de especificación de algoritmos que combina la descripción textual, propia del pseudocódigo, con la representación gráfica del diagrama de flujo.

El diagrama N-S cuenta con un conjunto limitado de símbolos para representar los pasos del algoritmo, por ello se apoya en expresiones del lenguaje natural; sin embargo, dado que el lenguaje natural es muy extenso y se presta para la ambigüedad, solo se utiliza un conjunto de palabras, a las que se denomina palabras reservadas. Las palabras reservadas más utilizadas son:

Inicio Fin Leer Escribir

Mientras Repita Hasta Para

Incrementar Decrementar Hacer Función

Entero Real Caracter Cadena

Lógico Retornar

Los símbolos utilizados en el diagrama de Chapin son corresponden a cada tipo de estructura. Dado que se tienen tres tipos de estructuras, se utilizan tres símbolos. Esto hace que los procesos del algoritmo sean más fáciles de representar y de interpretar.

Estructuras secuenciales
Son aquellas que se ejecutan una después de otra. Se tienen tres tipos de instrucciones secuenciales: la declaración de variables, asignación, instrucción Leer e instrucción Escribir.

La mayoría de algoritmos actúan sobre un conjunto de datos suministrados por el usuario y se espera que a partir de dichos valores y desarrollando los procesos programados se genere información de salida o resultados.

Declaración de variables

Teniendo en cuenta la compatibilidad con la mayoría de los lenguajes, se recomienda que desde el diseño del programa se utilice una forma determinada para la declaración de las variables. Esta consiste en escribir el tipo de datos y la lista de identificadores que se tendrán de dicho tipo, separando cada identificador por medio de comas (,). Para mejorar la claridad de la declaración se puede colocar dos puntos (:) para separar el tipo de datos de la lista de identificadores.

Ejemplo:

Entero: edad

Real: estatura, peso, sueldo

Cadena: nombre, dirección

Aunque algunos lenguajes de programación permiten declarar las variables en el momento en que se las necesita, es aconsejable, en favor de los buenos hábitos de programación, siempre declarar las variables antes de utilizarlas y el sitio más adecuado es el inicio del programa o de la función.

Asignación

Asignar un valor a una variable equivale a decir que se guarda dicho valor en la posición de memoria reservado para la variable en mención. Por lo tanto, para poder realizar una asignación es necesario primero haber declarado una variable, con lo cual se reserva un espacio de memoria suficiente para guardar un dato del tipo especificado.

Una expresión de asignación tiene la forma:

Variable = expresión

Donde la expresión puede estar formada por un valor, por un conjunto de valores y operadores o por una función.

Ejemplos:

Edad = 10

Estatura = 1.80

Resultado = 2*3

Donde edad y resultado son variables de tipo entero y estatura de tipo real que se supone declaradas previamente.

Una asignación tiene tres partes, una variable, el signo igual y la expresión cuyo valor se asigna a la variable. La variable siempre va a la izquierda del igual, mientras que la expresión siempre estará a la derecha.

Ejemplos:

Entero: X, Y

X = 10

Y = X * 2 + 8

En este ejemplo, la variable Y contendrá el valor 28.

Instrucción Leer

La instrucción LEER se utiliza para enviar información desde un dispositivo de entrada de datos hacia la memoria. En la memoria los datos son ubicados mediante el identificador (nombre de variable) utilizado como complemento de la instrucción LEER.

En diagrama N-S la instrucción de entrada se representa así:

Leer

Ejemplo:

Leer a, b

Donde "a" y "b" son las variables que recibirán los valores y que deben haberse declarado previamente.

Instrucción Escribir

Esta instrucción permite enviar datos desde la memoria hacia un dispositivo de salida como la pantalla o la impresora. La información que se envía puede ser constante o también el contenido de variables.

Escribir

Ejemplo:

Escribir a, b

Cuando se escriben más de una variable es necesario separarlas con comas (,) y los mensajes se escriben entre comillas dobles " ". Si una variable es escrita entre comillas se mostrará el identificador y no el contenido.

Ejemplos:

1. Diseñar un algoritmo para calcular el área y el perímetro de un rectángulo

Definición del problema

Calcular área y perímetro de un rectángulo

Análisis del problema

Para desarrollar este problema es necesario conocer las fórmulas para obtener tanto el área como el perímetro de un rectángulo.

Sea b = base y h = altura, las fórmulas a utilizar son:

Area = b * h

Perímetro = 2 * (b + h)

Datos de entrada: b y h (base y altura)

Datos de salida: área y perímetro

Procesos: área = b * h

Perímetro = 2 * (b + h)

Diseño de la solución:

1.-Inicio

2.-Entero: b, h, a, p

3.-Leer b, h

4.-a = b * h

5.-p = 2 (b + h)

6.-Escribir "área:", a

7.-Escribir "perímetro:", p

8.-Fin algoritmo

miércoles, 28 de enero de 2009

ejercicio. problema para el calculo del salario

problema:


en una empresa que se un programa que capture el nombre del empleado, numero de empleado, horas trabajadas, sueldo por hora; y que calcule el sueldo neto a pagar.


analizis del problema:


las entradas son: nombre del empleado, numero de empleado, horas trabajadas.

la salida: sueldo neto.

procedimiento:

SB=HT*SH

I=(SB)(.05)

SN= SB-IMP.



ALGORITMO:


1.-inicio

2.-lee (N.E.,NUM.E.,H.T.,S.H.)

3.-calcular= SB=HT*SH, I=(SB)(.05), SN= SB-IMP.

4.-imprimir resultados ¨sueldo neto¨,SN
5.-fin

viernes, 23 de enero de 2009

DISEÑO DEL ALGORITMO



DISEÑO DEL ALGORITMO.


En la etapa del analisis del proceso de programacion determina que hace el programa. En la etapa del diseño se determina como hace el programa la tarea solicitada. Los metodos mas eficaces para el proceso de diseño se basa en el conocido divide y venceras.Un problema complejo se soluciona dividiendolo en problemas o subproblemas y a la ves estos subproblemas en otros de nivel mas bajo hasta que pueda ser implemantada una solucion. Este metodo se conoce como diseño decsendente( top-down) o metodo modular.




HERRAMIENTAS DE PROGRAMACION.


Diagrama de flujo: Representacion grafica de un algoritmo.Los simbolos del diagrama de flujo son:terminal: marca el inicio y el fin del diagrama.entrada: introduce datos al proceso o solucion(programa).decision: cambia el flujo del Algoritmo de acuerdo a una avaluacion logica .proceso: involucra cualquier proceso, calculo o computo, por ejemplo; `calcula a=b*h`.salida: envia la informacion al dispositivo de salida estandar normalmente al monitor.

ejemplo:







resolucion de un diagrama de flujo del calculo de un triangulo





PSEUDOCODIGO.


Es una herramienta de programacion en la que las instrucciones se escriben en palabras similares al ingles o español, que facilitan tanto la escritura como la lectur
a de programa.






miércoles, 21 de enero de 2009

2.1 fases en la resolucion de un problema

las fases de resolucion de un problema con computadora:

1.-analis del problema: se analiza teniendo presente la especificacion de los requisitos dados por el cliente de la empresa o por la persona que encarga el programa.

2.-diseño del algoritmo: una vez analizado el problema, se diseña una solucion que conducira a un algoritmo que resuelva el problema.

3.-codificacion: la solucion se escribe en la sintaxis del lenguaje de alto nivel (por ejemplo, c) y se obtiene un programa fuente que se compila a continuacion.

4.-compilacion y ejecucion verificacion y depuracion:el programa se ejecuta, se comprueba rigurosamente y se elimina todos los errores (denominados bugs, en ingles)que pueda aparecer.

5.-mantenimiento: el programa se actualiza y modifica, cada vez que sea necesario, de modo que se cumplan todas las necesidades de cambio de usuario.

6.-documentacion: escrituras de las diferentes fases del ciclo de vida del software, esencialmente el analisis, diseño y codificacion.

algoritmo: se deriva de la traduccion al latin de la palabra Alkho-warizm, nombre del matematico y astronomo arabe que escribio un tratado sobre manipulacion de numeros y ecuaciones en el siglo IX. un algoritmo es un metodo para resolver un problema mediante una serie de pasos precisos, definidos y finitos.

caracteristicas de un algoritmo:
  • presiso (indica el orden de realizacion en cada paso)
  • definido (si se sigue dos veces, obtiene el mismo resultado cada vez)
  • finito (tiene fin; un numero determinado de paso)

2.1.1. analisis del problema.

la primera fase de la solucion de un problema con computadora es el analisis del problema. esta fase requiere una clara definicion, donde se complete exactamente lo que debe hacer el programa y el resultado o solucion deseada.

lunes, 19 de enero de 2009

conceptos basicos del lenguajes c

Conceptos de Lenguajes de programación: se utilizan para escribir programas. Los programas de los computadores modernos constan de secuencias de instrucciones que se codifican como secuencias de dígitos numéricos que podrán entender dichas computadoras. El lenguaje maquina es el lenguaje nativo de una computadora. La escritura en programas en lenguaje maquina es una tarea tediosa y difícil ya que sus instrucciones son secuencias de 0 y 1 (patrones de bits, tales como 11110000, 01110011,….) que son muy difíciles de recordar y manipular por las personas.
Cada lenguaje de programación tiene un conjunto de instrucciones (acciones u operaciones que debe realizar la maquina).


Las instrucciones básicas y comunes en casi todos los lenguajes de programación son:
instrucciones de entrada y salida: instrucciones de transferencia de información entre dispositivos periféricos y la memoria central.
instrucciones de calculo: instrucciones para que la computadora pueda realizar operaciones aritméticas.
instrucciones de control: instrucciones que modifican la secuencia de la ejecución del programa.

Los principales tipos de lenguaje de programación son:


lenguaje maquina: traduce directamente el código maquina (código binario) comprensible para las computadoras)


lenguaje de bajo nivel (ensambladoras): son programas que traducen otros programas escritos en código nemotécnicos en instrucciones numéricas en lenguaje maquina que son compatibles y legibles por la maquina.


lenguaje de alto nivel: este lenguaje es compresible para el programador, como si fuera lenguajes naturales, e independientes de la maquina.

Paradigmas de programación.

Representa fundamentalmente enfoques diferentes para la construcción de soluciones a problemas y por consiguiente afectan al proceso completo de desarrollo de software.
Los paradigmas de programación clásicos son: procedimental (o imperativo), funcional, declarativo y orientado a objetos.

Lenguajes imperativos (procedímentales).
Representa el enfoque o método tradicional de programación. Un conjunto imperativo es un conjunto de instrucciones que se ejecutan una por una, de principio a fin, de modo secuencial excepto cuando intervienen instrucciones de salto de secuencia o control.

Lenguajes declarativos.
Solicita al programador que describa el problema en lugar de encontrar una solución algorítmica al problema; es decir, un lenguaje declarativo utiliza el principio del razonamiento lógico para responder a las preguntas o cuestiones consultadas.

Lenguajes orientados a objetos. (POO)
Consiste en un enfoque totalmente distinto al proceso precedimental. El enfoque orientado a objetos guarda analogía con la vida real. El programador define en primer lugar los objetos del problema y a continuación los datos y operaciones que actuaran sobre los datos. Las ventajas de la programación orientada a objetos se derivan esencialmente de la estructura modular existente en la vida real y el modo de respuesta de estos módulos u objetos a mensajes o eventos que se producen en cualquier instante.
Los lenguajes orientados a objetos son: lenguaje C, C++, Java y C#.

Historia del lenguaje C.

C es el lenguaje de programación de propósito general asociados, de modo universal, al sistema UNIX. Sin embargo, la popularidad, eficiencia y potencia de C, se ha producido porque este lenguaje no esta prácticamente asociado a ningún sistema operativo, ni a ninguna maquina, en especial.
C es una evolución de los lenguajes BCPL-desarrollo por Martin Richards- y B –desarrollo por Ken Thompson en 1970 – para el primitivo UNIX de la computadora DEC PDP-7.
C nacio realmente en 1978, con la publicación de The C Programming Lenguaje, por Brian Kernigham y Dennis Ritchie (prentice hall, 1978).
En 1983, el American nacional Standard Institute (ANSI), una organización internacional de estandarización, creo un comité (el denominado X3J11) cuya tarea fundamental consistía en hacer “una definición no ambigua del lenguaje C, e independiente de la maquina”.había nacido el estándar ANSI del lenguaje C.
Hoy, en el siglo XXI, C sigue siendo uno de los lenguajes de programación mas utilizados en la industria del software, así como en institutos tecnológicos, escuelas de ingeniería y universidades. Prácticamente todos los fabricantes de sistemas operativos, UNIX, Linux, MacOS, Solaris, etc. soportan diferentes tipos de compiladores de lenguaje C.

Los herederos de C: C++, Java y C#.

Los tres lenguajes mas populares junto con C en esta primera década del siglo XXI son herederos directos del propio C con características orientadas a objetos y a Internet. Actualmente y aunque C sigue siendo, tal vez, el mas utilizado en el mundo de la educación como el primer lenguaje de programación y también copa un porcentaje alto de utilización en el campo profesional, los tres lenguajes con características técnicas de orientación a objetos forman con C el póquer de lenguajes mas empleados en el mundo educativo, profesional y científico actual y previsible de los próximos años.

domingo, 18 de enero de 2009

apuntes de programacion de computadoras software

Dispositivos de entrada y salida.

Estos dispositivos permiten la comunicación entre las personas y las computadoras.

Dispositivo de entrada: es todo aquel dispositivo que permite que una persona puede enviar información a la computadora por ejemplo: el teclado, el Mouse y las memorias usb.

Dispositivo de salida: esta permite a una computadora pasar información al usuario por ejemplo: la pantalla, la impresora y los quemadores de CD. o disket.


Puertos serie y paralelo.

La computadora esta equipado de puertos serie y paralelo.

Puerto serial: un puerto serial transmite la información una tras otra formando una sola línea, siempre va un paquete detrás de otro. Ejemplo: si estas regando las plantas con una manguera por ella sale un litro por segundo, siempre va a salir un litro por cada segundo que al contrario en un puerto paralelo si va a salir un litro por segundo, este tendrá ocho mangueras al mismo tiempo así que saldrá ocho litros por segundo.

Puerto paralelo: este es conocido también como puerto para la impresora el cual es un conector de 25 clavijas.

USB: sus siglas significan universal serial bus (bus serie universal) este es una expansión externa para recaudar más información a tu computadora. La ventaja de los bus usb es tener conexiones más rápidas y más accesibles.

Firewire: este es un bus como el usb es muy similar, aunque el firewire es mucho más rápido y moderno que un bus usb. Un bus serie de alta velocidad tiene una tasa de transferencia de 400Mps.


Redes e Internet.

Una red es un conjunto de computadoras conectados entre si para compartir información. Las redes se pueden clasificar en varias categorías siendo las mas conocidas las redes de area local (lan, local area network) y las redes área amplia o ancha wan (Wide area network). La red wan mas conocida y popular en la actualidad es la red Internet que esta soportada por la World Wide web. Las redes mas implantadas son las redes que se conectan con tecnología Internet.
Estas redes son intranet y extranet y se conocen como redes corporativas ya que enlazan computadoras de los empleados de las empresas.

Redes P2P, igual a igual.
Es un sistema que enlazan a los computadores vía Internet o redes privadas de modo que puedan compartir tareas de proceso. por ejemplo: ares, limewire, emule, etube, etc.

MODEM: el MODEM es un dispositivo periférico que permite intercambiar información entre computadoras a través de una línea telefónica. Es un dispositivo que transforma las señales digitales de la computadora en señales eléctricas analógicas telefónicas y viceversa, con lo que es posible transmitir y recibir información a través de la línea telefónica.

El Software (los programas).

Es un conjunto de instrucciones de programa detalladas que controlan y coordinan los componentes hardware de una computadora y controlan las operaciones de un sistema.

Hay dos tipos de software que están relacionadas entre si.

Software del sistema: es un conjunto de programas indispensables para que la maquina funcione; se denominan también programas del sistema. Estos programas son, el sistema operativo, los editores de texto, los lenguajes de programación. Por ejemplo: Windows xp, Linux, mc. off, minix.

Software de aplicación: son programas que ayuda al usuario a realizar tareas específicas. Por ejemplo: Microsoft office (Word, power point, Excel, etc.)

Programa: es una serie de instrucciones que le dice a la computadora que hacer y estos se realizan en un lenguaje de programación.

jueves, 15 de enero de 2009