lunes, 24 de octubre de 2016

INTRODUCCIÓN: ¿QUÉ ES LA PROGRAMACIÓN?

En pocas palabras, es el proceso por el cual una persona desarrolla un programa valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, tales como C++, Java y Python) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguaje de máquina, el cual puede ser entendido por un microprocesador.

En el sig. blog, te mostraremos lo que son:
  • Librerías.
  • Signos de Puntuación.
  • Estructuras Secuenciales.
  • Estructuras Selectivas.
  • Estructuras Iterativas.

LIBRERÍAS

Las librearías son archivos (no siempre externos) que nos permiten llevar a cabo diferentes tareas sin necesidad de preocuparnos por cómo se hacen sino simplemente entender cómo usarlas. Las librearías en C++ permiten hacer nuestros programas más modulares y reutilizables, facilitando además crear programas con funcionalidades bastante complejas en unas pocas líneas de código.

Algunas de ellas son:


  • "iostream": Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e importante (aunque no indispensable).
  • "numeric": Parte de la librería numérica de la STL relativa a operaciones numéricas.
  • "ostream": Algoritmos estándar para los flujos de salida.
  • "string": Parte de la STL relativa a contenedores tipo string; una generalización de las cadenas alfanuméricas para albergar cadenas de objetos. Muy útil para el fácil uso de las cadenas de caracteres, pues elimina muchas d elas dificultades que generan los char.
  • "list": Permite implementar listas doblemente enlzadas (listas enlazadas dobles) facilmente.
  • "iterator": Proporciona un conjunto de clases para iterar elementos.
  • "regex": Proporciona fácil acceso al uso de expresiones regulares para la comparación de patrones.
  • "thread": Útil para trabajar programación multihilos y crear múltiples hilos en nuestra aplicación.

SIGNOS DE PUNTUACIÓN

"CORCHETES".
Los corchetes indican subíndices de matrices uni y multidimensionales.

Ej: int mat[3][4]; // Matriz de 3 x 4.

"PARÉNTESIS".
Los paréntesis sirven para agrupar expresiones; alterar la precedencia normal de los operadores y su asociatividad; aislar expresiones condicionales; indicar llamadas a funciones, y señalar los parámetros de estas.

Ej: int func(); // declara función.

"LLAVES".
Señalan el comienzo y final de una sentencia compuesta, como los bloques de código, ya que estos  se trata de una sucesión (que puede estar vacía) de sentencias delimitadas por un par de llaves ({ }).

Ej: if (statement)
     {...}; // punto y coma ilegal !!
      else

"COMA".
La coma como puntuador se utiliza para separar los elementos en las listas de parámetros de una función.

Ej: void func(int n, float f, char ch);

"PUNTO Y COMA".
El punto y coma; es el signo de fin de sentencia. Cualquier expresión legal C++ terminada por un punto y coma (incluyendo la expresión vacía - un punto y coma aislado-) es interpretado como una sentencia, conocidas como sentencia-expresión. La expresión se evalúa y el resultado se descarta; si no tiene efectos colaterales, C++ la ignora.

Ej: a + b; // evalúa a + b, descarta el resultado.

"DOS PUNTOS".
Los dos puntos se utilizan para señalar sentencias etiquetadas.

Ej: comienzo: x=0; // comienzo es la etiqueta


ESTRUCTURAS SECUENCIALES.

La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.

Esto se divide en:
-Salida de Datos.
-Entrada de Datos.

"SALIDA DE DATOS".
Consiste en mandar por un dispositivo de salida (ej. monitor o impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable.

"ENTRADA DE DATOS".
Consiste en recibir desde un dispositivo de entrada (ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuación de la instrucción.

Resultado de imagen para estructura secuencial c++

ESTRUCTURAS SELECTIVAS.

La estructura lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas. Las utilizamos cuando en  el desarrollo de la solución de un problema debemos tomar una decisión, para establecer un proceso o señalar un camino alternativo a seguir.

Las podemos clasificar en:

1. SI-ENTONCES (Estructura selectiva simple).

2.SI-ENTONCES / SINO (Estructura selectiva doble).

3.SI MÚLTIPLE (Estructura selectiva múltiple).

"SI-ENTONCES".
La estructura "Si-Entonces" permite controlar qué procesos tienen lugar en función del valor de una o varias variables o de las decisiones del usuario.
Resultado de imagen para ejemplo estructura selectiva simple

"SI-ENTONCES/ SINO".
Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes. Entonces, si una condición es verdadera, se ejecuta la acción 1 y si es falsa, se ejecuta la acción 2.


"SI MÚLTIPLE".
Esta estructura se utiliza para seleccionar una alternativa dentro de múltiples opciones disponibles.
Resultado de imagen para estructura selectiva multiple c++

ESTRUCTURAS ITERATIVAS

Estas estructuras se basan en hacer que una o más líneas de código se ejecuten cuantas veces sea necesario.
Las tres principales estructuras son:

  • "For" (Para).
  • "While" (Mientras).
  • "Do While" (Hacer Mientras).
"FOR".
Un ciclo "For" es una estructura de control iterativa, que nos permite ejecutar de manera repetitiva un bloque de instrucciones, conociendo previamente un valor de inicio, un tamaño de paso y un valor final para el ciclo.

La sintaxis de un ciclo "For" es simple, en realidad en la mayoría de los lenguajes de alto nivel es incluso muy similar, de hecho, con tan solo tener bien claros los 3 componentes del ciclo "For" (inicio, final y tamaño de paso) tenemos prácticamente todo hecho.


"WHILE".
Los ciclos "While" son también una estructura cíclica, que nos permite ejecutar una o varias líneas de código de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final que esperamos, los ciclos "While", no dependen directamente de valores numéricos, sino de valores booleanos, es decir su ejecución depende del valor de verdad de una condición dada, verdadera o falso, nada más. De este modo los ciclos "While", son mucho más efectivos para condiciones indeterminadas, que no conocemos cuando se van a dar a diferencia de los ciclos "For", con los cuales se debe tener claro un principio, un final y un tamaño de paso.


"DO WHILE"
Un ciclo "Do-While", es una estructura de control cíclica que permite ejecutar de manera repetitiva un bloque de instrucciones sin evaluar de forma inmediata una condición especifica, sino evaluándola justo después de ejecutar por primera vez el bloque.