martes, 14 de abril de 2009

lunes, 13 de abril de 2009

RESUMEN CAPITULO 5



5.1. ESTRUCTURAS DE CONTROL


Las estructuras de control controlan el flujo de ejecución de un programa o función. Las estructuras de control permiten combinar instrucciones o sentencias individuales en una simple unidad lógica con un punto de entrada y un punto de salida.

Las instrucciones o sentencias se organizan en tres tipos de estructuras de control que sirven para controlar el flujo de la ejecución: secuencia, selección (decisión) y repetición.

Una sentencia compuesta es un conjunto de sentencias encerradas entre llaves ({ y }) que se utiliza para especificar un flujo secuencial.

El control fluye de la sentencia1 a la sentencia2 y así sucesivamente. Sin embargo, existen problemas que requieren etapas con dos o más opciones o alternativas a elegir en función del valor de una condición o expresión.



5.2. LA SENTENCIA if


En C, la estructura de control de selección principal es una sentencia it. La sentencia it tiene dos alternativas o formatos posibles. El formato más sencillo tiene la sintaxis siguiente:







La sentencia if funciona de la siguiente manera. Cuando se alcanza la sentencia if dentro de un programa, se evalúa la expresión entre paréntesis que viene a continuación de if. Si expresión es verdadera, se ejecuta Acción; en caso contrario no se ejecuta Acción (en su formato más simple, Acción es una sentencia simple y en los restantes formatos es una sentencia compuesta).








5.3. SENTENCIA if DE DOS ALTERNATIVAS: if-else


Un segundo formato de la sentencia if es la sentencia if-else. Este formato de la sentencia if tiene la siguiente sintaxis:









En este formato Acción1 y Accion2 son individualmente, o bien una única sentencia que termina en un punto y coma (;) o un grupo de sentencias encerrado entre llaves. Cuando se ejecuta la sentencia if - else, se evalúa Expresión. Si Expresión es verdadera, se ejecuta Acción1 y en caso contrario se ejecuta Acción. La Figura 5.2. Muestra la semántica de la sentencia if-else.



5.4. SENTENCIAS if-else ANIDADAS


Hasta este punto, las sentencias if implementan decisiones que implican una o dos alternativas. Una sentencia if es anidada cuando la sentencia de la rama verdadera o la rama falsa, es a su vez una sentencia if. Una sentencia if anidada se puede utilizar para implementar decisiones con varias alternativas o multi-alternativas.
La sentencia if anidada tiene tres alternativas. Se incrementa una de las tres variables (num_pos, num_neg y num_ceros) en 1, dependiendo de que x sea mayor que cero, menor que cero o igual a cero respectivamente. Las cajas muestran la estructura lógica de la sentencia if anidada; la segunda sentencia if es la acción o tarea Falsa (a continuación de else) de la primera sentencia if.

La ejecución de la sentencia if anidada se realiza como sigue: se comprueba la primera condición (x > O); si es verdadera, num_pos se incrementa en 1 y se salta el resto de la sentencia if. Si la primera condición es falsa, se comprueba la segunda condición (x <>




5.4.1. Sangría en las sentencias if anidadas


El formato multibiturcación se compone de una serie de sentencias if anidadas, en cada línea se puede escribir una sentencia if.


5.4.2. Comparación de sentencias if anidadas y secuencias de sentencias if


Los programadores tienen dos alternativas: 1) usar una secuencia de sentencias if; 2) una única sentencia if anidada. Por ejemplo, la sentencia if del Ejemplo 5.7. se puede reescribir como la siguiente secuencia de sentencias if:


5.5. SENTENCIA DE CONTROL switch


