Está en la página 1de 27

TEXTO GUIA INFORMATICA MAT 204

CAPÍTULO I
EVOLUCIÓN DEL HARWARE Y SOFTWARE

INTRODUCCIÓN
Las computadoras de hoy día se presentan en una amplia variedad de formas. Su rango se extiende
desde los «mainframes» (grandes computadoras) y supercomputadoras masivas y multipropósito
hasta las computadoras personales de escritorio. Entre ambos extremos nos encontramos con un
inmenso conjunto de minicomputadoras y estaciones de trabajo. Las grandes minicomputadoras se
aproximan a los «mainframes» en potencia de cálculo, mientras que las estaciones de trabajo son
potentes computadoras personales.
Los «mainframes» y las grandes minicomputadoras se utilizan en muchos negocios, universidades,
hospitales y agencias gubernamentales para desarrollar sofisticados cálculos científicos y
financieros. Estas computadoras son muy caras (las grandes cuestan millones de dólares) y requieren
una plantilla grande de personal para su funcionamiento, así como un entorno especial y
cuidadosamente controlado.
Por otro lado, las computadoras personales son pequeñas y baratas. De hecho, en la actualidad
muchos estudiantes y profesionales que viajan con frecuencia utilizan muchas computadoras
«portátiles» con batería incorporada y con un peso inferior a 2 o 3 kilogramos. En muchas escuelas
y empresas se utilizan ampliamente las computadoras personales, que se han convertido en
elementos de uso doméstico. La mayoría de los estudiantes utilizan computadoras personales
cuando aprenden a programar en C.
A pesar de su pequeño tamaño y bajo precio, las modernas computadoras personales rivalizan en
potencia de computación con muchas minicomputadoras. Ahora se utilizan para muchas
aplicaciones que antes se realizaban en computadoras más grandes y más caras. Más aún, su
potencia aumenta a la vez que su precio disminuye progresivamente. El diseño de una computadora
personal permite un alto nivel de interacción entre el usuario y la computadora. Muchas aplicaciones
(por ejemplo, procesadores de texto, programas de diseño en ingeniería, programas de tratamiento
de gráficos, hojas de cálculo y programas de gestión de bases de datos) están especialmente
diseñadas para sacar realizar estos cálculos.
Partiendo de este entorno, proporcionando al usuario entrenado una amplia variedad de
herramientas creativas para escribir, dibujar o realizar cálculos numéricos. Las aplicaciones con
gráficos de alta resolución son también frecuentes.
Muchas veces se conectan computadoras personales con grandes computadoras o con otras
computadoras personales, permitiendo su utilización bien como dispositivos autónomos o bien como
terminales en una red de computadoras. Son frecuentes también las conexiones a través de líneas
telefónicas. Dentro de este contexto, podemos ver que las computadoras personales tienden a
complementar más que a reemplazar a las grandes computadoras.
Una computadora es una máquina y, como otras máquinas, como un automóvil o una podadora,
debe encenderse y luego conducirse, o controlarse, para hacer la tarea que se pretende realizar. En
un automóvil, por ejemplo, el control es proporcionado por el conductor, quien se sienta en su
interior y lo dirige. En una computadora, el conductor es un conjunto de instrucciones llamado
programa. De manera más formal, un programa de computadora es un conjunto independiente de
instrucciones usado para operar una computadora con el fin de producir un resultado específico.
Otro término para un programa o conjunto de programas es software.
El proceso de escribir un programa, o software, se llama programación, mientras al conjunto que
puede usarse para construir un programa se llama lenguaje de programación.
Los lenguajes de programación disponibles se presentan en una variedad de formas y tipos.

HISTORIA DE LA COMPUTACIÓN.

La historia de la computadora es el recuento de los eventos, innovaciones y desarrollos tecnológicos


del campo de la informática y la automatización, que dieron origen a las máquinas que conocemos
como computadoras, computadores u ordenadores. Registra además su mejoramiento y
actualización hasta alcanzar las versiones miniaturizadas y veloces del siglo XXI.

