domingo, 22 de abril de 2018

Entrada y Salida de Datos.



En el capitulo anterior Tipos de Datos, Variables y Constantes se precisaron los tres tipos de datos más comunes; en realidad hay más, pero a medida que vayamos avanzando en el curso se irán detallando. Por ahora, con los datos tipo entero (int), flotante (float) y carácter (char), podemos lograr programas totalmente funcionales. 

Ya creo que es tiempo para programar algo. Un consejo, al momento de programar es necesario que piensen de forma estructurada y con secuencia lógica, esto es: No deben (si pueden, aunque parecerán locos) colocarse primero el pantalón y luego la ropa interior. Y eso es lo que trataremos de tener presente cada vez que hagamos nuestros programas.

Un ejemplo de lo anterior. Si queremos realizar la adicción de dos números y almacenar el resultado en una variable llamada suma, ésta también debe estar declarada. En los siguientes códigos podrán ver de que hablo:
#include <stdlib.h>
#include <iostream>
using namespace std;

int main () {
   int num1 = 4, num2 = 5;
   suma = num1 + num2;
   
   return 0;
 }
#include <stdlib.h>
#include <iostream>
using namespace std;

int main () {
   int num1 = 4, num2 = 5, suma;
   suma = num1 + num2;
   
   return 0;
 }

En ambos códigos se intenta realizar la suma de dos números (num1 y num2) cuyo valor se almacena en la variable suma. Sin embargo a correr el programa, el primer código dará un error, porque la variable suma no ha sido declarada previamente. Nótese que en el código de abajo, al declarar num1 y num2 se ha declarado también suma. Como prueba intenta ejecutar ambos códigos y comenta lo que ocurre en ambos casos.

Entrada y Salida de Datos

Bien, una parte importante de todo programa es la interacción con el usuario. Un programa que no reciba o muestre datos (al menos que sea creado con esa intención) será muy poco útil. Tomemos como ejemplo el código anterior, cada vez que se ejecuta ese programa siempre hará la misma operación (4+5), esto no cambiará así lo ejecutemos un millón de veces más, y peor aun no visualizaremos el resultado ya que no hay un instrucción que le indique al programa que los muestre.

Entonces para generalizar más el programa permitiendo realizar la suma de dos números variados que sean ingresados por el usuario mediante el teclado y que, a su vez, el resultado sea mostrado en pantalla; para ello es necesario usar las instrucciones que permitan hacer esto.

Por suerte, en C++, esto se logra con el uso de dos instrucciones cin para recibir por teclado un dato y cout para mostrar en consola una información. Para probar esto nuevo ejecuten el siguiente código:

#include <stdlib.h>
#include <iostream>
using namespace std;

int main () {
   int num1, num2, suma;
   cin >> num1;             // Línea 9
   cin >> num2;             // Línea 10
   suma = num1 + num2;
   cout << suma;            // Línea 12
   
   return 0;
 }

Veamos, del código anterior hay cosas nuevas que posiblemente les parecerá confuso. Vamos a detallarlos:
  • Las variables num1, num2 no tienen valor inicial, ya que no es necesario, debido que los valores de estas variables serán ingresadas por el usuario mediante el teclado.
  • La instrucción cin nos permite capturar por teclado y direccionar su valor a una variable, tal como se muestra en las líneas 9 y 10. Nótese que la forma de indicar que el valor se almacenará en la variable es colocando los símbolos >> y posteriormente la variable que recibirá el valor.
  • Con cout mostramos en consola el valor de la variable suma, que es el resultado de la adicción de num1 y num2 tal como se muestra en la línea 12. A esta instrucción la acompaña el símbolo << junto a la variable a la que se ha de mostrar su valor.

Si corren este programa podrán ingresar primero un número, luego otro y posteriormente se mostrará el resultado. Lo único que debo acotar de forma negativa es que la presentación al usuario carece de estética, ya que no hay algún mensaje que le indique al usuario que debe hacer. 

Que te parece si mejoramos esto, con otro ejercicio.


#include <stdlib.h>
#include <iostream>
using namespace std;

