jueves, 12 de febrero de 2009

GUIA EXAMEN

COMPUTADORA:

Es un dispositivo eléctrico, utilizado para procesar información y obtener resultados, capaces de ejecutar cálculos y tomar dediciones a velocidades más rápidas que el hombre.


HARDWARE:

Es el equipo físico o los dispositivos asociados con una computadora.


SOFTWARE:

Conjunto de instrucciones dadas, el conjunto de instrucciones que indica a la computadora aquello que debe hacer.


DISPOSITIVOS DE ALMACENAMIENTO:

Memoria principal, memoria ROM, procesador, microprocesador
Secundarios: diskette, cd, dvd. Cinta magnética.


LENGUAJE DE PROGRAMACIÓN:

Sirve para escribir programas que permiten la comunicación usuario/maquina.

INTERPRETE:

Convierte las instrucciones escritas en lenguaje de programación en las instrucciones escritas en lenguaje maquina que esta puede entender.

LENGUAJE MAQUINA:

Un sistema de codificación nativo de la maquina y la escritura de programas secuénciales de 0 y 1.


ENSAMBLADORES:

Son programas que traducen otros programas escritos en códigos neumático en instrucciones numéricos en lenguaje maquina que son compatibles y legibles por la maquina.


COMPILADORES:

Son programas de alto nivel como C, JAVA, que ocupan ser traducidos a código maquina.


LENGUAJE C:

Es el lenguaje de programación general asociado de método universal al sistema operativo UNIX.

Ventajas: poderoso, flexible, operacional, se utiliza en programas preferenciales, puede ser escrito para un tipo de computadoras.

ELEMENTOS DEL DIAGRAMA DE FLUJO O SÍMBOLOS:


















ALGORITMO:

Es un método para resolver un problema mediante una serie de pasos precisos, definidos y finitos. Su estructura: entrada – proceso – salida

PSEUDOCÓDIGO:

Es un lenguaje de especificaciones de algoritmos. Es una herramienta de programación en la que las instrucciones se escriben en palabras similares al ingles o español, que faciliten tanto la escritura como la lectura de programas.

DIAGRAMA (NS):

Es un diagrama de flujo en el que se omiten las flechas de unión y las cajas son continuas. Las acciones sucesivas se escriben en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en cajas.

miércoles, 11 de febrero de 2009

SUMA DE 3 NUMEROS

11-FEBRERO-2009

PROGRAMACIÓN DE COMPUTADORAS

Dados tres números, determinar si l suma de cualquier pareja de ellos es igual al tercer número. Si se cumple esta condición, escribir <> y, en caso contrario, escribir <>.


4 NUMEROS

11-FEBRERO-2009

PROGRAMACION DE COMPUTADORAS

Escribir un algoritmo que lea cuatro números y a continuación imprima el mayor de los cuatro.

martes, 10 de febrero de 2009

DELTA ES IGUAL A CERO (D=0)

10-FEBRERO-2009

PROGRAMACION DE COMPUTADORAS

Resolver el algoritmo cuando delta es igual a cero (D=0)


lunes, 9 de febrero de 2009

TAREA DELTA NEGATIVA

06-FEBRERO-2009

PROGRAMACION DE COMPUTADORAS

Si la raiz es negativa que mande un mensaje "delta es negativo y no es posible calcular la raiz cuadrada".



viernes, 6 de febrero de 2009

EJERCICIO: PERSONAS NO VOTAR, VOTAR

6-FEBRERO-2009

PROGRAMACION DE COMPUTADORAS
Realizar un algortimo que lea l edad en meses de una persona y determine si puede votar o no puede votar. (imprimir si puede votar o no puede votar)

A)
1. INICIO
2. LEER M
3. CALCULAR M>216
4. SI M>216
5. IMPRIMIR "SI PUEDE VOTAR"
6. SI<216
7. IMPRIMIR "NO PUEDE VOTAR"
8. FIN

B)
1. INICIO
2. LEER M
3. SI M>216 HACER PASO 4 SINO PASO 6
4. IMPRIMIR "SI PUEDE VOTAR"
5. SALTAR AL PASO 7
6. IMPRIMIR "NO PUEDE VOTAR"
7. FIN

TAREA ALGORITMO FORMULA GENERAL


6-FEBRERO-2009
Realizar un algoritmo que calcule el valor de X1 y X2 basado en una ecuacion cuadratica de segundo grado y la formula general

ax+bx+c=0