Las computadoras, como todos sabemos, son las máquinas de cálculo más avanzadas y eficientes
inventadas por el ser humano. Están dotadas del suficiente poder de operaciones, la suficiente
autonomía y velocidad como para reemplazarlo en muchas tareas, o permitirle dinámicas de trabajo
virtuales y digitales que nunca antes en la historia habían sido posibles.

La invención de este tipo de aparatos en el siglo XX revolucionó para siempre la manera en que
entendemos los procesos industriales, el trabajo, la sociedad y un sinfín de otras áreas de nuestra
vida. Afecta desde el modo mismo de relacionarnos, hasta el tipo de operaciones de intercambio de
información a escala mundial que somos capaces de realizar.

Siglo XIX Máquina analítica de Charles Babbage Lady Ada Lovelace es considerada la
primera programadora.

La historia de la computadora tiene largos antecedentes, que se remontan a las primeras


reglas de cálculo y a las primeras máquinas diseñadas para facilitarle al ser humano la
tarea de la aritmética. El ábaco, por ejemplo, fue un importante adelanto en la materia,
creado alrededor de 4.000 a. C.
También hubo inventos muy posteriores, como la máquina de Blaise Pascal, conocida como
Máquina de Pascal o Pascalina, creada en 1642. Consistía en una serie de engranajes que
permitían realizar operaciones aritméticas. Esta máquina fue mejorada por Gottfried
Leibinitz en 1671 y se dio inicio a la historia de las calculadoras.
Los intentos del ser humano por automatizar continuaron desde entonces: Joseph Marie
Jacquard inventó en 1802 un sistema de tarjetas perforadas para intentar automatizar sus
telares, y en 1822 el inglés Charles Babbage empleó dichas tarjetas para crear una máquina
de cálculo diferencial.
Solamente doce años después (1834), logró innovar su máquina y obtener una máquina
analítica capaz de las cuatro operaciones aritméticas y de almacenar números en una
memoria (hasta 1.000 números de 50 dígitos). Por este motivo, a Babbage se le considera el
padre de la computación, ya que esta máquina representa un salto hacia el mundo de la
informática como lo conocemos.
La invención de la computadora no puede atribuirse a una sola persona. Se considera a
Babbage como el padre de la rama de saberes que luego será la computación, pero no será
sino hasta mucho más adelante que se hará la primera computadora como tal.
Otro importante fundador en este proceso fue Alan Turing, creador de una máquina capaz
de calcular cualquier cosa, y que llamó “máquina universal” o “máquina de Turing”.
Las ideas que sirvieron para construirla fueron las mismas que luego dieron nacimiento al
primer computador.
Otro importante caso fue el de ENIAC (Electronic Numeral Integrator and Calculator, o sea,
Integrador y Calculador Electrónico Numeral), creado por dos profesores de la universidad
de Pensilvania en 1943, considerado el abuelo de los computadores propiamente dicho.
Consistía en 18.000 tubos al vacío que llenaban un cuarto entero.
EL PRIMER COMPUTADOR.

