Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o...

30

Transcript of Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o...

Page 1: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa
Page 2: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

_ 1

1

-

-11

1

1 _

-

1-1

Page 3: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Informática

Bogotá - México, DF

Efraín Oviedo Regino

C++ Soportado con Qt

Page 4: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Área: InformáticaPrimera edición: Bogotá, Colombia, abril de 2018ISBN. 978-958-762-765-7

© Efraín Oviedo Regino(Foros de discusión, blog del libro y materiales complementarios del autor

en www.edicionesdelau.com)© Ediciones de la U - Carrera 27 #27-43 - Tel. (+57-1) 3203510 - 3203499

www.edicionesdelau.com - E-mail: [email protected]á, Colombia

Ediciones de la U es una empresa editorial que, con una visión moderna y estratégica de las tecnologías, desarrolla, promueve, distribuye y comercializa contenidos, herramientas de formación, libros técnicos y profesionales, e-books, e-learning o aprendizaje en línea, realizados por autores con amplia experiencia en las diferentes áreas profesionales e investigativas, para brindar a nuestros usuarios soluciones útiles y prácticas que contribuyan al dominio de sus campos de trabajo y a su mejor desempeño en un mundo global, cambiante y cada vez más competitivo.

Coordinación editorial: Adriana Gutiérrez M.Carátula: Ediciones de la UImpresión: Xpress Estudio Gráfico y Digital S.A.Carrera 69H #77-40, Pbx. (57+1) 6020808

Impreso y hecho en ColombiaPrinted and made in Colombia

No está permitida la reproducción total o parcial de este libro, ni su tratamiento informático, ni la transmisión de ninguna forma o por cualquier medio, ya sea electrónico, mecánico, por fotocopia, por registro y otros medios, sin el permiso previo y por escrito de los titulares del Copyright.

Oviedo Regino, Efraín

C++ bajo Qt / Efraín Oviedo Regino -- 1a. Edición. Bogotá : Ediciones de la U, 2018

p.364 ; 24 cm.Incluye bibliografíaISBN 978-958-762-765-7 e-ISBN 978-958-762-766-4

1. Programación 2. Informática 3. Orientación a objetos 4. Estructuras decontrol

621.39 cd

Page 5: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

5

Dedicatoria

A Mathias y Juan Manuel Oviedo, que serán los hombres del mañana y con seguridad heredarán mi legado.

Page 6: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa
Page 7: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

7

Contenido

Dedicatoria ............................................................................................................... 5

Presentación ...........................................................................................................11

Capítulo1. Introducción .......................................................................................13

1.1. Definición de un computador ..................................................................................131.2. Clasificación de los computadores .........................................................................14

1.2.1. De acuerdo con el avance tecnológico ...................................................141.2.2. Según el tipo de información que maneja ............................................15

1.3. El computador digital ..................................................................................................151.3.1. La unidad de entrada ....................................................................................161.3.2. La unidad de salida .......................................................................................181.3.3. Unidad de control ...........................................................................................181.3.4. Unidad aritmética y lógica ...........................................................................191.3.5. Unidad de memoria ........................................................................................19

1.4. Tipos de procesamiento ..............................................................................................211.5. Elaboración de programas para computador .....................................................221.6. Terminología básica ......................................................................................................262. Lenguaje de programación ...........................................................................................302.1. C++ .............................................................................................................................312.2. Entorno de desarrollo integrado (IDE) ...................................................................322.3. Qt creator .........................................................................................................................32

2.3.1. Qt Creator Ambiente de Desarrollo y creación de proyectos ..........333. Aspectos básicos de C++ ...............................................................................................353.1. Librerías ............................................................................................................................363.2. Palabras reservadas ......................................................................................................393.3. Definición de variables ................................................................................................403.4. Tipos de datos .................................................................................................................413.5. Comentarios ....................................................................................................................423.6. Estructura básica del código .....................................................................................433.7. Estructuras de control de la programación .........................................................434. Ejercicios propuestos .......................................................................................................43

Page 8: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

C++ - Efrain Oviedo Regino

8

Capítulo 2. Estructura de control secuencial ....................................................45

2.1. Representación o formato Ejemplo ........................................................................452.2. Instrucción de asignación ..........................................................................................46

2.2.1. La expresión .......................................................................................................462.3. Instrucción de entrada de datos ..............................................................................502.4. Instrucción de salida de datos ..................................................................................512.5. Otros Operadores de asignación .............................................................................562.6. Aspectos para tener en cuenta.................................................................................582.7. Ejercicios propuestos ...................................................................................................59

Capítulo 3. Estructuras de control selectivas ...................................................61

3.1. Estructura de decisión lógica ....................................................................................613.1.1. Decisión lógica simple ...................................................................................623.1.2. Decisión doble ..................................................................................................653.1.3. Decisiones compuesta o anidadas ............................................................66

3.2. Selección múltiple o estructura caso ....................................................................783.3. Aspectos para tener en cuenta.................................................................................813.4. Ejercicios propuestos ...................................................................................................82

Capítulo 4. Estructuras de Control Repetitivas ................................................85

4.1. Instrucción while ...........................................................................................................864.1.1. Representación .................................................................................................864.1.2. Funcionamiento ...............................................................................................874.1.3. Variables tipo contador ..................................................................................874.1.4. Variables tipo acumulador ............................................................................874.1.5. Esquema cuantitativo.....................................................................................904.1.6. Esquema cualitativo ..................................................................................... 1004.1.7. Variables tipo bandera o switches .......................................................... 1094.1.8. Ruptura de ciclos ........................................................................................... 111

4.2. Estructura de control for .......................................................................................... 1164.2.1. Formato ............................................................................................................ 1174.2.2. Funcionamiento ............................................................................................ 117

4.3. Estructura de control do-while .............................................................................. 1244.3.1. Formato ............................................................................................................ 1244.3.2. Funcionamiento ............................................................................................ 125

4.4. Aspectos para tener en cuenta.............................................................................. 1304.5. Ejercicios propuestos ................................................................................................ 131

