Trbajo De Informatica[197].docx

  • Uploaded by: Nelson Santos
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Trbajo De Informatica[197].docx as PDF for free.

More details

  • Words: 2,120
  • Pages: 10
Universidad Autónoma de Santo Domingo UASD

(Recinto Puerto Plata)

Presentado por:

Asignatura Informática I Tema: El lenguaje de programación C++

Presentado a: Edward R. Martínez Lantigua

Puerto Plata, R.D. Julio 2018 Introducción

Para comenzar a estudiar cualquier lenguaje de programación se debe conocer cuáles son los conceptos que soporta, es decir, el tipo de programación que vamos a poder realizar con él. Como el C++ incorpora características nuevas respecto a lenguajes como Pascal o C, en primer lugar daremos una descripción a los conceptos a los que este lenguaje da soporte, repasando los paradigmas de programación y centrándonos en la evolución desde la programación Funcional a la programación Orientada a Objetos. Más adelante estudiaremos el lenguaje de la misma manera, primero veremos sus características funcionales (realmente la parte que el lenguaje hereda de C) y después estudiaremos las extensiones que dan soporte a la programación orientada a objetos (el ++ de C++). En este bloque introduciremos el lenguaje de programación C++. Comenzaremos por dar una visión general del lenguaje y después trataremos de forma práctica todos los conceptos estudiados en el bloque anterior, viendo cómo se implementan en el C++. Trataremos de que el tema sea fundamentalmente práctico, por lo que estos apuntes se deben considerar como una pequeña introducción al lenguaje, no como una referencia completa.

PARADIGMAS DE PROGRAMACIÓN

Según los conceptos en que se basa un lenguaje de programación tenemos distintas maneras de aproximarnos a la resolución de los problemas y diferentes estilos de programación. Podemos clasificar los lenguajes de programación en varios tipos: —Imperativos —Orientados a Objetos —Funcionales —Lógicos Las dos primeras opciones se basan en la abstracción de los tipos de datos. Básicamente se trata de representar las características variables de los objetos mediante tipos que el ordenador pueda tratar, como por ejemplo números enteros o caracteres alfanuméricos. Nuestro programa será una colección de algoritmos que opere sobre los datos que hemos modelado. La diferencia entre las dos aproximaciones se verá en puntos posteriores. Los lenguajes funcionales, al contrario que los imperativos, eliminan totalmente la idea de tipo de datos, se limitan a tratar todos los datos como símbolos y hacen hincapié en las operaciones que podemos aplicar sobre estos símbolos, agrupados en listas o árboles. Es importante indicar que en estos lenguajes se emplea únicamente el concepto de función aplicado a símbolos, siendo una de sus características principales el empleo de las funciones recursivas. Como ejemplo de este tipo de lenguajes podríamos citar el LISP. Los lenguajes lógicos son los que trabajan directamente con la lógica formal, se trata de representar relaciones entre conjuntos, para luego poder determinar si se verifican determinados predicados. El lenguaje lógico más extendido es el Prolog. PROGRAMACIÓN IMPERATIVA Como ya hemos mencionado anteriormente, la programación imperativa trata con tipos de datos y algoritmos, los primeros representan la información utilizada por los programas, mientras que los segundos se refieren a la manera en que tratamos esa información.

