Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas

20/12/12

Introducción a C++

Iniciaremos a programar en C++, este es un lenguaje de programación muy completo y base para todo tipo de aplicaciones.

Nociones básicas de programación


Antes de empezar a programar en un lenguaje determinado hay que conocer una serie de conceptos básicos comunes a todos estos lenguajes.
Para empezar debemos definir que es un programa. Un programa puede entenderse como la forma de expresar la solución a un problema de manera que sea comprensible para el ordenador. En otras palabras, un programa es un conjunto ordenado de instrucciones que se dan a la computadora indicando el conjunto de operaciones o tareas que se desea llevar a cabo.
Una instrucción es un conjunto de símbolos que representa una orden de operación o tratamiento para el ordenador.
A la hora de crear un programa, hay que tener en cuenta los siguientes pasos:
  1. Realizar un análisis del problema definiendo los requisitos a los que se deben dar solución
  2. Diseñar y verificar el algoritmo que se va a seguir para solucionar el problema
  3. Se codifica el algoritmo diseñado anteriormente en un lenguaje de programación
  4. Se traduce el código fuente escrito a código maquina empleando compiladores, generándose de esta manera el programa ejecutable por el ordenador.
  5. Se comprueba que el programa generado funciona correctamente. En caso de encontrar algún error, se depura el código (solución a los problemas)
  6.  Se realiza la documentación del programa realizado.

¿Qué es el lenguaje de programación C?

El lenguaje de programación C es un lenguaje de alto nivel que se puede caracterizar por los siguientes puntos:
  • Es de propósito general, esto significa que puede ser usado tanto para el desarrollo de sistemas operativos como para programas científicos, programas de aplicación o programas de educación y juegos.
  • Posee una alta transportabilidad ya que los programas escritos en C pueden ser llevados de un tipo de ordenador a otro y funcionarán. Los cambios que hay que realizar son mínimos.
  • Como solo tiene 32 palabras reservadas se dice que es compacto.
  • Los compiladores generan ejecutables más pequeños porque por norma general, los programas escritos en lenguaje C poseen menos líneas de código que otros lenguajes de programación de alto nivel.
  • El lenguaje de programación C es un lenguaje imperativo o procedimental. Esto significa que indica secuencias de acciones con el fin de llegar a un objetivo. Generalmente los lenguajes imperativos o procedimentales contienen una parte declarativa. El lenguaje C da órdenes a la maquina.
  • Es un lenguaje estructurado ya que los programas escritos con él se pueden organizar en módulos.


Su principal desventaja es que un programa puede estar escrito con tal brevedad y concisión que se vuelven casi ilegibles. Esto es debido a su versatilidad.

El compilador C trata las letras mayúsculas y minúsculas como caracteres diferentes.

Estructura básica de un programa en C

Un programa escrito en el lenguaje de programación C está formado siempre por una o más funciones, una de las cuales, obligatoriamente debe ser la que representa al programa principal y se designa la palabra reservada main. Esta función denominada main, debe ir acompañada de dos llaves ({}) que determinan el principio y el fin del programa.

Todo programa escrito en el lenguaje C, necesita unos ficheros de cabecera.

En estos ficheros de cabecera, se incluyen las definiciones de muchas de las funciones que necesitamos para nuestros programas. Muchos ficheros de cabecera son propios del sistema, como es el caso de "stdio.h", "stdlib.h", "math.h", "string.h", etc. Tambien se pueden crear ficheros de cabecera propios de nuestro programa. Esto es, se van a crear una serie de funciones que nuestra aplicación necesitara con frecuencia o en diferentes archivos. De esta manera ahorramos líneas de código y tiempo.

Estos ficheros de cabecera se definen con la directriz #include "fichero.h" si el fichero es propio del proyecto, es decir, si lo hemos creado nosotros, o bien la directriz #include si la librería es propia del sistema. Gracias a esta directriz, se le indica al compilador que incluya el fichero especificado en el programa fuente. Además de esta directriz, existe #define "identificador valor" le indica al compilador, que cada vez que en nuestro programa aparezca "indicador", se sustituirá por "valor2.