La sentencia switch es una sentencia C que se utiliza para seleccionar una de entre múltiples alternativas. La sentencia switch es especialmente útil cuando la selección se basa en el valor de una variable simple o de una expresión simple denominada expresión de control o selector. El valor de esta expresión puede ser de tipo int o char, pero no de tipo float ni double.
La expresión de control o selector se evalúa y se compara con cada una de las etiquetas de case. La expresión selector debe ser un tipo ordinal (por ejemplo, it, char, pero no float o string). Cada etiqueta es un valor único, constante y cada etiqueta debe tener un valor diferente de los otros. Si el valor de la expresión selector es igual a una de las etiquetas case —por ejemplo, etiquetar— entonces la ejecución comenzará con la primera sentencia de la secuencia sentencia1 y continuará hasta que se encuentra el final de la sentencia de control switch, o hasta encontrar la sentencia break.
Es habitual que después de cada bloque de sentencias correspondiente a una secuencia se desee terminar la ejecución del switch; para ello se sitúa la sentencia break como última sentencia del bloque. La sentencia break; hace que siga la ejecución en la siguiente sentencia al switch.


5.5.1. Caso particular de case


Está permitido tener varias expresiones case en una alternativa dada dentro de la sentencia switch. Por ejemplo, se puede escribir:


5.5.2. Uso de sentencias switch en menús


La sentencia if - else es más versátil que la sentencia switch y se pueden utilizar unas sentencias if else anidadas o multidecisión, en cualquier parte que se utilice una sentencia case. Sin embargo, normalmente, la sentencia switch es más clara. Por ejemplo, la sentencia switch es idónea para implementar menús.

Un menú en un programa de computadora hace la misma función: presentar una lista de alternativas en la pantalla para que el usuario elija una de ellas.


5.6. EXPRESIONES CONDICIONALES: EL OPERADOR ?:


Las sentencias de selección (if y switch) consideradas hasta ahora, son similares a las sentencias previstas en otros lenguajes, tales como Pascal y Fortran 90. C tiene un tercer mecanismo de selección, una expresión que produce uno de dos valores, resultado de una expresión lógica o booleana (también denominada condición). Este mecanismo se denomina expresión condicional. Una expresión condicional tiene el formato C ? A : B y es realmente una operación ternaria (tres operandos) en el que C, A y B son los tres operandos y ? : es el operador.
Se evalúa condición, si el valor de condición es verdadera (distinto de cero) entonces se devuelve como resultado el valor de expresión1 si el valor de condición es falsa (cero) se devuelve como resultado el valor de expresion2.
Una aplicación del operador condicional (?:) es llamar a una de dos funciones según el valor de la variable.


5.7. EVALUACIÓN EN CORTOCIRCUITO DE EXPRESIONES LÓGICAS


Cuando se evalúan expresiones lógicas en C se emplea una técnica denominada evaluación en cortocircuito. Este tipo de evaluación significa que se puede detener la evaluación de una expresión lógica tan pronto como su valor pueda ser determinado con absoluta certeza. Por ejemplo, si el valor de (soltero == ‘s‘) es falso, la expresión lógica (soltero == ‘s’) && (sexo ‘h’) && (edad > 18) && (edad <= 45) será falsa con independencia de cual sea el valor de las otras condiciones. La razón es que una expresión lógica del tipo falso && (...) debe ser siempre falsa, cuando uno de los operandos de la operación AND es falso. En consecuencia no hay necesidad de continuar la evaluación de las otras condiciones cuando (soltero == ‘s’) se evalúa a falso.

El compilador C utiliza este tipo de evaluación. Es decir, la evaluación de una expresión lógica de la forma, a && a. se detiene si la subexpresión a de la izquierda se evalúa a falsa.

C realiza evaluación en cortocircuito con los operadores && y , de modo que evalúa primero la expresión más a la izquierda de las dos expresiones unidas por && o bien por . Si de esta evaluación se deduce la información suficiente para determinar el valor final de la expresión (independiente del valor de la segunda expresión), el compilador C no evalúa la segunda expresión.

miércoles, 18 de marzo de 2009

EJERCICIOS 3.1 - 3.6


3.2

3.3


3.4

3.5
3.6

TAREA EJERCICIO 3.1 - 3.5









3.1











3.2













3.4
3.5

EJERCICIO


EJERCICIOS EJEMPLO.


Realizar un programa que despliegue los siguientes datos; cada dato en una línea diferente y a doble espacio:
nombre
dirección
teléfono
escuela
carrera