Capítulo 5. Métodos ............................................................................................139

5.1. Clasificación según la forma en que se invoca el método ........................... 140

Page 9: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Contenido

9

5.2. Invocación de métodos............................................................................................ 1405.3. Parámetros: comunicación entre métodos ....................................................... 142

5.3.1. Parámetros de recibo .................................................................................. 1425.3.2. Parámetros de envío .................................................................................... 142

5.4. Clases de métodos según el retorno ................................................................... 1425.4.1. Métodos que no retornan o funciones tipo void .............................. 1435.4.2. Tipos de métodos que retornan. ............................................................. 155

5.5. Ejercicios propuestos ................................................................................................ 162

Capítulo 6. Orientación a objetos .....................................................................163

6.1. Definición de clase y objeto ................................................................................... 1636.2. Propiedades de la programación orientada a objetos ................................. 1666.3. Abstracción ................................................................................................................... 1666.4. Encapsulamiento y ocultamiento de la información .................................... 1686.5. Especificadores o modificadores de acceso ..................................................... 1686.6. Formato de una clase ................................................................................................ 1706.7. Constructores y destructores ................................................................................. 1716.8. Creación de objetos................................................................................................... 1736.9. Definición del método principal ........................................................................... 1746.10. Pasos para solucionar un problema mediante POO ........................................ 1776.11. Métodos accesores .................................................................................................. 1816.12. Sobrecarga de métodos ....................................................................................... 1946.13. Herencia y reutilización ......................................................................................... 197

6.13.1. Tipos de herencia........................................................................................ 2046.14. Polimorfismo ............................................................................................................. 2056.15. Otros modificadores de acceso .......................................................................... 2076.16. Clases abstractas ...................................................................................................... 2076.17. Aspectos para tener en cuenta ........................................................................... 2146.18. Ejercicios propuestos .............................................................................................. 215

Capítulo 7. Arreglos ............................................................................................223

7.1. Arreglos de una dimensión o vectores ............................................................... 2247.1.1. Lectura de un vector .................................................................................... 2267.1.2. Imprimir los elementos de un vector que contenga n elementos ................................................................................... 2277.1.3. Búsqueda secuencial ................................................................................... 2307.1.4. Ordenamiento ................................................................................................ 2307.1.5. Búsqueda binaria .......................................................................................... 2347.1.6. Inserción ........................................................................................................... 2347.1.7. Borrado ............................................................................................................. 235

7.2. Arreglo de objetos ..................................................................................................... 253

Page 10: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

C++ - Efrain Oviedo Regino

10

7.3. Arreglos de dos dimensiones o matrices ........................................................... 2607.3.1. Clases de matrices ........................................................................................ 2627.3.2. Principales operaciones con matrices ................................................... 265

7.4. Arreglos multidimensionales ................................................................................. 2877.5. Aspectos para tener en cuenta.............................................................................. 2937.6. Ejercicios propuestos ................................................................................................ 294

Capítulo 8. Introducción a Qt Framework .......................................................299

8.1. Qt SDK .......................................................................................................................... 3008.1.1. Qt Essentials .................................................................................................... 301

Capítulo 9. Creación de aplicaciones gráficas ................................................305

9.1. Crear un proyecto....................................................................................................... 3059.2. Introducción al ambiente de desarrollo y algunos componentes ......................................................................................... 3089.3. Jerarquía de herencia en Qt Framework ............................................................ 312

9.3.1. QApplication ................................................................................................... 3129.3.2. QFrame ............................................................................................................ 312

9.4. Componentes Gráficos mecanismo de control Base ..................................... 3139.4.1. QLabel (Etiquetas ó labels) ........................................................................ 3139.4.2. Eventos ............................................................................................................. 3159.4.3. Main Window ................................................................................................. 3199.4.4. QButtons (Botones) ...................................................................................... 3239.4.5. Distribución de los elementos gráficos .............................................. 3279.4.6. Diálogos y ventanas Modales .................................................................. 3299.4.7. Cajas de Texto ................................................................................................. 332

9.5. Qt para Android .......................................................................................................... 3519.5.1. Componentes esenciales ........................................................................... 3519.5.2. Herramientas de desarrollo de software (SDK) .................................. 3539.5.3. Ejecutar una aplicación ............................................................................... 354

Índice temático ....................................................................................................359

Bibliografía ...........................................................................................................363

Page 11: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

11

Presentación

Este texto se escribe, para ayudar a personas que necesitan asesoría específica en el desarrollo de alguna aplicación o actividad: como estudiante, profesional o cualquier persona interesada en este tema. De esta manera, el texto está dirigi-do a cualquier público en general.

De C++ se ha hablado y escrito mucho; son variados la cantidad de textos sobre el tema..¿por qué escribir más?. Si usted amigo lector, mira con cuidado, mu-chos de ellos están casados con un sistema operativo en particular. Se oye decir C++ bajo Windows, Linux, etc. Esta es la diferencia de este texto. Los programas construidos se han escrito con mucho cuidado; de tal manera que, no importa mucho el sistema operativo no es predomínate. Puede usted ejecutarlos en sis-temas operativos como: Linux, Unix, Windows, Mac os, inclusive Android.

El texto explica la programación estructurada y objetual de una manera natural, partiendo de lo más sencillo hacia lo más complejo, incrementando el nivel de complejidad en cada capítulo que se avance.

El libro es entonces de carácter práctico, enriquecido con la experiencia como docente universitario de este tema por varios años. El contenido no supone -de ninguna manera- tener algún conocimiento anterior sobre programación, ya que, en forma didáctica, va guiando al lector, incluso partiendo desde la definición de lo que es un lenguaje de programación y las facilidades que brinda C++ para programar, cómo puede instalarse y las ventajas sobre otras versiones de C++.

El lector encontrará todas las formas de representación de las instrucciones con formatos explicados de forma sencilla y las estructuras de representación de da-tos tanto en memoria como en medios externos.