inicio
leer a, b, c,
calcular X1 = (-b+√a^2-(4*a*c) / 2*a)
X2 = (-b-√a^2-(4*a*c) / 2*a)
imprimir x1, x2
fin

TAREA DE ALGORITMOS 2.1 y 2.2

2.1 Diseñar una solución para resolver cada uno de los siguientes problemas y tratar de refinar sus soluciones mediante algoritmos adecuados:

A) Realizar una llamada telefónica desde un teléfono público:
•Inicio
•Buscar un teléfono publico
•ir hacia el teléfono
•Tomar el teléfono
•Insertarle monedas o en su caso tarjeta
•Macar el numero deseado
•Hablar por teléfono
•Conversación
•Terminar de hablar
•Colgar el teléfono
•Soltar teléfono
•Recoger monedas (si las hay) o sacar tarjeta
•Fin

B) Cocinar una tortilla:
•Inicio
•Tomar los cerillos
•Prender el cerrillo
•Prender la estufa
•Poner el comal sobre la estufa
•Calentar una tortilla sobre el comal
•Voltear tortilla
•Sacar la tortilla
•Fin

C) Arreglar un pinchazo de una bicicleta:
•Inicio
•Voltear bicicleta
•Tomar una llave
•Quitar las tuercas o remaches
•Quitar llanta pinchada
•Parcharla
•Echarle aire
•Poner llanta nueva
•Volver a colocar los remaches o tuercas
•Voltear la bicicleta
•Fin

D) Freír un huevo:
•Inicio
•Tomar los cerillos
•Prender cerillo
•Prender la estufa
•Poner el sartén sobre la estufa
•Agregarle aceite al sartén
•Tomar el huevo
•Quebrar el huevo dentro del sartén
•Esperar a que se cocine el huevo (mezclarlo)
•Sacar el huevo
•Colocarlo en el plato
•Fin

2.2 Escribir un algoritmo para:
(A)Sumar dos números enteros:
•Inicio
•Leer n1, n2
•Calcular n = n1 + n2
•Imprime n
•Fin

(B)Restar dos números enteros:
•Inicio
•Leer n1, n2
•Calcular n = n1 - n2
•Imprime n
•Fin

(C)Multiplicar dos números enteros:
•Inicio
•Leer n1, n2
•Calcular n = n1 * n2
•Imprime n
•Fin

Dividir dos números enteros:
•Inicio
•Leer n1, n2
•Calcular n = n1 ÷ n2
•Imprime n
•Fin

TAREA
Realizar un algoritmo que calcule el área de un rectángulo dado la base y la altura y de acuerdo a la formula A=b*a
•Inicio
•Programa para el calculo del área
•Ingreso de datos
•Leer la base
•Leer la altura
•Multiplicar la base por altura
•Escribir el área
•Fin

Calcular la paga neta de un trabajador conociendo en número de horas trabajadas, la tarifa horaria y la tasa de impuestos.
•Inicio
•Leer horas, tarifa, tasa
•Calcular pagabruta = horas * tarifa
•Calcular impuestos = pagabruta * tasa
•Calcular paga neta = paga bruta – impuestos
•Visualizar paga bruta, impuestos, paga neta
•Fin

lunes, 2 de febrero de 2009

CAPITULO 2 (RESUMEN)

FASES DE LA RESOLUCION DE UN PROGRAMA.
El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma.
Las fases de resolución de un programa con computadora son:

ANALISIS DEL PROBLEMA.
El problema se analiza teniendo presente la especificación de los requisitos dados por el cliente o por la persona que encarga el programa. Requiere una clara definición, donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada.

Para poder identificar y definir bien un problema es conveniente responder a las siguientes preguntas:
Ø ¿Qué entradas se requieren? (tipo de datos con los cuales se trabaja y cantidad).
Ø ¿Cuál es la salida deseada? (tipo de datos de los resultados y cantidad).
Ø ¿Qué método produce la salida deseada?
Ø Requisitos o requerimientos adicionales y restricciones a la solución.

DISEÑO DEL ALGORITMO.
Se determina como hace el programa la tarea solicitada. Los métodos mas eficaces para el proceso de diseño se basan en el conocido divide y vencerás. El proceso implica la ejecución de los siguientes pasos hasta que el programa se termine:
Ø programar un modulo.
Ø Comprobar el modulo.
Ø Si es necesario, depurar el modulo.
Ø Combinar el modulo con los módulos anteriores.