#include
main()

{

printf("hola\n\n");

printf("soy Iliana\n\n") ;

printf("Mi dirección es Av. Kino y callejón Morelos #63\n\n");

printf("Mi teléfono es (653)1076819\n\n");

printf("Estudio en CESUES\n\n");

printf("Mi carrera es Ingenieria Industrial\n\n");

return 0;


}





RESUMEN 3.1 AL 3.5





3.1. ESTRUCTURA GENERAL DE UN PROGRAMA EN C



Un programa en C se compone de una o más funciones. Una de las funciones debe ser obligatoriamente main. Una función en C es un grupo de instrucciones que realizan una o más acciones. Asimismo, un programa contendrá una serie de directivas #include que permitirán incluir en el mismo archivos de cabecera que a su vez constarán de funciones y datos predefinidos en ellos.











De un modo más explícito, un programa C puede incluir:
• Directivas de preprocesador:
• Declaraciones globales;
• La función main (); mt main ()
• Funciones definidas por el usuario;
• Comentarios del programa

La directiva #include de la primera línea es necesaria para que el programa tenga salida. Se refiere a un archivo externo denominado stdio.h en el que se proporciona la información relativa a la función printf ( ). Obsérvese que los ángulos <> no son parte del nombre del archivo; se utilizan para indicar que el archivo es un archivo de la biblioteca estándar C.

La segunda línea es un comentario, identificado por los caracteres /* y */. Los comentarios se incluyen en programas que proporcionan explicaciones a los lectores de los mismos. Son ignorados por el compilador.
La tercera línea contiene la cabecera de la función main ( ), obligatoria en cada programa C. Indica el comienzo del programa y requiere los paréntesis ( ) a continuación de main ( ).

La cuarta y séptima línea contienen sólo las llaves { y } que encierran el cuerpo de la función main ( ) y son necesarias en todos los programas C.

La quinta línea contiene la sentencia printf (“Bienvenido a la programación en C\n”);

Advertencia
El programa más corto de C es el «programa vacío» que no hace nada.
La sentencia return 0; no es obligatoria en la mayoría de los compiladores, aunque algunos emiten un mensaje de advertencia si se omite.

3.1.1. DIRECTIVAS DEL PROCESADOR

El procesador en un programa C se puede considerar como un editor de texto inteligente que consta de directivas (instrucciones al compilador antes de que se compile el programa principal). Las dos directivas mas usuales son #include y #define.










