Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Temas de Examen

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

1 UCE Sede Santo Domingo

BORLAND C++ PARA WINDOWS

TUTOR: Ing. Silvio A. Machuca Vivar. 1.1 Introduccin


La computadora no solamente es una mquina que puede realizar procesos para darnos resultados, sin que tengamos la nocin exacta de las operaciones que realiza para llegar a esos resultados. Con la computadora adems de lo anterior tambin podemos disear soluciones a la medida, de problemas especficos que se nos presenten. Ms aun, si estos involucran operaciones matemticas complejas y/o repetitivas, o requieren del manejo de un volumen muy grande de datos. El diseo de soluciones a la medida de nuestros problemas, requiere como en otras disciplinas una metodologa que nos ensee de manera gradual, la forma de llegar a estas soluciones. A las soluciones creadas por computadora se les conoce como programas y no son ms que una serie de operaciones que realiza la computadora para llegar a un resultado, con un grupo de datos especficos. Lo anterior nos lleva al razonamiento de que un programa nos sirve para solucionar un problema especfico. Para poder realizar programas, adems de conocer la metodologa mencionada, tambin debemos de conocer, de manera especfica las funciones que puede realizar la computadora y las formas en que se pueden manejar los elementos que hay en la misma. Computadora: Es un dispositivo electrnico utilizado para procesar informacin y obtener resultados. Los datos y la informacin se pueden introducir en la computadora como entrada (input) y a continuacin se procesan para producir una salida (output). Proceso de informacin en la computadora Datos de entrada Proceso Datos de salida

Programa: Es el conjunto de instrucciones escritas de algn lenguaje de programacin y que ejecutadas secuencialmente resuelven un problema especifico. Organizacin fsica de una computadora
CPU Dispositivos de Entrada Unida de Control Unidad Arit.-Log. Memoria Dispositivos de Salida

2 UCE Sede Santo Domingo

1.2 Definicin de Lenguaje


Lenguaje: Es una serie de smbolos que sirven para transmitir uno o ms mensajes (ideas) entre dos entidades diferentes. A la transmisin de mensajes se le conoce comnmente como comunicacin. La comunicacin es un proceso complejo que requiere una serie de reglas simples, pero indispensables para poderse llevar a cabo. Las dos principales son las siguientes: Los mensajes deben correr en un sentido a la vez. Debe forzosamente existir 4 elementos: Emisor, Receptor, Medio de Comunicacin y Mensaje. Lenguajes de Programacin Es un conjunto de smbolos, caracteres y reglas (programas) que les permiten a las personas comunicarse con la computadora. Los lenguajes de programacin tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada / salida, calculo, manipulacin de textos, lgica / comparacin y almacenamiento/recuperacin. Los lenguajes de programacin se clasifican en: Lenguaje Maquina: Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traduccin posterior para que la CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en trminos de la unidad de memoria ms pequea el bit (dgito binario 0 o 1). Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se escriben en cdigos alfabticos conocidos como mnemotcnicos para las operaciones y direcciones simblicas. Lenguaje de Alto Nivel: Los lenguajes de programacin de alto nivel (BASIC, pascal, cobol, fortran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensin del programa.

Generaciones de lenguajes de programacin


Los lenguajes se suelen clasificarse en cinco generaciones, de las que las tres primeras son evidentes, mientras no todo el mundo est de acuerdo en las otras dos. Estas generaciones no coincidieron exactamente en el tiempo con las de hardware, pero s de forma aproximada, y son las siguientes: Primera generacin: Los primeros ordenadores se programaban directamente en cdigo binario, que puede representarse mediante secuencias de ceros y unos sistema binario. Cada modelo de ordenador tiene su propio cdigo, por esa razn se llama lenguaje de mquina. Segunda generacin: Los lenguajes simblicos, asimismo propios de la mquina, simplifican la escritura de las instrucciones y las hacen ms legibles.

3 UCE Sede Santo Domingo Tercera generacin: Los lenguajes de alto nivel sustituyen las instrucciones simblicas por cdigos independientes de la mquina, parecidas al lenguaje humano o al de las Matemticas. Cuarta generacin: se ha dado este nombre a ciertas herramientas que permiten construir aplicaciones sencillas combinando piezas prefabricadas. Hoy se piensa que estas herramientas no son, propiamente hablando, lenguajes. Algunos proponen reservar el nombre de cuarta generacin para la programacin orientada a objetos. Quinta generacin: se llama as a veces a los lenguajes de la inteligencia artificial, aunque con el fracaso del proyecto japons de la quinta generacin el nombre ha cado en desuso.

Cdigo de ensamble

Ensamblador cdigo de Objeto

1.3Definicin de Algoritmo
La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especfico.

1.4 Tipos de Algoritmos


Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del proceso.

4 UCE Sede Santo Domingo

1.5 Lenguajes Algortmicos


Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. Tipos de Lenguajes Algortmicos Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Grficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

1.6 Metodologa para la solucin de problemas por medio de computadora 1.7 Definicin del Problema
Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

1.8 Anlisis del Problema


Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cual es la informacin que se desea producir (salida) Los mtodos y frmulas que se necesitan para procesar los datos. Una recomendacin muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.

1.9 Diseo del Algoritmo


Las caractersticas de un buen algoritmo son: Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la definicin del problema. Debe ser finito en tamao y tiempo de ejecucin.

1.10 Codificacin
La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica del diagrama de flujo o pseudocodigo), en una serie de instrucciones detalladas, en un cdigo reconocible por la computadora, la serie de instrucciones detalladas se le conoce como cdigo fuente, el cual se escribe en un lenguaje de programacin o lenguaje de alto nivel.