int main () {
   float area, base, altura;
   cout << "Bienvenido al Programa que calcula el área de un triángulo" << endl;
   cout << "Ingrese la base de un triángulo" << endl;
   cin >> base;    // Línea 11
   cout << "Ingrese la altura de un triángulo" << endl;
   cin >> altura;  // Línea 13
   area = (base * altura) / 2;  //Línea 14
   cout << "El área es: " << area;  //Línea 15
   
   return 0;
 }

Analicemos este ejercicio:
  • Este programa esta diseñado para calcular el área de un triángulo, en la cual el usuario debe ingresar la base y altura del mismo, y se mostrará como resultado el área.
  • Las variables se han creado tipo float. El motivo es que es muy probable que el usuario ingrese un valor con decimales para la base y altura y es mucho más probable que el resultado del área = (base * altura) / 2, sea un valor decimal.
  • A diferencia del código anterior antes de pedir con el cin los valores para altura y base se ejecuta el cout con un texto entre comillas, esto le indica al programa que el texto se debe mostrar en la terminal tal cual como esta allí; es decir mostrará íntegro la oración que esta entre comillas.
  • Al final de cada sentencia cout se coloca un fin de línea (endl), lo indica que una vez que muestre el texto, debe bajar una línea y mostrar lo que sigue. En esa misma línea se esta usando << dos veces, esto indica que se esta concatenando (uniendo) ambas sentencias: El texto entre comillas y el endl.
  • Posteriormente de inserta con cin los datos presionados por teclado en la variables (Líneas 11 y 13).
  • Se realiza la operación del cálculo del área (Línea 14).
  • Se muestra el resultado (Línea 15). Aquí nuevamente vemos una concatenación con el símbolo <<: Primero se muestra el texto y posteriormente el resultado de la variable area. Hay que fijarse de la diferencia de usar comillas y no en la instrucción cout. Si en esa línea también se hubiese colocado entre comillas area el programa mostraría el texto area.
Bien creo que este es todo en este capítulo. Antes de despedirme quisiera dejarles unos ejercicios sencillos para que practiquen y se familiaricen.

Realicen un programa que:
  • Reste tres números ingresados por el usuario y muestre su resultado.
  • Multiplique dos número que el usuario ingrese por teclado y muestre su resultado.
  • Calcule el área de un cuadrado y un cilindro y muestre sus resultados.

Recuerda si tienes alguna duda no déjame tu comentario y te responderé al respecto.

Tipos de Datos, Variables y Constantes


En el capítulo anterior ofrecimos una Introducción a este curso y determinamos que el lenguaje de programación que utilizaremos es C++. Para realizar los ejercicios será requerido utilizar un IDE de desarrollo en C++, en Tratado Tecnológico recomendamos CodeBlock, por lo que requerirás instalarlo en tu PC, visita el post Instalación de CodeBlock en Windows en el cual te guiamos en la instalación. Ya aclarado lo anterior, iniciemos. 

Variables y Tipos de Datos

El título del capítulo es Tipos de Datos y Variables, pero comencemos por las variables. Una variables es identificador que apunta a un espacio de almacenamiento en la cual podemos almacenar un dato para posteriormente manipularlo. Por ejemplo, se puede definir una variable cuyo identificador es edad que va almacenar el valor 32, esto quiere decir que edad es igual a 32 y se representa de la siguiente manera: edad = 32.

Ahora en un C++ para poder definir una variable se requiere seguir una forma estandarizada, esta es:

[tipo de dato] nombre_de_variable [= valor (opcional)];

int main () {
   int edad;
   float numero = 2.5;
   char opcion = 's';
}