Los primeros computadores surgieron como máquinas de cálculo lógico, debido a las
necesidades de los aliados durante la Segunda Guerra Mundial. Para decodificar las
transmisiones de los bandos en guerra debían hacerse cálculos rápido y constantemente.
Por eso, la Universidad de Harvard diseñó en 1944 la primera computadora
electromecánica, con ayuda de IBM, bautizada Mark I. Ocupaba unos 15 metros de largo y
2,5 de alto, envuelta en una caja de vidrio y acero inoxidable. Contaba con 760.000 piezas,
800 kilómetros de cables y 420 interruptores de control. Prestó servicios durante 16 años.
Al mismo tiempo, en Alemania, se había desarrollado la Z1 y Z2, modelos de prueba de
computadores similares construidos por Konrad Zuse, quien completó su modelo Z3
totalmente operacional, basado en el sistema binario. Era más pequeño y de más barata
construcción que su competidor estadounidense.
La primera computadora de uso comercial en febrero de 1951 apareció la Ferranti Mark
1, una versión moderna de la computadora norteamericana del mismo nombre que estaba
disponible comercialmente. Fue sumamente importante en la historia del computador, pues
contaba con un índice de registros, que permitía la lectura más fácil de un conjunto de
palabras en la memoria.
Por esa razón surgieron hasta treinta y cuatro patentes distintas de su desarrollo. En los
años posteriores sirvió de base para la construcción de las computadoras IBM, muy exitosas
industrial y comercialmente.
El primer lenguaje de programación en 1953 apareció FORTRAN, acrónimo de The IBM
Mathematical Formula Translation (“Traducción de fórmulas matemáticas de IBM”),
desarrollado como el primer lenguaje formal de programación, o sea, el primer programa
diseñado para fabricar programas computacionales, por los programadores de IBM,
liderados por John Backus.
Inicialmente se desarrolló para el computador IBM 704, y para una variada gama de
aplicaciones científicas y de ingeniería, razón por la cual tuvo una amplia serie de versiones
a lo largo de medio siglo de implementación. Es todavía uno de los dos lenguajes de
programación más populares, especialmente para los supercomputadores del mundo.
La primera computadora moderna apareció en otoño de 1968, como un prototipo presentado
por Douglas Engelbart. Tenía por primera vez un ratón o puntero, y una interfaz gráfica de
usuario (GUI), cambiando para siempre el modo en que los usuarios y los sistemas
computarizados interactuarían en adelante.
La presentación del prototipo de Engelbart duró 90 minutos e incluyó una conexión en
pantalla con su centro de investigación, constituyendo así la primera videoconferencia de la
historia. Los modelos de Apple y luego de Windows fueron versiones posteriores de este
primer prototipo.

EVOLUCIÓN DE LOS MICROPROCESADORES Y MEMORIAS.


Introducción
El microprocesador es uno de los logros más sobresalientes del siglo XX. Esas son palabras
atrevidas, y hace un cuarto de siglo tal afirmación habría parecido absurda. Pero cada año,
el microprocesador se acerca más al centro de nuestras vidas, forjándose un sitio en el
núcleo de una máquina tras otra. Su presencia ha comenzado a cambiar la forma en que
percibimos el mundo e incluso a nosotros mismos. Cada vez se hace más difícil pasar por
alto el microprocesador como otro simple producto en una larga línea de innovaciones
tecnológicas.
Ninguna otra invención en la historia se ha diseminado tan aprisa por todo el mundo o ha
tocado tan profundamente tantos aspectos de la existencia humana. Hoy existen casi 15,000
millones de microchips de alguna clase en uso (el equivalente de dos computadoras
poderosas para cada hombre, mujer y niño del planeta).
No obstante que reconocemos la penetración del microprocesador en nuestras vidas, ya
estamos creciendo indiferentes a la presencia de esos miles de máquinas diminutas que nos
encontramos sin saberlo todos los días. Así que, antes de que se integre de manera
demasiado imperceptible en nuestra diaria existencia, es el momento de celebrar al
microprocesador y la revolución que ha originado, para apreciar el milagro que es en
realidad cada uno de esos chips de silicio diminutos y meditar acerca de su significado para
nuestras vidas y las de nuestros descendientes.
El microprocesador es la parte de la computadora diseñada para llevar acabo o ejecutar los
programas. Este viene siendo el cerebro de la computadora, el motor, el corazón de esta
máquina. Este ejecuta instrucciones que se le dan a la computadora a muy bajo nivel
haciendo operaciones lógicas simples, como sumar, restar, multiplicar y dividir. El
microprocesador, o simplemente el micro, es el cerebro del ordenador. Es un chip, un tipo
de componente electrónico en cuyo interior existen miles (o millones) de elementos llamados
transistores, cuya combinación permite realizar el trabajo que tenga encomendado el chip.
COMPUTADORA.
Es un aparato electrónico que recibe datos (entrada), los procesa (instrucciones denominado
programa) y devuelve información (salida), también conocido como ordenador o PC
(Personal Computer). En la actualidad existe una variedad de computadoras para diferentes
propósitos.

ARQUITECTURA DE UNA COMPUTADORA.


Las computadoras tienen dos componentes principales que son el hardware y el software,
que trabajan en coordinación para llevar a cabo sus objetivos.
Hardware: Hard (duro) – ware (componente), representa la parte física de la computadora.

Software: Soft (blando) – ware (componente), representa la parte lógica de la computadora


