introducción a la programación

25
Para saber mas acerca de lo que estamos hablando, preguntémosle a la red sobre este concepto, que quiza si utilizamos todos los dias, pero que pocos saben el significado correcto. C++ C++ JA VA

Upload: guestdf1874

Post on 13-Jun-2015

7.227 views

Category:

Business


3 download

DESCRIPTION

Programación.

TRANSCRIPT

Page 1: Introducción a la Programación

Para saber mas acerca de lo que estamos

hablando, preguntémosle a la red sobre este concepto, que quiza si utilizamos todos los dias, pero que pocos saben el significado correcto.

C++C++

JAVA

Page 2: Introducción a la Programación

Comunmente a la Programación de Computadoras se le suele llamar simplemente Programación, y consiste en la creación de un programa de computadora (Código máquina compilado e interpretado directamente desde el núcleo del sistema) o desde un script (Código fuente interpretado), un conjunto concreto de instrucciones que una computadora puede ejecutar. El programa se escribe en un lenguaje de programación, aunque también se pueda escribir directamente en lenguaje de máquina, con cierta dificultad. Un programa se puede dividir en diversas partes, que pueden estar escritas en lenguajes distintos.

Software es el sustantivo que denomina a los programas y datos de computadora.

C++C++

Page 3: Introducción a la Programación

Se denomina software (palabra de origen ánglico, pronunciada "sófuer"), programática, equipamiento lógico o soporte lógico a todos los componentes intangibles de una computadora, es decir, al conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema (hardware). Esto incluye aplicaciones informáticas tales como un procesador de textos, que permite al usuario realizar una tarea, y software de sistema como un sistema operativo, que permite al resto de programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de aplicaciones.

Probablemente la definición más formal de software es la atribuida a la IEEE en su estándar 729: «la suma total de los programas de cómputo, procedimientos, reglas documentación y datos asociados que forman parte de las operaciones de un sistema de cómputo» [1] . Bajo esta definición, el concepto de software va más allá de los programas de cómputo en sus distintas formas: código fuente, binario o ejecutable, además de su documentación: es decir, todo lo intangible.

Page 4: Introducción a la Programación

El término «software» fue usado por primera vez en este sentido por John W. Tukey en 1957. En las ciencias de la computación y la ingeniería de software, el software es toda la información procesada por los sistemas informáticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones de la memoria de un dispositivo para controlar cálculos fue inventado por Charles Babbage como parte de su máquina diferencial. La teoría que forma la base de la mayor parte del software moderno fue propuesta por vez primera por Alan Turing en su ensayo de 1936, Los números computables, con una aplicación al problema de decisión.

Page 5: Introducción a la Programación

El término «software» fue usado por primera vez en este sentido por John W. Tukey en 1957. En las ciencias de la computación y la ingeniería de software, el software es toda la información procesada por los sistemas informáticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones de la memoria de un dispositivo para controlar cálculos fue inventado por Charles Babbage como parte de su máquina diferencial. La teoría que forma la base de la mayor parte del software moderno fue propuesta por vez primera por Alan Turing en su ensayo de 1936, Los números computables, con una aplicación al problema de decisión.

Page 6: Introducción a la Programación

El software se clasifica de dos maneras:

• Tipo de trabajo realizado

• Método de distribución

Page 7: Introducción a la Programación

Software de Sistema

Colección de programas residentes en la computadora, este tipo de software resulta pieza esencial para el uso de la computadora y el desarrollo de más software, una definición mas que podemos dar es que es una de las partes que permite el funcionamiento de la computadora, el objetivo del software de sistema es aislar tanto como sea posible al programador de aplicaciones de los detalles del computador particular que se use, especialmente de las características físicas de la memoria, impresoras, pantallas, teclados etc.

El software de sistema son los programas básicos el cual controla a la computadora, también llamado sistema operativo el cual tiene tres grandes funciones: coordina y manipula el hardware del ordenador, como la memoria, las unidades de disco; organiza los archivos en diversos dispositivos de almacenamiento y gestiona los errores de hardware y del mismo software.