El autor deja a disposición de los lectores la página web http://ingenieria.udea.edu.co/~eoviedo, donde encontrará los ejercicios resueltos codificados en C++.

Por último, el lector podrá resolver sus inquietudes, escribiendo a mis correos: [email protected] o [email protected].

El autor.

Page 12: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa
Page 13: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

13

Capítulo 1

Introducción

Antes de entrar en detalle sobre la programación utilizando el lenguaje C++, miremos algunas definiciones que debemos tener en cuenta, cuando elabora-mos un programa en cualquier lenguaje. De igual manera, como necesitamos un computador, para entrar el programa y ejecutarlo, también necesitamos conocer algo de él.

1.1. Definición de un computador

Un computador es una máquina capaz de efectuar una secuencia de operacio-nes mediante un programa apropiado, de tal manera que se haga una trans-formación (proceso) sobre un conjunto de datos que le son suministrados y se obtenga un nuevo conjunto de datos, llamados resultados. Todo esto lo hace con alta velocidad y gran capacidad de almacenamiento. Los computadores pueden hacer muchas tareas, entre ellas las siguientes:

• Proveer a los médicos información actualizada sobre la salud del paciente.

• Preparar gráficas de patrones climatológicos y producir planes de vuelode acuerdo con las condiciones climatológicas.

• Prestar ayuda en la oceanografía y la navegación.

• Registrar marcas y evaluar estadísticas de competencias deportivas.

• Prestar ayuda a los ingenieros en los cálculos.

• Controlar simuladores de vuelo para dar al piloto un entrenamiento ini-cial en tierra.

• Coordinar el funcionamiento de los semáforos para que el tránsito nosufra interrupciones.

Page 14: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

14

C++ - Efrain Oviedo Regino

• Verificar la cantidad de dinero depositado en una cuenta. Un empleadodel banco habla con un computador a través del teléfono.

• Proveer información sobre los productos en el mercado.

1.2. Clasificación de los computadores

1.2.1. De acuerdo con el avance tecnológico

Se pueden establecer categorías de computadores, así:

• Primera generación, comprendida entre 1945 y 1958. Son los primeros com-putadores que se construyen y están caracterizados por utilizar tubos alvacío en los componentes básicos de sus circuitos. El ENIAC (ElectronicNumerical Integrator and Computer), es considerado como el primercomputador electrónico de propósito general, creado en 1946 por JohnPresper Eckert y Jhon William Mauchly.

• Segunda generación, comprendida entre 1959 y 1964). En esta generaciónlos tubos al vacío son sustituidos por transistores; la memoria estabaconstituida por tubos magnéticos; se usaban en aplicaciones de tipo mi-litar, comercial, científico y utilizaban disco magnético.

• Tercera generación, comprendida entre 1965 y 1970. Los computadoresse caracterizaban por utilizar en sus componentes circuitos integradosmonolíticos. En esta época se le adicionan equipos auxiliares, tales comoterminales interactivas.

• Cuarta generación, comprendida entre 1971 y 1981. Caracterizada por laincorporación de miles de componentes a los computadores, integradosen espacios sumamente pequeños. Se crean técnicas para manejar volú-menes grandes de información y se usan computadores remotos en ope-ración con un computador central mediante la telecomunicación, dandolugar a la telemática. Se popularizan los lenguajes de programación detipo interactivo, las máquinas virtuales y los manipuladores de datos.

• Quinta generación, comprendida entre 1982 y 1989. En esta época se intro-duce el uso de la memoria de burbuja magnética y la técnica holográficacon rayos láser; se mejoran las técnicas de comunicación con el procesa-dor central en forma conversacional o interactiva y los lenguajes cada vezson más humanos, inclusive la voz.

• Sexta generación, incluye los computadores construidos de 1990 en ade-lante. Estas máquinas, creadas cuentan con arquitecturas combinadas

Page 15: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Cap. 1 - Introducción

15

paralelo-vectoriales, cientos de microprocesadores en funcionamiento y unidades aritméticas y lógicas capaces de realizar un billón de operacio-nes de punto flotante por segundo, utilizando el desarrollo de las redes de comunicación, la fibra óptica y satélites con anchos de banda exor-bitantes. Las tecnologías de esta generación (algunas ya desarrolladas y otras en proceso) tienen en común el avance en la inteligencia artificial distribuida, sistemas difusos, teoría del caos, transistores ópticos y helio-grafía, elementos que les permiten comunicarse con los computadores en un lenguaje más cotidiano y no a través de lenguajes de control.

1.2.2. Según el tipo de información que maneja

Una computador, éstos se pueden clasificar en:

• Computadores digitales. Son aquellas que procesan datos discretos. Traba-jan directamente contando números (dígitos) que representan cifras, le-tras u otros símbolos especiales. Los computadores digitales pueden ser:

� De propósitos generales. Son utilizados para almacenar diferentesprogramas y pueden ser usados en incontables aplicaciones. Porejemplo, una máquina que procese información y luego, que escriba nuevos programas y cambie o borre los anteriores.

� De propósitos especiales. Diseñados para realizar sólo una tarea espe-cífica, ya que los programas están permanentemente almacenadosen la máquina.

• Computadores analógicos. Procesan datos que están medidos en unaescala continua y registrados, con un determinado grado de precisión.Por ejemplo, el voltaje que puede ser medido con aproximación de uncentésimo de voltio.

• Computadores híbridas (analógico digitales). Son una combinación de lasdos anteriores. Por ejemplo, en la unidad de control interactivo de un hospi-tal los dispositivos analógicos pueden medir el funcionamiento del corazón de un paciente, la temperatura y los signos vitales. Estas medidas puedenser convertidas a números y enviadas a un componente digital del sistema.

1.3. El computador digital

Todas las partes de un sistema de computación operan bajo el control de una de ellas: la unidad de control. Aunque un sistema de computación está compuesto por muchos dispositivos, cada sistema tiene cinco componentes

Page 16: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