(los programas); estos se encuentran almacenados en los componentes físicos de la
computadora, tales como memorias RAM, ROM, Discos Duros (Hard Disk), entre otros.
La siguiente figura muestra la arquitectura de la computadora y sus principales
componentes en coordinación.
UNIDADES DE MEDIDA DE ALMACENAMIENTO.
La memoria interna (RAM) y las memorias externas (disco duro) almacenan información.
La información que se guarda y entiende la PC está en formato binario (0 - 1).

BIT (Binary DigiT): El bit representa la unidad mínima de información que almacena una
computadora.
BYTE: Está compuesto por 8 bit (01110011), entonces existe 28 = 256 combinaciones
diferentes (tabla de código ASCII).
Por lo general, la información se representa por caracteres y cada carácter (número, letra,
símbolo, etc.) es un byte. Para medir la información se utilizan múltiplos de bytes.

SISTEMAS DE NUMERACIÓN.
Todos los sistemas de numeración tienen una base, que es el número total de símbolos que
se utiliza el sistema. En el caso de la numeración decimal, la base es 10; en el sistema binario
es 2.
El Teorema Fundamental de la Numeración permite saber el valor decimal que tiene
cualquier número en cualquier base. Dicho teorema utiliza la fórmula:

Donde:
• Xi: Es el símbolo que se encuentra en la posición número i del número que se está
convirtiendo. Teniendo en cuenta que la posición de las unidades es la posición 0 (la posición
-1 sería la del primer decimal).

• B: Es la base del sistemas que se utiliza para representar al número.

Por ejemplo, si tenemos el número 153,6 utilizando el sistema octal (base ocho), el paso a
decimal se sería:
CONVERSIÓN BINARIO A DECIMAL.
El Teorema Fundamental de la Numeración se puede aplicar para saber el número decimal
representado por un número escrito en binario. Así, para el número binario 10011011011
la conversión sería (los ceros se han ignorado):

CONVERSIÓN DECIMAL A BINARIO.


El método más utilizado consiste en ir haciendo divisiones sucesivas entre dos. Los restos
son las cifras binarias. Por ejemplo, para pasar el 39:

Ahora las cifras binarias se toman al revés. Con lo cual, el número 100111 es el equivalente
en binario de 39.
REPRESENTACIÓN DE TEXTO EN EL SISTEMA BINARIO.
Puesto que una computadora no solo maneja números, habrá dígitos binarios que contengan
información no traducible al sistema decimal. Todo depende de cómo se interprete esa
traducción. Por ejemplo, en el caso del texto, lo que se hace es codificar cada carácter en
una serie de números binarios. El código ASCII ha sido durante mucho tiempo el más
utilizado, inicialmente era un código que utilizaba 7 bits para representar texto, lo que
significaba que era capaz de codificar 127 caracteres. Por ejemplo, el número 65 (1000001
en binario) se utiliza para la A mayúscula.
Poco después apareció un problema: este código bastaba para los caracteres del inglés,
pero no para otras lenguas. Entonces se añadió el octavo bit para representar otros 128
caracteres que son distintos, según idiomas (Europa Occidental usa unos códigos que no
utiliza Europa Oriental).
Eso provoca que un código como el 190 significa que cosas diferentes si cambiamos de país.
Por ello, cuando un ordenador necesita mostrar texto, tiene que saber qué juego de códigos
debe de utilizar, lo cual supone un tremendo problema.
Una ampliación de este método de codificación es el código UNICODE, que puede utilizar
hasta 4 bytes (32 bits), con lo que es capaz de codificar cualquier carácter en cualquier
lengua del planeta, utilizando el mismo conjunto de códigos. Poco a poco se ha ido
extendiendo cada vez más, pero la preponderancia histórica que ha tenido el código ASCII
complica su popularidad.
REPRESENTACIÓN BINARIA DE DATOS NO NUMÉRICOS NI DE TEXTO.
En el caso de datos más complejos (imágenes, vídeo, audio) se necesita una codificación
más compleja.
Además, en estos datos no hay estándares, por lo que hay decenas de formas de codificar.
En el caso, por ejemplo, de las imágenes, una forma básica de codificarlas en binario es la
que graba cada píxel (cada punto distinguible en la imagen) mediante tres bytes: el primero
graba el nivel de rojo; el segundo, el nivel de azul; y el tercero, el nivel de verde. Y así por
cada píxel.
Por ejemplo, un punto en una imagen de color rojo puro:

Naturalmente, en una imagen no solo se graban los píxeles sino el tamaño de la imagen, el
modelo de color, etc. De ahí que representar estos datos sea tan complejo para el ordenador
(y tan complejo entenderlo para nosotros).
Los programas (software).
Los programas o software son un conjunto de instrucciones ordenadas para ejecutarse de
forma rápida y precisa en una computadora. El software se divide en dos grupos: software
de sistema operativo y software de aplicaciones.
El proceso de escribir un programa se denomina programación, y el conjunto de
instrucciones que se utilizan para escribir un programa se llama lenguaje de programación.
Lenguajes de programación.
Sirve para escribir programas y permite la comunicación usuaria (programador) versus
máquina (PC).
Existen tres tipos de lenguajes de programación:

• Lenguaje de máquina: Programación binaria, difícil de programar y dependiente de la


máquina.

• Lenguaje de bajo nivel (ensamblador): Usa símbolos nemotécnicos, necesita ser traducido
al lenguaje de máquina y sigue siendo dependiente.

• Lenguaje de alto nivel: Cercano al lenguaje natural, tiempo de programación


relativamente corto, es independiente de la máquina. A continuación, se muestra un plano
de la evolución de los lenguajes de programación de alto nivel.
TRADUCTORES DEL LENGUAJE DE PROGRAMACIÓN.
Son programas que traducen los códigos fuentes (programas escritos en un lenguaje de alto
nivel) a código máquina.
Los traductores se dividen en:
• Intérpretes: Traducción y ejecución secuencial (línea por línea), ejecución lenta.
• Compiladores: Traduce el código fuente a programa objeto (ejecutable código máquina).
Ejecución rápida.
CICLO DE VIDA DE UN SOFTWARE.
La construcción de un software, por más pequeño que sea, involucra las siguientes etapas:
 Requerimiento: Enunciado del problema a resolver.
 Análisis: ¿Qué? (Entender el problema – entrada – proceso – salida).
 Diseño: ¿Cómo? (Resolver el problema – algoritmo – diagrama de flujo – diseño de
interfaz de usuario).
 Implementación: ¿Hacerlo? (Codificación / Programar).
 Pruebas: ¿Funciona? (Verificar / Comprobar).
 Despliegue: ¿Instalar? (Distribuir el programa).

CAPÍTULO II
FUNDAMENTOS DE PROGRAMACIÓN

ALGORITMO.
Método que describe la solución de un problema computacional, mediante una serie de pasos
precisos, definidos y finitos.
Preciso: indicar el orden de realización en cada paso.
Definido: Repetir los pasos n veces y se obtiene el mismo resultado.
Finito: Tiene un número determinado de pasos.
La solución de un algoritmo debe describir tres partes:
Entrada: Datos que se necesita para poder ejecutarse.
Proceso: Acciones y cálculos a realizar.
Salida: Resultado esperado.
La palabra algoritmo procede del matemático Árabe Mohamed lbn Al Kow Rizmi, el cual
escribió sobre los años 800 y 825 su obra Quitad Al Mugabala, donde se recogía el sistema
de numeración hindú y el concepto del cero. Fibonacci, tradujo la obra al latín y la llamó:
Algoritmi Dicit. El lenguaje algorítmico es aquel que implementa una solución teórica a un
problema indicando las operaciones a realizar y el orden en el que se deben efectuarse. Por
ejemplo, en el caso de que nos encontremos en casa con un foco malogrado de una lámpara,
un posible algoritmo sería:
1. Comprobar si hay foco de repuesto.
2. En el caso de que las haya, sustituir el foco anterior por la nueva.
3. Si no hay foco de repuesto, bajar a comprar una nueva a la tienda y sustituir lo malogrado
por la nueva.
Los algoritmos son la base de la programación de ordenadores, ya que el programa de
ordenador se puede entender que son algoritmos escritos en un código especial entendible
por un ordenador.
Lo malo del diseño de algoritmos está en que no podemos escribir lo que deseemos, el
lenguaje a utilizar no debe dejar posibilidad de duda, debe recoger todas las posibilidades,
FASES EN LA CREACIÓN DE ALGORITMOS.
Hay tres fases en la elaboración de un algoritmo:
1. Análisis. En esta se determina cuál es exactamente el problema a resolver. Qué datos
forman la entrada del algoritmo y cuáles deberán obtenerse como salida.
2. Diseño. Elaboración del algoritmo.
3. Prueba. Comprobación del resultado. Se observa si el algoritmo obtiene la salida
esperada para todas las entradas.
HERRAMIENTAS DE UN ALGORITMO.
Para expresar la solución de un problema se pueden usar diferentes herramientas de
programación, tales como:
 Diagrama de flujo (Flow Chart).
 Diagrama N-S (Nassi-Schneiderman).
 Pseudocódigo.