Veamos el código anterior, allí podemos extraer varias informaciones, tales como:
  • Las instrucciones esta dentro de una función llamada main. En esta función escribiremos nuestro código principal. Por ahora no te preocupes de lo que es una función, lo detallaremos en unos capítulos más adelante, lo relevante es que dentro de esa estructura escribiremos nuestro programa.
  • Cada línea de instrucción culmina colocando punto y coma (;). Esto es obligatorio para C++, ya que es la forma de indicarle donde termina una línea de instrucción. Nota:Existen lenguaje de programación que adoptan esta forma de identificar el fin de una instrucción, tales como PHP, Javascript, Java, entre otros.
  • Si se fijan, se han declarado tres (03) variables y cada uno con un tipo diferente de datos:
    • El primero de ellos, de tipo int, es utilizado para indicar que la variable almacenará un dato numérico entero; esto es un número que no contiene decimales. Este tipo de datos es común encontrarlos al definir la edad, el año, entre otros. Es difícil, por no decir improbable, que al preguntarle a alguien su edad te responda 32.5 años.
    • El que sigue (float) define un valor numérico que puede ser decimal. Nótese que, a diferencia de la declaración anterior, a esta variable se le está asignando un valor inicial (2.5). Esto se puede hacer y si se fijan de la estructura que dimos arriba, es opcional; por lo que si necesitas indicar un valor inicial a nuestra variable, esta es la forma de hacerlo.
    • Por último tenemos una variable tipo char, la cual define una variable que almacenará un carácter. Ésta también tiene un valor por defecto el cual está limitado entre comillas simple. Los caracteres se deben definir entre comillas, ya que de lo contrario podría dar error de sintaxis.
Adicionalmente a estos tipos de datos también se le pueden agregar unos prefijos que determinarán el tamaño de datos que almacenarán, tales como: short, long. El short indica que el tipo de dato a almacenar es pequeño por lo tanto utilizará menos espacio de memoria para guardar el valor de la variable y, por el contrario, el long almacenará un dato grande y necesitará más espacio de memoria para registrar el dato. Estos prefijos no son obligatorios, solo es recomendable utilizarlo si tenemos claro el tamaño de datos que almacenará la variable. Un ejemplo de su sería:

int main () {
   short int edad;
   long float numero = 2.5;
   char opcion = 's';
}

Constantes

Una de las características de las variables es que éstas pueden cambiar su valor durante la ejecución del programa, por ejemplo si creamos una variable llamada suma, inicialmente podríamos declararla por defecto con valor cero, sin embargo, muy probablemente, unas líneas más abajo cambie su valor, debido a la adicción de dos o más valores. Cuando se establece que una variable no va a cambiar su valor durante el programa, lo más recomendable es declararla como una constante. 

Un ejemplo de constante es el valor PI (3.1416). Este valor, por más operaciones que se haga, siempre será el mismo. La forma de declarar una constante es muy similar a la de una variable, con la diferencia que se le antecede la palabra const:

const [tipo de dato] nombre_de_variable = valor;

int main () {
   int edad = 3;
   int suma;
   float numero = 2.5, area;
   char opcion = 's';
   const float pi = 3.1416;

   return 0;
}

En el código podemos ver tres cambios con respecto a la anterior. La primera, se están creado dos variables tipo int (edad y suma), esto es válido; pero cuando tenemos dos o más variables con el mismo tipo de datos, se puede declarar en una misma línea separadas por coma (,), tal como se hace con las variables numero y area de tipo float.

Lo segundo podemos observar es la declaración de una constante cuyo tipo de datos es float. A diferencia de una variable, cuando se declara una constante es obligatorio que se le asigne un valor inicial, ya que ésta no podrá recibir algún otro valor una vez creada.

Tips para declarar variables y constante
  • Los nombres de variables no pueden estar separadas por nombre, guión, caracteres especiales. Ej: numero 1, numero-1, numero*1, para estos casos lo mejor sería: numero1, numero_1.
  • Hay palabras que no pueden usarse como nombre de variables por ser consideradas reservadas para el sistema. Ej: return, int, float, define, include, entre otros.
  • C++ es sensible a la mayúsculas y minúsculas, por lo que no es lo mismo hacer mención a un nombre de variable como numero y Numero, esa N hace el la variable sea otra.

Para concluir, en esta sección se mostró como declarar una variable y una constante. Por ahora, no hemos hecho alguna operación al respecto, pero no comas ansias, ya en el siguiente capítulo haremos algunas operaciones y verás resultados palpables. Recuerden, para poder "correr" sus programas van a requerir instalar un IDE de desarrollo como CodeBlock, si no los has instalado, ya es el momento. En este post te explicamos como: Instalación de CodeBlock en Windows.

Nos vemos en la próxima clase. Hasta pronto.