16

C++ - EFRAIN OVIEDO REGINO

básicos. En la imagen 1.1, a continuación, se muestran estos componentes y sus relaciones entre sí.

Imagen 1.1.

Unidad algorítmica

lógica

Unidad de entrada

Unidad de control

Unidad de memoria

Unidad de salida

1.3.1. La unidad de entrada

Alimenta la memoria con datos e instrucciones, es decir, pasa información des-de un medio externo de entrada de datos a la memoria principal del compu-tador, donde es almacenada en forma temporal. Esto signifi ca que la memoria principal es volátil y que no podemos guardar en ella información en forma permanente. La unidad de memoria almacena instrucciones y datos en grupos de bits que tienen una única dirección de memoria y su tamaño puede variar.

Independientemente de cómo se introduzcan los datos, estos se transforman en impulsos eléctricos que se transfi eren a direcciones predeterminadas den-tro de la memoria. La entrada se divide básicamente en dos tipos: instrucciones para el proceso de datos y los datos por procesar.

Como ejemplos de medios de entrada tenemos:

• El teclado: La acción mecánica de pulsar una tecla genera internamentepulsos eléctricos que permiten identifi car la información. Cada tecla re-presenta un código que es reconocido por el computador.

• Mouse y joysticks: Convierten el movimiento físico en señales eléctricas bina-rias, que son convertidas a su vez en caracteres y se muestran en la pantalla.

• Escáner o digitalizador de imágenes: Interpreta uno o más caracteres, grá-fi cos o textos que son convertidos a unos y ceros (lenguaje de máquina).

Page 17: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Cap. 1 - Introducción

17

• Lápices ópticos: Toman lo que hay en una tableta electrónica y lo transfie-ren al computador.

• Micrófonos: Convierten la voz en señales digitales.

• Disco duro: Está formado por varios discos magnéticos que giran sobre uneje central. La información se lee y se imprime mediante cabezas lecto-grabadoras que codifican y decodifican la información. Está dividido encilindros, y estos, en sectores cuya cantidad está determinada por el tipode disco y por el formato. Son de tamaño variable.

• CD-ROM: Posee gran flexibilidad y almacenan por mucho tiempo grandescantidades de información. Los dispositivos de este tipo son semejantesa los ya desaparecidos disquetes.

• Memorias USB (Universal Serial Bus): Es un dispositivo de almacenamien-to que utiliza una memoria flash para guardar información. Se le conocetambién con el nombre de unidad flash USB, lápiz de memoria, lápiz USB,minidisco duro, unidad de memoria, llave de memoria, entre otros. Es re-sistente a los golpes y a los tratamientos externos y se ha convertido en elmedio de almacenamiento más común por su fácil manejo.

• Cintas magnéticas: Son utilizadas para almacenar grandes volúmenes deinformación: sobre todo archivos históricos en las grandes empresas.

• Dispositivos OCR (Optical Character Recognition): Reconocen caracteresópticos. La mayoría de datos que van a introducirse al computador seregistran primero en un documento fuente, que puede ser manuscritoo mecanografiado. Los dispositivos OCR pueden leer estos datos y con-vertirlos directamente en impulsos eléctricos. A su vez, estos impulsos sepueden registrar directamente en cinta magnética, disco, etcétera. No serequiere perforar tarjetas, así que no solo se economiza tiempo y dinero,sino que se disminuyen las posibilidades de error.

• Cámara de fotos digital: Este medio le comunica al computador las imá-genes que capta. Existen varios tipos: cámara de fotos digital, cámara devideos y webcam (usada para videoconferencias).

• Lector de código de barras: Por medio de un láser lee dibujos formados porbarras o espacios paralelos. Los lectores de códigos de barras son medioseficientes para la captación automática de datos.

Page 18: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

18

C++ - Efrain Oviedo Regino

1.3.2. La unidad de salida

Los medios de salida de información le permiten al usuario registrar en ellos información que está guardada en la memoria tal como datos, archivos de tex-to, programas, gráficas, etcétera. Algunos ejemplos de medios de salida son:

• La pantalla o monitor: Hoy en día los dispositivos de este tipo más comu-nes son los de pantallas de cristal líquido (LCD) y los de diodos emisoresde luz (LED).

• La impresora: Permite obtener los resultados en papel, que es de fáciltransporte.

• El módem: Usado para unir computadores transformando informacióndigital en análoga y viceversa. Es útil para que la información pueda sertransmitida a través de redes de comunicación, aunque no es de uso ma-sivo en la actualidad.

• Altavoces: Por este dispositivo se emiten señales procedentes de la tarjetade sonido. Es muy usado en la actualidad y bastante común.

• Auriculares: Pequeños botones que se colocan en el oído para escuchar loque mueve la tarjeta de sonido.

• Multimedia: Combinación de hardware y software para la salida de texto,gráficos, animación, video, música, voz y efectos de sonido.

• Plotters: Medios que permiten obtener información en forma de dibujos.

• Fax: Este medio imprime información tomada de un texto impreso y latransmite por medio telefónico.

Los medios de almacenamiento usados como entrada y salida al mismo tiem-po se conocen como memoria auxiliar o secundaria, y en ellos se puede almace-nar información en forma permanente. A diferencia de la memoria principal, la información puede ser guardada hasta que no la necesitemos y su capacidad de almacenamiento es mucho mayor que la memoria del computador.

1.3.3. Unidad de control

Se compone de circuitos y/o programas que interpretan las instrucciones y comandos o mandatos que le damos al computador, y determina y da órdenes a las unidades que deben realizar un proceso. Extrae de la memoria principal

Page 19: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Cap. 1 - Introducción

19

los datos o instrucciones que se deben ejecutar, mandándoles (si son instruc-ciones de cálculo) a la unidad aritmética y lógica, que realiza las operaciones y devuelve los resultados para que sean almacenados en la memoria.

Imagen 1.2. Unidad de control .Balu 1998(Autor)(2013). Computador. Computación tecnológica de información (fotografía).