El proceso que convierte los resultados del análisis del problema en un diseño modular con refinamientos sucesivos que permitan una posterior traducción a un lenguaje se denomina diseño del algoritmo.

El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar.

HERRAMIENTAS DE PROGRAMACION.
Las dos herramientas más utilizadas para diseñar algoritmos son: diagramas de flujo y pseudocódigos.

Un diagrama de flujo es una presentación grafica de un algoritmo. Los símbolos utilizados han sido normalizados por ANSI

El pseudocódigo es la descripción de un algoritmo que asemeja a un lenguaje de programación pero con algunas convenciones del lenguaje natural. Tiene varias ventajas con respecto a los diagramas de flujo, entre las que se destaca el poco espacio que se requiere para representar instrucciones complejas. El pseudocódigo no está regido por ningún estándar. pseudo viene de falso y por ende es un código al que aunque es entendible no se aplica al proceso que debe realizar la maquina.

El pseudocódigo que resuelve el Problema 2.1 es:

Previsiones de depreciación
Introducir coste
vida útil
valor final de rescate (recuperación)
imprimir cabeceras
Establecer el valor inicial del Año
Calcular depreciación
mientras valor año =<>
CODIFICACION DE UN PROGRAMA.
Es la escritura en un lenguaje de programación de la presentación del algoritmo desarrollada en etapas precedentes. Dado que el diseño de un algoritmo es independiente del lenguaje de programación utilizado para su implementación, el código puede ser escrito con igual facilidad en un lenguaje o en otro.

Para realizar la conversación del algoritmo en programa se deben sustituir las palabras reservadas en español por sus homónimos en ingles, y las operaciones/instrucciones indicadas en lenguaje natural expresarlas en el lenguaje correspondiente.

COMPILACION Y EJECUCION DE UN PROGRAMA.
Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en un disco. Esta operación se realiza con un programa editor. Posteriormente el programa fuente se convierte en un archivo de programa que se guarda (graba) en disco.

El programa fuente debe ser traducido a lenguaje maquina, este proceso se realiza con el compilador y el sistema operativo que se encarga prácticamente de la compilación.

Si tras la compilación se presentan errores (errores de compilación) en el programa fuente, es preciso volver a editar el programa, corregir los errores y compilar de nuevo. Suponiendo que no existen errores en el programa fuente, se debe instruir al sistema operativo para que realice la fase de montaje o enlace (link), carga, del programa objeto con las bibliotecas del programa del compilador. El proceso de montaje produce un programa ejecutable.

VERIFICACION Y DEPURACION DE UN PROGRAMA.
La verificación o compilación de un programa es el proceso de ejecución del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba, que determinan si el programa tiene errores (<>).

Para realizar la verificación se debe desarrollar una amplia gama de datos de test: valores normales de entrada, valores extremos de entrada que comprueben los limites del programa y valores de entrada que comprueben aspectos especiales del programa.

La depuración es el proceso de encontrar los errores del programa y corregir o eliminar dichos errores. Cuando se ejecuta un programa, se pueden producir 3 tipos de errores:
Ø Errores de compilación. Se producen normalmente por uso incorrecto de las reglas del lenguaje de programación y suelen ser errores de sintaxis. Si existe un error de sintaxis, la computadora no puede comprender la instrucción, no se obtendrá el programa objeto y el compilador imprimirá una lista de todos los errores encontrados durante la compilación.
Ø Errores de ejecución. Estos errores se producen por instrucciones que la computadora puede comprender pero no ejecutar. Ejemplos típicos son: división por cero y raíces cuadradas de números negativos. En estos casos se detiene la ejecución del programa y se imprime un mensaje de error.
Ø Errores lógicos. Se producen en la lógica del programa y la fuente del error suele ser el diseño del algoritmo. Estos errores son los mas difíciles de detectar, ya que el programa puede funcionar y no producir errores de compilación ni de ejecución, y solo puede advertirse el error por la obtención de resultados incorrectos. En este caso se debe volver a la fase de diseño del algoritmo, modificar el algoritmo, cambiar el programa fuente y compilar y ejecutar una vez más.

DOCUMENTACION (SOLO PARA SISTEMA ROBUSTO).
La documentación de un problema consta de las descripciones de los pasos a dar en el proceso de resolución del problema. La importancia de la documentación debe ser descatada por su decisiva influencia en el producto final.