En los puntos que siguen revisaremos de forma breve los conceptos fundamentales de la programación imperativa clásica, también llamada programación procedural. La idea básica de esta aproximación es la de definir los algoritmos o procedimientos más eficaces para tratar los datos de nuestro problema. Tipos de datos Cuando nos planteamos la resolución de problemas mediante computador lo más usual es que queramos tratar con datos que son variables y cuantificables, es decir, que toman un conjunto de valores distintos entre un conjunto de valores posibles, además de poder almacenar los valores de estos datos en alguna forma aceptable para el computador (ya sea en la memoria o en periféricos de almacenamiento externo). En un lenguaje de programación el concepto de tipo de datos se refiere al conjunto de valores que puede tomar una variable. Esta idea es similar a la que se emplea en matemáticas, donde clasificamos las variables en función de determinadas características, distinguiendo entre números enteros, reales o complejos. Sin embargo, en matemáticas, nosotros somos capaces de diferenciar el tipo de las variables en función del contexto, pero para los compiladores esto resulta mucho más difícil. Por este motivo debemos declarar explícitamente cada variable como perteneciente a un tipo. Este mecanismo es útil para que el computador almacene la variable de la forma más adecuada, además de permitir verificar que tipo de operaciones se pueden realizar con ella. Se suelen diferenciar los tipos de datos en varias categorías: — Tipos elementales, que son aquellos cuyos valores son atómicos y, por tanto, no pueden ser descompuestos en valores más simples. Entre las variables de estos tipos siempre encontramos definidas una serie de operaciones básicas: asignación de un valor, copia de valores entre variables y operaciones relacionales de igualdad o de orden (por lo tanto, un tipo debe ser un conjunto ordenado). Los tipos más característicos son  booleanos= {verdadero, falso}  enteros {... -2, -1, 0, +1, +2,.}

 reales= {... -1.0, ..., 0.0, ...,+ 1.0, ...}  caracteres= {... 'a', 'b', ..., 'Z', .} C++ Existen muchos lenguajes de programación de entre los que se destacan los siguientes: 1. 2. 3. 4. 5. 6. 7. 8. 9.

C C++ Basic Ada Java Pascal Python Fortran Smalltalk

Historia de C++ C++ es un lenguaje de programación creado por Bjarne Stroustrup en los laboratorios de At&T en 1983. Stroustrup tomó como base un lenguaje de programación popular en aquella época el cual era C. El C++ es un derivado del mítico lenguaje C, el cual fue creado en la década de los 70 por la mano del finado Dennis Ritchie para la programación del sistema operativo Unix [1] (un sistema parecido a Unix es GNU/Linux), el cual surgió como un lenguaje orientado a la programación de sistemas (System Programming) y de herramientas (Utilities) recomendado sobre todo para programadores expertos, y que no llevaba implementadas muchas funciones [¿cómo cuáles?] que hacen a un lenguaje más comprensible. Sin embargo, aunque esto en un inicio se puede convertir en un problema, en la práctica es su mayor virtud, ya que permite al programador un mayor control sobre lo que está haciendo. Años más tarde, un programador llamado Bjarne Stroustrup, creo lo que se conoce como C++. Necesitaba ciertas facilidades de programación, incluidas en otros lenguajes pero que C no soportaba, al menos directamente, como son las llamadas clases y objetos, principios usados en la programación actual. Para ello rediseñó C,