Recuperado de: http://tastyrates.com/site/wp-content/uploads/2014/01/Computer-Chip.jpg

1.3.4. Unidad aritmética y lógica

Es la encargada de hacer las operaciones aritméticas (sumas, restas, multiplica-ciones, divisiones y las demás) y de comparación, supervisada por la unidad de control. Puede determinar si un valor es menor, menor o igual, mayor, mayor o igual, igual o diferente de otro.

Las unidades de control, memoria aritmética y lógica forman la unidad central de proceso (CPU).

1.3.5. Unidad de memoria

La memoria principal de un computador está formada por millones de circui-tos biestables (tienen dos estados), por lo que es fácil almacenar información digital. El estado prendido del circuito representa un 1, y si está apagado repre-senta un 0. A cada uno de los estados de un circuito se le denomina bit (dígito binario). Desde luego, en un bit solo podemos guardar información que solo tenga dos estados, como el signo de un número, si es verdadero o falso y la paridad cuando se almacenan caracteres.

Page 20: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

20

C++ - Efrain Oviedo Regino

La memoria guarda información a través de grupos de bits a los que les asigna una única dirección de memoria y que se denominan unidades de almacena-miento de información. Estos grupos para almacenar información son:

• Bit: Es la  unidad elemental de información y puede tener dos valores(0 o 1). Constituye la unidad básica de almacenamiento utilizada en uncomputador.

• Byte: Es un conjunto de ocho o 16 bits consecutivos que se tratan comouna sola entidad. También se define como el número de bits necesariospara representar un carácter, que puede ser una letra, un dígito o un ca-rácter especial. En total son 256 caracteres: A cada uno, para representar-lo, se le asigna un código numérico preestablecido.

• Palabra de computador: Son unidades de almacenamiento a las que seles asigna una dirección de memoria. Son tratadas por los circuitos del com-putador como una entidad, por la unidad de control como una instruccióny por la unidad aritmética como una cantidad. Este grupo de bits es el másgrande tratado a través del procesador central como una sola unidad. Eltamaño de la palabra depende de la arquitectura del computador; se pue-den tener palabras de dos, cuatro, ocho o más bytes (16, 32, 64, 128 bits).

La máxima y mínima cantidad entera que se puede representar en una palabra está dada por la siguiente relación:

-2n-1 <= cantidad entera <= 2n-1-1

Donde n es la cantidad de bits de la palabra. Por ejemplo, si la palabra es de 16 bits, esa cantidad entera estará dentro de los siguientes rangos:

-215 <= cantidad entera<= 215 -1 (-32767 <= cantidad entera <= 32768).

Si deseamos almacenar cantidades más grandes, lo que hacemos es unir dos o más palabras mediante el lenguaje de programación que estemos utilizan-do. Cuando uno está definiendo las variables y constantes, hay que analizar:primero el tipo de información que va a almacenar y luego qué tan grande esla información que se va aguardar en ella en cualquier momento y esto definequé tipo de dato debe definir la variable.

La memoria principal está dividida en dos partes:

• Memoria RAM (Random Access  Memory o memoria de acceso alea-torio): Es donde el computador guarda los datos que está utilizando

Page 21: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Cap. 1 - Introducción

21

en el momento presente. Se llama de acceso aleatorio porque el  pro-cesador  accede a la información que está en la memoria en cualquier punto sin tener que acceder a la información anterior y posterior. Es la parte de la memoria disponible para guardar información temporal que está utilizando un programa. La aleatoriedad hace que la información sea guardada en cualquier parte de la memoria en grupos de bits que tienen una única dirección de memoria. Las direcciones de memoria se suelen representar en hexadecimal. Por ejemplo: 0x8f95fff4, 0x8f95fff2, 0x8f95feee.

• Memoria ROM (Read Only Memory o memoria de solo lectura): Es unpequeño espacio de la memoria utilizado en los computadores y dispo-sitivos electrónicos que permite solo la lectura de la información y no suescritura. La información contenida en una memoria ROM es fija, inde-pendientemente de la presencia o no de una fuente de energía. Trae pro-gramas que están estrechamente ligados al hardware específico, comolos que ponen en marcha el ordenador y realizan los diagnósticos, y espoco probable que requiera actualizaciones frecuentes u otro contenidovital para el funcionamiento del dispositivo,

1.4. Tipos de procesamiento

Consideremos ahora un aspecto diferente, el procesamiento de datos en un Centro de Cómputo. Sea la elaboración de una nómina que se paga quincenal-mente; las novedades respecto a tiempo extra u otros temas se reúnen cada semana y se guardan o almacenan hasta que llegue el momento de procesar-las, es decir, las novedades no se procesan en el instante en que se generan sino que se acumulan para hacerlo en el momento oportuno; a este tipo de proceso se denomina proceso por lotes.

Ahora supongamos que alguien va a una oficina de una aerolínea para ha-cer reservaciones en algún vuelo; como es obvio que el empleado no puede guardar la solicitud para procesarla luego con muchas otras, los datos deben procesarse inmediatamente. A este tipo de proceso se le denomina procesa-miento directo o en línea.

Las telecomunicaciones, junto con los adelantos en los sistemas de comuni-cación, han hecho posible la práctica de lo que se denomina tiempo compar-tido. El computador está programado de tal manera que admite peticiones de procesamiento hechas desde lugares lejanos y, además, reparte el tiempo disponible de procesamiento entre varios usuarios. De este modo, al mismo tiempo que el sistema está produciendo una cierta salida para algún usuario,

Page 22: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

22

C++ - Efrain Oviedo Regino

ejecuta determinados cálculos para otro. Se puede decir que la información está en la nube.

Imagen 1.3. Comunicación de datos en una red.

http://www.flickr.com/photos/viagallery/6416001441/

1.5. Elaboración de programas para computador

