PROGRAMACIÓN


                                                             " PROGRAMACIÓN "

1.- DEFINICIÓN DE PROGRAMA:


Un programa es un conjunto de instrucciones u órdenes basadas en un lenguaje de programación que una computadora interpreta para resolver un problema o una función específica.
1. Es la relación ordenada de actividades, en informática se le conoce como la serie codificada de instrucciones.
2. Redacción de un algoritmo en un lenguaje de programación.
3. Conjunto de instrucciones ordenadas correctamente que permiten realizar una tarea o trabajo específico.
4. Toda secuencia de instrucciones o indicaciones destinadas a ser utilizadas, directa o indirectamente, en un sistema informático para realizar una función o una terea o para obtener un resultado determinado, cualquiera que fuere su forma de expresión y fijación.
5. Conjunto secuenciado de instrucciones que quedan escritas en un lenguaje determinado con unos fines específicos. Aunque en el lenguaje común con frecuencia se denomina programa al sistema operativo, la diferencia estriba, precisamente, en la especificidad de aquél frente al carácter de gestión global de éste. La palabra software engloba ambos.
6. Archivo ejecutable o aplicación.
Un programa suele tener la extensión .exe en el sistema Windows, permitiendo su ejecución directa. También puede ser un programa que no es directamente ejecutable, sino que necesita de un intérprete para correr.

2.- ¿QUE 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.



3.- 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. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
  • El desarrollo lógico del programa para resolver un problema en particular.
  • Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa)
  • Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
  • Prueba y depuración del programa.
  • Desarrollo de la documentación.

Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo el HTML. (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación sino un conjunto de instrucciones que permiten diseñar el contenido y el texto de los documentos).

Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.

TIPOS DE PROGRAMACIÓN:


  • Para científicos
En el mundo de la ciencia y sobre todo de la ingeniería, MATLAB es muy utilizado.
Trabaja en un entorno de procesamiento de complejos cálculos sobre una matriz.
  • Para crear aplicaciones
Diseñado para desarrollar aplicaciones para importantes sistemas operativos como iOS o MacOS, el lenguaje de programación Swift está disponible para GNU/Linux.
De acuerdo con los especialistas, una de sus ventajas es presentar una sintaxis amigable.
  • Apoyado por desarrolladores
Objetive-C también fue creado para desarrollar proyectos en OS X/macOS e iOS.
Destaca entre sus ventajas el hecho de ser software libre y que sea posible compilarlo desde GCC, lo que hace que muchos desarrolladores lo sigan utilizando.
  • Apoyo masivo
Diseñado para construir aplicaciones, Go ya tiene 11 años en el mercado y hoy en día aún es muy elogiado por su simplicidad.
Asimismo, al ser Open Source cuenta con un apoyo masivo en la comunidad de desarrolladores.
  • Alta demanda, bajo nivel
Entre los lenguajes de programación de bajo nivel (aquellos utilizados para controlar el hardware), el lenguaje ensamblador tiene una alta demanda.
Esta alternativa optimiza el rendimiento y el volumen de programación para diversos dispositivos mediante un acceso directo a los registros.
  • Para educación
Contener más de 20 millones de proyectos es una de las virtudes más resaltantes de Scratch, software libre creado con propósitos educacionales.
Así mismo, registra un incremento permanente de usuarios en todo el mundo.
  • De formación
Otro lenguaje de programación diseñado con fines de formación es Delphi/Object Pascal, opción descendiente de Turbo Pascal.
Gran cantidad de institutos educativos y empresas relacionadas lo utilizan con frecuencia.
  • Aplicaciones web
Los especialistas consultados para este trabajo mencionan a Ruby como uno de los lenguajes de programación más populares en el desarrollo de aplicaciones web.
Al mismo tiempo, la versión Ruby on Rails goza de gran aceptación.
  • Sobre bases de datos
Diseñado para crear múltiples aplicaciones y programas sobre las bases de datos, PL/SQL es también una opción bastante utilizada por desarrolladores.
De hecho, una enorme cantidad de SGBD actuales instrumenta esta tecnología.
  • Almacenamiento y depuración
Utilizado en la elaboración de páginas web y aplicaciones de escritorio, SQL es un lenguaje de programación con gran cantidad de seguidores.
Su desempeño se caracteriza por actuar y almacenar el contenido de bases de datos para posteriormente depurarlo y actualizarlo.
  • Ficheros, datos y textos
Capaz de generar y organizar complicados ficheros, Perl también realiza un estupendo trabajo analizando datos y textos.
Miles de programadores alrededor del mundo utilizan frecuentemente este lenguaje de propósito general.
  • Eficaz en la automatización