5 UCE Sede Santo Domingo

1.11 Prueba y Depuracin


Los errores humanos dentro de la programacin de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solucin sin errores se le llama depuracin. La depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo de la solucin, por ello se debe considerar con el mismo inters y entusiasmo. Resulta conveniente observar los siguientes principios al realizar una depuracin, ya que de este trabajo depende el xito de nuestra solucin.

1.12 Documentacin
Es la gua o comunicacin escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentacin sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). La documentacin se divide en tres partes: Documentacin Interna Documentacin Externa Manual del Usuario Documentacin Interna: Son los comentarios o mensaje que se aaden al cdigo fuente para hacer ms claro el entendimiento de un proceso. Documentacin Externa: Se define en un documento escrito los siguientes puntos: Descripcin del Problema Nombre del Autor Algoritmo (diagrama de flujo o pseudocodigo) Diccionario de Datos Cdigo Fuente (programa) Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado.

1.13 Mantenimiento
Se lleva a cabo despus de terminado el programa, cuando se detecta que es necesario hacer algn cambio, ajuste o complementacin al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.

2. TCNICAS PARA LA FORMULACIN DE ALGORITMOS


4.1 Diagrama de flujo 4.2 Pseudocodigo 4.3 Diagrama estructurado (nassi-schneiderman)

6 UCE Sede Santo Domingo Las dos herramientas utilizadas comnmente para disear algoritmos son: Diagrama de Flujo Pseuducodigo

2.1 Diagrama de Flujo


Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir que es la representacin detallada en forma grfica de como deben realizarse los pasos en la computadora para producir resultados. Esta representacin grfica se da cuando varios smbolos (que indican diferentes procesos en la computadora), se relacionan entre s mediante lneas que indican el orden en que se deben ejecutar los procesos. Los smbolos utilizados han sido normalizados por el instituto norteamericano de normalizacin (ANSI). SMBOLO Indica el inicio y el final de nuestro diagrama de flujo. DESCRIPCIN Indica la salida de informacin por impresora. Indica la salida de informacin en la pantalla o monitor. Lneas de flujo o direccin. Indican la secuencia en que se realizan las operaciones. Transmisin de datos a distancia va telefnica, radio frecuencia o microondas. Repeticin o iteracin. Lectura / escritura de datos en un disco duro. Entrada / Salida de datos de un almacenamiento magntico en lnea. Lectura / escritura de datos en un cd /rom

