martes, 27 de marzo de 2018

PROGRAMACIÓN

¿Qué es un programa? 
Es un tipo de software que funciona como un conjunto de herramientas diseñado para realizar tareas y trabajos específicos en tu computador.
Mientras los sistemas operativos se encargan de hacer funcionar tu computador, los programas se presentan como herramientas para mejorar tu desempeño. Algunos ejemplos de estos programas o aplicaciones son los procesadores de texto, como Microsoft Word; las hojas de cálculo, como Excel ; y las base de datos, como Microsoft Access.
¿Qué es una APP?
Una App es una aplicación de software que se instala en dispositivos móviles o tablets para ayudar al usuario en una labor concreta, ya sea de carácter profesional o de ocio y entretenimiento, a diferencia de una webapp que no es instalable. El objetivo de una app es facilitarnos la consecución de una tarea determinada o asistirnos en operaciones y gestiones del día a día. 
¿Qué es un Lenguaje de Programación?
Es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.
¿Cuántos tipos de Lenguaje de Programación hay? 
Los lenguajes de programación generalmente se dividen en dos grupos principales en base al procesamiento de sus comandos:

Lenguaje de programación imperativo
Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y compuestos de órdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condición. Estos fueron los primeros lenguajes de programación en uso y aún hoy muchos lenguajes modernos usan este principio.

No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido a la secuencialidad de las instrucciones.

Lenguaje de programación funcional

Un lenguaje de programación funcional(a menudo llamado lenguaje procedimental) es un lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones. Cuando una función se invoca a sí misma, hablamos de recursividad.

¿Qué es DevC++? 
Es un compilador y entorno de desarrollo para C/C++
Consiste en un editor de múltiples ventanas integrado con un compilador que nos permitirá una compilación, un enlace y una ejecución de aplicaciones rápida y de fácil uso.
C/C++ son lenguajes de programación, donde c++ fue creado para extender el lenguaje de programador C y así dar la posibilidad de usar manipulación de objetos.
¿Qué es una palabra reservada en un lenguaje de programación?
Las palabras reservadas son identificadores reservados predefinidos que tienen un significado especial y no se pueden utilizar como identificadores en sus programas, excepto si llevan delante el carácter @ como prefijo. Así, por ejemplo @for es un identificador válido, pero no for ya que es una palabra reservada.  
¿Qué es una librería? 
Las bibliotecas contienen el código objeto de muchos programas que permiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar números, realizar funciones matemáticas, etc.
Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos y como imaginarás existen muchísimas librerías disponibles y todas con una función especifica.
¿Cuántos tipos de librería tiene DevC++?
Fstream: Permite la munipulación de archivos desde el programador, tanto leer como escribir en ellos.
Iosfud: Contienen declaraciones adelantadas de todas las plantillas de flujo y sus typedets estándar. 
List: Parte de la STL relativa a los contenedores tipo lista, lista doblemente enlazada.
Math: contiene los prototipos de las funciones, otras definiciones para el uso y manupulación de funciones matemáticas.
Memory: utilidades relativas a la gestion de memoria incluyendo asignadores y punteros inteligentes.
New: Manejo de memoria dinámica
Numeric: Parte de la libreria numerica de la STL relativa a operaciones numericas.
Ostream: Algoritmos estándar para los flujos de salida
Queve: Parte de la STL relativa a contenedores tipo que ve (Colas de Objeto)
Studio: Contiene los prototipos de las funciones macros, para para utilidades de uso general.
String: Parte de la STL relativa a contenedores tipo string, una generalización de las cadenas alfanuméricas para albergar cadenas de   objetos, pues eliminan muchas de las dificultades que generan las char.
Typcinto: Mecanismo de identificación de tipo en tiempo de ejecución.

Vector: Parte de la STL relativa a los contenedores tipo vector, una generación de las matrices unidimencionales.
Tipos de datos en DevC++
De momento sólo veremos los tipos fundamentales, que son: void, char, int, float y double, en C++ se incluye también el tipo bool. También existen ciertos modificadores, que permiten ajustar ligeramente ciertas propiedades de cada tipo; los modificadores pueden ser: short, long, signed y unsigned, y pueden combinarse algunos de ellos. También veremos en este capítulo los tipos enumerados, enum.
Tipos de operadores en DevC++
OPERADORES ARITMÉTICOS
Los operadores aritméticos se usan para realizar cálculos y operaciones con números reales y punteros. Básicamente permiten hacer cualquier operación aritmética que se necesite.
OPERADORES RELACIONALES 
Los operadores relacionales, también denominados operadores binarios lógicos y de comparación, se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación (en realidad se trata respuestas a preguntas). Las expresiones que los contienen se denominan expresiones relacionales. Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo cierto/falso, es decir, producen un resultado booleano.
OPERADORES LÓGICOS
 Los operadores lógicos producen un resultado booleano, y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de cero). Por el contrario, las operaciones entre bits producen valores arbitrarios. 
OPERADORES DE BITS 
 Los operadores de movimiento son operadores a nivel de bits, y lo que hacen es convertir una determinada cantidad a su equivalente en bits para posteriormente realizar un desplazamiento de dicho valor.

Ejemplo de programa en DevC++ 



Programa que calcule la suma de dos números.

 
#include <stdio.h>
void main(){
         int X,Y,Z;
         printf("Por favor, introduzca un numero:  ");
         scanf("%d",&X);
         printf("Ahora, inserte otro:  ");
         scanf("%d",&Y);
         Z=X+Y;
         printf("\nEl resultado es %d\n",Z);
}

Lenguaje de programación de Windows 10 
Se puede utilizar Visual C++ para escribir una gran variedad de programas que se ejecutan en un equipo con Windows (x86, x64 o ARM), en un servidor Windows, en la nube o en Xbox. Los programas de C++ bien escritos son rápidos, eficaces, económicos en cuanto al consumo eléctrico y capaces de sacar el máximo partido de dispositivos de varios núcleos, procesos generales en la unidad de procesamiento de gráficos (GPGPU) y otros avances recientes en hardware.

Existen varias categorías de aplicaciones de Windows que se pueden desarrollar con Visual C++. Estas categorías tienen distintos modelos de programación o de aplicación, lo que significa que usan diferentes bibliotecas y API que proporcionan acceso a la plataforma y proveen la interfaz de usuario.
  • Aplicaciones universales de Windows. La tercera categoría de aplicaciones de Windows se introdujo con Windows 8 y continúa siendo compatible con Windows 10. Estas aplicaciones suelen denominarse “aplicaciones de Windows” e incluyen tanto aplicaciones de escritorio como móviles destinadas a diversos dispositivos. Pueden escribirse en C++/CX, que es un dialecto de C++ compatible con el desarrollo de Windows en tiempo de ejecución, o también en C++ estándar con COM mediante la biblioteca de Windows en tiempo de ejecución (WRL). Estas aplicaciones se diseñaron originalmente para ejecutarse a pantalla completa, aunque en Windows 10 los usuarios tienen la opción de ejecutarlas en una ventana del escritorio. Estas aplicaciones están pensadas para dispositivos táctiles, pero pueden usarse fácilmente con el mouse si así lo prefieren los usuarios o si no se dispone de pantalla táctil. Se distribuyen desde la Tienda Windows, hecho que llevó a llamarlas “Aplicaciones de la Tienda Windows”.