Los computadores pueden ejecutar un gran número de operaciones a muy altas velocidades y con intervención mínima de seres humanos. Sin embargo, a una computador se le debe indicar exactamente qué operaciones debe eje-cutar y en qué orden. A estos conjuntos de instrucciones se les denomina pro-gramas para computador y son elaborados por programadores. Un programa es una serie de instrucciones escritas en forma codificada que el computador puede traducir a su propio lenguaje. Las instrucciones están formadas por campos (variables y constantes). Ejemplo:

y=x+z-20;

Cuando se construye una aplicación o se modifica una que ya estaba en uso, se realiza un análisis de sistemas. Este análisis determina los tipos de procesa-miento de datos que se requieren, cómo y dónde deben registrarse los datos, los tipos de informe a producirse y los tipos de equipo que mejor se adaptan a esa aplicación particular.

Una vez que se ha decidido lo que se hará con los datos, se le encomienda a un programador la elaboración de un programa o conjunto de instrucciones para el sistema de computación. Al escribir el programa que se va a usar, el programador sigue una serie de etapas, que deben cumplirse.

Page 23: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Cap. 1 - Introducción

23

Cuando a un programador se le pide que elabore un programa, se le suele indicar cómo debe ser la salida y qué datos de entrada están disponibles. En la etapa de análisis de sistemas se deciden estas cuestiones.

Cuando el programador analiza la entrada debe saber qué dispositivos se van a emplear, en qué orden están colocados los campos de datos en los registros y cuál es el tamaño de esos campos.

En el cuerpo del programa se describe qué operaciones se van a ejecutar con los datos; se decide en qué orden se van a ejecutar las operaciones, en qué punto se van a tomar decisiones (ramificaciones) y que grupos de instruccio-nes deben repetirse un número determinado de veces.

Por último, el programador analiza los requisitos de la salida: si esta se debe grabar en un medio externo a la memoria, imprimir listados si la salida va a ser impresa, va a realizar salida por terminales a través de un sistema distribuído o a través de una página web.

Antes de pasar a la siguiente etapa, es necesario hacer todas esas preguntas y encontrar las respuestas. Para ello, el programador tiene que hablar con las personas que diseñaron el sistema y con las personas que utilizan los informes. Con estas últimas hablará principalmente acerca de la forma como desean tener los datos de salida, para que sean de mayor utilidad. Cuando el progra-mador tiene toda la información necesaria acerca del programa, elabora un algoritmo.

Los algoritmos son muy útiles porque muestran, en orden, las operaciones que se van a ejecutar con los datos, las comparaciones, y las ramificaciones condi-cionales e incondicionales que formarán parte del programa.

En la figura se muestra un algoritmo sencillo y elemental, representado me-diante un pseudocódigo.

CLASE Salario METODO PRINCIPAL()

ENTERO codigo REAL renta, patrimonio,totPag CARACTER nombreI LEA: codigo

MIENTRAS (codigo > 0) HAGA LEA: nombre, renta, patrimonio

Page 24: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

24

C++ - Efrain Oviedo Regino

totPag = 10000 + patrimonio * 0.1 + renta * 0.15ESCRIBA: codigo, nombre, totPagLEA: codigo

FIN_ MIENTRAS FIN_PRINCIPALFIN_CLASE

Al terminar la elaboración del algoritmo se puede verificar la exactitud general del programa propuesto. El programador puede tomar algunos datos como muestra y suponer que él es el computador. Él hará con los datos, exactamen-te, lo que el algoritmo indique.

La salida final que obtenga debe ser exactamente lo que espera. Si no es así, suponiendo que cometió errores por descuido, su algoritmo tiene algunas instrucciones con error y debe ser corregido. Obtener la salida correcta no es garantía de que el programa final será perfecto, debido a que aún quedan muchas cosas por hacer. No obstante, esta simple verificación mostrará las im-perfecciones lógicas que pueda haber en sus planteamientos. A la verificación del algoritmo detallado se le conoce como prueba de escritorio.

Con base en el algoritmo terminado, se escribe una serie de instrucciones detalladas. Las que se les denomina programa fuente y suelen estar escritas en lenguaje simbólico. Un lenguaje simbólico es aquél que la mente humana puede entender con relativa facilidad, pero que no puede entender un com-putador. La selección del lenguaje simbólico para el programa fuente depen-derá de muchos factores. Dos de las consideraciones principales son el tipo de tarea que se programó y el computador que se utilice.

Hay muchos lenguajes simbólicos, entre los cuales se encuentran BASIC, RPG, FORTRAN, PL1, C, C++, JAVA, RUBY, PYTHON, PHP, SCALA, conocidos como lenguajes de alto nivel.

Luego de escrito, el programa fuente se almacena en un medio externo de almacenamiento,no puede ser la memoria Ram.. El computador no puede en-tender directamente el lenguaje simbólico que usó el programador. Antes debe ser traducido a lenguaje de máquina. El compilador efectúa esta traducción.

El compilador es un programa especial que única y exclusivamente traduce el lenguaje simbólico al lenguaje de máquina. Al programa traducido se le deno-mina programa objeto.

Page 25: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

CAP. 1 - INTRODUCCIÓN

25

Cuando el programa fuente se desea traducir a lenguaje de máquina, o sea, cuando se compila, sucede otra cosa importante. Dado que el programa fuen-te puede contener muchos errores, el compilador produce una lista impresa en donde aparece el programa fuente y otra lista de todos los errores que contiene el programa. El programador utiliza esta lista de mensajes de error cuando está buscando y eliminando los errores de su programa. Los errores que detecta el compilador se denominan diagnósticos en el tiempo de com-pilación (errores de sintaxis). Indican en qué instrucción hay un error y de qué tipo es éste. Todos los errores señalados por los diagnósticos del tiempo de com-pilación deben corregirse antes de que el sistema pueda procesar los datos.