La documentación de un programa puede ser interna y externa. La documentación interna es la contenida en líneas de comentarios. La documentación externa incluye análisis, diagrama de flujo y/o pseudocódigos, manuales de usuario con instrucciones para ejecutar el programa y para interpretar los resultados.

La documentación es vital cuando se desea corregir posibles errores futuros o bien cambiar el programa. Tales cambios se denominan mantenimiento del programa.

CONCEPTOS DE:
PROGRAMACION MODULAR.
La programación modular es uno de los métodos de diseño más flexible y potente para mejorar la productividad de un programa. En programación modular el programa se divide en módulos (partes independientes), cada uno de las cuales ejecuta una única actividad o tarea y se codifican independientemente de otros módulos. Cada uno de estos módulos se analiza, codifica y pone a punto por separado. Cada programa contiene un modulo denominado programa principal que controla todo lo que sucede; se transfiere el control a submodulos o subprogramas, de modo que ellos puedan ejecutar sus funciones.
PROGRAMACION ESTRUCTURADA
La programación estructurada significa escribir un programa de acuerdo a las siguientes reglas:
Ø El programa tiene un diseño modular.
Ø Los módulos son diseñados de modo descendente.
Ø Cada modulo se codifica utilizando las tres estructuras de control básico: secuencia, selección y repetición.

El termino programación estructurada se refiere a un conjunto de técnicas. Estas técnicas aumentan considerablemente la productividad del programa reduciendo en elevado grado el tiempo requerido para escribir, verificar, depurar y mantener los programas. Utiliza un número limitado de estructuras de control que minimizan la complejidad de los programas y por consiguiente, reducen los errores. Los programas deben estas dotados de una estructura.

La programación estructurada es el conjunto de técnicas que incorporan:
Ø Recursos abstractos
Se auxilia de los recursos abstractos en lugar de los recursos concretos que dispone un determinado lenguaje de programación. Descomponer un programa en términos de recursos abstractos consiste en descomponer una determinada acción compleja en términos de un número de acciones mas simples capaces de ejecutarlas o que constituyan instrucciones de computadoras disponibles.

Ø Diseño descendente (top-down).
Es el proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento. La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que se relacionasen unas con otras mediante entras y salidas de información.

Ø Estructuras básicas.

CONCEPTO Y CARACTERISTICAS EL ALGORITMO.

Es conjunto de operaciones especificadas en un determinado lenguaje de programación y para un computador concreto, susceptible de ser ejecutado (o compilado o interpretado). Un algoritmo, estrictamente hablando, no puede ejecutarse hasta que se implementa, ya sea en un lenguaje de programación, en un circuito eléctrico, en un aparato mecánico, usando papel y lápiz, o en algún otro modelo de computación. Es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución.

CARACTERISTICAS.
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un número finito de pasos.


ESCRITURA DE ALGORITMOS
Como ya se ha comentado anteriormente, el sistema para describir («escribir») un algoritmo consiste en realizar una descripción paso a paso con un lenguaje natural del citado algoritmo. Recordemos que un algoritmo es un método o conjunto de reglas para solucionar un problema. En cálculos elementales estas reglas tienen las siguientes propiedades:
deben estar seguidas de alguna secuencia definida de pasos hasta que se obtenga un resultado coherente,
sólo puede ejecutarse una operación a la vez.

REPRESENTACION GRAFICA DE ALGORITMOS.
Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido. Ello permitirá que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje.

Para conseguir este objetivo se precisa que el algoritmo sea representado gráfica o numéricamente, de modo que las sucesivas acciones no dependan de la sintaxis de ningún lenguaje de programación, sino que la descripción pueda servir fácilmente para su transformación en un programa, es decir, su codificación.

Los métodos usuales para representar un algoritmo son:
1. diagrama de flujo,
2. diagrama N-S (Nassi-Schneiderman),
3. lenguaje de especificación de algoritmos: pseudocódigo,
4. lenguaje español, inglés...
5. fórmulas.

PSEUDOCODIGO.
El pseudocódigo es un lenguaje de especificación (descripción) de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.

Los lenguajes APL Pascal y Ada se utilizan a veces como lenguajes de especificación de algoritmos.

El pseudocódigo no puede ser ejecutado por una computadora. La ventaja del pseudocódigo es que en su uso, en la planificación de un programa, el programador se puede concentrar en la lógica y en las estructuras de control y no preocuparse de las reglas de un lenguaje específico. Es también fácil modificar el pseudocódigo si se descubren errores o anomalías en la lógica del programa, mientras que en muchas ocasiones suele ser difícil el cambio en la lógica, una vez que está codificado en un lenguaje de programación. Otra ventaja del pseudocódigo es que puede ser traducido fácilmente a lenguajes estructurados como Pascal, C, FORTRAN 77/90, c++, Java, C#, etc.