Indica la entrada y salida de datos por teclado. Smbolo de proceso y nos indica la asignacin de un valor en la memoria y/o la ejecucin de una operacin aritmtica. Smbolo de decisin indica la realizacin de una compracin de valores

Se utiliza para representar los subprogramas. Conector dentro de pgina. Representa la continuidad del diagrama dentro de la Misma pgina. Conector fuera de pgina. Representa la continuidad del diagrama en otra pgina. Lectura / escritura de dato en un diskette

7 UCE Sede Santo Domingo Lectura de datos desde un escner Y lgico

O lgico.

Multidocumento.

Recomendaciones para el diseo de Diagramas de Flujo Se deben usar solamente lneas de flujo horizontal y/o vertical. Se debe evitar el cruce de lneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar lneas de flujo son conectar. Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de muchas palabras.

2.2 Pseudocodigo
Mezcla de lenguaje de programacin y espaol (o ingles o cualquier otro idioma) que se emplea, dentro de la programacin estructurada, para realizar el diseo de un programa. En esencial, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin a un problema determinado. El pseudocodigo utiliza palabras que indican el proceso a realizar. Ventajas de utilizar un Pseudocodigo a un Diagrama de Flujo Ocupa menos espacio en una hoja de papel Permite representar en forma fcil operaciones repetitivas complejas Es muy fcil pasar de pseudocodigo a un programa en algn lenguaje de programacin. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operacin.

2.3 Diagramas estructurados (Nassi-Schneiderman)


El diagrama estructurado N-S tambin conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la sig. forma: Inicio Accion1 Accion2 ... Fin

8 UCE Sede Santo Domingo Inicio Leer Nombre,Hrs,Precio Calcular Salario = Hrs * Precio Calcular Imp = Salario* 0.15 Calcular Neto = Salario + Imp Escribir Nombre, Imp, SNeto Fin

3. Introduccin a la Programacin en C
Evolucin histrica del lenguaje C A mediados de los aos 60s, Martin Richards dise el lenguaje BCPL con la finalidad de usarlo para escribir software de sistemas operativos y compiladores. En 1969, Ken Thompson escribi el Lenguaje B, en Bell Laboratories, con el objetivo de recodificar UNIX (escrito hasta ese momento en lenguaje ensamblador) usando un lenguaje de alto nivel ms portable y flexible. Durante los siguientes aos, Dennis Ritchie modific el lenguaje B, llegando a crear el lenguaje C y reescribiendo el sistema UNIX en dicho lenguaje; aadi caractersticas nuevas, como son el diseo de tipos y las estructuras de datos. En 1978, Dennis Ritchie y Brian Kernighan publicaron la primera edicin del libro El lenguaje de programacin C. Este libro fue durante aos la especificacin informal del lenguaje. El lenguaje descrito en la primera edicin de este libro, fue conocido como "el C de Kernighan y Ritchie" o simplemente "K&R C". En este libro se introdujeron nuevas caractersticas al lenguaje: los tipo de datos struct, long int y unsigned int; los operadores =+ y =- fueron sustituidos por += y -=. A mediados de los aos 80, Bjarne Stroustrup (tambin de los laboratorios Bell), crea el lenguaje C++, un lenguaje basado en C, con numerosas caractersticas adicionales, siendo la principial que est orientado a objetos. Si bien se han creado muchos lenguajes basados en C, C++ es el que ha permanecido ms asociado a C. En los aos siguientes a la publicacin del C de Kernighan y Ritchie, se aadieron al lenguaje muchas caractersticas no oficiales, que estaban presentes en algunos compiladores y no en otros. Fue por ello que en 1989 ANSI (American National Standards Institute) public el primer estndar oficial de C, que es conocido como ANSI C. En este estndar se tomaron muchas de las funcionalidades no oficiales y se agregaron funcionalidades nuevas como los prototipos de funcin, y un preprocesador mejorado. Tambin se cambi la sintaxis de la declaracin de parmetros de funciones, para que incluyeran el tipo junto con el nombre.

