tarea 1 de progra

14
IDE IDE de Programación: Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, o sea, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word. Contenido [ocultar] 1 Características 2 Componentes 3 Ejemplos 4 Fuente Características Los IDE ofrecen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C+ +, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C. Es posible que un mismo IDE pueda funcionar con varios lenguajes de programación. Este es el caso de Eclipse, al que mediante plugins se le puede añadir soporte de lenguajes adicionales. Un IDE debe tener las siguientes características: Multiplataforma Soporte para diversos lenguajes de programación Integración con Sistemas de Control de Versiones

Upload: fox-joshua

Post on 13-Dec-2015

10 views

Category:

Documents


3 download

DESCRIPTION

conceptos basicos

TRANSCRIPT

Page 1: Tarea 1 de Progra

IDEIDE de Programación: Un IDE es un entorno de programación que ha sido

empaquetado como un programa de aplicación, o sea, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word.

Contenido

 [ocultar] 

1 Características 2 Componentes 3 Ejemplos 4 Fuente

Características

Los IDE ofrecen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

Es posible que un mismo IDE pueda funcionar con varios lenguajes de programación. Este es el caso de Eclipse, al que mediante plugins se le puede añadir soporte de lenguajes adicionales.

Un IDE debe tener las siguientes características:

Multiplataforma Soporte para diversos lenguajes de programación Integración con Sistemas de Control de Versiones Reconocimiento de Sintaxis Extensiones y Componentes para el IDE Integración con Framework populares Depurador Importar y Exportar proyectos Múltiples idiomas Manual de Usuarios y Ayuda

Componentes

Editor de texto. Compilador. Intérprete.

Page 2: Tarea 1 de Progra

Herramientas de automatización. Depurador. Posibilidad de ofrecer un sistema de control de versiones. Factibilidad para ayudar en la construcción de interfaces gráficas de usuarios.

Ejemplos

Eclipse: Entorno de desarrollo integrado de código abierto multiplataforma para desarrollar proyectos. Esta plataforma ha sido usada para desarrollar entornos de desarrollo integrados , como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). También se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus. En Eclipse se pueden usar diferentes lenguajes de programación como: Java, ANCI C, C++, JSP, sh, perl, php, sed.

NetBeans: Programa que sirve como IDE que permite programar en distintos lenguajes, es ideal para trabajar con el lenguaje de desarrollo JAVA (y todos sus derivados), además ofrece un excelente entorno para programar en PHP. También se puede descargar una vez instalado NetBeans, los complementos para programar en C++. La IDE de NetBeans es perfecta y muy comoda para los programadores. Tiene un excelente balance entre una interfaz con múltiples opciones y un aceptable completamiento de código.

Geany: Es un IDE que hasta hace bien poquito sólo estaba disponible para sistemas Linux, Mac OS X y BSD, pero ya está disponible para Windows. Este entorno es muy sencillo, pero proporciona las funcionalidades necesarias para desarrollar aplicaciones sin problemas. Su interfaz está dividida en tres zonas: panel lateral con el árbol de carpetas y documentos abiertos, sección principal para el código y panel inferior para los mensajes de la aplicación, compilación, etc. Este IDE permite

Page 3: Tarea 1 de Progra

programar en diferentes lenguajes como: C, C++, Java, Python, Pascal, SQL o HTML

CodeRun: Es un IDE que te permitirá programar en línea varios lenguajes, entre ellos PHP, Ajax, C#, CSS, JavaScript y HTML. Funciona perfectamente, aunque está en inglés, es útil para quién no disponga de un buen editor a mano.

En el post anterior estuve hablando sobre la versión del compilador gcc para windows, y explique que para ejecutar gcc en Windows necesitabamos una de estas opciones:

Page 4: Tarea 1 de Progra

MinGWMinGW : Esta es una colección de ficheros de cabecera y librerías que permiten

usar gcc y generar programas para Windows plataforma de 32 bits, que no necesitan de librerías de ejecución externa.

MinGW tal como su nombre lo dice : Minimalist GNU For Windows, sólo entrega unas herramientas básicas para poder trabajar con gcc. En el sitio web del proyecto se explica que no esta pensado para el desarrollo de aplicaciones POSIX, dentro de Windows. Para ese tipo de tareas avanzadas, se debe echar mano de otra herramienta llamada CYGWIN.

Actualmente viene con MinSys , que es una herramienta la cual permite implementar una capa de shell

CYGWIN: Es una completa colección de programas y librerías GNU, ademas de una dll (cygwin1.dll) que actúa como una API GNU/Linux. No es un emulador de Linux, no se pueden ejecutar binarios de GNU/Linux en el, tal como a la inversa lo hacen Wine y CrossOver en GNU/Linux.

Cygwin se instala como un programa de Windows cualquiera y consta de un instalador de unso 600 kb. Durante el proceso de instalación nos permite elegir los paquetes a instalar ( si vamos a instalarlos desde internet), y la descarga y tiempo que demorará la instalación de éstos dependerá de la cantidad de paquetes que se haya escogido.