Con la principal virtud de constituir una eficaz herramienta en la automatización de procesos, no hay que ser experto para manejar Visual Basic. NET.
Es, a la par, un lenguaje de programación ideal para el diseño de aplicaciones propias.
  • Desarrollo móvil
Cuando se habla de lenguajes de programación para desarrollo móvil, siempre se hace referencia a Xamarin.
Mediante Xamarin es posible implantar una aplicación única para Windows, MacOS, Linux, Android e iOS.
  • Expansión y velocidad
Separar segmentos de las aplicaciones y rehacerlos posteriormente en otras aplicaciones, es una de las principales características de Docker
Una vez reconstruidas, este lenguaje de programación tiene la capacidad de expandirlas a gran velocidad sin afectar su rendimiento.
  • En servidores
Si se trata de lenguajes de programación a nivel de servidor, las estadísticas refieren que PHP es el más usado en la web, con un 82,5% de manejo en todo el mundo.
También es conocida su larga trayectoria en combinación con MySQL, a pesar de ser compatible con todos los SGBD populares del mercado.
Es bien conocido por ser la base de WordPress y por su exitosa alianza con MySQL.
  • Gran popularidad
Mediante el programa de lenguaje interpretado Javascript, el explorador analiza un código y efectúa una acción programada.
Google Chrome, Firefox o Internet Explorer, son algunos de los navegadores que aceptan Javascript, para establecer códigos más complejos de los que puede admitir el HTML, aspecto que le ha dado gran popularidad.
Otra gran ventaja de JavaScript es que puede combinarse con muchas tecnologías y, por si fuera poco, es el origen de otras herramientas como jQuery y de recursos a nivel de servidor como Node.js.
  • Acceso y amplitud
Mantener páginas web era la intención original cuando se desarrolló PHP.
Posteriormente, PHP ha ganado renombre los programadores por su factible acceso y por ampliar las opciones de los desarrolladores más conocedores.
  • Mayor presencia
Altamente reconocido como uno de los lenguajes de programación más utilizados para programación de escritorio, Java tiene la nada despreciable credencial de ser la herramienta favorita de alrededor de 9 millones de desarrolladores.
Los expertos consultados afirman que su acción prolongada ofrece un uso óptimo de las aplicaciones y por ello está presente en millones de dispositivos en todo el mundo, así como en aparatos de televisión y computadores personales.
Java es una plataforma Open Source multipropósito utilizada con gran efectividad en diversidad de sistemas, pero también es la base de actividad de sitios como LinkedIn.
  • De escritorio
Si se trata de aplicaciones de escritorio, es imposible dejar de mencionar a C, de inmensa notoriedad.
Este lenguaje de propósito general creado hace décadas se ejecuta en millones de sistemas operativos.
Sin embargo, no puede dejar de resaltarse que se trata de un lenguaje poderoso pero obsoleto en el contexto actual, por lo que se utiliza más que nada en se usa programación de bajo nivel.
  • En gráfica y más allá
La versión ampliada de C es reconocida como C Plus Plus.
Ampliamente utilizada en programación gráfica avanzada, va de la mano con herramientas como Adobe.
De la misma forma, C Plus Plus (o también C++) es empleado en cientos de aplicaciones de escritorio y motores de juegos.
  • Moderno y sencillo
Ya es normal que las aplicaciones empresariales ejecutadas en el framework utilicen el lenguaje de programación C#, denominado también C Sharp. Constituye obviamente un avance del C y C++.
Así de diverso y cambiante es el mundo de los sistemas estructurados de comunicación, el mundo de los lenguajes de programación. Un ámbito en permanente evolución con alternativas para todos los gustos y destrezas. 

Dev C++ :

Dev-C++ 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 programación c y así dar la posibilidad de usar manipulación de objetos.
A diferencia de DFD que habíamos visto antes de comenzar con Dev-C++, pues no usa símbolos ( ver entrada sobre los símbolos en DFD ) así como en los diagramas de flujo que aprendimos, si no que usa códigos para reemplazar aquellos símbolos, por eso es importante saber hacer un diagrama de flujo / algoritmo, para poder realizar bien un programa en c, c++, o cualquier programa que use lenguaje de programación con código, porque la idea sigue siendo la mismo solo cambian los símbolos por palabras restringidas en dicho lenguaje.





INSTRUCCIÓN:

La instrucción es el elemento clave del equipo, ya que permite indicar al procesador la acción que debe realizar. Las instrucciones a realizar se indican en el archivo fuente y el equipo pasa de una instrucción a otra siguiendo las instrucciones que se indican de arriba hacia abajo (ya que la lectura de un archivo se realiza en una secuencia de arriba hacia abajo).
Una instrucción se compone, generalmente, de dos elementos:
  • el operador: la acción que el procesador va a realizar.
  • el/los operando(s): uno o más datos en los cuales se realiza la operación. 
LAS INSTRUCCIONES DE Dev C++

Son los elementos de programa que controlan cómo y en qué orden se manipulan los objetos. Esta sección incluye:
  •      Información general
  •      Instrucciones con etiqueta
  •      Categorías de instrucciones

1.) Instrucciones de expresión:  Estas instrucciones evalúan una expresión para ver sus efectos secundarios o para averiguar su valor devuelto.

2.)  Instrucciones NULL. Estas instrucciones se pueden proporcionar cuando la sintaxis de C++ requiere una instrucción pero no se va a realizar ninguna acción.
3.) Instrucciones compuestas. Estas instrucciones son grupos de instrucciones entre llaves ({}). Se pueden utilizar donde se puede utilizar una sola instrucción.
4.) Instrucciones de selección. Estas instrucciones realizan una prueba; a continuación, ejecutan una sección de código si la prueba se evalúa como true (distinto de cero). Pueden ejecutar otra sección de código si la prueba se evalúa como false.
5.) Instrucciones de interacción. Estas instrucciones ejecutan repetidamente un bloque de código hasta que se cumple un criterio de finalisación especificado.
6.) Instrucciones de salto. Estas instrucciones transfieren el control inmediatamente a otra ubicación de la función o devuelven el control de la función.
3.) Instrucciones de declaración. Las declaraciones introducen un nombre en un programa. (En Declaraciones se proporciona información más detallada sobre las declaraciones).


PALABRA  RESERVADA
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.


¿QUE ES UNA LIBRERÍA?
Es un conjunto de recursos (algoritmos) prefabricados, que pueden ser utilizados por el programador para realizar determinadas operaciones. Las declaraciones de las funciones (prototipos 4.4.1) utilizadas en estas librerías, junto con algunas macros y constantes predefinidas que facilitan su utilización, se agrupan en ficheros de nombres conocidos que suelen encontrarse en sitios predefinidos. Por ejemplo, en los sistemas UNIX, en  /usr/include. Estos ficheros se suelen llamar "de cabecera", porque es tradición utilizar las primeras líneas del programa para poner las directivas #include que los incluirá en el fuente durante la fase de pre procesado.


Los compiladores C++ incluyen un amplio repertorio de clases, funciones y macros que permiten realizar una amplia variedad de tareas, incluyendo entradas/salidas de bajo y alto nivel; manipulación de cadenas alfanuméricas y ficheros; control de procesos (incluyendo multiproceso); manejo de memoria; cálculos matemáticos y un largo etcétera.
Este repertorio de recursos es denominado colectivamente como "Rutinas de librería"; "Librerías de ejecución" RTL ("Runtime Librarys") o simplemente "Librerías".   Puede decirse que el lenguaje aislado (tal cual) no tiene prácticamente ninguna utilidad sin la concurrencia de estas utilidades. El Estándar C++ las clasifica según su utilidad:
    Soporte del lenguaje [7]
    Diagnóstico
    Utilidades generales
    Cadenas alfanuméricas ("Strings")
    Localización
    Contenedores
    Iteradores
    Algoritmos
    Cálculo numérico
    Entrada/Salida

TIPOS DE DATOS EN DEVC++

Los tipos de datos en C++ se clasifican en primitivos y derivados.

Los tipos de datos primitivos son los que están definidos dentro del lenguaje.

Los tipos de datos derivados se forman a partir de los tipos primitivos.

En este tema veremos los tipos primitivos y en temas siguientes estudiaremos los tipos derivados.

Los tipos de datos primitivos en C++ son: numéricos enteros, numéricos reales, tipo lógico y tipo carácter ampliado.

Tipos de datos C++ numéricos enteros
El tipo de dato numérico entero es un subconjunto finito de los números enteros del mundo real. Pueden ser positivos o negativos.