9 UCE Sede Santo Domingo Al ao siguiente, en 1990 se public la estandarizacin ISO del lenguaje. Este estndar es bsicamente el estndar ANSI, con unas pocas modificaciones de formato. A este estndar se lo conoce, entonces, como C89, o C90, y se trata del mismo lenguaje. Basndose en el estndar ANSI que estaba en preparacin, en 1988 Kernighan y Ritchie publicaron la segunda edicin de su libro, que es an hoy utilizada como una de las referencias principales del lenguaje. Durante los siguientes aos, el lenguaje C permaneci sin demasiados cambios. Sin embargo, como haba sucedido antes, los distintos compiladores fueron incorporando caractersticas adicionales, que otros compiladores no tenan, siendo C++ la principal influencia. Fue por ello que a finales de los noventa se decidi revisar el estndar de C, lo que llev a la publicacin del estndar C99. Este estndar incluye varias nuevas caractersticas como son: las funciones inline; la posibilidad de declarar variables en cualquier parte del cdigo; los comentarios de una sola lnea utilizando //; los tipos de datos long long int, bool y complex, entre otras. An hoy el proceso de evolucin del lenguaje sigue avanzando, y desde 2007 se est trabajando en el armado de un nuevo estndar. BORLAND Borland Software Corporation (anteriormente Borland International, Inc.) es una compaa de software, ubicada en Austin, Texas, Estados Unidos. Fue fundada en 1983 por Niels Jensen, Ole Henriksen, Mogens Glad y Philippe Kahn. Borland naci en 1983 cuando el joven dans Anders Hejlsberg lleg a un acuerdo con Philip Khan para vender el compilador de Pascal que Anders haba creado para ordenadores personales. Turbo Pascal fue un compilador con un concepto de "entorno", revolucionario en aquella poca. Costaba unos 50 dlares estadounidenses y tena unas posibilidades excepcionales en la poca: inclua extensiones que eliminaban todos los inconvenientes que provocaron el ensayo de Brian Kernighan Por qu Pascal no es mi lenguaje preferido. Especialmente todas las limitaciones al acceso directo a memoria y a la mquina (ensamblador integrado). Borland sac ms tarde compiladores para otros lenguajes como Prolog (Turbo Prolog) y Basic (Turbo BASIC). Pero el ms popular y que arraig fue el del lenguaje de programacin C, Turbo C. En competencia con Microsoft, Borland lleg a colocarse en los primeros puestos en el sector de compiladores. Perdi ese lugar antes de salir Windows 95. La versin para Windows de Turbo Pascal era considerada un buen producto. Pero la programacin para Windows peda a gritos un entorno ms cmodo. Mientras tanto, Microsoft se estaba comiendo el mercado con Visual Basic. Cuando Delphi sali en la primavera del ao 1995, ya haba perdido mucho terreno. As como Delphi surge como la evolucin para MS Windows del Turbo Pascal, otro tanto sucedi con el Turbo C que dio lugar al C++Builder. La compaa tambin lanz JBuilder, un IDE Java (1996).