Nightly BuildsLas Nightly Builds son compilaciones automáticas de un programa que se hacen

todas las noches y que incorporan todas las modificaciones que se han hecho durante el día.

La ventaja es que puede incluir cosas que todavía no están incluidas en las versiones estables; pero como son automáticas no hay garantía de que las modificaciones funcionen adecuadamente porque en general no están completamente probadas.

Page 5: Tarea 1 de Progra

stdio.hstdio.h, que significa "standard input-output header" (cabecera estándar E/S), es

el archivo de cabecera que contiene las definiciones de las macros, las constantes, las declaraciones de funciones de la biblioteca estándar del lenguaje de programación C para hacer operaciones, estándar, de entrada y salida, así como la definición de tipos necesarias para dichas operaciones. Por motivos de compatibilidad, el lenguaje de programación C++ (derivado de C) también tiene su propia implementación de estas funciones, que son declaradas con el archivo de cabecera cstdio

Las funciones declaradas en stdio.h  pueden clasificarse en dos categorías: funciones

de manipulación de ficheros y funciones de manipulación de entradas y salidas.

Nombre Descripción

Funciones de manipulación de ficheros

fclose Cierra un fichero a través de su puntero.

fopen,freopen,fdopenAbre un fichero para lectura, para escritura/reescritura o

para adición.

remove Elimina un fichero.

rename Cambia al fichero de nombre.

rewindColoca el indicador de posición de fichero para el stream

apuntado por stream al comienzo del fichero.

tmpfileCrea y abre un fichero temporal que es borrado cuando

cerramos con la función fclose().

Funciones de manipulación de entradas y salidas.

Page 6: Tarea 1 de Progra

clearerr

Despeja los indicadores de final de fichero y de posición de

fichero para el stream apuntado por stream al comienzo del

fichero.

feof Comprueba el indicador de final de fichero.

ferror Comprueba el indicador de errores.

fflush

Si stream apunta a un stream de salida o de actualización

cuya operación más reciente no era de entrada, la

función fflush envía cualquier dato aún sin escribir al

entorno local o a ser escrito en el fichero; si no, entonces el

comportamiento no está definido. Si stream es un puntero

nulo, la función fflush realiza el despeje para todos

losstreams cuyo comportamiento está descrito

anteriormente.

fgetpos Devuelve la posición actual del fichero.

fgetc Devuelve un carácter de un fichero.

fgets Consigue una cadena de caracteres de un fichero.

fputc Escribe un carácter en un fichero.

fputs Escribe una cadena de caracteres en un fichero.

ftellDevuelve la posición actual del fichero como número de

bytes.

fseek Sitúa el puntero de un fichero en una posición aleatoria.

Page 7: Tarea 1 de Progra

fsetpos Cambia la posición actual de un fichero.

fread lee diferentes tamaños de datos de un fichero.

fwrite

Envía, desde el array apuntado por puntero,

hasta nmemb de elementos cuyo tamaño es especificado

por tamaño. El indicador de posición de ficheros es

avanzado por el número de caracteres escritos

correctamente. Si existe un error, el valor resultante del

indicador de posición de ficheros es indeterminado.

getc Devuelve un carácter desde un fichero.

getchar Igual que getc.

getsLee caracteres de entrada hasta que encuentra un salto de

línea, y los almacena en un único argumento.

print

f,fprintf,sprintf

snprintf

Usados para imprimir salidas de datos.

vprintf También utilizado para imprimir salidas.

perror Escribe un mensaje de error a stderr.

putc Devuelve un carácter de un fichero.

putchar,fputchar Igual que putc(stdout).

scanf,fscanf,sscanf Utilizado para introducir entradas.

Page 8: Tarea 1 de Progra

vfscan

f,vscanf,vsscanfTambién utilizado para introducir entradas.

setbuf

Esta función es equivalente a la función setvbuf pasando

los valores _IOFBF para modo y BUFSIZ para tamaño, o (si

acumulador es un puntero nulo), con el valor _IONBF para

modo.

setvbuf

Sólo puede ser usada después de que el stream apuntado

por stream ha sido asociado con un fichero abierto y antes

de otra operación cualquiera es llevada acabo al stream. El

argumento modo determina cómo stream será almacenado

según lo siguiente: _IOFBF ocasiona la entrada/salida a ser

completamente almacenado; _IOLBF ocasiona la

entrada/salida a almacenar por líneas; _IONBF ocasiona la

entrada/salida a no ser almacenado. Si acumulador no es

un puntero nulo, el array al que es apuntado puede ser

usado en vez de la acumulación adjudicada por la función

setvbuf. El argumento tamaño especifica el tamaño del

array.

tmpnam

Genera una cadena de caracteres que es un nombre válido

para ficheros y que no es igual al nombre de un fichero

existente. La función tmpnam genera una cadena diferente

cada vez que es llamada, hasta un máximo de TMP_MAX

veces. Si la función es llamada más veces que TMP_MAX,

entonces el comportamiento de la función está definido

según la implementación del compilador.

ungetc

