PROGRAMACIÓN
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.
7. Un programa es un conjunto de instrucciones escritas en algún lenguaje de programación. El programa debe ser compilado o interpretado para poder ser ejecutado y así cumplir su objetivo.
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.
Existen infinidad de tipos de aplicaciones: Apps de noticias (elmundo.es), juegos (CSR Racing), herramientas de comunicación como Whatsapp, redes sociales como Google+, apps para salir de fiesta (Liveclubs), promociones comerciales (McDonnalds), aplicaciones para vender tus cosas usadas desde el móvil (YuMe)…etc, que nos pueden ayudar en el trabajo o intentar hacernos el día más ameno.
Lenguaje de programación
Un lenguaje de programación es aquel elemento dentro de la informática que nos permite crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del programador para que este pueda comunicarse con los dispositivos hardware y software existentes.
un lenguaje de programación es un sistema notacional para describir computaciones de una forma legible tanto para la maquina como para el ser humano
Unos de los más importantes lenguajes de programación son los siguientes:
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.
Mucho cálculo: Si el objetivo es usar computación de estadísticas, un lenguaje de programación de uso continuo es R. Los cálculos computacionales numéricos mediante paquetes adicionales es uno de los usos habituales de esta alternativa Open Source.
Igualmente, R es utilizado para investigación y gestión de datos.
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.
Kotlin: Destacado como un lenguaje de primer nivel para Android, Kotlin es descrito por algunos expertos como superior a Java debido a una mayor productividad.
Además, permite ser compilado a JavaScript.
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:
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 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
Instrucciones de expresión. Estas instrucciones evalúan una expresión para ver sus efectos secundarios o para averiguar su valor devuelto.
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.
Instrucciones compuestas. Estas instrucciones son grupos de instrucciones entre llaves ({}). Se pueden utilizar donde se puede utilizar una sola instrucción.
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.
Instrucciones de iteración. Estas instrucciones ejecutan repetidamente un bloque de código hasta que se cumple un criterio de finalización especificado.
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.
Instrucciones de declaración. Las declaraciones introducen un nombre en un programa. (En Declaraciones se proporciona información más detallada sobre las declaraciones).
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.
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 preprocesado.
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
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
|
LOS OPERADORES EN C++
OPERACIONES EN C++
· Los programas en C++ constan de datos, sentencias de programas y expresiones.
· La mayoría de los programas en C++ realizan operaciones básicas, a través de un conjunto potente de operadores, que usándolos correctamente aumenta la expresividad y eficiencia del lenguaje.
OPERADORES ARITMÉTICOS
+ suma
– resta
* multiplicación
/ división
% mod o residuo
El simbolo / (slash) se utiliza para la división real y el operador % (mod) representa el resto de la división entera
OPERADORES RELACIONALES
< menor que
> mayor que
<= menor o igual
>= mayor o igual
== igual
!= diferente
OPERADORES LÓGICOS
&& and (y lógica)
| | or (ó lógico)
! not (negación)
OPERADORES DE ASIGNACIÓN
= igual
+= mas igual
-=menos igual
*= por igual
/= dividido igual
Los operadores de asignación son de alta utilidad en programación debido a que abrevian operaciones. Un ejemplo de su uso es el siguiente
x=x+5; ———- es equivalente a ———- x+=5;
FUNCIONES INTERNAS
Algunos programas requieren ademas de las operaciones tradicionales como las aritméticas básicas, las relacionales y lógicas, de operaciones mas complejas como la potencia o la raíz cuadrada por citar algunas.
POTENCIA (FUNCION POW)
Para elevar una base a un exponente no existe un operador específico. Debe utilizarse la función POW , la cual pide la base y el exponente y devuelve el resultado de esta operación.
ej: x = pow (2 , 5) ; ……………….. arroja 32 ……………….. x = 32
PRIORIDAD Y ASOCIATIVIDAD DE LOS SIGNOS
Este concepto indica el orden en que se aplican los operadores a un valor. El orden de la siguiente tabla de prioridad es arriba abajo y de izquierda a derecha
· si dos operadores se aplican al mismo operando, el operador con mayor prioridad se aplica primero
· Todos los operadores del mismo renglon o fila de la tabla tienen igual prioridad y asociatividad, por lo tanto en caso de estar aplicados en una expresión se leen de izquierda a derecha
· El operador de izquierda a derecha significa aplicar el operador más a la izquierda primero, y en la asociatividad derecha izquierda se aplica primero el operador mas a la derecha
· Los paréntesis tienen la máxima prioridad
PRIORIDAD
|
OPERADORES
|
ASOCIATIVIDAD
|
1
|
( ) [ ]{ }
|
I – D
|
2
|
+ + – – !
|
D – I
|
3
|
* / %
|
I – D
|
4
|
+ –
|
I – D
|
5
|
< <= > >=
|
I – D
|
6
|
= = ! =
|
I – D
|
7
|
&&
|
I – D
|
8
|
| |
|
I – D
|
9
|
= *= /= %= += -=
|
I – D
|
Ejemplo de Programación en C++
1. Que pida un número del 1 al 5 y diga si es primo o no.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
printf("Introduzca número del 1 al 5:");
scanf("%d",&i);
if (i!=4) {
printf("Es primo.");
}
else
{
printf("No es primo.");
}
system("PAUSE");
return 0;
}
Lenguaje de Windows 10
Windows esta hecho en C.
C tiene la ventaja de que puede escalarse con assembler, lo cual es buena opción para optimizar ciertos módulos.
Las versiones anteriores de windows estaban hechas en basic (basic NO visual basic) que es un lenguaje de bajo nivel de hace unos cuantos años ya. Es un lenguaje que se usa mucho en la electronica aun.
actualmente windows 7 mac osx leopard y linuxusan mas de una tecnología ya se empezó a usar c# c++ y hasta java en el caso de linux sse uso phytom c y tbn ensambladores y demases cosas, y mac siempre basado en unix con compilación en c++ para los últimos sistemas operativos.
C tiene la ventaja de que puede escalarse con assembler, lo cual es buena opción para optimizar ciertos módulos.
Las versiones anteriores de windows estaban hechas en basic (basic NO visual basic) que es un lenguaje de bajo nivel de hace unos cuantos años ya. Es un lenguaje que se usa mucho en la electronica aun.
actualmente windows 7 mac osx leopard y linuxusan mas de una tecnología ya se empezó a usar c# c++ y hasta java en el caso de linux sse uso phytom c y tbn ensambladores y demases cosas, y mac siempre basado en unix con compilación en c++ para los últimos sistemas operativos.
Bibliografia
http://programavideojuegos.blogspot.mx/2013/05/25-ejercicios-resueltos-de-estructuras.html
https://msdn.microsoft.com/es-es/library/bzzyh1y4.aspx
https://msdn.microsoft.com/es-es/library/bzzyh1y4.aspx
Comentarios
Publicar un comentario