ampliando sus posibilidades pero manteniendo su mayor cualidad, la de permitir al programador en todo momento tener controlado lo que está haciendo, consiguiendo así una mayor rapidez que no se conseguiría en otros lenguajes. C++ pretende llevar a C a un nuevo paradigma de clases y objetos con los que se realiza una comprensión más humana basándose en la construcción de objetos, con características propias solo de ellos, agrupados en clases. Es decir, si yo quisiera hacer un programa sobre animales, crearía una clase llamada animales, en la cual cada animal, por ejemplo un pato, sería un objeto, de tal manera que se ve el intento de esta forma de programar por ser un fiel reflejo de cómo los humanos (en teoría) manejamos la realidad[referencia]. Se dice que nuestro cerebro trabaja de forma relacional[referencia] (relacionando hechos), es por ello que cada vez que recuerdas algo, (cuentas un hecho), termina siendo diferente (se agregan u omiten partes). ¿Qué es C++? C++ es un lenguaje de programación orientado a objetos que toma la base del lenguaje C y le agrega la capacidad de abstraer tipos como en Smalltalk. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitieran la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido [¿por? fusionar con el siguiente]. Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma dos paradigmas que ya estaban admitidos (programación estructurada y la programación. El C++ es un lenguaje de programación híbrido, al que se le puede compilar. Una de las ventajas que ofrece este lenguaje es que es mucho más sencillo de aprender para los programadores que ya conocen el C.

El C++ mantiene una enorme compatibilidad con el C principalmente por dos razones: Por la gran cantidad de código C que existe, y para facilitar el paso de los programadores de C al nuevo lenguaje C++. Ya hemos dicho anteriormente que el lenguaje C++ es un lenguaje de programación orientado a objetos, pero no es un lenguaje orientado a objetos puro. El C++ nació como evolución del C, y desde su creación fue un lenguaje de programación hecho por programadores con un diseño muy práctico al que se le fueron añadiendo todos los elementos que se comprobaron eran necesarios sin tener en cuenta aspectos como su imagen, diseño, etc. Todo esto ha ocasionado que sus detractores lo usen como argumento de crítica sobre el C++. Pero por otra parte precisamente esto es esto es lo que le da mayor valor, el ser un lenguaje más pragmático y sencillo que su antecesor el lenguaje C. Elementos básicos en la programación en C++

Entre llaves{} Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan para los bloques de programación setup(), loop(), if.., etc.

Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es así el compilador dará errores. El entorno de programación de Arduino incluye una herramienta de gran utilidad para comprobar el total de llaves. Sólo tienes que hacer click en el punto de inserción de una llave abierta e inmediatamente se marca el correspondiente cierre de ese bloque (llave cerrada). Punto y coma ; El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de Arduino. También se utiliza para separar elementos en una instrucción de tipo “bucle for”. Nota: Si olvidáis poner fin a una línea con un punto y coma se producirá en un error de compilación.

Bloque de comentarios /*… */ Los bloques de comentarios, o comentarios multi-línea son áreas de texto ignorados por el programa que se utilizan para las descripciones del código o comentarios que ayudan a comprender el programa. Comienzan con / * y terminan con * / y pueden abarcar varias líneas. Debido a que los comentarios son ignorados por el compilador y no ocupan espacio en la memoria de Arduino pueden ser utilizados con generosidad. Línea de comentarios // Una línea de comentario empieza con / / y terminan con la siguiente línea de código. Al igual que los comentarios de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la memoria. Una línea de comentario se utiliza a menudo después de una instrucción, para proporcionar más información acerca de lo que hace esta o para recordarla más adelante. Estandarización

En la actualidad se está refinando y ampliando el estándar del C++. En el último borrador del comité (28 Abril de 1995) se incorporan una serie de mejoras del lenguaje como la definción de espacios de nombres (asignar un ámbito a los identificadores para evitar conflictos en las biliotecas) o de operadores de conversión (casts) mucho más refinados. Además, la bibloteca de clases está muy ampliada (en realidad sólo hemos visto la biblioteca de E/S, pero es que no había nada más estandarizado). El borrador divide la biblioteca en diez componentes: 1. Soporte al lenguaje: declara y define tipos y funciones que son usadas implicitamente por los programas escritos en C++. 2. Diagnósticos:define componentes que puden ser usados para detectar e informar de errores. 3. Utilidades generales: componentes usados por otros componentes de la biblioteca y que también se pueden usar en nuestros programas. 4. Cadenas(strings): Componentes para manipular secuencias de caracteres (los caracteres pueden ser tipos definidos por el usuario o char y w_char, que es un nuevo tipo de la biblioteca). 5. Localización: Componentes para soporte internacional, incluye facilidades para la gestión de formatos de fecha, unidades monetarias, orden de los caractéres, etc. 6. Contenedores: Componentes que se pueden emplear para manejar colecciones deinformación. 7. Iteradores: Componentes que los programas pueden emplear para recorrer contenedores, streams(E/S) y stream buffers (E/S). 8. Algoritmos: Componentes para realizar operaciones algorítmicas sobre contenedores y otras secuencias. 9. Numéricos: Componentes que se pueden emplear para realizar operaciones semi-numéricas. Define los complejos, operaciones con matrices y vectores, etc. 10.E/S: Componentes para realizar tareas de entrada/salida.

De momento parece que no se va a incorporar la E/S gráfica, pero es relativamente lógico, ya que el diseño de una biblioteca de ese tipo podría limitar mucho a la hora de aprovechar las capacidades de un SO concreto.

Related Documents

Trbajo Ingles.docx
June 2020 6
Trbajo De Aguas Negras
August 2019 14
Trbajo Final
June 2020 5
Trbajo 2
June 2020 7
Trbajo Plagio.docx
December 2019 13

More Documents from "Nelson Santos"

April 2020 1
Botanica Revista.docx
December 2019 19
Gerencia Alcance
June 2020 30
Vormen Van Cyberpesten
November 2019 48