Una vez que se han corregido los errores del tiempo de compilación, deben usarse algunos datos para probar el programa objeto. Cuando el sistema de computación ejecuta el programa objeto puede encontrar algunos errores en los datos de entrada. Por ejemplo, es posible que al dispositivo de entrada se le ordene que lea cierto campo que se supone contiene datos numéricos, y en vez de esto se encuentra con datos alfabéticos. Esto hará que el computador detenga la ejecución del programa objeto e imprima alguna advertencia de error. A estos mensajes se les denomina diagnósticos en el tiempo de ejecución. Las instrucciones para transferencia de control defectuosas también causarán un error en el tiempo de ejecución. Es posible llevar el sistema a un ciclo cerra-do, es decir, el sistema ejecutará una secuencia de instrucciones y lo regresa a la primera instrucción de la secuencia. En teoría signifi ca que la computador ejecuta estas instrucciones para siempre; sin embargo, en la práctica, se fi ja un límite de tiempo para la ejecución del programa, y si éste no termina antes de que transcurra este tiempo, el sistema se detiene automáticamente e imprime un mensaje indicando por qué terminó la ejecución.

Imagen 1.4.

Programa fuente

Traductor

Programa objeto

La documentación es la etapa fi nal en la elaboración de un programa y tiene lugar después de que se ha almacenado y corregido. Documentar el programa se refi ere a la recopilación, en un solo lugar, de toda aquella información de im-portancia que se usó para elaborar el programa. Se recopilan las descripciones

Page 26: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

26

C++ - Efrain Oviedo Regino

de todas las tareas, los algoritmos, la codificación, y así por el estilo. Si en una fecha posterior el programa revela algún error o tiene que ser modificado, esta documentación le facilitará a cualquier otro programador saber qué se ha he-cho y porqué.

También se elabora un manual de corrida (manual del operador) que contiene todas las instrucciones que necesita el operador del computador para correr el programa, qué archivos de entrada se van a cargar, qué tipos de salida se deben preparar, etcétera.

1.6. Terminología básica

• Soporte físico (Hardware). Se denomina así a los componentes mecánicos, eléctricos y electrónicos o duros de una organización computarizada. Loscomponentes de los circuitos pueden ser activos, pasivos o ambas cosas.

• Soporte lógico (Software). El término software fue concebido para con-trastar con el hardware del computador. Los elementos constituyentesdel software son los programas, lenguajes y procedimientos, los progra-mas o rutinas internas preparadas en forma profesional para simplificar laprogramación y las operaciones de los computadores, lo mismo que lasdiversas ayudas que se suelen suministrar por los fabricantes para facilitar la explotación eficiente de los equipos.

• Programa fuente. Es un programa que puede traducirse en forma auto-mática en lenguaje de máquina. Está escrito en un lenguaje concebidopara facilitar la expresión de una clase de problemas o de procedimientospor parte de seres humanos; utiliza un compilador, ensamblador o tra-ductor para realizar la mecánica de la traducción del programa fuente enun programa objeto en lenguaje de máquina.

• Programa objeto. Es un programa fuente que ha sido traducido a lengua-je de máquina. El programa fuente se convierte, entonces, en un conjunto de instrucciones de lenguaje de máquina para la solución de un proble-ma, obtenido como el resultado final de un proceso de compilación.

• Ensamblador. El ensamblador traduce las instrucciones simbólicas deun lenguaje de programación a las instrucciones necesarias de máquinapara que sean ejecutadas. En los lenguajes ensambladores se define uncódigo especial (llamado nemónico) para cada una de las operacionesde la máquina y se introduce una notación especial para especificar eldato con el cual debe realizarse la operación. El ensamblador origina una

Page 27: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Cap. 1 - Introducción

27

instrucción en lenguaje de máquina por cada instrucción del lenguaje a traducir. En general es utilizado con los lenguajes de bajo nivel.

• Compilador. Son traductores más complejos. Traduce los programasque realiza el usuario al lenguaje de máquina necesario para que seanejecutados. Además de hacer dicha traducción, el compilador chequeaque el programa fuente esté correcto en cuanto a sintaxis e instruccionespropias de cada lenguaje. Los compiladores para la mayor parte de loslenguajes de programación los proporciona el fabricante.

El compilador genera una o más instrucciones en el lenguaje de máqui-na por cada instrucción del lenguaje de programación. Se utiliza en loslenguajes de alto nivel. La traducción, en general, se realiza en dos pasos:primero las instrucciones en lenguaje de alto nivel se traducen a una se-cuencia de instrucciones en el lenguaje de bajo nivel y a continuación seefectúa la traducción al lenguaje de máquina. El compilador asigna lasposiciones de memoria por cada variable que encuentra conforme lee ytraduce las instrucciones.

• Interpretador. Es un programa de computador que traduce cada instruc-ción o sentencia del lenguaje original a una secuencia de instruccionesde máquina, antes de traducir la siguiente sentencia en lenguaje original.

• Lenguaje de computador. Conjunto definido de caracteres que sirvenpara formar símbolos, palabras, instrucciones, etcétera, así como las re-glas para combinar estos caracteres, dando como resultado comunica-ciones significativas, por ejemplo FORTRAN, PASCAL, PROLOG, C, C++,JAVA,RUBY,PYTHON,PHP.

• Lenguaje de máquina. Es el conjunto final que todos los computadoresdeben utilizar (lenguaje binario). Todos los demás lenguajes de progra-mación deben compilarse o traducirse, a la larga, a un código binarioantes de introducirse en el procesador. El lenguaje binario es el lenguajede máquina y es el programa que ejecuta el computador.

• Lenguaje de bajo nivel. Los lenguajes de bajo nivel son el primer paso dela sofisticación de los lenguajes de computador. Permiten una comunica-ción más fácil con el computador. Las instrucciones escritas en lenguajede bajo nivel deben ser traducidas por medio de una traductor a lenguaje de máquina. La traducción que se hace es uno a uno, es decir, una ins-trucción en lenguaje de bajo nivel se transforma en una instrucción delenguaje de máquina.

Page 28: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

28

C++ - Efrain Oviedo Regino