Diagrama de flujo: Es una representación gráfica que utiliza símbolos normalizados por
ANSI, y expresa las sucesivas instrucciones que se debe realizar para resolver el problema.
Estas instrucciones no dependen de la sintaxis de ningún lenguaje de programación, sino
que debe servir fácilmente para su transformación (codificación) en un lenguaje de
programación.
Diagrama de Nassi Scheneiderman (N-S): Conocido también como el diagrama de Chapin,
es como un diagrama de flujo, pero sin flechas y con cajas continuas.

Pseudocódigo: Permite expresar las instrucciones en un lenguaje común (inglés, español,


etc.) para facilitar tanto la escritura como la lectura de la solución de un programa. No
existen reglas para escribir pseudocódigo.

COMENTARIOS.
Permiten describir y explicar, además sirve como ayuda para recordar y entender las
operaciones que se van a ejecutar. Los comentarios no son instrucciones, por lo tanto, al ser
traducido el código fuente a código binario (tiempo de compilación), los lenguajes de
programación los ignoran. Dependiendo el lenguaje de programación los comentarios se
escriben usando cierta simbología.

/*Esto es un comentario en varias líneas*/


//Aquí tu comentario (para solo una línea)
PALABRAS RESERVADAS.
Son palabras usadas por el lenguaje de programación y que no deben ser "utizadas como
identificadores de variables, funciones entre otros.
IDENTIFICADORES.
Son los nombres que asignamos a las variables, constantes, funciones, objetos, entre otros;
y no pueden coincidir con las palabras reservadas porque ocasionaría ambigüedad, y el
compilador no lo entendería.
Por lo general, los identificadores deben de cumplir las siguientes reglas
 Deben comenzar por una letra. Evite usar ñ y tilde.
 No debe coincidir con palabras reservadas del lenguaje de programación que está
utilizando.

VARIABLES
Representa un espacio de memoria RAM, el cual guarda un valor que servirá para algún
proceso en particular; dicho valor puede ser modificado en cualquier momento. Las
variables tienen, por lo general, un identificador (nombre) y, asignado, el tipo de dato que
se está utilizando; es decir, si almacena un número (entero), si es texto o alfanumérico
(cadena), si es un valor verdadero o falso (lógico) llamado también booleano.
CONSTANTES
Representa un espacio de memoria RAM, el cual guarda un valor que servirá para algún
proceso en particular; dicho valor permanece fijo, es decir, no puede cambiarse en la
ejecución del programa. Las constantes tienen, al igual que las variables, un identificador
(nombre) y un tipo de dato.

TIPO DE DATOS SIMPLES (PRIMITIVOS)


Al declarar una variable, debemos indicar el tipo de dato que es permitido almacenar en
dicha variable.
Cada lenguaje de programación trabaja con una variedad de tipo de datos; por lo general,
todos usan los llamados «primitivos», que son los siguientes:
Entero: Representan los números enteros (no almacena decimales).
En el lenguaje de C++ el tipo entero se puede trabajar con short, int y long; la diferencia
está en que unos almacenan rangos de números diferentes, llamados también «entero corto»
y «entero largo».

Real: Representan los números reales (almacena decimales).


En el lenguaje de C#, el tipo real se puede trabajar con float o double, la diferencia está en
la cantidad de decimales que pueden almacenar, llamados también «precisión simple» y
«precisión doble».