En C++ los tipos de datos numéricos enteros son los siguientes:
Tipo de Dato
Descripción
Número de bytes típico
Rango
short
Entero corto
2
-32768 a 32767
int
Entero
4
-2147483648 a +2147483647
long
Entero largo
4
-2147483648 a +2147483647
char
Carácter
1
-128 a 127
Con los tipos enteros pueden utilizarse los calificadores signed y unsigned. Estos calificadores indican si el número tiene signo o no. Si se usan solos, sin indicar el tipo de dato se asume int.
Por ejemplo, las siguientes declaraciones son equivalentes:
unsigned int x;             equivale a:        unsigned x;
Usando estos calificadores podemos tener los siguientes tipos enteros:
Tipo de Dato
Descripción
Número de bytes típico
Rango
signed short
Entero corto
2
-32768 a 32767
unsigned short
Entero corto sin signo
2
0 a 65535
signed int
Entero
4
-2147483648 a +2147483647
unsigned int
Entero sin signo
4
0 a 4294967295
signed long
Entero largo
4
-2147483648 a +2147483647
unsigned long
Entero largo sin signo
4
0 a 4294967295
signed char
Carácter
1
-128 a 127
unsigned char
Carácter sin signo
1
0 a 255
Podemos ver que los datos enteros de tipo signed son equivalentes a los enteros sin utilizar el calificador:
signed int a;     es equivalente a escribir      int a;

Tipos de datos numéricos reales
El tipo de dato numérico real es un subconjunto finito de los números reales. Pueden ser positivos o negativos.
En C++ los tipos de datos numéricos reales son los siguientes:
Tipo de Dato
Descripción
Número de bytes típico
Rango
float
Real (Número en coma flotante)
4
Positivos: 3.4E-38 a 3.4E38
Negativos: -3.4E-38 a -3.4E38
double
Real doble(Número en coma flotante de doble precisión)
8
Positivos: 1.7E-308 a 1.7E308
Negativos: -1.7E-308 a -1.7E308
long double
Real doble largo
10
Positivos: 3.4E-4932 a 1.1E4932
Negativos: -3.4E-4932 a -1.1E4932
Tipo lógico
Los datos de este tipo sólo pueden contener dos valores: true ó false (verdadero ó falso).
Si se muestran como enteros, el valor true toma el valor 1 y false el valor 0.
Tipo de Dato
Descripción
Número de bytes típico
Rango
bool
Dato de tipo lógico
1
0, 1
Tipo carácter extendido
Este tipo se utiliza para representar caracteres UNICODE. Utiliza 2 bytes a diferencia del tipo char que solo utiliza 1.
Tipo de Dato
Descripción
Número de bytes típico
Rango
wchar_t
Carácter Unicode
2
0 a 65535

  

EJEMPLO DE PROGRAMACIÓN  EN DevC ++


     Que pida un número y diga si es par o impar.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int i;
            printf("Introduzca número:");
    scanf("%d",&i);

    if (i%2==0) {
       printf("Es par.");
    }
    else
    {
       printf("Es impar.");
    }

    system("PAUSE");     
    return 0;



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”.
  • Aplicaciones y juegos de escritorio, servidor y nube. Esta categoría incluye aplicaciones de escritorio de Windows, a veces denominadas aplicaciones Win32 debido a que usaban la API Win32. Antes de Windows 8, todas las aplicaciones de Windows pertenecían a esta categoría. Las aplicaciones de esta categoría pueden usar MFC para la interfaz de usuario y ATL para interactuar con los componentes de Windows, que normalmente son objetos COM.
    Las aplicaciones, los componentes o las bibliotecas escritos en C++ estándar también entran dentro de esta categoría.
    En esta categoría se incluye también el uso de C++ para los componentes principales y el código computacional en el contexto de programación de servidor y nube. A veces, el código de rendimiento intensivo que constituye el núcleo de una aplicación de servidor o de nube está escrito en C++ a fin de maximizar el rendimiento. Este código se puede compilar en un archivo DLL y usarlo desde C# o Visual Basic.
  • Aplicaciones .NET Framework La mayoría de las aplicaciones de .NET Framework están escritas en C# o Visual Basic, pero también se puede usar C++/CLI (la opción de compilador /clr de Visual C++). Le recomendamos usar C++/CLI para una capa de interoperabilidad mínima en una aplicación mayor que incluya código administrado y nativo.





BIBLIOGRÁFIA: 


https://www.ecured.cu/Lenguaje_de_Programaci%C3%B3n

http://programavideojuegos.blogspot.mx/2013/05/25-ejercicios-resueltos-de-estructuras.html


https://msdn.microsoft.com/es-MX/library/jj153215.aspx


https://www.lanacion.com.ar/1365035-que-son-y-para-que-sirven-las-apps


https://es.khanacademy.org/computing/computer-programming



https://www.programarya.com/Cursos/C++/Bibliotecas-o-Librerias







Comentarios

Entradas populares de este blog

Algoritmos y Diagramas de flujo