Todas las directivas del procesador comienzan con el signo del libro o <> (#), que indica al compilador que lea las directivas antes de compilar la parte (función) principal del programa. Las directivas son instrucciones el compilador. Las directivas no son generalmente sentencias, obsérvese que su línea no termina en punto y coma, sino instrucciones que se dan al compilador antes de que el programa se compile. Aunque las directivas pueden definir macros, nombres de constantes, archivos fuente adicionales, etc., su uso mas frecuente en C es la inclusión de archivos de cabecera.

Existen archivos de cabecera estándar que se utilizan ampliamente, tales como stdio.h, stdlib.h, math.h, string.h y se utilizaran otros archivos de cabecera definidos por el usuario para diseño estructurado.

La directiva #include indica al compilador que lea el archivo fuente que viene a continuación de ella y su contenido lo inserte en la posición donde se encuentra dicha directiva. Estos archivos se denominan archivos de cabecera o archivos de inclusión.

Los archivos de cabecera (archivos con extensión .h contienen código fuente C) se sitúan en un programa C mediante la directiva de preprocesador #include con una instrucción que tiene el siguiente formato:

#include o bien #include "nombrearch.h"
Nombrearch debe ser un archivo de texto ASCII (su archivo fuente) que reside en su disco el archivo de cabecera mas frecuente es stdio.h.

3.1.2. DECLARACIONES GLOBALES

Las declaraciones globales indican al compilador que las funciones definidas por el usuario o variables así declaradas son comunes a todas las funciones de su programa. Las declaraciones globales se sitúan antes de la función main ( ). Si se declara global una variable Grado clase del tipo int Grado_clase; cualquier función de su programa, incluyendo main () , puede acceder a la variable Grado_clase.

La zona de declaraciones globales de un programa puede incluir declaraciones de variables además de declaraciones de función. Las declaraciones de función se denominan prototipos int media (int a, int b);

3.1.3. FUNCIÓN MAIN ( )

Cada programa C tiene una función main () que es el punto de entrada al programa. Su estructura es:

Las sentencias incluidas entre las llaves {. . . } se denominan bloque. Un programa debe tener sólo una función main ( ) . Si se intenta hacer dos funciones main ( ) se produce un error. Además de la función main ( ), un programa C consta de una colección de funciones.

Una función C es un subprograma que devuelve un único valor, un conjunto de valores o realiza alguna tarea específica tal como E/S.

En un programa corto, el programa completo puede incluirse totalmente en la función main ( ).
Un programa largo, sin embargo, tiene demasiados códigos para incluirlo en esta función. La función main ( ) en un programa largo consta prácticamente de llamadas a las funciones definidas por el usuario. El programa siguiente se compone de tres funciones: obtenerdatos ( ), alfabetizar ( ) y verpalabras ( ) que se invocan sucesivamente.

3.1.4. FUNCIONES DEFINIDAS POR EL USUARIO

Un programa C es una colección de funciones. Todos los programas se construyen a partir de una o más funciones que se integran para crear una aplicación. Todas las funciones contienen una o más sentencias C y se crean generalmente para realizar una única tarea, como imprimir la pantalla, escribir un archivo o cambiar el color de la pantalla. Se pueden declarar y ejecutar un número de funciones casi ilimitado en un programa C.
Las funciones definidas por el usuario se invocan por su nombre y los parámetros opcionales que puedan tener. Después de que la función es llamada, el código asociado con la función se ejecuta y, a continuación, se retorna a la función llamadora.

Todas las funciones tienen nombre y reciben una lista de valores. Se puede asignar cualquier nombre a su función, pero normalmente se procura que dicho nombre describa el propósito de la función. En C. las funciones requieren una declaración o prototipo en el programa:

Una declaración de función indica al compilador el nombre de la función por el que ésta será invocada en el programa. Si la función no se define, el compilador informa de un error. La palabra reservada void significa que la función no devuelve un valor.

3.1.5. COMENTARIOS

Un comentario es cualquier información que se añade a su archivo fuente para proporcionar documentación de cualquier tipo. El compilador ignora los comentarios, no realiza ninguna tarea concreta. El u de comentarios es totalmente opcional, aunque dicho uso es muy recomendable.

La información que se suele incluir es el nombre del archivo, el nombre del programador, una breve descripción, la fecha en que se creó la versión y la información de la revisión. Los comentarios en C estándar comienzan con la secuencia /* y terminan con la secuencia */.

Todo el texto situado entre las dos secuencias es un comentario ignorado por el compilador.

3.2. CREACIÓN DE UN PROGRAMA

Una vez creado un programa en C como el anterior, se debe ejecutar. ¿Cómo realizar esta tarea? Los pasos a dar dependerán del compilador C que utilice. Sin embargo, serán similares a los mostrados en la Figura 3.2. En general, los pasos serían:






































· Utilizar un editor de texto para escribir el programa y grabarlo en un archivo. Este archivo constituye el código fuente de un programa.
· Compilar el código fuente. Se traduce el código fuente en un código objeto (extensión .obj) (lenguaje máquina entendible por la computadora). Un archivo objeto contiene instrucciones en lenguaje máquina que se pueden ejecutar por una computadora. Los archivos estándar C y los de cabecera definidos por el usuario son incluidos (include) en su código fuente por el preprocesador. Los archivos de cabecera contienen información necesaria para la compilación, corno es el caso de stdio.h que contiene información scanf y de printf ( ).
· Enlazar el código objeto con las bibliotecas correspondientes. Una biblioteca C contiene código objeto de una colección de rutinas o funciones que realizan tareas, como visualizar informaciones en la pantalla o calcular la raíz cuadrada de un número. El enlace del código objeto del programa con el objeto de las funciones utilizadas y cualquier otro código empleado en el enlace, producirá un código ejecutable. Un programa C consta de un número diferente de archivos objeto y archivos biblioteca.

Para crear un programa se utilizan las siguientes etapas:
1. Definir su programa.
2. Definir directivas del preprocesador.
3. Definir declaraciones globales.
4. Crear main ( ).
5. Crear el cuerpo del programa.
6. Crear sus propias funciones definidas por el usuario.
7. Compilar, enlazar, ejecutar y comprobar su programa.
8. Utilizar comentarios.

3.3. EL PROCESO DE EJECUCIÓN DE UN PROGRAMA EN C

Un programa de computadora escrito en un lenguaje de programación (por ejemplo, C) tiene forma de texto ordinario. Se escribe el programa en una hoja de papel y a este programa se le denomina prograi texto o código fuente. Considérese el ejemplo sencillo:

La Figura 3.3 muestra el método de edición de un programa y la creación del programa en un disco, en un archivo que se denomina archivo de texto (archivo fuente). Con la ayuda de un editor de texto se puede editar el texto fácilmente, es decir, cambiar, mover, cortar, pegar y borrar texto. Se puede ver, normalmente, una parte del texto en la pantalla y se puede marcar partes del texto a editar con ayuda de un ratón o el teclado. El modo de funcionamiento de un editor de texto y las órdenes de edición asociadas varían de un sistema a otro.













Una vez editado un programa, se le proporciona un nombre. Se suele dar una extensión al nombre (normalmente .c, aunque en algunos sistemas puede tener otros sufijos).
La siguiente etapa es la de compilación. En ella se traduce el código fuente escrito en lenguaje C a código máquina (entendible por la computadora). El programa que realiza esta traducción se llama compilador. Cada compilador se construye para un determinado lenguaje de programación (por ejemplo C); un compilador puede ser un programa independiente (como suele ser el caso de sistemas operativos como VMS, UNIX, etc.) o bien formar parte de un programa entorno integrado de desarrollo (EID). Los programas EID contienen todos los recursos que se necesitan para desarrollar y ejecutar un programa, por ejemplo, editores de texto, compiladores, enlazadores, navegadores y depuradores.
Cada lenguaje de programación tiene unas reglas especiales para la construcción de programas que se denomina sintaxis. El compilador lee el programa del archivo de texto creado anteriormente y comprueba que el programa sigue las reglas de sintaxis del lenguaje de programación.
Cuando se compila su programa, el compilador traduce el código fuente C (las sentencias del programa) en un código máquina (código objeto). El código objeto consta de instrucciones máquina e información de cómo cargar el programa en memoria antes de su ejecución. Si el compilador encuentra errores, los presentará en la pantalla. Una vez corregidos los errores con ayuda del editor se vuelve a compilar sucesivamente hasta que no se produzcan errores.
El archivo objeto contiene sólo la traducción del código fuente. Esto no es suficiente para ejecutar realmente el programa. Es necesario incluir los archivos de biblioteca (por ejemplo, en el programa area . c, stdio. h). Una biblioteca es una colección de código que ha sido programada y traducida y lista para utilizar en su programa.
El proceso de ejecución de un programa no suele funcionar la primera vez; es decir, casi siempre hay errores de sintaxis o errores en tiempo de ejecución. El proceso de detectar y corregir errores se denomina depuración o puesta u punto de u programa.
La Figura 3.6 muestra el proceso completo de puesta a punto de un programa.
Se comienza escribiendo el archivo fuente con el editor. Se compila el archivo fuente y se comprueban mensajes de errores. Se retorna al editor y se fijan los errores de sintaxis. Cuando el compilador tiene éxito, el enlazador construye el archivo ejecutable. Se ejecuta el archivo ejecutable. Si se encuentra un error, se puede activar el depurador para ejecutar sentencia a sentencia. Una vez que se encuentra la causa del error, se vuelve al editor y se repite la compilación. El proceso de compilar, enlazar y ejecutar el programa se repetirá hasta que no se produzcan errores.
· Etapas del proceso
· El código fuente (archivo del programa) se crea con la ayuda del editor de texto.
· El compilador traduce el archivo texto en un archivo objeto.
· El enlazador pone juntos a diferentes archivos objetos para poner un archivo ejecutable.
· El sistema operativo pone el archivo ejecutable en la memoria central y se ejecuta el programa.
3.4. DEPURACIÓN DE UN PROGRAMA EN C

Rara vez los programas funcionan bien la primera vez que se ejecutan. Los errores que se producen en los programas han de ser detectados, aislados (fijados) y corregidos. El proceso de encontrar errores se denomina depuración del programa. La corrección del error es probablemente la etapa más difícil, siendo la detección y aislamiento del error las tareas más difíciles.
Existen diferentes situaciones en las cuales se suelen introducir errores en un programa. Dos de las más frecuentes son:
1. Violación (no cumplimiento) de las reglas gramaticales del lenguaje de alto nivel en el que se escribe el programa.
2. Los errores en el diseño del algoritmo en el que está basado el programa.
Cuando el compilador detecta un error, visualiza un mensaje de error indicando que se ha cometido un error y la posible causa del error. Desgraciadamente los mensajes de error son difíciles de interpretar y a veces se llegan a conclusiones erróneas. También varían de un compilador a otro. A medida que se gana en experiencia, el proceso de puesta a punto de un programa se mejora considerablemente. Nuestro objetivo en cada capítulo es describir los errores que ocurren más frecuentemente y sugerir posibles causas de error, junto con reglas de estilo de escritura de programas. Desde el punto de vista conceptual existen tres tipos de errores: sintaxis, lógicos y de regresión.
3.4.1. ERRORES DE SINTAXIS

Los errores de sintaxis son aquellos que se producen cuando el programa viola la sintaxis, es decir, las reglas de gramática del lenguaje. Errores de sintaxis típicos son: escritura incorrecta de palabras reservadas, omisión de signos de puntuación (comillas, punto y coma...). Los errores de sintaxis son los más fáciles de fijar, ya que ellos son detectados y aislados por el compilador.
Estos errores se suelen detectar por el compilador durante el proceso de compilación. A medida que se produce el proceso de traducción del código fuente (por ejemplo, programa escrito en C) a lenguaje máquina de la computadora, el compilador verifica si el programa que se está traduciendo cumple las reglas de sintaxis del lenguaje. Si el programa viola alguna de estas reglas, el compilador genera un mensaje de error (o diagnóstico) que explica el problema (aparente). Algunos errores típicos (ya citados anteriormente):
• Punto y coma después de la cabecera main O.
• Omisión de punto y coma al final de una sentencia.
• Olvido de la secuencia */ para finalizar un comentario.
• Olvido de las dobles comillas al cerrar una cadena.
•Etc.
Si una sentencia tiene un error de sintaxis rio se traducirá completamente y el programa no se ejecutará. Así, por ejemplo, si una línea de programa es double radio se producirá un error ya que falta el punto y coma () después de la letra última “o”. Posteriormente se explicará el proceso de corrección por parte del programador.
3.4.2. ERRORES LÓGICOS
Un segundo tipo de error importante es el error lógico, ya que tal error representa errores del programador en el diseño del algoritmo y posterior programa. Los errores lógicos son más difíciles de encontrar y aislar ya que no suelen ser detectados por el compilador.
Suponga, por ejemplo, que una línea de un programa contiene la sentencia \
pero resulta que el tercer asterisco (operador de multiplicación) es en realidad un signo + (operador suma). El compilador no produce ningún mensaje de error de sintaxis ya que no se ha violado ninguna regla de sintaxis y, por tanto, el compilador no detecta error y el programa se compilará y ejecutará bien, aunque producirá resultados de valores incorrectos ya que la fórmula utilizada para calcular el peso contiene un error lógico.
Una vez que se ha determinado que un programa contiene un error lógico —si es que se encuentra en la primera ejecución y no pasa desapercibida al programador— encontrar el error es una de las tareas más difíciles de la programación. El depurador (debugger) es un programa de software diseñado específicamente para la detección, verificación y corrección de errores, ayudará en las tareas de depuración.
Los errores lógicos ocurren cuando un programa es la implementación de un algoritmo defectuoso. Dado que los errores lógicos normalmente no producen errores en tiempo de ejecución y no visualizan mensajes de error; son más difíciles de detectar porque el programa parece ejecutarse sin contratiempos. El único signo de un error lógico puede ser la salida incorrecta de un programa. La sentencia es una sentencia perfectamente legal en C, pero la ecuación no responde a ningún cálculo válido para obtener el total de grados centígrados en una sala.
Se pueden detectar en-ores lógicos comprobando el programa en su totalidad, comprobando su salida con los resultados previstos. Se pueden prevenir errores lógicos con un estudio minucioso y detallado del algoritmo antes de que el programa se ejecute, pero resultará fácil cometer errores lógicos y es el conocimiento de C, de las técnicas algorítmicas y la experiencia lo que permitirá la detección de los errores lógicos.
3.4.3. ERRORES DE REGRESIÓN

Los errores de regresión son aquellos que se crean accidentalmente cuando se intenta corregir un error lógico. Siempre que se corrige un error se debe comprobar totalmente la exactitud (corrección) para asegurarse que se fija el error que se está tratando y no produce otro error.
Los errores de regresión son habituales, pero son fáciles de leer y corregir. Una ley no escrita es que: «un error se ha producido, probablemente, por el último código modificado».
3.4.4. MENSAJES DE ERROR

Los compiladores emiten mensajes de error o de advertencia durante las fases de compilación, de enlace o de ejecución de un programa.
Los mensajes de error producidos durante la compilación se suelen producir, normalmente, por errores de sintaxis y suele variar según los compiladores; pero, en general, se agrupan en tres grandes bloques:
· Errores fatales. Son raros. Algunos de ellos indican un error interno del compilador. Cuando ocurre un error fatal, la compilación se detiene inmediatamente, se debe tomar la acción apropiada y a continuación se vuelve a iniciar la compilación.
· Errores de sintaxis. Son los errores típicos de sintaxis, errores de línea de órdenes y errores de acceso a memoria o disco. El compilador terminará la fase actual de compilación y se detiene.
· Advertencias (warning). No impiden la compilación. Indican condiciones que son sospechosas, pero son legítimas como parte del lenguaje.
3.5. PRUEBAS
Los errores de ejecución ocurren después que el programa se ha compilado con éxito y aún se está ejecutando. Existen ciertos errores que la computadora sólo puede detectar cuando se ejecuta el programa La mayoría de los sistemas informáticos detectarán ciertos errores en tiempo de ejecución y presentar un mensaje de error apropiado. Muchos errores en tiempo de ejecución tienen que ver con los cálculos numéricos. Por ejemplo, si la computadora intenta dividir un número por cero o leer un archivo no creado, se produce un error en tiempo de ejecución.
Es preciso tener presente que el compilador puede no emitir ningún mensaje de error durante la ejecución y eso no garantiza que el programa sea correcto. Recuerde que el compilador sólo le indica si se escribió bien sintácticamente un programa en C. No indica si el programa hace lo que realmente desea que haga. Los errores lógicos pueden aparecer —y de hecho aparecerán— por un mal diseño del algoritmo y posterior programa.
Para determinar si un programa contiene un error lógico, se debe ejecutar utilizando datos de muestra y comprobar la salida verificando su exactitud. Esta prueba (testing) se debe hacer varias veces utilizando diferentes entradas, preparadas —en el caso ideal—, por personas diferentes al programador, que puedan indicar suposiciones no evidentes en la elección de los datos (le prueba. Si cualquier combinación de entradas produce salida incorrecta, entonces el programa contiene un error lógico.
Una vez que se ha determinado que un programa contiene un error lógico, la localización del error es una (le las partes más difíciles de la programación. La ejecución se debe realizar paso a paso (seguir la traza) hasta el punto en que se observe que un valor calculado difiere del valor esperado. Para simplificar este seguimiento o traza, la mayoría de los compiladores de C proporcionan un depurador integrado’ incorporado con el editor, y todos ellos en un mismo paquete de software, que permiten al programador ejecutar realmente un programa, línea a línea, observando los efectos de la ejecución de cada línea en los valores de los objetos del programa. Una vez que se ha localizado el error, se utilizará el editor de texto para corregir dicho error.
Es preciso hacer constar que casi nunca será posible comprobar un programa para todos los posibles conjuntos de datos de prueba. Existen casos en desarrollos profesionales en los que, aparentemente, los programas han estado siendo utilizados sin problemas durante años, hasta que se utilizó una combinación específica de entradas y ésta produjo una salida incorrecta debida a un error lógico. El conjunto de datos específicos que produjo el error nunca se había introducido.
A medida que los programas crecen en tamaño y complejidad, el problema de las pruebas se convierte en un problema de dificultad cada vez más creciente. No importa cuantas pruebas se hagan:
«Las pruebas nunca se terminan, sólo se detienen y no existen garantías de que se han encontrado y corregido todos los errores de un programa>. Dijkstra ya predijo a principios de las setenta una máximas que siempre se ha de tener presente en la construcción de un programa: «Las pruebas sólo muestran la presencia de errores, no su ausencia. No se puede probar que un programa es correcto (exacto) sólo e puede mostrar que es incorrecto».

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.

viernes, 23 de enero de 2009

Diseño del Algoritmo

23-ENERO-2009

PROGRAMACIÓN DE COMPUTADORAS


En la etapa del análisis del proceso de programación se determina que hace el programa. En la etapa de diseño se determina como hace el programa la tarea solicitada. Los métodos más eficacez 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 vez estos subproblemas en otros de nivel más bajo hasta que pueda ser implementada una solución en la computadora. Este método se conoce como diseño desendente (top-down) o modular


HERRAMIENTAS DE PROGRAMACIÓN

DIAGRAMA DE FLUJO:
Es una representacion grafica de un algoritmo.
Los simbolos del diagrama de flujo son:
























TAREA PARA LUNES
REALIZAR UN ALGORITMO QUE CALCULE EL AREA DE UN RECTANGULO DADA LA BASE Y LA ALTURA DE ACUERDO A LA FORMULA A=B*H

INICIO
LEER
IMPRIMIR
FIN
PAGINA 46


































lunes, 19 de enero de 2009

Lenguajes de Programación

Programación de Computadoras 19-Enero-2009

1. Qué es un Lenguaje de Programación?
Se utiliza para escribir programas, constan de secuencias de instrucciones que se codifican con
dígitos muméricos, a este se le conoce como lenguaje máquina.

2. Clasificación de los Lenguajes de Programación?
* alto nivel: Pascal, FORTRAN, Visual Basic, C, Ada, Modula-2, C++, Java, Delphi, C#, etc.
* bajo nivel: Ensamblador.
* máquina: Código máquina.
* diseño de Web: SMGL, HTML, XML, PHP.....

3. Qué son los Paradigmas de Programación?
solucion a problemas y por consiguiente afectan al proceso completo de desarrollo de software
4. Un resumen de la Historia del Lenguaje C
C es un lenguaje de programación que contiene excelentes características como lenguaje de
programación y lenguaje profesional de propósito general; básicamente es un entorno de programación con editor y compilador incorporado.

5. Los herederos del Lenguaje de Programación
C++, JAVA, C #

viernes, 16 de enero de 2009

Bienvenidos a Mi Blog

NOTAS CLASE 16-Enero-2009

Llegamos temprano y nuestra clase se trato de crear un blog, con la finalidad de que publiquemos nuestros apuntes de clase, tareas, programas, etc.

Esperemos que al realizar este trabajo nos de varios puntos y los tome encuenta.