Una sentencia es la mínima unidad ejecutable de un programa C. Una sentencia C consta de una palabra clave (if, else, while, for, etc.), expresiones, declaraciones o llamadas a funciones.

Toda sentencia simple acaba con un punto y coma (;).

Todo lenguaje de programación permite al programador introducir los comentarios que desee dentro de los ficheros fuente que contienen el código de su programa. La misión de estos comentarios es servir de explicación o aclaración sobre cómo está desarrollado el programa, de forma que pueda ser entendido por cualquier otra persona o por el propio programador un tiempo después. El compilador ignora estos comentarios siempre cuando estén expresados dentro de los símbolos "/*" para indicar el comienzo del comentario y "*/" para indicar el final.

Existe además otro tipo de comentario en una sola línea que únicamente va precedido por "//".

Para poder entender esto mejor, vamos a crear nuestro primer programa en lenguaje C.

23/10/12

Introducción a Pascal


Curso de Pascal por Nacho Cabanes. Tema 0: Introducción.

Hay distintos lenguajes que nos permiten dar instrucciones a un ordenador (un programa de ordenador es básicamente eso: un conjunto de órdenes para un ordenador).

El lenguaje más directo es el propio del ordenador, llamado "lenguaje de máquina" o "código máquina", formado por secuencias de ceros y unos. Este lenguaje es muy poco intuitivo para nosotros, y difícil de usar. Por ello se recurre a otros lenguajes más avanzados, más cercanos al propio lenguaje humano (lenguajes de alto nivel), y es entonces el mismo ordenador el que se encarga de convertirlo a algo que pueda manejar directamente.

Se puede distinguir dos tipos de lenguajes, según se realice esta conversión:


  • En los intérpretes, cada instrucción que contiene el programa se va convirtiendo a código máquina antes de ejecutarla, lo que hace que sean más lentos (a cambio, los intérpretes suelen ser más fáciles de crear, lo que permite que sean baratos y que puedan funcionar en ordenadores con menor potencia).
  • En los compiladores, se convierte todo el programa en bloque a código máquina y después se ejecuta. Así, hay que esperar más que en un intérprete para comenzar a ver trabajar el programa, pero después éste funciona mucho más rápido (a cambio, los compiladores son más caros y suelen requerir ordenadores más potentes).


Hay lenguajes para los que sólo hay disponibles intérpretes, otros para los que sólo existen compiladores, y otros en los que se puede elegir entre ambos. La mayoría de los lenguajes actuales son compilados, y el entorno de desarrollo suele incluir:


  • Un editor para escribir o revisar los programas.
  • El compilador propiamente dicho, que los convierte a código máquina.
  • Otros módulos auxiliares, como enlazadores (linkers) para unir distintos subprogramas, y depuradores (debuggers) para ayudar a descubrir errores.


Es cada vez más frecuente que todos estos pasos se puedan dar desde un único “entorno integrado”. Por ejemplo, el entorno de Turbo Pascal 7 tiene la siguiente apariencia:


Algunos de los lenguajes más difundidos son: 

  • BASIC, que durante mucho tiempo se ha considerado un buen lenguaje para comenzar a aprender, por su sencillez, aunque se podía tender a crear programas poco legibles. A pesar de esta "sencillez" hay versiones muy potentes, incluso para programar en entornos gráficos como Windows.
  • COBOL, que fue muy utilizado para negocios (para crear software de gestión, que tuviese que manipular grandes cantidades de datos), aunque últimamente está bastante en desuso.
  • FORTRAN, concebido para ingeniería, operaciones matemáticas, etc. También va quedando desplazado.
  • Ensamblador, muy cercano al código máquina (es un lenguaje de "bajo nivel"), pero sustituye las secuencias de ceros y unos (bits) por palabras más fáciles de recordar, como MOV, ADD, CALL o JMP.
  • C, uno de los mejor considerados actualmente (junto con C++ y Java, que mencionaremos a continuación), porque no es demasiado difícil de aprender y permite un grado de control del ordenador muy alto, combinando características de lenguajes de alto y bajo nivel. Además, es muy transportable: existe un estándar, el ANSI C, lo que asegura que se pueden convertir programas en C de un ordenador a otro o de un sistema operativo a otro con bastante menos esfuerzo que en otros lenguajes.
  • C++, un lenguaje desarrollado a partir de C, que permite Programación Orientada a Objetos, por lo que resulta más adecuado para proyectos de una cierta envergadura.
  • Java, desarrollado a su vez a partir de C++, que elimina algunos de sus inconvenientes, y ha alcanzado una gran difusión gracias a su empleo en Internet.
  • PASCAL, el lenguaje estructurado por excelencia (ya se irá viendo qué es esto más adelante), y que en algunas versiones tiene una potencia comparable a la del lenguaje C, como es el caso de Turbo Pascal en programación para DOS y de Delphi en la programación para Windows. Frente al C tiene el inconveniente de que es menos portable, y la ventaja de que en el caso concreto de la programación para DOS, Turbo Pascal no tiene nada que envidiar la mayoría de versiones del lenguaje C en cuanto a potencia, y además resulta más fácil de aprender, es muy rápido, crea ficheros EXE más pequeños, etc., mientras que en la programación para Windows, Delphi es una muy buena herramienta para crear aplicaciones de calidad en un tiempo razonablemente breve.


Dos conceptos que se mencionan mucho al hablar de programación son "programación estructurada" y "programación orientada a objetos".

La programación estructurada consiste en dotar al programa de un cierto orden, dividiéndolo en bloques independientes unos de otros, que se encargan de cada una de las tareas necesarias. Esto hace un programa más fácil de leer y modificar.

La programación orientada a objetos se tratará más adelante, cuando ya se tenga una buena base de programación "convencional". Como simple comentario, para que vayan sonando las cosas a conocidas, diré que "Objects Pascal" es el nombre que se suele dar a un lenguaje Pascal que permita programación orientada a objetos (como es el caso de Turbo Pascal), y que "C++" es una ampliación del lenguaje C, que también soporta P.O.O. 

En lo que sigue vamos a ver los fundamentos de la programación en Pascal, primero intentando ceñirnos al Pascal estándar, y luego ampliando con las mejoras que incluye Turbo Pascal, la versión más difundida.

Los primeros programas, los más sencillos, se podrán compilar con cualquier versión del lenguaje Pascal (o casi), aunque la mayoría de los más avanzados (los que incluyan manejo de gráficos, por ejemplo) estarán creados pensando en el que posiblemente sea en estos momentos el compilador de Pascal más usado: Free Pascal, o bien en el clásico Turbo Pascal 7.0 para Dos.


20/10/12

Introducción a la programación en Basic


1. Introducción a la programación en Basic.


Captura de pantalla mostrando Atari BASIC, un temprano lenguaje BASIC para pequeños computadores



Vamos a ver una introducción a la programación de ordenadores. Para ello, vamos a centrarnos en el lenguaje Basic. Es un lenguaje que durante mucho tiempo se consideró como muy apropiado para comenzar en la programación de ordenadores, y que posteriormente fue desbancado para este propósito por otros lenguajes más estructurados como Pascal. Hoy en día existen versiones de Basic lo suficientemente estructuradas como para resultar adecuadas para aprender correctamente los principios básicos, y versiones lo suficientemente potentes como para realizar aplicaciones "serias" en entornos como Windows.

Nosotros comenzaremos centrándonos en los Basic "convencionales", viendo cómo se realizan programas sencillos en modo texto, y después iremos aplicándolo a otros Basic "más modernos".


Veremos las nociones básicas a lo largo de varios temas:


2. Nociones elementales sobre los programas y Basic.

3. Escribir en pantalla. PRINT, Operaciones matemáticas.

4. Introducción a las variables. LET.

5. Los comentarios: REM. Varias líneas en una. Mayúsculas y minúsculas.

6. Los bucles. FOR.

7. Saltos: GOTO y GOSUB.

8. Comprobación de condiciones: IF.

9. Guardar y recuperar programas. Borrar el programa en memoria. SAVE, LOAD, NEW.

10. Funciones predefinidas en Basic.

11. Otros bucles: WHILE, LOOP.

12. Más sobre la orden PRINT.

13. Más control de la pantalla.

14. Más control del teclado.

15. Control de programas en Basic "antiguos": auto, renum, edit, trace...

16. Gráficos desde Basic.

17. Condiciones mejoradas: CASE.

18. Declaración de variables y de tipos.

19. Ficheros en Basic.

20. Procedimientos y funciones con Basic.

21. Programación modular y Basic.

22. La impresora desde Basic.

23. Sonidos sencillos desde Basic.

24. Ensamblador y código máquina desde Basic. (*)

25. Temporizadores, control de errores y otras características avanzadas. (*)

26. Ejercicios de ejemplo. (*)



Introducción a VBA (Visual Basic for Applications).

VBA (2): Tres primeros ejemplos con Word 97.

VBA (3): Tres primeros ejemplos con Excel 97. (*)

VBA (4): Un ejemplo más avanzado con Word 97. (*)

VBA (5): ... (*)



Introducción a Visual Basic (1): El entorno.

Introducción a Visual Basic (2): Formularios, botones y etiquetas.

Introducción a Visual Basic (3): Toma de contacto con los eventos.

Introducción a Visual Basic (4): Cuadros de texto.

Introducción a Visual Basic (5): Paneles, casillas de verificación y de opción.

Introducción a Visual Basic (6): Creando gráficos sencillos.

Introducción a Visual Basic (7): Ficheros desde Visual Basic.

(...)

22/9/12

Herramientas de Programación para Niños

La programación es arte y ciencia, me quedaría corto con lo que realmente es y las grandes utilidades que se le dan a los diversos lenguajes que existen cada uno con grandes logros y éxitos en el mundo actual.
como programadores siempre debemos contar a la mano con nuestras propios algoritmos y nuestras estructuras de datos.
Como lo comentan mis amigos de ALT1040, que tan difícil es enseñar a un niño a programar?, sobre todo contemplar la edad y la astucia que el niño represente, uno de los métodos es empezar por lo básico que es la construcción de lego el cual fomenta la creatividad, después utilizar otros prototipos de robots de construcción pero ya con programación, en este articulo mostraremos algunas herramientas para niños los cuales son de aprendizaje básico les dejo una lista y sus vídeos.

1. Alice

Código abierto. Inglés.
Ambiente de programación creado en Carnegie Mellon University, donde los niños pueden contar historias animadas con bloques 3D: “para la próxima generación de científicos de la programación.

2. Doma de Serpientes para Niños

Código abierto. Inglés y español.

Basado en el famoso “Snake Wrangling for Kids”, es un libro electrónico para enseñar programación a niños mayores de 8 años mediante el lenguaje de programación Python, disponible en cualquier sistemas operativo. Éste lenguaje, cabe mencionar, es sencillo, flexible y poderoso: soy un acérrimo fan.


3. Kids with Ruby

Código abierto. Inglés.

Es un software interactivo para aprender programación con el lenguaje Ruby: unos de los más bellos lenguajes, si me permiten decirlo, que podrán encontrar. Como dijo Yukihiro Matsumoto, creador de Ruby, “espero ayudar a que cada programador en el mundo sea productivo, disfrute y sea feliz programando. Este es el principal propósito del lenguaje Ruby”.


4. Kodu

Comercial. Inglés.