puts Imprime una de cadena de caracteres.

.

Page 9: Tarea 1 de Progra

stdlib.h 

stdlib.h (std-lib: standard library o biblioteca estándar) es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C. Contiene los prototipos de funciones de C para gestión de memoria dinámica, control de procesos y

otras. Es compatible con C++ donde se conoce como cstdlib .

Las funciones que pertenencen a stdlib.h  pueden clasificarse en las siguientes

categorías: conversión, memoria, control de procesos, ordenación y búsqueda,

matemáticas.

Nombre Descripción

Conversión de tipos

atof  (ascii to float) cadena de caracteres a coma flotante

atoi  (ascii to integer) cadena de caracteres a entero

atol (C Standard

Library)]]  (ascii to long)cadena de caracteres a entero tamaño largo

strtod  (string to double)cadena de caracteres a coma flotante tamaño

doble

strtol  (string to long) cadena de caracteres a entero largo

strtoul  (string to unsigned long)cadena de caracteres a entero largo sin signo

(positivo)

Generación de números pseudo-aleatorios

rand Genera un número pseudo-aleatorio

Page 10: Tarea 1 de Progra

srandEstablece la semilla para el generador de

números pseudo-aleatorios

Gestión de memoria dinámica

malloc, calloc, reallocReservan memoria dinámica

del heap (montón o montículo)

free Liberan memoria devolviéndola al heap

Control de procesos

abort terminar ejecución anormalmente

atexitregistrar una función callback para la salida del

programa

exit (operating system) terminar ejecución del programa

getenv recuperar una variable de entorno

system (C Standard Library) ejecutar un comando externo

Ordenación y búsqueda

bsearch búsqueda binaria en un array

qsort (C Standard Library) ordena un vector (informática) usando Quicksort

Matemáticas

Page 11: Tarea 1 de Progra

abs, labs valor absoluto

div, ldiv división entera o euclidiana

GNU

La Licencia Pública General de GNU o más conocida por su nombre

en inglés GNU General Public License (o simplemente sus siglas del inglés GNU

GPL) es la licencia más ampliamente usada1 en el mundo del software y garantiza a los

usuarios finales (personas, organizaciones, compañías) la libertad de usar, estudiar,

compartir (copiar) y modificar el software. Su propósito es declarar que el software

cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que

restrinjan esas libertades a los usuarios. Esta licencia fue creada originalmente

por Richard Stallman fundador de la Free Software Foundation (FSF) para el proyecto

GNU.

La licencia GPL puede ser usada por cualquiera, ya que su finalidad es proteger

los derechos de los usuarios finales (usar, compartir, estudiar y modificar). Esta es la

primera licencia copyleft para uso general, lo que significa que los trabajos derivados

sólo pueden ser distribuidos bajo los términos de la misma licencia. Bajo esta filosofía,

la licencia GPL garantiza a los destinatarios de un programa de computador los

derechos y libertades reunidos en definición de software libre y usa copyleft para

asegurar que el software está protegido cada vez que el trabajo es distribuido,

modificado o ampliado. En la forma de distribución (sólo pueden ser distribuidos bajo

los términos de la misma licencia) se diferencian las licencias GPL de las licencias de

software libre permisivas, de las cuales los ejemplos más conocidos son las licencias

BSD (BSD licenses).

El software bajo licencia GPL puede ser aplicado bajo todos los propósitos,

incluidos los propósitos comerciales e incluso como herramienta de creación

de software propietario. En uso puramente privativo (o interno), sin ventas ni

distribuciones implicadas, el software puede ser modificado sin liberar el código fuente

pero, de lo contrario, el código fuente y cualquier cambio realizado en él debe estar

disponible para los usuarios, ya que en este caso los derechos del usuario están

protegidos por copyleft. De esta forma, las aplicaciones instaladas en sistemas

operativos bajo licencia GPL como Linux, no es necesario que estén licenciadas bajo

GPL o que estén distribuidas con su código fuente disponible ya que las licencias no

dependen de la plataforma. Por ejemplo, si un programa está formado completamente

Page 12: Tarea 1 de Progra

por código original, o si está combinado con software que no cumple los requisitos de

copyleft no es necesario que se licencie bajo GPL o que se distribuya con su código

fuente disponible. Sólo si un programa utiliza fragmentos de código GPL (y el

programa es distribuido) el código fuente en su totalidad debe estar disponible, bajo la

misma licencia. La licencia LGPL (GNU Lesser General Public License) fue creada

para tener derechos menos restrictivos que GPL, por lo que en este caso en un programa

que utiliza fragmentos de código LGPL, no es necesario liberar el código original.

Los usuarios o companías que distribuyen sus trabajos bajo licencias GPL,

pueden cobrar o distribuirlas gratuitamente. Esto distingue las licencias GPL de las

licencias de software que prohíben su distribución comercial. La FSF argumenta que no

se debe restringir la distribución comercial del software (incluyendo la

redistribución),2 ya que la GPL establece explícitamente que las obras cubiertas por esta

licencia se pueden vender a cualquier precio.