Los sistemas operativos pueden ser de tarea única o multitarea. Los sistemas operativos de tarea única, los más primitivos, solo pueden manejar un proceso en cada momento.

Todos los sistema operativos modernos son multitarea, esto quiere decir que puedes realizar varias acciones a la ves como por ejemplo mandar a imprimir y estar trabajando con otro documento o lo mas usual estar navegando por internet y escuchar musica.

Page 8: Introducción a la Programación

Software de Aplicación

El software de aplicación permite a los usuarios llevar a cabo una o varias tareas mas especificas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios, también podemos decir que el software de aplicación son aquellos que nos ayudan a la elaboración de una determinada tarea, este tipo de software es diseñado para facilitar al usuario en la realización de un determinado tipo de trabajo.

El software de aplicación resulta una solución informática para la automatización de ciertas tareas complicadas como puede ser la contabilidad y gestión de una organización, como ejemplo del software de aplicación podemos mencionar a la paquetería que nos ofrece Office de Microsoft (Word, Excel, One Note, etc.), Word Perfec, Lotus 123.

Page 9: Introducción a la Programación

Software de Desarrollo

El software de desarrollo recibe varios nombre, como software de programación o lenguaje de programación del software, en si el software de desarrollo es cualquier lenguaje artificial que podemos utilizar para definir una secuencia de instrucciones para su procesamiento por un ordenador. Es complicado definir que es y que no es un software de desarrollo, generalmente se dice que la traducción de las instrucciones a un código que comprende la computadora deber ser completamente sistemática (sigue o se ajusta a un conjunto de reglas).

El software de programación proporciona herramientas para ayudar al programados s escribir programas informáticos y a usar diferentes lenguajes de programación de forma practica, entre los lenguajes de programación mas utilizados podemos mencionar: C++, Java, C#, Visual Basic, etc.

Page 10: Introducción a la Programación

Freeware

Freeware es un software de computadora que se distribuye sin cargo. A veces se incluye el código fuente, pero no es lo usual. El Freeware suele incluir una licencia de uso, que permite su redistribución pero con algunas restricciones, como no modificar la aplicación en sí, ni venderla, y dar cuenta de su autor. Programa computacional cuyo costo económico para el usuario final es cero, independiente de las condiciones de distribución y uso que tenga. Este tipo de software la mayoría son utilerías para realizar cierta tarea como el programa Win Rar, el cual nos sirve para la compresión de un archivo.

Page 11: Introducción a la Programación

Software multimedia

El software multimedia se refiere a los programas utilizados para presentar de una forma integrada textos, gráficos, sonidos y animaciones, este tipo de software es considerado como una nueva tecnología. Las ventajas que se le atribuyen al software multimedia es en la educación, especialmente en escuelas primarias, por que realizando presentaciones con software multimedia, los alumnos prestan mas intención a la presentación realizada.

Este tipo de software suele utilizarse para el desarrollo de proyectos específicos multimedios, utilizar software multimedia requiere de tiempo, capacidades, dedicación y recursos.

Page 12: Introducción a la Programación

Software de uso general

El software de uso general son aquellos que nos sirven para resolver problemas muy variados del mismo tipo, de muy diferentes empresas o personas, con adaptaciones realizadas por un usuario, ejemplos: procesadores de texto, manejadores de bases de datos, hojas de cálculo, etc.

Software de uso especifico

Hablar de este tipo de software nos referimos al software desarrollado específicamente para un problema especifico de alguna organización o persona, utilizar este software requiere de un experto en informática para su creación o adaptación, son los programas que usan las escuelas para registrar las calificaciones de los alumnos y generar certificados, los que usan los bancos para el control de las cuentas, etc.

Page 13: Introducción a la Programación

Lenguaje de Programación

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.

Programador