Con Kodu lo niños pueden crear juegos de manera visual desde la PC y XBox. Fue diseñado para enseñar a programar con tres conceptos eje: creatividad, resolución de problemas y narrativa.

5. LEGO MindStorms NXT

Comercial. Inglés, español.

Son robots programables, ya sea con el NXT Intelligent Brick para programas relativamente sencillos, o con alguno de entre cincuenta lenguajes de programación disponibles.

6. Hackety Hack

Código abierto. Inglés.

Sin experiencia previa en programación, por supuesto, Hackety Hack es un software ya clásico para enseñar a programar con Ruby, una lección a la vez. Creado por el no menos famoso hacker _why, Hackety Hack incluso obedece a un manifesto que en una de sus últimas líneas dice que “es libre y se mantendrá así en adelante”.


7. Petit Computer

Comercial. Inglés.

Si sentarse a programar no es opción, tal vez sí lo sea usar un Nintendo 3DS o DSi con Petit Computer, que permite crear programas en BASIC. No es que BASIC sea la mejor opción, sin embargo puede ser atractivo hacerlo desde la consola portátil.

8. Raspberry Pi

Comercial/Código abierto. Inglés.

Este ha sido uno de los mayores éxitos de la comunidad del software y hardware libres en los últimos años. Se trata de una pequeña placa que puede costar entre 25 y 35 dólares, donde cabe Linux, y está diseñado expresamente para la enseñanza de programación básica. Además de ser un gadget fabuloso para un hacker, su portabilidad y precio permiten montar talleres móviles de programación para niños con poco acceso a la tecnología.


9. RoboMind

Gratuito. Inglés.

Tenemos ante nosotros un proyecto similar a LEGO Mindstorms, pero en software: un ambiente de programación básica aplicada a un robot virtual, con la posibilidad de profundizar en temas de robótica e inteligencia artificial. Utiliza su propio lenguaje, ROBO, diseñado con una sintaxis simple.


10. Scratch

Código abierto (salvo algunas partes). Inglés.

Este proyecto ya es un clásico. Comenzó en el MIT en 2006 y hoy en día tiene una comunidad vibrante de usuarios que comparten proyectos y experiencias. Scratch se conforma de un entorno de programación visual orientada a la creación de juegos y animaciones para iniciar a los niños en los bloques básicos de la programación.


Via: ALT1040


5/4/12

VIM Editor de Programación



Vim es un editor muy poderoso para programar y para usuarios avanzados, vim es una herramienta muy útil que nos permite escribir y modificar código muy rápido, vim también puede ser utilizado como procesador de texto y posee u propia linea de comandos.

Características:




  • Corrector ortográfico integrado.
  • Autocompletado de texto.
  • Navegación por pestañas.
  • Ventanas múltiples, que dividen el área de edición horizontal o verticalmente.
  • Resaltado de sintaxis dependiente del lenguaje de programación o de etiquetas utilizado.
  • Comandos deshacer y rehacer.
  • Comprensión de más de 200 sintaxis diferentes.
  • Lenguaje de scripting para programar extensiones.
  • Completado de comandos, palabras y nombres de ficheros.
  • Compresión y descompresión de archivos, que posibilita editar archivos comprimidos.
  • Reconocimiento de formatos de archivo y conversión entre los mismos.
  • Historial de comandos ejecutados.
  • Grabación y reproducción de macros.
  • Guardado de la configuración entre sesiones.
  • Plegado automático y manual de código.
  • Interfaz gráfica opcional.
  • Altamente configurable y personalizable.
  • Casi 100% compatible con vi, pero sin muchos de sus defectos.

Nota:

La versión del editor Vim instalada por defecto en Ubuntu no incluye todas las funcionalidades de la versión completa, para acceder a ellas tan sólo hace falta instalar el paquete vim-full de los repositorios oficiales de Ubuntu.

Les dejo unas guias para que puedan saber un poco mas de este editor



 
¡Te gusta Blogg Ayuda!