sábado, 21 de abril de 2018

Instalación de CodeBlock en Windows

Cuando tomamos la iniciativa de aprender a programar nos salta la primera duda ¿Con cuál lenguaje de programación me inicio? Desde mi experiencia te puedo decir que existen dos lenguajes de rápido aprendizaje C++ y Python.

Si elegiste la primera opción C++ (recomendado) necesitarás un IDE de desarrollo donde realizar tus programas y CodeBlock es una buena opción. Los puedes descargar aquí. Una vez estés en la página debes ir a la sección de Download->binaries y descargar la versión de codeblock codeblocks-17.12mingw-setup.exe


Cuando se haya descargado lo instalas y creas tu primer archivo de C++. Eso lo logras en File -> New -> File.


Posteriormente selecciona como template C/C++ y en source nuevamente C++. Le colocas un nombre a tu documento. Es importante que al archivo le coloques la extensión .cpp y dar click al botón con los tres puntos suspensivo para guardarlo en tu pc.


Ahora estas listo para escribir tu primer código. Prueba con los siguiente:


Al darle al ícono del engranaje con la flecha haces que CodeBlock revise si tu código no tiene errores de sintaxis (que este bien escrito), lo compile y corra tu programa. El resultado obtenido es un terminal mostrando como resultado 3, que es el valor de num.

Si deseas también puedes ver este video:




Observación: En muchas instalaciones de CodeBlock cuando se hace el paso anterior éste hace nada. Es muy posible que no se haya indicado de manera automática que versión de compilador de c++. Para solucionar esto haga lo siguiente: En la barra de herramientas de click en Settings->Compile... y de click al botón Reset defaults. Guarde los cambios y listo... ¡A programar!


Recuerden si tienen algún inconveniente comenten. Sino igual comenten cómo les fue. 

Suscrcríbete registrando tu correo en el módulo de la derecha para recibas los nuevos avances y artículos. Estaré creando cursos y artículos interesantes para tu disfrute.

viernes, 20 de abril de 2018

Programación Nivel Básico: Introducción


Tal vez se pregunten para qué aprender a programar. Como Docente he escuchado un cuestionamiento similar para el área de las matemáticas: Álgebra, Cálculo, Trigonometría, etc, pues porque consideran que mucho de sus contenidos (Las derivadas, integrales y ecuaciones diferenciales) no lo usarán en la vida cotidiana -un ingeniero sí que las usa-. Aunque tal vez su apreciación tengan algo de verdad, más que darles un uso cotidiano a esas herramientas matemáticas, éstas nos ayudan a desarrollar la abstracción. 

La abstracción es un acto mental que nos permite precisar las propiedades de un objeto en nuestros pensamientos. Y... ¿Qué hago con eso? Fíjate, todo lo que hacemos, al menos que sea por instinto, es analizado en nuestra mente, en parte eso es abstracción, pero si además somos capaces de considerar varias opciones y/o manipular el objeto que se piensa, estamos logrando un grado mayor de abstracción. En otras palabras quienes tienen mayor habilidad de abstracción son capaces de visualizar en su mente variados resultados, alternativas, soluciones a una situación o problema. De hecho científicos geniales como Albert Einstein hacian uso de esa técnica para realizar experimentos mentales a sus planteamientos físicos.

La programación también permite su desarrollo, pero además si la aplicas puedes generar resultados prácticos relevantes. La programación es un tema relativamente nueva -mediados de los noventa-, pero mucho antes de ello ya existían métodos estructurados, programáticos y sobre todo lógicos. Justamente, según mi apreciación, eso es la programación: Lógica.

Ahora, en un mundo tan globalizado y tecnológico se ha vuelto imprescindible tener conocimientos de informática, mas saber programar tampoco es una exigencia. El conocimiento que se ofrece esta dirigido para todos aquellos que desean iniciarse en el mundo de la programación. Programar no está restringido para experto en la informática (aunque ciertamente hay personas con un alto nivel en ésta área) pues cualquier persona puede aprender a programar, no hay limitaciones. Pero también es cierto que habrá algunos con mayores destrezas, pero eso ocurre en todos los ámbitos: 

Con práctica todos pueden jugar baloncesto, pero no todos pueden ser Jordan.