Un programador es un individuo que ejerce la programación, es decir, que escribe programas de computadora u ordenador. Los programadores también reciben el nombre de desarrolladores de software.

En la mayoría de los países, programador es también una categoría profesional reconocida.

JAVA

Page 14: Introducción a la Programación

El dato es una representación simbólica (numérica, alfabética, etc.), atributo o característica de una entidad. El dato no tiene valor semántico (sentido) en sí mismo, pero convenientemente tratado (procesado) se puede utilizar en la realización de cálculos o toma de decisiones. Es de empleo muy común en el ámbito informático.

En programación un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.

Page 15: Introducción a la Programación

Simples: Son todos aquellos que abarcan una sola casilla de memoria como los boleanos, enteros, flotantes, etc.

Estructurales: Arreglos de cadenas, pilas o estructuras, abarcan mas de una casilla de memoria.

Primitivos: No tienen “descomposición”, están predefinidos en el lenguaje. Tipos compuestos:

Aparte de los anteriores, los tipos compuestos (también denominados tipos-clase). Son compuestos o agregados de tipos básicos, por esta razón se les denomina también tipos agregados o abstractos ADTs (“Abstract data types”). El “material” de que están compuestos son los tipos básicos, bien en estado “puro” o en sus diversas “adaptaciones”. El proceso es recursivo, de forma que un tipo complejo puede contener miembros que son a su vez tipos complejos y así sucesivamente.

Page 16: Introducción a la Programación

Desde el punto de vista semántico la gramática C++ establece como tipos compuestos (“Compound types”) los siguientes:

Arreglos. Matrices de objetos de cualquier tipo. Funciones, que aceptan parámetros de ciertos tipos y devuelven void u objetos (o referencias a objetos) de cierto tipo. Punteros a-void; punteros a-objetos, o punteros a-función (incluyendo miembros estáticos de clases) de un tipo determinado. Punteros a miembros no-estáticos de clases (que señalan miembros de un tipo determinado dentro de objetos de una clase determinada). Referencias a objetos o funciones de un tipo determinado. Clases. Uniones.

Page 17: Introducción a la Programación

Es el nombre utilizado para referenciar variables, constantes, tipos, funciones y otros objetos definidos por el usuraio.

Un identificador puede tener uno o mas caracteres (letras, digitos y caracter de subrayado), siendo significativos los primeros 32.

El primer caracter debe ser una letra o un simbolo de _. Se consideran caracteres distintos las mayusculas y las minusculas. Se recomienda poner identificadores representativos.

Page 18: Introducción a la Programación

Supongamos que la memoria utilizada tiene un tamaño de 4 Gigabytes y por tanto sus direcciones se representan con 32 bits. Las direcciones de memoria son números naturales en el rango [0, 232 - 1]. Pero este número natural es susceptible de ser almacenado él mismo en memoria. Es decir, se puede almacenar la representación binaria de una dirección de memoria en la propia memoria. Al tener un tamaño de 32 bits o 4 bytes, se utilizan para ello cuatro posiciones de memoria consecutivas.

Una dirección de memoria, por tanto, se puede considerar de dos formas posibles: o como una dirección de una celda de memoria, o como un número natural susceptible de ser manipulado como tal. Supóngase que en la posición de memoria 0×00000100 se encuentra almacenado el número entero de 32 bits 0×0153F2AB y que en la posición 0×00000200 se debe almacenar la dirección de dicho número. Para ello se almacena, a partir de la posición 0×00000200 el número 0×00000100 utilizando los cuatro bytes a partir de esa posición y se hace en orden creciente de significación al utilizar el esquema little endian.

Page 19: Introducción a la Programación

