1- EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS:
Un sistema operativo es un conjunto de programas destinado apermitir el uso apropiado de las partes físicas del ordenador(hardware).Los sistemas operativos proveen un conjunto de funciones necesarias yusadas por diversos programas de aplicaciones de una computadora, ylos vínculos necesarios para controlar y sincronizar el hardware de lamisma. En las primeras computadoras, que no tenían sistema operativocada programa necesitaba la más detallada especificación del hardwarepara ejecutarse correctamente y desarrollar tareas estándares, y suspropios drivers para los dispositivos periféricos como impresoras ylectores de tarjetas perforadas. El incremento de la complejidad delhardware y los programas de aplicaciones eventualmente hicieron delsistema operativo una necesidad.
-
3. A finales de la década de 1940, con lo que se podría considerar laaparición de la primera generación de computadoras, se accedíadirectamente a la consola de la computadora desde la cual se actuabasobre una serie de micro interruptores que permitían introducirdirectamente el programa en la memoria de la computadora (enrealidad al existir tan pocas computadoras todos podrían considerarseprototipos y cada constructor lo hacía sin seguir ningún criteriopredeterminado). Por aquel entonces no existían los sistemasoperativos, y los programadores debían interactuar con el hardware delcomputador sin ayuda externa. Esto hacía que el tiempo de preparaciónpara realizar una tarea fuera considerable. Además para poder utilizarla computadora debía hacerse por turnos. Para ello, en muchasinstalaciones, se rellenaba un formulario de reserva en el que seindicaba el tiempo que el programador necesitaba para realizar sutrabajo. En aquel entonces las computadoras eran máquinas muycostosas lo que hacía que estuvieran muy solicitadas y que sólopudieran utilizarse en periodos breves de tiempo. Todo se hacía enlenguaje de máquina .
-
4. A principios de los años 50 con el objeto de facilitar la interacciónentre persona y computadora, los sistemas operativos hacen unaaparición discreta y bastante simple, con conceptos tales como elmonitor residente, el proceso por lotes y el almacenamientotemporal.
-
5. Su funcionamiento era bastante simple, se limitaba a cargar losprogramas a memoria, leyéndolos de una cinta o de tarjetas perforadas,y ejecutarlos. El problema era encontrar una forma de optimizar eltiempo entre la retirada de un trabajo y el montaje del siguiente.
-
6. Como solución para optimizar, en una misma cinta o conjunto detarjetas, se cargaban varios programas, de forma que se ejecutaran unoa continuación de otro sin perder apenas tiempo en la transición.
-
7. Su objetivo era disminuir el tiempo de carga de los programas, haciendosimultánea la carga del programa o la salida de datos con la ejecuciónde la siguiente tarea. Para ello se utilizaban dos técnicas, el buffering yel spooling.
-
8. En los años 60 se produjeron cambios notorios en varios campos de lainformática, con la aparición del circuito integrado la mayoríaorientados a seguir incrementando el potencial de los ordenadores.Para ello se utilizaban técnicas de lo más diversas.
-
9. En un sistema multiprogramado la memoria principal alberga a más deun programa de usuario. La CPU ejecuta instrucciones de un programa,cuando el que se encuentra en ejecución realiza una operación de E/S;en lugar de esperar a que termine la operación de E/S, se pasa a ejecutarotro programa. Si éste realiza, a su vez, otra operación de E/S, semandan las órdenes oportunas al controlador, y pasa a ejecutarse otro.De esta forma es posible, teniendo almacenado un conjunto adecuadode tareas en cada momento, utilizar de manera óptima los recursosdisponibles.
-
10. En este punto tenemos un sistema que hace buen uso de la electrónicadisponible, pero adolece la falta de interactividad; para conseguirladebe convertirse en un sistema multiusuario, en el cual existen variosusuarios con un terminal en línea, utilizando el modo de operación detiempo compartido. En estos sistemas los programas de los distintosusuarios residen en memoria. Al realizar una operación de E/S losprogramas ceden la CPU a otro programa, al igual que en lamultiprogramación. Pero, a diferencia de ésta, cuando un programalleva cierto tiempo ejecutándose el sistema operativo lo detiene paraque se ejecute otra aplicación.
-
11. Estos sistemas se usan en entornos donde se deben aceptar y procesaren tiempos muy breves un gran número de sucesos, en su mayoríaexternos al ordenador. Si el sistema no respeta las restricciones detiempo en las que las operaciones deben entregar su resultado se diceque ha fallado. El tiempo de respuesta a su vez debe servir para resolverel problema o hecho planteado. El procesamiento de archivos se hacede una forma continua, pues se procesa el archivo antes de que entre elsiguiente, sus primeros usos fueron y siguen siendo entelecomunicaciones.
-
12. Diseño que no se encuentran en ordenadores monoprocesador. Estosproblemas derivan del hecho de que dos programas pueden ejecutarsesimultáneamente y, potencialmente, pueden interferirse entre sí.Concretamente, en lo que se refiere a las lecturas y escrituras enmemoria. Existen dos arquitecturas que resuelven estos problemas:La arquitectura NUMA, donde cada procesador tiene acceso y controlexclusivo a una parte de la memoria. La arquitectura SMP, donde todoslos procesadores comparten toda la memoria. Esta última debe lidiarcon el problema de la coherencia de caché. Cada microprocesadorcuenta con su propia memoria cache local. De manera que cuando unmicroprocesador escribe en una dirección de memoria, lo haceúnicamente sobre su copia local en caché. Si otro microprocesadortiene almacenada la misma dirección de memoria en su caché, resultaráque trabaja con una copia obsoleta del dato almacenado.
-
13. Además del Atlas Supervisor y el OS/360, los años 1970 marcaron elinicio de UNIX, a mediados de los 60 aparece Multics, sistemaoperativo multiusuario - multitarea desarrollado por los laboratoriosBell de AT&T y Unix, convirtiéndolo en uno de los pocos SO escritos enun lenguaje de alto nivel. En el campo de la programación lógica se dioa luz la primera implementación de Prolog, y en la revolucionariaorientación a objetos, Smalltalk.
-
14. Con la creación de los circuitos LSI -integración a gran escala-, chips quecontenían miles de transistores en un centímetro cuadrado de silicio, empezó elauge de los ordenadores personales. En éstos se dejó un poco de lado elrendimiento y se buscó más que el sistema operativo fuera amigable, surgiendomenús, e interfaces gráficas. Esto reducía la rapidez de las aplicaciones, pero sevolvían más prácticos y simples para los usuarios. En esta época, siguieronutilizándose lenguajes ya existentes, como Smalltalk o C, y nacieron otrosnuevos, de los cuales se podrían destacar: C++ y Eiffel dentro del paradigma dela orientación a objetos, y Haskell y Miranda en el campo de la programacióndeclarativa. Un avance importante que se estableció a mediados de la década de1980 fue el desarrollo de redes de computadoras personales que corríansistemas operativos en red y sistemas operativos distribuidos. En estaescena, dos sistemas operativos eran los mayoritarios: MS-DOS (Micro SoftDisk Operating System), escrito por Microsoft para IBM PC y otrascomputadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, quedominaba en los ordenadores personales que hacían uso del Motorola 68000.
-
15. El lanzamiento oficial del ordenador Macintosh en enero de 1984, alprecio de US $1,995 (después cambiado a $2,495 dólares)[1]. Incluía susistema operativo Mac OS cuya características novedosas era una GUI(Graphic User Interface), Multitareas y Mouse. Provocó diferentesreacciones entre los usuarios acostumbrados a la línea de comandos yalgunos tachando el uso del Mouse como juguete.
-
16. En 1981 Microsoft compró un sistema operativo llamado QDOS que,tras realizar unas pocas modificaciones, se convirtió en la primeraversión de MS-DOS (Micro Soft Disk Operating System). A partir deaquí se sucedieron una serie de cambios hasta llegar a la versión 7.1,versión 8 en Windows Milenium, a partir de la cual MS-DOS dejó deexistir como un componente del Sistema Operativo.
-
17. A mediados de los años 80 se crea este sistema operativo, pero no es hasta la salidade (Windows 95) que se le puede considerar un sistema operativo, solo era unainterfaz gráfica del (MS-DOS) en el cual se disponía de unos diskettes para correr losprogramas. Hoy en día es el sistema operativo más difundido en el ámbitodoméstico aunque también hay versiones para servidores como Windows NT.(Microsoft) ha diseñado también algunas versiones para superordenadores, pero sinmucho éxito. Años después se hizo el (Windows 98) que era el más eficaz de esaépoca. Después se crearía el sistema operativo de (Windows ME) (WindowsMillenium Edition) aproximadamente entre el año 1999 y el año 2000. Un añodespués se crearía el sistema operativo de (Windows 2000) en ese mismo año.Después le seguiría el sistema operativo más utilizado en la actualidad, (WindowsXP) y otros sistemas operativos de esta familia especializados en las empresas. Ahorael más reciente es (Windows 7) (Windows Seven) que salió al mercado el 22 deoctubre del 2009, dejando atrás al (Windows Vista), que tuvo innumerables críticasdurante el poco tiempo que duró en el mercado.
-
18. Este sistema es una versión mejorada de Unix, basado en el estándarPOSIX, un sistema que en principio trabajaba en modo comandos. Hoyen día dispone de Ventanas, gracias a un servidor gráfico y a gestores deventanas como KDE, GNOME entre muchos. RecientementeGNU/Linux dispone de un aplicativo que convierte las ventanas en unentorno 3D como por ejemplo Beryl o Compiz. Lo que permite utilizarLinux de una forma visual atractiva.
-
19. ReactOS (React Operating System) es un sistema operativo de código abiertodestinado a lograr la compatibilidad binaria con aplicaciones de software ycontroladores de dispositivos hechos para Microsoft Windows NT versiones 5.xen adelante (Windows XP y sus sucesores).En 1996 un grupo de programadores y desarrolladores de software librecomenzaron un proyecto llamado FreeWin95 el cual consistía en implementarun clon de Windows 95. El proyecto estuvo bajo discusión por el diseño delsistema ya habiendo desarrollado la capa compatible con MS-DOS, perolamentablemente esta fue una situación que no se completó. Para 1997 elproyecto no había lanzado ninguna versión, por lo que los miembros de éste,coordinados por Jason Filby, pudieron revivirlo. Se decidió cambiar el núcleodel sistema compatible con MS-DOS y de ahora en adelante basarlo en unocompatible con Windows NT y así el proyecto pudo seguir adelante con elnombre actual de ReactOS, que comenzó en febrero de 1998, desarrollando lasbases del kernel y algunos drivers básicos.
-
20. -La computadora fue utilizada para fines militares durante la SegundaGuerra Mundial.-IBM creó la primera calculadora electrónica en 1944.-Se desarrolló la computadora ENIAC (Electronic Numerical Integratorand Computer), EDVAC (Electronic Discrete Variable AutomaticComputer) en 1945 y la UNIVAC (Universal Automatic Computer)en1951.-Lo más significativo de esta generación fue el uso de los tubos al vacío.
-
21. -Se remplazaron los tubos al vacío por los transistores.-Se reemplazó el lenguaje de máquina por el lenguaje ensamblador. -Se crearon los lenguajes de alto nivel como COBOL (CommonBusiness-Oriented Language) y FORTRAN (Formula Translator).- Se diseñaron computadoras más pequeñas, rápidas y eficientes.
-
22. -Uso de chips de silicón.-Sistemas operativos.-Se desarrollaron nuevos chips con mayor capacidad dealmacenamiento.-Se comenzaron a utilizar las computadoras personales y lasMacintosh.-Se desarrolló el diseño de redes.Internet
2-Software y Hardware en el tiempo
* EVOLUCION DEL SOFTWARE:
Es el equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos (hardware). Desde los comienzos del software hasta hoy en día se puede decir que se divide en cuatro eras:
3. 1950 – 1965 Se trabajaba con la idea de “Codificar y Corregir”. No existía un planteamiento previo. No existía documentación de ningún tipo. Existencia de pocos métodos formales y pocos creyentes en ellos. Desarrollo a base de prueba y error.
4. 1965 – 1972 Se busca simplificar código. Aparición de Multiprogramación y Sistemas Multiusuarios. Sistemas de Tiempo Real apoyan la toma de decisiones. Aparición de Software como producto. (Casas de Software). INICIO DE LA CRISIS DEL SOFTWARE. Se buscan procedimientos para el desarrollo del Software.
5. 1972 – 1985 Nuevo Concepto: Sistemas Distribuidos. Complejidad en los Sistemas de Información. Aparecen: Redes de área local y global, y Comunicadores Digitales. Amplio Uso de Microprocesadores.
6. 1985 - 1995 aprox. Impacto Colectivo de Software. Aparecen: Redes de Información, Tecnologías Orientadas a Objetos. Aparecen: Redes Neuronales, Sistemas Expertos y SW de Inteligencia Artificial. La información como valor preponderante dentro de las Organizaciones.
7. 2000 hasta hoy en día Utiliza algunos requisitos de las eras anteriores solo que aumenta la omnipresencia de la web, la reutilización de información y componentes de software
8. Codificar: Transformar mediante las reglas de un código la formulación de un mensaje. Hardware: Componente físico de la computadora. Por ejemplo: el monitor, la impresora o el disco rígido. El hardware por sí mismo no hace que una máquina funcione. Es necesario, además, instalar un Software adecuado. Microprocesador: Es la parte más importante del ordenador, se encarga de realizar todos los cálculos y controla su funcionamiento. La velocidad de este "cerebro" determina la del ordenador
9. Multiprogramación: Se denomina multiprogramación a la técnica que permite que dos o más procesos ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo tiempo“. Multiusuario: Capacidad de algunos sistemas para ofrecer sus recursos a diversos usuarios conectados a través de terminales. Preponderante:Que prepondera, prevalece o tiene cualquier tipo de superioridad respecto a aquello con lo que es comparado
3) Interrelación Hardware, memoria, unidad central de proceso, unidades de entrada y salida.
Los componentes y dispositivos del Hardware se dividen en Hardware Básico y Hardware Complementario
El Hardware Básico: son las piezas fundamentales e imprescindibles para que la computadora funcione como son: Placa base, monitor, teclado y ratón.El Hardware Complementario: son todos aquellos dispositivos adicionales no esenciales como pueden ser: impresora, escáner, cámara de vídeo digital, webcam, etc.
Placa Base o Placa Madre
Los componentes Hardware más importantes de la computadora y esenciales para su funcionamiento se encuentran en la Placa Base (también conocida como Placa Madre), que es una placa de circuito impreso que aloja a la Unidad Central de Procesamiento (CPU) o microprocesador, Chipset (circuito integrado auxiliar), Memoria RAM, BIOS o Flash-ROM, etc., además de comunicarlos entre sí.
Grupos de Hardware
Según sus funciones, los componentes y dispositivos del hardware se dividen en varios grupos y en el siguiente orden:
Dispositivos de Entrada Chipset (Circuito Integrado Auxiliar)Unidad Central de Procesamiento (CPU)Unidad de Control Unidad Aritmético-Lógica Unidad de Almacenamiento Memoria Principal o Primaria (RAM – ROM)Memoria Secundaria o Auxiliar (Disco Duro, Flexible, etc.)Dispositivos de Salida.
Dispositivos de Entrada
Los Dispositivos de Entrada son aquellos a través de los cuales se envían datos externos a la unidad central de procesamiento, como el teclado, ratón, escáner, o micrófono, entre otros.
Chipset (Circuito Integrado Auxiliar)
El Chipset o Circuito Integrado Auxiliar es la médula espinal de la computadora, integrado en la placa base, hace posible que esta funcione como eje del sistema permitiendo el tráfico de información entre el microprocesador (CPU) y el resto de componentes de la placa base, interconectándolos a través de diversos buses que son: el Northbridge (Puente Norte) y el Southbridge (Puente Sur).
El Northbridge o Puente Norte es un circuito integrado que hace de puente de enlace entre el microprocesador y la memoria además de las tarjetas gráficas o de vídeo AGP o PCI-Express, así como las comunicaciones con el Puente Sur.
El Southbridge o Puente Sur (también conocido como Concentrador de Controladores de Entrada/Salida), es un circuito integrado que coordina dentro de la placa base los dispositivos de entrada y salida además de algunas otras funcionalidades de baja velocidad. El Puente Sur se comunica con la CPU a través del Puente Norte.
Unidad Central de Procesamiento (CPU)
La CPU (Central Processing Unit o Unidad Central de Procesamiento) puede estar compuesta por uno o varios microprocesadores de circuitos integrados que se encargan de interpretar y ejecutar instrucciones, y de administrar, coordinar y procesar datos, es en definitiva el cerebro del sistema de la computadora. además, la velocidad de la computadora depende de la velocidad de la CPU o microprocesador que se mide en Mhz (unidad de medida de la velocidad de procesamiento). Se divide en varios registros:
Unidad de Control
La Unidad de Control es la encargada de controlar que las instrucciones se ejecuten, buscándolas en la memoria principal, decodificándolas (interpretándolas) y que después serán ejecutadas en la unidad de proceso.
Unidad Aritmético-Lógica
La Unidad Aritmético-Lógica es la unidad de proceso donde se lleva a cabo la ejecución de las instrucciones con operaciones aritméticas y lógicas.
Unidad de Almacenamiento
La Unidad de Almacenamiento o Memoria guarda todos los datos que son procesados en la computadora y se divide en Memoria Principal y Memoria Secundaria o Auxiliar.
Memoria Principal o Primaria (RAM – ROM)
En la Memoria Principal o Primaria de la computadora se encuentran las memorias RAM, ROM y CACHÉ.
La Memoria RAM (Random Access Memory o Memoria de Acceso Aleatorio) es un circuito integrado o chip que almacena los programas, datos y resultados ejecutados por la computadora y de forma temporal, pues su contenido se pierde cuando esta se apaga. Se llama de acceso aleatorio - o de acceso directo - porque se puede acceder a cualquier posición de memoria sin necesidad de seguir un orden. La Memoria RAM puede ser leída y escrita por lo que su contenido puede ser modificado.
La Memoria ROM (Read Only Memory o Memoria de sólo lectura) viene grabada en chips con una serie de programas por el fabricante de hardware y es sólo de lectura, por lo que no puede ser modificada - al menos no muy rápida o fácilmente - y tampoco se altera por cortes de corriente. En esta memoria se almacenan los valores correspondientes a las rutinas de arranque o inicio del sistema y a su configuración.
La Memoria Caché o RAM Caché es una memoria auxiliar de alta velocidad, que no es más que una copia de acceso rápido de la memoria principal almacenada en los módulos de RAM.
Memoria Secundaria (Disco Duro, Disco Flexibles, etc.)
La Memoria Secundaria (también llamada Periférico de Almacenamiento) está compuesta por todos aquellos dispositivos capaces de almacenar datos en dispositivos que pueden ser internos como el disco duro, o extraíble como los discos flexibles (disquetes), CDs, DVDs, etc.
Dispositivos de Salida
Los Dispositivos de Salida son aquellos que reciben los datos procesados por la computadora y permiten exteriorizarlos a través de periféricos como el monitor, impresora, escáner, plotter, altavoces,etc.
Dispositivos de Entrada/Salida (Periféricos mixtos): Hay dispositivos que son tanto de entrada como de salida como los mencionados periféricos de almacenamiento, CDs, DVDs, así como módems, faxes, USBs, o tarjetas de red.
Software
El Software es el soporte lógico e inmaterial que permite que la computadora pueda desempeñar tareas inteligentes, dirigiendo a los componentes físicos o hardware con instrucciones y datos a través de diferentes tipos de programas.
El Software son los programas de aplicación y los sistemas operativos, que según las funciones que realizan pueden ser clasificados en:
Software de SistemaSoftware de AplicaciónSoftware de Programación
Software de Sistema
Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para interactuar con el sistema, confiriendo control sobre el hardware, además de dar soporte a otros programas.
El Software de Sistema se divide en:
Sistema OperativoControladores de DispositivosProgramas Utilitarios
Sistema operativo
El Sistema Operativo es un conjunto de programas que administran los recursos de la computadora y controlan su funcionamiento.
Un Sistema Operativo realiza cinco funciones básicas: Suministro de Interfaz al Usuario, Administración de Recursos, Administración de Archivos, Administración de Tareas y Servicio de Soporte.
Suministro de interfaz al usuario: Permite al usuario comunicarse con la computadora por medio de interfaces que se basan en comandos, interfaces que utilizan menús, e interfaces gráficas de usuario.Administración de recursos:Administran los recursos del hardware como la CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida.Administración de archivos: Controla la creación, borrado, copiado y acceso de archivos de datos y de programas.Administración de tareas: Administra la información sobre los programas y procesos que se están ejecutando en la computadora. Puede cambiar la prioridad entre procesos, concluirlos y comprobar el uso de estos en la CPU, así como terminar programas.Servicio de soporte: Los Servicios de Soporte de cada sistema operativo dependen de las implementaciones añadidas a este, y pueden consistir en inclusión de utilidades nuevas, actualización de versiones, mejoras de seguridad, controladores de nuevos periféricos, o corrección de errores de software.
Controladores de Dispositivos
Los Controladores de Dispositivos son programas que permiten a otros programa de mayor nivel como un sistema operativo interactuar con un dispositivo de hardware.
Programas Utilitarios
Los Programas Utilitarios realizan diversas funciones para resolver problemas específicos, además de realizar tareas en general y de mantenimiento. Algunos se incluyen en el sistema operativo.
Software de Aplicación
El Software de Aplicación son los programas diseñados para o por los usuarios para facilitar la realización de tareas específicas en la computadora, como pueden ser las aplicaciones ofimáticas (procesador de texto, hoja de cálculo, programa de presentación, sistema de gestión de base de datos...), u otros tipos de software especializados como software médico, software educativo, editores de música, programas de contabilidad, etc.
Software de Programación
El Software de Programación es el conjunto de herramientas que permiten al desarrollador informático escribir programas usando diferentes alternativas y lenguajes de programación.
Este tipo de software incluye principalmente compiladores, intérpretes, ensambladores, enlazadores, depuradores, editores de texto y un entorno de desarrollo integrado que contiene las herramientas anteriores, y normalmente cuenta una avanzada interfaz gráfica de usuario (GUI).
4-LENGUAJES DE PROGRAMACIÓN:
-
Su función es proporcionar instrucciones al sistema de la computadora para que pueda realizar una actividad de procesamiento
-
Cada lenguaje de programación utiliza un grupo de símbolos o reglas que tiene un significado especifico a eso se le llama sintaxis
ESTANDAR
-
Un estandar de lenguajes de programas es un grupo de reglas que describen como deben escribirse las sentencias y comandos de programación.
-
Ejemplo, la regla de que los nombres tienen que comenzar con una letra, sales, payrate y total
EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN:
-
Lenguajes de primera generación
-
Lenguajes de segunda generación
-
Lenguajes de tercera generación
-
Lenguajes de cuarta generación
-
Lenguajes de programación orientados a objetos
-
Smalltalk
-
C++
-
Java
-
Lenguajes de programación visual
-
Lenguajes de quinta generación
LENGUAJES DE PRIMERA GENERACIÓN
-
Lo constituyen los lenguajes maquina.
Estos se consideran como de bajo nivel por que no existe un programa de codificación menos complicado que el que utiliza los símbolos binarios 1 y 0.
-
Ascii, utiliza ceros y unos para representar letras del alfabeto.
Como este es el lenguaje del CPU, los archivos de texto traducidos a los grupos binarios ASCII pueden leerse por casi cualquier plataforma de sistemasde computadoras.
LENGUAJES DE SEGUNDA GENERACIÓN
-
A estos se les denomió lenguaje ensamblador.
-
Los lenguajes ensambladores usan códigos como a para agregar o mvc para mover, y asi sucesivamente.
-
Los programas de software de sistemas tales como los sistemas operativos y los programas de utilidad se escriben con frecuencia en un lenguaje ensamblador.
LENGUAJES DE TERCERA GENERACIÓN
-
Estos son mas fáciles de aprender y usar que los lenguajes maquina y el lenguaje ensamblador, pues su similitud con la comunicación y comprensión humana cotidiana es mayor.
-
Enunciados, Print, Total sales, Read normal Pay etc.
-
Aunque son mas fáciles de programar, no son tan eficientes en términos de rapidez operacional y memoria.
LENGUAJES DE TERCERA GENERACIÓN
-
Son relativamente independientes del hardware de la computadora. Esto significa que el mismo programa puede utilizarse en varias computadoras diferentes de distintos fabricantes
LENGUAJES DE CUARTA GENERACIÓN
-
Son lenguajes que se relacionan menos con procedimientos y que son aun mas parecidos al ingles que los lenguajes de tercera generación.
-
Algunas características incluyen capacidades de consulta y base de datos, de creación de códigos y capacidades gráficas.
Ejemplos Visual C++, Visual Basic, Power Builder, Delphi, Forte y muchos otros.
-
Lenguajes de consulta son utilizados para hacer preguntas ala computadora con frases parecidas alas de un idioma, ejemplo el inglés.
-
Lenguaje de consulta estructurado. Lenguaje estándar que a menudo se usa para realizar consultas y manipulaciones ala base de datos.
LENGUAJES DE PROGRAMACIÓN ORIENTADOS A OBJETOS
-
Permiten la interacción de objetos de programación incluyendo elementos de datos y las acciones que se realizan en ellos.
-
Un objeto denotar datos respecto a un empleado y todas las operaciones que se pudieran realizar sobre los datos (cálculo de nóminas).
-
En la programación orientada al objeto, los datos, instrucciones y otros procedimientos de programación se agrupan en un elemento denominado objeto.
-
Encapsulación. Receso de reagrupar elementos dentro de un objeto.
-
Polimorfismo. Receso que le permite al programador desarrollar una rutina o grupo de actividades que operaran sobre objetos múltiples.
-
Herencia. Propiedad utilizada para describir objetos en un grupo de este tomando características de otros en el mismo grupo o clase de objetos.
-
Código reutilizable. Código de instrucciones dentro de un objeto que se puede usar repetidamente en diferentes programas de diversas aplicaciones.
SMALLTALK
-
Lenguaje de programación amplio uso, orientado a objetos.
C++
-
Es una versión mejorada del lenguaje de programación c original.
-
Es un lenguaje de tiempo real, de propósito general, que se ha utilizado para aplicaciones empresariales y científicos.
JAVA
-
Proporciona a los programadores un ambiente de programación con gran capacidad y las condiciones para desarrollar aplicaciones de trabajo a través de Internet.
-
Para desarrollar pequeñas, Apletts, las cuales pueden insertarse en las páginas Web Internet.
-
Incluye un depurador, un generador de documentación, un compilador, y un visualizador, para ejecutar aplicaciones Java sin navegador de Internet.
LENGUAJES DE PROGRAMACIÓN VISUAL
-
Lenguajes que usan el ratón, iconos o símbolos en la pantalla y menús despegables para desarrollar programas.
LENGUAJES DE QUINTA GENERACIÓN
-
Alrededor de la mitad 1998 surgieron gripos de herramientas de lenguajes de quinta generación, los cuales combinan la creación de códigos basadas en reglas, la administración de reutilización y otros avances.
-
Programación basada en conocimiento. Método para el desarrollo de programas de computación en el que se le ordena ala computadora realizar un propósito en vez de instruirla para hacerlo.
SELECCIÓN DE UN LENGUAJE DE PROGRAMACIÓN
-
El mejor lenguaje de programación para usarse en un programa en particular incluye equilibrar las características funcionales del lenguaje con aspectos como costo, control y complejidad.
-
Un factor importante que debe considerarse al seleccionar cualquier lenguaje de programación es la cantidad de control directo que se necesita para operar el hardware.
TRADUCTORES DE LENGUAJE
-
Traductor de lenguaje. Software de sistemas que convierte un código fuente del programador en su equivalente en lenguaje maquina.
-
Código fuente. Código de programación de nivel alto escrito por el programador.
-
Código objeto. Otro nombre para el código de lenguaje maquina.
-
Intérprete. Traductor de lenguajes que convierte, ala vez, una sentencia de programa a un código de máquina.
5-PROGRAMAS FUENTES:
Programa fuente es una noción que se emplea como sinónimo de código fuente. Se trata de las instrucciones que un programa informático transmite a una computadora para que pueda ejecutarse. Dichas instrucciones son líneas de texto escritas en un lenguaje de programación (una estructura capaz de impartir instrucciones informáticas a partir de una determinada base semántica y sintáctica).
Puede decirse que, en el programa fuente, un software detalla la totalidad de su funcionamiento. Un programador es quien desarrolla dichas instrucciones, respetando los principios del lenguaje de programación elegido. El sistema en cuestión, al acceder al programa fuente, interpreta las instrucciones y las pone en marcha.
6) Programas Orientados a Objetos:
a programación orientada a objetos (POO, u OOP según sus siglas en inglés) es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.
Muchos de los objetos prediseñados de los lenguajes de programación actuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al usuario la creación de sus propias bibliotecas.
Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.
Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.
CONCEPTOS GENERALES DE COMPUTACIÓN:
7) Micro-computación:
Una microcomputadora o microordenador es una computadora pequeña, con un microprocesador como su unidad central de procesamiento CPU.2 Generalmente, el microprocesador incluye los circuitos de almacenamiento (o memoria caché) y entrada/salida en el mismo circuito integrado (o chip).3 Las microcomputadoras se hicieron populares desde 1970 y 1980 con el surgimiento de microprocesadores más potentes. Los predecesores de estas computadoras, las supercomputadoras y las minicomputadoras, eran mucho más grandes y costosas (aunque las supercomputadoras modernas, como las IBM System z, utilizan uno o más microprocesadores como CPUs). Muchas microcomputadoras (cuando están equipadas con un teclado y una pantalla para entrada y salida) son también computadoras personales (en sentido general). La abreviatura micro fue comúnmente utilizada durante las décadas de 1970 y de 1980,4 aunque actualmente esté en desuso.
8) Sistemas operativos de discos (D.O.S.)
Se llama sistema operativo de disco (en inglés Disk Operating System), a menudo abreviado como DOS, a un software de sistema operativo utilizado en varios ordenadores que proporciona la abstracción y administración de dispositivos de almacenamiento secundario y la información que se graba en estos (por ej., sistemas de archivo para organizar archivos de todas las clases). Este software se llama sistema operativo de disco cuándo los dispositivos de almacenamiento son platos rotatorios, como un disquete o los platos de un disco duro.
En los primeros días de los microordenadores, el espacio de memoria del ordenador era a menudo limitado, así que el sistema operativo de disco era una extensión del sistema operativo. Este componente se cargaba solo cuando se necesitaba. Por otro lado, el acceso de disco estaba limitado a operaciones de bajo nivel como leer y escribir discos a nivel de sector.
En algunos casos, el componente de sistema operativo del disco (o incluso el sistema operativo) era conocido como DOS.
A veces, un sistema operativo de disco puede referirse al sistema operativo entero si se carga de un disco y apoya la abstracción y administración de dispositivos de disco. Ejemplo de esto son el DOS/360. En los compatibles IBM PC, una familia entera de sistemas operativos se apellidó DOS.
10) Directorios con estructuras de árbol:
11) Utilización del editor:
El editor del DOS
El DOS dispone de una utilidad llamada EDIT, que nos permite visualizar el "interior" de cualquier tipo de archivo y editarlo, para poder ampliarlo, por ejemplo.
Podéis entrar en el editor escribiendo EDIT.
Ejemplo: Entrar al editor del DOS
Escribe EDIT
Pulsa INTRO
Os aparecerá la pantalla principal; desde esta podéis escribir textos poco complicados, con la desventaja que no se pueden alinear textos u otras funciones para muchos de vosotros importes y necesarias; por eso existen los programas de tratamiento de textos, ya preparados para estas necesidades.
El EDIT del DOS no es más que un programa muy sencillo para escribir algún texto o nota, pero no solo sirve para eso, sino para otras funciones que no vienen al caso, y que, seguro, no haréis servir.
Podéis abrir un fichero con ARCHIVO + ABRIR, donde os aparecerá un listado de todos los archivos del disco actual. Podéis cambiar de disco (para ir a la disquetera, por ejemplo), si buscáis la unidad "A" a la parte inferior del listado.
Una vez confeccionado vuestro archivo podéis guardarlo escogiendo del listado de directorios vuestra carpeta, con o sin extensión.
PROGRAMACIÓN Y DIAGRAMACIÓN:
Que es "programacion"?
La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales.El propósito de la programación es crear programas que exhiban un comportamiento deseado.Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
Para crear un programa, y que la computadora lo interprete y ejecute las instrucciones escritas en él, debe usarse un lenguaje de programación
Que es diagramar?
Diagramar es distribuir, organizar los elementos del mensaje bimedia (texto e imagen) en el espacio bidimensional (el papel) mediante criterios de jerarquización (importancia) buscando funcionalidad del mensaje (fácil lectura) bajo una apariencia estética agradable (aplicación adecuada de tipografías y colores).
Los conceptos diseño y diagramación involucran el problema de la composición. En realidad, la diferencia entre uno y otro es el papel que cumple cada uno en la edición periódica de la publicación. Mientras que el diseñador establece las pautas de la diagramación: formato, cajas de diagramación, tipografías, tamaño, estilo, formateo de párrafos, sangrías; propone color corporativo para textos, tratamiento de la imagen (sangrados, recuadros o aplicaciones especiales), criterios compositivos, en fin, todos los detalles que componen una publicación; el diagramador los aplica en cada una de las ediciones posteriores. Como vemos el diagramador resuelve la organización de las páginas de acuerdo con las normas ya establecidas por el diseñador en el manual de diseño.
13) Algoritmos
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín, dixit algorithmus y este del griego arithmos, que significa «número», quizá también con influencia del nombre del matemático persa Al-Juarismi) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permiten llevar a cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones lineales.
En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un problema. Los derechos de autor otorgan al propietario el derecho exclusivo sobre el uso de la obra, con algunas excepciones. Cuando alguien crea una obra original fija en un medio tangible, automáticamente se convierte en el propietario de los derechos de autor de dicha obra.
14) Símbolos de diagramación
Los diagramas de flujo usan formas especiales para representar diferentes tipos de acciones o pasos en un proceso. Las líneas y flechas muestran la secuencia de los pasos y las relaciones entre ellos. Estos son conocidos como símbolos de diagrama de flujo.
El tipo de diagrama dicta los símbolos de diagramas de flujo que se utilizan. Por ejemplo, un diagrama de flujo de datos puede contener un Símbolo de Entrada o Salida (también conocido como Símbolo de E/S), pero no es muy comun verlo en la mayoría de los diagramas de flujo de procesos.
Con los años, la tecnología ha evolucionado, y con ella tambien la diagramacion. Algunos símbolos de los diagramas de flujo que se utilizaron en el pasado para representar tarjetas perforadas de computadora, o cinta perforada, han pasado a la historia.
LENGUAJE DE PROGRAMACIÓN
15) Tipos de datos
1. Lenguaje máquina
Este lenguaje de programación comprende directamente la máquina (computadora) y utiliza el alfabeto binario, es decir, el 0 y el 1.
2. Lenguajes de programación de bajo nivel
A diferencia del lenguaje máquina es más sencillo de utilizar, pero dependen mucho de la máquina o computadora como sucedía con el lenguaje máquina.
3. Lenguajes de programación de alto nivel.
Son más fáciles de aprender porque se emplean palabras o comandos del lenguaje natural, generalmente del inglés. Este es el caso del BASIC, el lenguaje de programación más conocido. Los tipos de lenguajes de programación de alto nivel, según su utilidad y filosofía, son:
-
Lenguaje imperativo: el Cobol, Pascal, C y Ada.
-
Lenguaje declarativo: el Lisp y el Prolog.
-
Lenguaje de programación orientado a objetos: el Smalltalk y el C++.
-
Lenguaje orientado al problema: son aquellos lenguajes específicos para gestión.
-
Lenguaje de programación natural: son los nuevos lenguajes que pretender aproximar el diseño y la construcción de programas al lenguaje de las personas.
Teniendo en cuenta el desarrollo de las computadoras según sus diferentes generaciones, los lenguajes de programación de alto nivel se clasifican en:
-
Lenguaje de programación de primera generación: el lenguaje máquina y el ensamblador.
-
Lenguaje de segunda generación: los primeros lenguajes de programación de alto nivel imperativo (FORTRAN, COBOL).
-
Lenguaje de tercera generación: son lenguajes de programación de alto nivel imperativo, pero mucho más utilizados y vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
-
Lenguaje de cuarta generación: usados en aplicaciones de gestión y manejo de bases de dados (NATURAL, SQL).
-
Lenguaje de quinta generación: creados para la inteligencia artificial y para el procesamiento de lenguajes naturales (LISP, PROLOG).
¿CUÁLES FUERON LOS LENGUAJES DE PROGRAMACIÓN MÁS USADOS EN 2018?
Los siguientes datos corresponden a enero de 2019.
1. JAVA
Desde el 2001, JAVA es el lenguaje programación más usado. Actualmente cuenta con más de 9 millones desarrolladores que lo usan y está presente en más de 7 mil millones de dispositivos en todo el mundo. Su popularidad se debe a su gran legibilidad y simplicidad.
2. C
Creado entre 1969 y 1972 en los Laboratorios Bell, este lenguaje de programación es uno de los más utilizados en el mundo. Lo utilizan la mayoría de los sistemas operativos lo cual hace que sea un lenguaje muy flexible, además, es muy popular para el desarrollo de aplicaciones de escritorio, como el conocido editor gráfico GIMP.
3. PYTHON
Python es un lenguaje de programación multiplataforma y multiparadigma. Soporta la orientación a objetos, la programación imperativa y funcional. Su simpleza, legibilidad y similitud con el idioma inglés lo convierten en un lenguaje ideal para principiantes.
4. C++
C Plus Plus es un lenguaje de programación orientado a objetos y una evolución del lenguaje C. Existe una gran cantidad de programas escritos en C++, como por ejemplo los paquetes de Adobe.
5. VISUAL BASIC .NET
Visual Basic .NET te da la posibilidad de automatizar sus propios procesos y crear sus propias aplicaciones web. Es utilizado por una gran cantidad de personas a lo largo del mundo que no cuentan con conocimientos profundos como desarrolladores, por lo que es considerado uno de los lenguajes más amigables para los principiantes de programación.
6. JAVASCRIPT
Este lenguaje de programación suele ser utilizado para crear programas que son integrados a una página web o dentro de aplicaciones más grandes. Javascript puede utilizarse utilizar para crear efectos y realizar acciones interactivas, algunos ejemplos de este lenguaje son el chat, calculadoras, buscadores de información, entre otras utilidades.
7. C#
Denominado también C Sharp, es una evolución de los lenguajes de programación C y C++ y se trata de un lenguaje de programación orientado a objetos. Fue desarrollado en el año 2000 por Microsoft para ser empleado en una amplia gama de aplicaciones empresariales ejecutadas en el framework .NET.
8. PHP
Creado en 1994 por el programador canadiende Rasmus Lerdorf con la intención de contar con un conjunto de herramientas para el mantenimiento de las páginas web. Se ganó un pesto es el ranking debido a su fácil acceso para nuevos programadores y a sus muchas posibilidades para los más experimentados.
9. SQL
SQL es un lenguaje específico del dominio utilizado en programación y diseñado para administrar sistemas de gestión de bases de datos relacionales. Aunque en los últimos años casi ha desaparecido de esta lista, en 2018 volvió a ser uno de los lenguajes de programación más usados.
10. OBJECTIVE-C
Objective-C es un lenguaje de programación orientado a objetos creado como un superconjunto de C. Actualmente se usa como un lenguaje principal de programación para Mac OS X, iOS y GNUstep, además de Swift.
16) Símbolos
En informática, una tabla de símbolos es una estructura de datos que usa el proceso de traducción de un lenguaje de programación, por un compilador o un intérprete, donde cada símbolo en el código fuente de un programa está asociado con información tal como la ubicación, el tipo de datos y el ámbito de cada variable, constante o procedimiento.
Una implementación común de una tabla de símbolos puede ser una tabla hash, la cual será mantenida a lo largo de todas las fases del proceso de compilación de ticses.
Puede tratarse como una estructura transitoria o volátil, que sea utilizada únicamente en el proceso de traducción de un lenguaje de programación, para luego ser descartada, o integrada en la salida del proceso de compilación para una explotación posterior, como puede ser por ejemplo, durante una sesión de depuración, o como recurso para obtener un informe de diagnóstico durante o después la ejecución de un programa.
Los símbolos en la tabla de símbolos pueden referirse a constantes, a funciones o a tipos de datos en el código fuente de un programa.
La tabla de símbolos forma parte de cada fichero que contiene el código objeto durante el enlazado o linking de los diferentes ficheros; recae en la responsabilidad del linker o enlazador resolver cualquier referencia no resuelta.
Tabla de símbolos en lenguaje C
Como ya se dijo en el esbozo, la tabla de símbolos es una estructura de datos que se crea en tiempo de traducción del programa fuente. Es como un diccionario variable, debe darle apoyo a la inserción, búsqueda y cancelación de nombres (identificadores) con sus atributos asociados, representando las vinculaciones con las declaraciones. Debe aclararse que no necesariamente deberá estar representada en una tabla como su nombre indica ya que también se emplean árboles, pilas , etc.
Los símbolos se guardan en la tabla con su nombre y una serie de atributos opcionales que dependerán del lenguaje y de los objetivos del procesador, este conjunto de atributos almacenados se denomina registro de la tabla de símbolos.
La siguiente representa una serie de atributos que no es necesaria para todos los compiladores, sin embargo cada uno de ellos se puede utilizar en la implementación de un compilador particular.
- nombre del identificador.
- dirección en tiempo de ejecución a partir del cual se almacenara el identificador si es una variable.
- tipo del identificador. Si es una función, el tipo que devuelve la función.
- número de dimensiones del array (arreglo), o número de miembros de una estructura o clase, o - - números de parámetros si se trata de una función.
- tamaño máximo o rango de cada una de las dimensiones de los array, si tiene dimensión estática.
- etc.
17) Palabras reservadas
son un término ampliamente utilizado en la programación que consisten en un grupo de identificadores que tienen una característica muy importante, no pueden ser utilizadas por un usuario o programador para nombrar o referirse ya sea a variables, funciones, objetos, o cualquier otro elemento de programación que desee crear.
La razón de ello es que el propio lenguaje de programación las contiene incluidas dentro y por lo tanto las utiliza. Debido a esto dichas palabras no pueden ser utilizadas como identificadores por parte de los usuarios.
Después de conocer que existen diversos lenguajes de programación, probablemente podrás preguntarte si todas las palabras reservadas son iguales para todos los lenguajes existentes, la respuesta es no. De hecho cada lenguaje de programación tiene su propio grupo de palabras reservadas, aunque en general todos los lenguajes coinciden con una gran parte de ellas. Veamos la siguiente lista donde se encuentran algunas de las palabras reservadas que coinciden en los diferentes lenguajes.
doelseforifreturnvoidwhile
Si alguna vez haz visualizado algún programa hecho con un lenguaje de programación probablemente algunas de estas palabras te parecerán conocidas y no solo por las palabras en si, sino porque dentro de un lenguaje de programación es muy sencillo identificar este tipo de palabras.
Esto es porque dentro de la programación del mismo lenguaje está especificado que todas las palabras reservadas se identifiquen fácilmente ya sea mostrándolas en letras negritas o bien, en un color diferente.
18) Identificadores:
Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para identificar las entidades del programa (clases, funciones, variables, tipos compuestos) Los identificadores pueden ser combinaciones de letras y números. Cada lenguaje tiene sus propias reglas que definen como pueden estar construidos. Cuando un identificador se asocia a una entidad concreta, entonces es el "nombre" de dicha entidad, y en adelante la representa en el programa. Nombrar las entidades hace posible referirse a las mismas, lo cual es esencial para cualquier tipo de procesamiento simbólico.
Identificadores C++
Los identificadores C++ pueden contener las letras a a z y A a Z, el guión bajo "_" ("Underscore") y los dígitos 0 a 9.
Caracteres permitidos
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Dígitos permitidos
0 1 2 3 4 5 6 7 8 9
Solo hay dos restricciones en cuanto a la composición:
El primer carácter debe ser una letra o el guión bajo. El Estándar establece que los identificadores comenzando con guión bajo y mayúscula no deben ser utilizados. Este tipo de nombres se reserva para los compiladores y las Librerías Estándar. Tampoco se permite la utilización de nombres que contengan dos guiones bajos seguidos.El estándar ANSI establece que como mínimo serán significativos los 31 primeros caracteres, aunque pueden ser más, según la implementación. Es decir, para que un compilador se adhiera al estándar ANSI, debe considerar como significativos, al menos, los 31 primeros caracteres.
Los identificadores distinguen mayúsculas y minúsculas, así que Sum, sum y suM son distintos para el compilador. Sin embargo, C++Builderofrece la opción de suspender la sensibilidad a mayúsculas / minúsculas, lo que permite la compatibilidad con lenguajes insensibles a esta cuestión, en este caso, las variables globales Sum, sum y suM serían consideradas idénticas, aunque podría resultar un mensaje de aviso "Duplicate symbol" durante el enlazado. Con los identificadores del tipo pascal hay una excepción a esta regla, ya que son convertidos siempre a mayúsculas con vistas al enlazado. Los identificadores globales importados desde otros módulos siguen las mismas reglas que los identificadores normales. Aunque los nombres de los identificadores pueden ser arbitrarios (dentro de las reglas señaladas), se produce un error si se utiliza el mismo identificador dentro del mismo ámbito compartiendo el mismo espacio de nombres. Los nombres duplicados son legales en diferentes espacios de nombres con independencia de las reglas de ámbito. Un identificador no puede coincidir con una palabra clave o con el de ninguna función de biblioteca.
19) Datos reales, enteros y de carácter
Enteros
Los tipos de datos de números enteros son unos de los más comunes en los lenguajes de programación y corresponden a un conjunto finito de los números enteros, incluyendo los números positivos, los negativos y el cero. En el código fuente de los programas se representan directamente con los dígitos del 0 al 9, precedidos de un guión para representar a los números negativos. Algunos ejemplos de valores válidos de este tipo de datos son:
A diferencia de los números enteros usados en las matemáticas, los números enteros de los lenguajes de programación tienen valores máximos y mínimos. Estos valores están determinados normalmente por las características de las máquinas en las que se ejecutan los programas o por el lenguaje de programación. Estos valores se pueden verificar mediante operaciones o valores especiales proporcionados por el entorno de programación y es importante tenerlos en cuenta ya que los programas pueden producir errores inesperados cuando se realizan operaciones cuyos resultados exceden la capacidad del tipo de datos. Por ejemplo, sumar o multiplicar dos números muy grandes resultará en un número negativo.
Reales
El tipo de datos de los números reales se usa para representar números con partes decimales o números muy grandes o muy pequeños. A diferencia de los números reales en matemáticas, en los ordenadores los números reales están muy restringidos por las capacidades de las máquinas. Actualmente la técnica más extendida para representarlos utiliza el estándar IEEE 754 para aritmética en punto flotante. Esta norma establece los mecanismos para representar los números reales, comúnmente llamados números de punto flotante, y para realizar operaciones aritméticas sobre ellos.
El el código fuente de los programas estos números se pueden representar como números decimales o como números en notación de punto flotante. Los números decimales tienen una parte entera, una parte decimal, un punto como separador decimal entre ambas partes y un guión al inicio para indicar si se trata de un número negativo. La notación de punto flotante es una generalización de la notación científica y representa los números con un guión opcional para indicar si son positivos o negativos, una parte decimal o mantisa que consiste en un número compuesto de una parte entera y una decimal como los indicados anteriormente, un número entero, que puede ser positivo o negativo, para representar el exponente y la letra E para separar la mantisa del exponente.
La siguiente tabla muestra varios números en notación decimal, en notación de punto flotante y en notación científica para ayudar a entender sus diferencias.
Carácteres
Las computadoras trabajan con números y para procesar texto es necesario que representen de alguna manera los diferentes carácteres que componen un texto. El tipo de datos de carácter le permite a los programadores procesar letras, números, símbolos e ideogramas (como los usados en el chino, japonés y coreano) al asociar un código numérico a cada carácter que se desea representar. Existen muchas asignaciones de códigos para representar carácteres, pero los más comunes son el código ASCII, frecuentemente soportado de forma directa por los circuitos físicos de la máquina, y el código Unicode, diseñado específicamente para soportar los carácteres usados en una gran variedad de idiomas, no solamente los de la lengua inglesa.
En el pseudocódigo usado en este proyecto de aprendizaje representaremos los datos de tipo carácter rodeados de apóstrofos para diferenciarlos del texto circundante y de otros tipos de datos. Por ejemplo el carácter z se representará como 'z' y el carácter 6 se representará como '6', lo que ayudará a diferenciarlo del número entero correspondiente: 6. Esta es una convención comúnmente usada en lenguajes de programación como C y Pascal.
20) DEV C++
Dev-C++ es un entorno de desarrollo integrado (IDE) para programar en lenguaje C/C++. Usa MinGW, que es una versión de GCC (GNU Compiler Collection) como su compilador. Dev-C++ puede además ser usado en combinación con Cygwin y cualquier compilador basado en GCC.
El Entorno está desarrollado en el lenguaje Delphi de Borland. Tiene una página de paquetes opcionales para instalar, con diferentes bibliotecas de código abierto.
Dev-C++ es un compilador y entorno de desarrollo para el lenguaje C/C++. Se trata de una aplicación de código abierto, que ofrece todo tipo de facilidades para desarrollar grandes proyectos en C++. La aplicación presenta resaltado de sintaxis, depurador, una utilidad para crear instalaciones de nuestros programas, docenas de librerías y ficheros de ejemplo, etc. Como opciones extra, Dev-C++ incluye múltiples idiomas (incluido el español), explorador de clases y variables, plantillas, facilidad para instalar librerías adicionales, etc. Todo esto sólo es una pequeña parte de las posibilidades que se pueden encontrar en Dev-C++, un entorno de programación verdaderamente recomendable para desarrolladores de cualquier nivel. Entre otras ventajas desde el punto de vista técnico se puede señalar, que permite importar los proyectos realizados anteriormente en MS Visual C++, se puede exportar código fuente o proyectos a HTML o RTF para subir códigos a páginas Web y compartirlos, se pueden insertar marcadores en el editor para desplazarse en el código rápidamente, cada usuario puede crear su propia sintaxis coloreada, se puede configurar el menú insertar para colocar los fragmentos de código que mas uno utilice, permite insertar nuevos compiladores para compilar códigos fuente, tiene una potente característica de autocompletar texto que permite aumentar la productividad al sugerir los comandos disponibles en el contexto en que uno se encuentra programando, tiene un explorador de clases que muestra las clases, miembros y funciones y por otro lado la información relevante al archivo mostrado en el editor, se pueden añadir carpetas personales en el explorador de clases para encontrar lo que se busca en los grande proyectos, se puede guardar un proyecto como una plantilla de esta forma se puede comenzar a programar con una base en función a sus necesidades.
En muchas ocasiones al enfrentarnos a la tarea de la enseñanza del lenguaje de programación C++ y a la hora de impartirlo se debe decidir que IDE (entorno de desarrollo integrado del inglés Integrated Development Environment) usar en clases, podría ser una opción el C++ Builder, que es un IDE creado por la empresa Borland, pero es un software propietario y además ocupa un tamaño en disco enorme por la cantidad de posibilidades que ofrece y que muchas veces no es necesario utilizar ya que los fundamentos de programación no exigen grandes prestaciones. Es por eso que una aplicación pequeña y que forme parte de los software de plataforma de código abierto constituye una buena opción, siendo el software tratado en este artículo (Dev-C++) una herramienta a tener en cuenta en estas circunstancias.