10 UCE Sede Santo Domingo Varios productos de Borland estn tambin disponibles para GNU/Linux, entre ellos Interbase, JBuilder y Kylix que integraba Delphi y C++Builder (aunque Kylix fue abandonado tras la versin 3.0). En septiembre de 2006 se relanz la gama de productos Turbo (Turbo C++, Turbo C#, Turbo Delphi), como versiones reducidas de sus herramientas estrella (Delphi, C++Builder) para Windows

Creador: Dennis Ritchie (Laboratorios Bell) el 1972, cuando trabajaba junto con Ken Thompson en el diseo del sistema operativo UNIX. El C se cre como herramienta para programadores, en consecuencia su principal objetivo es ser un lenguaje til. Caractersticas: El C es un lenguaje de programacin de alto nivel (alto nivel quiere decir prximo al lenguaje humano), pero con caractersticas de bajo nivel (bajo nivel= prximo al lenguaje mquina). Es de ALTO NIVEL porque es racional, estructurado y fcil de aprender. Es de BAJO NIVEL porque permite trabajar con bits, registros de la C.P.U. y posiciones de memoria.

Porqu el C? El lenguaje C es poderoso y flexible: la mayor parte del sistema operativo UNIX est escrito en C. Incluso estn escritos en C los compiladores e intrpretes de otros lenguajes, como FORTRAN, APL, PASCAL, LISP, LOGO y BASIC. El lenguaje C es amistoso porque es lo suficientemente estructurado para ejercer buenos hbitos de programacin. Es el lenguaje de programacin ms utilizado por el programador de sistemas. Estructura de un programa en C: El C es un lenguaje compilado, vamos a ver que es esto grficamente:

CDIGO FUENTE

COMPILAR

CDIGO OBJETO

LINKAR

PROGRAMA EJECUTABLE

CDIGO FUENTE: es el programa que nosotros escribimos, se graba con la extensin CPP CDIGO OBJETO: es el programa fuente pero traducido a lenguaje mquina (sucesin de ceros y unos), se graba con la extensin OBJ

11 UCE Sede Santo Domingo PROGRAMA EJECUTABLE: es el programa objeto ms las libreras del C, se graba con la extensin EXE. Y no necesita el programa que hemos utilizado para crearlo, para poder ejecutarlo. El cdigo Objeto que genera un compilador de C, es casi tan eficiente (rpido) como si lo hubiramos escrito en lenguaje ENSAMBLADOR (lenguaje de programacin ms prximo al lenguaje mquina). ES UN LENGUAJE PARA PROGRAMADORES Algunos otros lenguajes estn hechos para no-programadores (BASIC, COBOL, ...) El lenguaje C est influenciado, diseado y probado por programadores profesionales. Proporciona: Una visin prxima a la mquina Pocas restricciones Pocas pegas Conjunto reducido de palabras clave Estructuracin en bloques Funciones independientes Recursos para el encapsulamiento de datos Permite alcanzar casi la eficiencia del cdigo ensamblador, junto con la estructuracin propia de lenguajes como ALGOL, MODULA-2. Se dise para la programacin de sistemas Los programas son muy transportables Actualmente se usa para otros propsitos

INTRODUCCIN ESTRUCTURA Y FORMATO DEL PROGRAMA.


Todos los programas en C consisten en una o ms funciones, la nica funcin que debe estr siempre presente es la denominada main() ( tcnicamente main() no forma parte del lenguaje C ), siendo la primera funcin que se llama cuando comienza la ejecucin del programa, y ella puede a sus vez llamar a otras funciones. Sin embargo, hay funciones de tipo vaco lo que significa que ellas no retornan valores. Para que un programa en C est bien escrito, la funcin main() contiene un esbozo de lo que el programa hace, es decir, est compuesto por las llamadas a otras funciones, las cuales realizan una tarea especfica del programa. La estructura de un programa en C es la siguiente: <comandos de preprocesador> <definicin de tipos> <Variables globales> <funciones> void main() { <Variables locales> sentencias;

12 UCE Sede Santo Domingo } Cada funcin tiene la siguiente estructura: <tipo> Nombre de la funcin(<Declaraciones de parmetros>) { <Declaraciones locales> <sentencias> } Una funcin consta de encabezamiento y un cuerpo: Encabezamiento. Contiene cualquier tipo de dato que tomar la funcin, el nombre de la funcin, y entre parntesis la declaracin de los parmetros, si existieran. Cuerpo. Est delimitado por las llaves, {}, que indican el bloque de cdigo y consiste en un grupo de sentencias, cada una de las cuales termina en punto y coma. Una funcin se identifica cuando un nombre va seguido de parntesis, dentro de los cuales puede o no haber parmetros. Los programas se construyen con: Comentarios. Ordenes para el preprocesador de macros. Definiciones de funciones. Expresiones formadas con constantes, variables, funciones y operadores. Sentencias. LOS COMENTARIOS Son lneas que ignora el compilador pero sirven para documentar los programas: Empiezan con: /* terminan con: */ pueden abarcar varias lneas, no se pueden anidar /* ej1.c Indica el menor de dos enteros ledos */ ... ... ... scanf("%d%d", &n1, &n2); /* aqu se leen dos valores enteros */ ... ...

13 UCE Sede Santo Domingo

También podría gustarte