Tras almacenar la dirección de memoria de un dato en la posición 0×00000200, ¿es posible obtener de nuevo el número 0×0153F2AB? La respuesta es afirmativa, pero no de forma inmediata, se debe obtener de memoria primero los cuatro bytes almacenados en la posición 0×00000200 y utilizarlos como una dirección de memoria de donde obtener los cuatro bytes contenidos en la posición 0×00000100. El acceso a este último dato se ha realizado de forma indirecta, es decir, mediante un acceso previo a memoria para obtener la dirección del dato final. Utilizando la notación funcional de operaciones sobre memoria, el acceso al dato se logra ejecutando Lectura(Lectura(0×00000200)).

Page 20: Introducción a la Programación

Los operadores son un tipo de tokens que pueden aparecer en las expresiones, e indican al compilador la realización de determinadas operaciones matemáticas, lógicas y numéricas.

Operadores aritméticos: (Suma (+), sustracción multiplicación (*), división (/) y exponente (^) Que se usan en una hoja de cálculo y el software de base de datos para cálculos.

Operadores lógicos: Se usan para combinar expresiones relacionales lógicamente en una hoja de cálculo y en software de base de datos (por ejemplo, AND, OR).

Operadores relacionales:Se usan en fórmulas de hoja de cálculo y bases de datos para representar la relación de igualdad entre dos expresiones (= (igual que), < (menor que), > (mayor que, < = (menor o igual que), > = (mayor o igual que, < > diferente del).

Page 21: Introducción a la Programación

Operando: Referente a la parte de la instrucción de lenguaje máquina de la computadora que designa la dirección de los datos con los que se debe operar.

Expresion

En programación, una expresión es una combinación de constantes, variables o funciones, que es interpretada (evaluada) de acuerdo a las normas particulares de precedencia y asociación para un lenguaje de programación en particular. Como en matemáticas, la expresión es su "valor evaluado", es decir, la expresión es una representación de ese valor.

Page 22: Introducción a la Programación

Operadores Asociatividad () [] → :: . Izquierda a derecha Operadores unitarios: ! ~ + - ++ — & (dirección de) * (puntero a) sizeof new delete Derecha a izquierda .* →* Izquierda a derecha

(multiplicación) / % Izquierda a derecha

+ - (operadores binarios) Izquierda a derecha « » Izquierda a derecha < <= > >= Izquierda a derecha == != Izquierda a derecha & (bitwise AND) Izquierda a derecha ^ (bitwise XOR) Izquierda a derecha | (bitwise OR) Izquierda a derecha && Izquierda a derecha ?: Derecha a izquierda = *= /= %= += -= &= ^= |= «= »= Derecha a izquierda , Izquierda a derechaLa tabla muestra las precedencias de los operadores en orden decreciente, los de mayor precedencia en la primera fila. Dentro de la misma fila, la prioridad se decide por el orden de asociatividad. La asociatividad nos dice en que orden se aplican los operadores en expresiones complejas, por ejemplo: int a, b, c, d, e; b = c = d = e = 10; El operador de asignación “=“ se asocia de derecha a izquierda, es decir, primero se aplica “e = 10″, después “d = e”, etc. O sea, a todas las variables se les asigna el mismo valor: 10. a = b * c + d * e; El operador * tiene mayor precedencia que + e =, por lo tanto se aplica antes, después se aplica el operador +, y por último el =. El resultado final será asignar a “a” el valor 200. int m[10] = {10,20,30,40,50,60,70,80,90,100}, *f; f = &m[5]; ++*f; cout << *f << endl; La salida de este ejemplo será, 61, los operadores unitarios tienen todos la misma precedencia, y se asocian de derecha a izquierda. Primero se aplica el *, y después el incremento al contenido de f. f = &m[5];

Page 23: Introducción a la Programación

La mejor forma de aprender un lenguaje es programando con él. El programa más sencillo que se puede escribir es el siguiente:

main( ) { }

Como nos podemos imaginar, este programa no hace nada, pero contiene la parte más importante de cualquier programa C y además, es el más pequeño que se puede escribir y que se compile correctamente. En el se define la función main, que es la que ejecuta el sistema operativo al llamar a un programa C. El nombre de una función C siempre va seguida de paréntesis, tanto si tiene argumentos como si no. La definición de la función está formada por un bloque de sentencias, que esta encerrado entre llaves {}.

Un programa algo más complicado es el siguiente: include <stdio.h> main( ) { printf(“Hola amigos!\n”); }

Con el visualizamos el mensaje Hola amigos! en el terminal. En la primera línea indica que se tengan en cuenta las funciones y tipos definidos en la librería stdio (standard input/output). Estas definiciones se encuentran en el fichero header stdio.h. Ahora, en la función main se incluye una única sentencia que llama a la función printf. Esta toma como argumento una cadena de caracteres, que se imprimen van encerradas entre dobles comillas “ “. El símbolo \n indica un cambio de línea. Hay un grupo de símbolos, que son tratados como caracteres individuales, que especifican algunos caracteres especiales del código ASCII.

Page 24: Introducción a la Programación

En Java, en principio, no se pueden crear autoejecutables ya que este es un lenguaje multiplataforma y los archivos autoejecutables son dependientes de la plataforma. Esto provoca que tengamos que usar la consola para ejecutar nuestros programas; lo que supone un gran inconveniente para usuarios sobre todo acostumbrados a los entornos gráficos. Existen varias soluciones para este asunto. Aquí se explican tres de ellas. La primera es la de crear ejecutables dependientes de la plataforma ; la segunda permite hacer más fácil la ejecución en cada plataforma sin impedir su ejecución en otra plataforma; la tercera es válida para cualquier plataforma y aporta otras muchas posibilidades. Podemos crear un ejecutable de la plataforma de varias maneras: Podemos usar traducir el código java a código C con Toba o J2C. De esta forma sólo nos queda compilar el código C para crear el ejecutable. Toba es un proyecto libre cuyo desarrollo ha quedado estancado cuando Java iba por la versión 1.1, pero podemos descargarlo todavía desde su página web. J2C lo puedes encontrar aquí (creo; cuando veas la página sabrás el porqué de mis dudas), Existe un compilador que además de permitirnos, como cualquier otro compilador, crear bytecodes a partir de ficheros .java, nos da la posibilidad de compilar el fuente (archivos .java) para obtener un ejecutable de la plataforma y también permite crear un ejecutable de la plataforma a partir del bytecode. De esta forma el código obtenido es mucho más rápido. El programa se llama GJC y forma parte la familia de compiladores GCC del proyecto GNU que se desarrolla bajo la GPL (General Public License). Si lo que queremos es crear un archivo ejecutable .exe (para plataforma Windows) y prescindir de la cualidad de multiplataforma de este lenguaje, lo que hay que hacer es conseguir un programa que realice esta tarea. Esto lo hacen algunas IDE’s y el programa Jto Exe. Al crear un .exe lo que hacemos es sustituir los archivos de clase de Java, al contrario que la siguiente opción que complementa y no sustituye. En particular el programa Jto Exe necesita de la máquina virtual de Java para poder ejecutar el programa de modo seguiremos necesitando instalar la JVM al contrario que las dos opciones anteriores.

Page 25: Introducción a la Programación

http://es.wikipedia.org/wiki/Programacionhttp://es.wikipedia.org/wiki/Softwarehttp://www.mitecnologico.com/Main/ClasificacionDelSoftwarehttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttp://es.wikipedia.org/wiki/Programadorhttp://es.wikipedia.org/wiki/Datohttp://www.mitecnologico.com/Main/TiposDeDatoshttp://www.mitecnologico.com/Main/Identificadoreshttp://www.laopinion.com/glossary/o.htmlhttp://www.mitecnologico.com/Main/PrioridadOperadoresEnEvaluacionDeExpresioneshttp://www.mitecnologico.com/Main/EstructuraBasicaDeUnProgramahttp://www.mitecnologico.com/Main/ProcesoCreacionDeUnEjecutable