Bien, en este primer curso aprenderán lo básico de la programación estructurada. Pero no se confunda que por el hecho de ser básico no quiere decir que no sea potente. Inclusive podrán desarrollar una aplicación sencilla, pero que realice una tarea útil.

A pesar que muchas de las sintaxis que veremos son similares entre los variados lenguaje de programación, en esta oportunidad para los ejemplos y ejercicios haremos uso del lenguaje de programación C++.

Espero sea de su agrado y vayamos a la siguiente lección.

miércoles, 18 de abril de 2018

Iniciando el Curso de Programación Nivel Básico

Hola estimados lectores, una vez más les doy la bienvenida a este blog en el cual podrán encontrar temas de su interés. Dichos temas serán de índole tecnológicos los que se publicarán de dos formas o en dos formatos diferentes, dependiendo de su objetivo. Un primer formato compilados en cursos los cuales buscan ofrecer un conjunto de información que los ayude a obtener destrezas y habilidades en un área del conocimiento específico. Y una segunda forma en la que se publicará información relevante del área tecnológica, pero que no cumple ni se vincula a un hilo programático propias de un curso.

Hoy damos inicio al primer curso que ofrece este blog. Programación Básica, es muy posible que ya tengas una vasta experiencia en esta rama, por lo que quizás te parezca un poco básico este curso, pero justamente esta es la idea. Lo que se desea es que aquellas personas que no tienen algún conocimiento -o que estos sean escasos- en la programación puedan iniciarse con este curso.

Esto no quiere decir que no puedas visitar y echar una hojeada por acá, de hecho quizás encuentres interesante la manera en que ofrezco los conceptos que tú ya posiblemente sabes. Por lo cual me gustaría que opinaras al respecto.

Entonces mi querido amigo, ya dicho lo anterior, sólo queda darte la bienvenida a este curso y bueno... iniciemos el curso de Programación Básica.


jueves, 5 de enero de 2017

Bienvenidos a Tratado Tecnológico


¡Bienvenidos a Tratado Tecnológico! Para el momento que escribo este artículo acumulo ocho (08) años de labor docente en el área informática; lo que para mi ha sido experiencia excepcional, debido que me permite materializar dos objetivos primordiales del ámbito académico: 1) Divulgar el conocimiento adquirido durante el caminar profesional y; 2) Seguir en el proceso interminable de su obtención.

Ahora, en mi ávido deseo de persecución del conocimiento he iniciado este Proyecto: La creación del blog Tratado Tecnológico, lo que me ayudará a seguir aprediendo y fortalecer la información ya obtenida, aunado que me permitirá complementar mi labor docente, ya que será un recurso de apoyo para mis estudiantes y demás personas interesadas.

El que esta iniciativa nazca con la intención de ser apoyo para las cátedras que mis estudiantes cursan durante su preparación profesional, no lo excluye de que sea un buen instrumento para el desarrollo de aquellas personas que no estén en el camino de la educación superior, ya que intentaré, con gran y profundo esmero, de que el contenido presentado sea expuesto de manera sencilla. Estas personas cuyas habilidades innatas florecen y se fortalecen de la experiencia los invito a que me lean; posiblemente consigan acá un método de aprendizaje que les guste.

Deseo que también se vuelvan parte de este Proyecto, ya que sus comentarios, sugerencias, dudas podrán dirigir el camino de la temática a tratar acá. Inicialmente mi propuesta es ofrecer contenido que cumplan con una secuencia pedagógica, según estándares propios de un perfil curricular de un profesional de la informática; mas, en atención a las inquietudes de ustedes, mis preciados lectores, podríamos hacer un apartado para exponer temas una poco más aleatorios.

Aunque no soy experto en muchas áreas -es imposible serlo en todo, inclusive es mucha pretensión creer serlo en una área específico-, cualquier ámbito de interés puede ser tratado acá (mientras sea del campo tecnológico), este tipo de incursiones aumentan nuestra cultura.

Haré un intento para ofrecer contenido de mucha ayuda para su formación profesional y espero, con la mayor disposición y humildad posible, sea de provecho para ustedes.

¡Hasta pronto!