Carácter: Representa un carácter de cualquier tipo: texto, número, símbolo, etc. El valor
se coloca entre comillas simples.
Lógico: Representan los valores «verdadero» o «falso», conocidos también como boolean,
no se colocan comillas simples ni dobles.

TIPOS DE DATOS ENTEROS


C++ proporciona nueve tipos de datos integrados, como se muestra en la figura La
diferencia esencial entre los diversos tipos de datos enteros es la cantidad de
almacenamiento usado por cada tipo, el cual afecta al rango de valores que cada tipo es
capaz de representar. Los tres tipos más importantes usados en forma casi exclusiva en la
mayor parte de las aplicaciones son los tipos de datos int, char y bool. La razón para los
tipos restantes es histórica, ya que fueron implementados para acomodar situaciones
especiales (un rango de números pequeño o grande). Esto permitía al programador
maximizar el uso de memoria al seleccionar un tipo de datos que usara la cantidad más
pequeña de memoria consistente con los requerimientos de una aplicación. Cuando las
memorias de las computadoras eran pequeñas y costosas en comparación con las actuales,
ésta era una preocupación importante. Aunque ya no es una preocupación para la mayor
parte de los programas, estos tipos todavía le proporcionan al programador la capacidad
para optimizar el uso de memoria cuando es necesario.
Por lo general, estas situaciones ocurren en aplicaciones de ingeniería, como en sistemas de
control usados en aparatos domésticos y automóviles.
El tipo de dato int
El conjunto de valores admitidos por el tipo de dato int son números enteros. Un valor entero
consiste sólo de dígitos y de manera opcional puede estar precedido por un signo de más (+)
o menos (–). Por tanto, un valor entero puede ser el número cero o cualquier valor numérico
positivo o negativo sin un punto decimal. Ejemplos de enteros válidos son:
0 5 –10 +25 1000 253 –26 351 +36
Como ilustran estos ejemplos, los enteros pueden contener un signo explícito. No se permiten
comas, puntos decimales ni símbolos especiales, cómo el signo de dólares. Son ejemplos de
enteros inválidos:
$255.62 2 523 3. 6 243 892 1492.89 +6.0
Los diferentes compiladores tienen su propio límite interno para los valores enteros más
grande (más positivo) y más pequeño (más negativo) que pueden almacenarse en cada tipo
de dato.
La asignación de almacenamiento más común es cuatro bytes para el tipo de dato int, lo cual
restringe el conjunto de valores permitido en este tipo de dato a representar enteros en el
rango de -2,147,483,648 a 2,147,483,647.7
El tipo de dato char
El tipo de dato char se usa para almacenar caracteres individuales. Los caracteres incluyen
las letras del alfabeto (mayúsculas y minúsculas), los diez dígitos 0 a 9 y símbolos especiales
como los siguientes: + $. , – y ! Un valor de carácter individual es cualquier letra, dígito o
símbolo especial encerrado entre comillas sencillas. Los siguientes son ejemplos de valores
de carácter válidos:
'A' '$' 'b' '7' 'y' '!' 'M' 'q'
Los valores de carácter se almacenan por lo general en una computadora usando los códigos
ASCII o Unicode. ASCII (se pronuncia as-ki) son las siglas de código estándar americano
para intercambio de información (American Standard Code for Information Interchange).
El código ASCII proporciona códigos para un conjunto de caracteres basado en el idioma
inglés, más códigos para control de impresión y de despliegue, como códigos de nueva línea
y de expulsión del papel de la impresora. Cada código de carácter está contenido dentro de
un solo byte, lo cual proporciona 256 códigos distintos. La tabla siguiente enumera los
códigos en byte ASCII para las letras mayúsculas.
Además, C++ proporciona el código Unicode más nuevo que usa dos bytes por carácter y
puede representar 65536 caracteres. Este código se usa para aplicaciones internacionales
al proporcionar conjuntos de caracteres en otros idiomas además del inglés. Como los
primeros 256 códigos de Unicode tienen el mismo valor numérico que los 256 códigos ASCII
(el byte adicional se codifica con ceros), no es necesario preocuparse por cuál código de
almacenamiento se usa cuando se utilizan caracteres en inglés.