• Lenguaje de alto nivel. Es el lenguaje simbólico más fácil de entender yde programar: en él se prepara un programa para ser procesado por elcomputador.

Este lenguaje es traducido a lenguaje objeto mediante un ensambladoro compilador.

A diferencia de los anteriores éste es más flexible, fácil de aprender y más apropiado para corregir los errores de programación.

Una instrucción de lenguaje de alto nivel es traducida a lenguaje de má-quina en una o varias instrucciones. En la medida en que se simplifica el trabajo del programador, crece el trabajo del traductor.

• Dirección de memoria. Cada computador tiene una cantidad determina-da de almacenamiento interno denominada memoria principal, ademásdel almacenamiento externo consistente en cintas, cd, discos de estadosólido y discos magnéticos. Las dos formas de almacenamiento difierenen sus características y propósitos. Los programas que están en ejecu-ción, así como los datos necesarios para ello, deben residir en la memoriaprincipal. Esta es más costosa y, en la mayor parte de los sistemas, es unrecurso un tanto escaso. La información que no se requiere de inmediatose relega normalmente a los dispositivos de almacenamiento externo,donde la capacidad de almacenamiento puede ser casi ilimitada, perodonde el tiempo de recuperación de la misma suele ser considerable-mente más grande. Al mismo tiempo el costo de almacenamiento exter-no es comparativamente más bajo, por lo que la información puede seralmacenada allí por largos períodos.

La memoria principal del computador se divide en unidades pequeñase iguales denominadas palabras que tienen una única dirección. Cadapalabra es capaz de almacenar una unidad de información; por ejemplo,los resultados numéricos del computador. El tamaño de la palabra es unparámetro de diseño del computador y determina, digamos, el númeromás grande y más pequeño que puede ser almacenado.

Las direcciones de memoria identifican cada palabra individualmente, detal manera que la información contenida en ella pueda leerse, o almace-nar nueva información.

• Bit, Byte, Palabra

Bit. Es la abreviatura de binary digit. Es una unidad de información queequivale a una decisión binaria, o la designación de uno de dos valoreso estados posibles igualmente probables. Se suele expresar como 1 o

Page 29: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

Cap. 1 - Introducción

29

0. Representa una unidad minúscula de memoria que puede tener dosestados encendido, o apagado, donde el estado encendido se representamediante uno y el apagado mediante cero.

Byte. Es un conjunto de BITS consecutivos que se tratan como una sola entidad, por lo general son 8 0 16 BITS. También se le conoce como el número de BITS necesarios para representar un carácter en la memoria del computador.

Palabra. Son unidades de almacenamiento a las que se les asigna una di-rección de memoria. Son tratadas por los circuitos del computador como una entidad, por la unidad de control como una instrucción y por la uni-dad aritmética como una cantidad. Este grupo de BITS es el más grande tratado a través del procesador central como una sola unidad. El tamaño de la palabra depende de la arquitectura del computador; se pueden te-ner palabras de dos, cuatro, ocho o más BYTES.

• Campo. Es un grupo de caracteres que se pueden tratar como una unidad de información simple. Las instrucciones de los lenguajes están constitui-das por varios campos. Dependiendo del computador, del lenguaje deprogramación utilizado y de la forma como el campo sea definido, a uncampo se le asignará una o más palabras. los campos pueden ser cons-tantes y variables.

• Registro. Es un conjunto de campos que se refieren a una misma activi-dad que se desea procesar; por ejemplo, toda la información sobre un ar-tículo de inventario, la información que contiene una lista de clase sobreun estudiante (código, nombres, programa, etc.).

• Archivo. Es un dispositivo de software utilizado para almacenar informa-ción en forma masiva, relacionada con una determinada entidad, persona o cosas. Ejemplo: suponga que la compañía A tiene 100 clientes y que semantiene la siguiente información acerca de cada uno de ellos: cedulanombre, direccion, balance de crédito, descuento permitido. La informa-ción individual de cada cliente se denomina registro y un conjunto deregistros formará un archivo, es decir, un archivo de datos de los registrosde los clientes. Los archivos pueden tenerse en varias formas y en diferen-tes medios de almacenamiento.

• Base de datos. Es un conjunto de archivos relacionados de una maneraespecial, que continuamente se está actualizando.

Page 30: Informática · 2018. 9. 19. · Estructura de decisión lógica ... Selección múltiple o estructura caso ..... 78 3.3. Aspectos para tener en cuenta ... cuando elabora-mos un programa

30

C++ - Efrain Oviedo Regino

2. Lenguaje de programación

Un lenguaje de programación es un conjunto de reglas de sintaxis diseñadas para representar instrucciones que, escritas de la manera adecuada, dan solu-ción a un problema. Este conjunto de instrucciones se les denomina progra-ma fuente y que no lo entiende el computador. (Este solo ejecuta lo que está en su lenguaje, o sea, instrucciones en binario)

Los programas fuente creados por el usuario ejercen un control físico y lógico sobre la máquina o procesador, el cual reconoce las instrucciones gracias a un compilador. El compilador se encarga de traducir las instrucciones del programa fuente al lenguaje de máquina (instrucciones representadas en binario), creando un nuevo programa llamado programa objeto, el cual es llevado al procesador y es ejecutado instrucción por instrucción. Miremos el siguiente programa.

#include <iostream>using namespace std;class Suma {};int main(){ short a, b; cout<<”INGRESE UN VALOR PARA b: “; cin>>b; a=b+40; system(“cls”); cout<<” EL VALOR ALMACENADO EN a ES: “<<a<<endl; system (“pause”);}

Una vez corregidos los errores del programa fuente, se hace la compilación (Se traduce el programa fuente y se obtiene el resultado. Miremos lo que pasa en la memoria RAM, que es la parte de la memoria asignada para los programado-res. En esta fase de compilación se asignan las direcciones de memoria a todos los campos y además a los campos se les asigna valor. Las variables tendrán basura, un término usado para indicar que la dirección de memoria tiene un valor desconocido por nosotros y a los campos constantes se les da valor.