DIAGRAMA DE NASSI-SCHNEIDERMAN.
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.

METODOS FORMALES DE VERIFICACIONES DE PROGRAMAS.

Aserciones
Una parte importante de una verificación formal es la documentación de un programa a través de asertos o afirmaciones —sentencias lógicas acerca del programa que se declaran «verdaderas»—. Un aserto se escribe como un comentario y describe lo que se supone sea verdadero sobre las variables del programa en ese punto.

Precondiciones y post-condiciones
Precondición: Predicado lógico que debe cumplirse al comenzar la ejecución de una operación.
Post-condición: Predicado lógico que debe cumplirse al acabar la ejecución de una operación, siempre que se haya cumplido previamente a precondición correspondiente.

Reglas para prueba de programas
Un medio útil para probar que un programa hace lo que realmente ha de hacer es proporcionar aserciones que expresen las condiciones antes y después de que sea ejecutado. En realidad las aserciones son como sentencias o declaraciones que pueden ser o bien verdaderas o bien falsas.

CAPITULO 1 (RESUMEN)


CONCEPTO DE COMPUTADORA
Es un dispositivo electrónico que procesa información y obtiene resultados, es capaz de ejecutar cálculos y tomar decisiones a velocidades de millones a cientos de millones mas rápido de las que puede hacer un ser humano.

PUERTO SERIE, PARALEO Y FIREWIRE.
El puerto serie, es un conector macho de la parte trasera o lateral del PC con 9 o 25 clavijas, aunque solo suelen utilizarse 3 o 4 para la transmisión en serie.

El puerto paralelo es un conector hembra de 25 clavijas, también se denomina puerto impresora, ya que es donde solía conectarse la impresora hasta que aparecieron los conectores USB.

El firewire es una nueva interfaz, es un bus antiguo pero avanzado utilizado para los discos duros, unidades de CD-ROM, escáneres. Es un bus serie de alta velocidad con una tasa de transferencia de 400 Mbps. Las actuales videocámaras digitales y otros dispositivos de audio e imagen suelen incorporar conectores firewire.

CONCEPTOS BASICOS DE REDES E INTERNET.
Una red es un conjunto de computadores conectados entre si para compartir recursos.

Las redes se pueden clasificar en varias categorías siendo las mas conocidas las redes de área local (LAN, local Área Network) y las redes área amplia o ancha WAN (Wide Área Network). Una LAN permite a muchos computadores acceder a recursos compartidos de un computador más potente denominado servidor. La red WAN es una red que enlaza muchos computadores personales y redes de LAN en una zona geográfica amplia.

Internet se basa en la tecnología cliente/servidor. Las personas que utilizan la red controlan sus tareas mediante aplicaciones Web tal como software de navegador. Todos los datos incluyendo mensajes de correo-e y las páginas Web se almacenan en servidores. Un cliente utiliza Internet para solicitar información de un servidor Web determinado situado en computador lejano; el servidor envía la información al cliente vía la red Internet.

CONCEPTOS DE SOFTWARE Y SUS TIPOS.
El software de una computadora es un conjunto de instrucciones de programas detalladas que controlan y coordinan los componentes hardware de una computadora y controlan las operaciones de un sistema informático.

Un programa de software es un conjunto de sentencias o instrucciones al computador. Existen dos tipos importantes de software: software del sistema y software de aplicaciones.
Software del sistema coordina las diferentes partes de un sistema, conecta e interactúa entre el software de aplicación y el hardware de la computadora. Es el conjunto de programas indispensables para que la maquina funcione, el sistema operativo, los editores de texto, los compiladores y los programas de utilidad.

Software de aplicaciones tiene como función principal asistir y ayudar a un usuario de una computadora para ejecutar tareas especificas, se pueden desarrollar con diferentes lenguajes y herramientas de software. Por ejemplo: una aplicación de procesamiento de textos (Word o Word perfect) ayuda a crear documentos, una hoja de calculo (Excel) que ayuda a automatizar tareas de cálculos matemáticos o estadísticos, a generar diagramas o gráficos, presentaciones visuales como PowerPoint, o a crear bases de datos como Access que ayuda a crear archivos y registros de datos.