Usando la tabla podemos determinar cómo se almacenan dentro de una computadora los
caracteres ‘B’, ‘A’, ‘R’, ‘T’, ‘E’ y ‘R’, por ejemplo, usando el código de caracteres ASCII.
Esta secuencia de seis caracteres requiere seis bytes de almacenamiento (un byte por cada
letra) y se almacenaría como se ilustra en la figura.

El carácter escape
Un carácter que tiene un significado especial en C++ es la diagonal inversa, \, que se conoce
como carácter de escape. Cuando se coloca este carácter directamente frente a un grupo
selecto de caracteres, esto indica al compilador que escape de la forma en que estos
caracteres se interpretarían en forma normal. La combinación de una diagonal inversa y
estos caracteres específicos se llama secuencia de escape. La tabla siguiente enumera las
secuencias de escape más comunes en C++.

El tipo de datos bool


En C++, el tipo de datos bool se usa para representar datos booleanos (logicos). Por ello,
este tipo de datos está restringido a uno de dos valores: verdadero o falso. Este tipo de datos
es más útil cuando un programa debe examinar una condición específica y, debido a la
condición de ser verdadera o falsa, tomar un curso de acción prescrito. Por ejemplo, en una
aplicación de ventas, la condición que se está examinando podría ser “la compra total por
$100 o mas”. Solo cuando esta condición es verdadera se aplica un descuento. Sin embargo,
debido a que un tipo de datos booleano usa un código de almacenamiento de enteros, tiene
implicaciones útiles explotadas por casi todos los programadores profesionales en C++.
Tipo de datos complejos (estructurados)
Son aquellos que están constituidos por tipos de datos simples y definen una estructura de
datos, un ejemplo claro es el tipo cadena, que está compuesto por un conjunto de caracteres
(tipo de dato carácter).
Existe una variedad de tipo de datos complejos, el enfoque de este libro es algorítmico y solo
tocaremos dos tipos de datos complejos: cadena y arreglos. Los libros que profundizan el
tema se llaman libros de estructura de datos.
Cadena: Representa un conjunto de caracteres, internamente es un arreglo de caracteres;
por lo general, se representa con comillas dobles.

Determinación del tamaño de almacenamiento


Una característica única de C++ es que le permite al programador ver dónde y cómo se
almacenan los valores. Por ejemplo, C++ proporciona un operador denominado sizeof ()
que proporciona el número de bytes usados para almacenar valores para cualquier nombre
de tipo de datos incluidos dentro de los paréntesis del operador. (Repase la sección 1.6 si no
está familiarizado con el concepto de byte.) Este es un operador integrado que no usa un
símbolo aritmético para ejecutar su operación. El programa 2.5 usa este operador para
determinar la cantidad de almacenamiento reservado para los tipos de datos, int, char y
bool.
OPERADORES Y EXPRESIONES
Son los que permiten realizar los cálculos entre valores fijos y variables. Los operadores se
clasifican en:
aritméticos, relacionales, lógicos y de cadena. Sobre estos expondremos a continuación.
Operadores aritméticos: Son aquellos operadores que permiten realizar las operaciones
aritméticas, de la misma forma como se utilizan en las matemáticas.

Dependiendo el lenguaje de la programación, los operadores varían o no implementan uno


u otro operador; en el caso de C#, implementa los siguientes.

Para elevar a una potencia se usa Math. Pow (9.0, 2.0), dentro de los parámetros se coloca
números reales (double), y para división entera use / pero con números enteros.
Operadores relacionales: Llamados también operadores de comparación, y permiten
evaluar si dos valores guardan alguna relación entre sí.

Dependiendo del lenguaje de programación, los operadores varían o no, implementan uno
u otro operador; en el caso de C# varía la simbología en algunos.

Expresiones lógicas (condiciones) – (algoritmo)

Operadores lógicos: Son aquellos operadores que se utilizan en combinación con los
operadores de relación.
Para C# se utiliza la siguiente simbología:

Operadores de cadena: Son aquellos operadores que permiten realizar operaciones con
cadenas; por lo general, permiten unir en cadena, lo cual es llamado también «concatenar».

También podría gustarte