Quiero en este blog, dejarte los conceptos más aceptados en el ámbito de las teorías de la Programación, definiendo todos sus procesos y componentes, ya que no solo es la palabra programación cuyo significado puede ser muy ambiguo, es que existen unos procesos y términos, y mundo muy amplio en la programación, es que sabemos que no todo es tan fácil como lo pintan las definiciones que vemos a diario en los portales, en los sitios web, en los libros, y muchos canales de Youtube, de personas que si en verdad saben de programación, pero que para personas muchas veces ajena al desarrollo, o lo peor ajeno al área de la Tecnología, que quiera incursionar en aprender la programación, aprender el desarrollo de Software o solamente inventar algún proyecto personal, esto le resulta muy extraño.
Porque se encuentra con tantas cosas que al final termina desanimado y se marcha de inmediato, y deja de interesarle, y no voy a decir que programar es fácil, no lo es, aunque claro no es igual para todos, unos tienen talento y lo cultivan en esas ramas, otros hacen el esfuerzo, pero en la medida que alguien se mete de lleno en ello, y lucha por ponerse al nivel, pues logra las bases fundamentales de la programación, y el manejo de los lenguajes y las estructuras que son las que al final definirán tu talento para la programación, la cuestion esta en no perder de vista el objetivo que te lleva a ello que es el placer de poder crear algo, y que ese algo sirva para resolver problemas del mundo real, donde cada cosa que existe en el planeta, está conectada directa o indirectamente con la programación, y es que no existe en el mundo nada que no esté presente la programación, sea esta bajo un lenguaje, o una secuencias de pasos o procesos, siempre está presente en todo.
Como muestra la imagen más arriba, el mundo ya no es lo que era, y ello es gracias a la Tecnología, la cual ha evolucionado de manera gradual año tras años, dando unos pasos muy agigantados en el ámbito tecnológico, tanto a nivel de Hardware o a Nivel de Software.Es que como nos indica "La Ley Moore", que tiene unos 50 años, donde se ha observado que durante todos estos años la tendencia de los procesadores y los componentes Hardware de computador aun Disminuido en Tamaño, pero aumentan en Velocidad y Rendimiento al Doble cada Año.
Pero esto, de alguna manera no te parecera algo que tenga que ver con la Programación en si, y permiteme decirte que estas equivocado, la programación es el corazón de todo lo que conocemos hoy dia, desde la complejidad de los productos tan innovadores que conoces como las Computadoras, los Teléfonos o Smartphone, las Tablets, los SmartTV, la Robótica, la Domótica, el internet de las cosas LoT, los Coches Autónomos, la Inteligencia Artificial, la Nanotecnología, las Redes de comunicación, los satélites, las maquinarias para las empresas industriales, los programas que utilizan los circuitos que están presente hoy en todo los electrodomesticos, y todo lo que usamos a diario, sin la programación no existieran, si es sorprendente, pero existen muchas otras cosas que no conoces, y ellas son dirigidas por la programación y todos los lenguajes correspondientes,
Quien quiera aprender un lenguaje de programación tendrá
que leer mucho, esto lo he aprendido de una persona que considero muy experta en el área de Desarrollo de Software y de la Enseñanza Online, Freddy Vegas de @platzi, que dice que el 80% de la programación es lectura, el otro 20% es escritura, te pasarás el 20% escribiendo tu código.
Mi consejo para todos aquellos que quieran dar el primer paso es leer sin parar libros de tecnologias, libros de programación, consultar foros en lineas, blog, canales en Youtube que están dedicados a hablar y hacer tutoriales de programación en diferentes lenguajes. La mejor práctica es hacer de la lectura tu amiga, porque mientras mas lees mas te gusta la programación, y al mismo tiempo te sientas las bases para de conocimiento necesarias y útiles para los posteriores procesos y pasos que deberás dar.
Lo bueno es que existe un foro para cada
lenguaje y una respuesta para casi todas las preguntas imaginables o, al menos,
una solución. En el remoto caso de que no encuentres la información que estás
buscando, siempre puedes plantear tu pregunta en alguna de las comunidades
online, donde, por lo general, siempre habrá alguien con los conocimientos
necesarios para responder a tus dudas. Es importante que tomes nota de aquellas
ideas importantes ya en esta primera fase de aproximación al tema. Tener
algunos apuntes resulta muy útil para solucionar preguntas sistemáticamente en
el futuro, además de ser un instrumento para trabajar con mayor eficacia.
Cada uno de estos lenguajes tiene un grado de complejidad
diferente y, por lo tanto, algunos serán más fáciles de aprender que otros. Es
por esto que antes de aprender a programar es necesario definir la intención:
¿quieres aprender a programar para, en un futuro, crear páginas web?, ¿quieres
desarrollar aplicaciones para tablets y Smartphone?, o ¿prefieres programar
microcontroladores que sean aplicables a la vida cotidiana, por ejemplo, en
coches?
Para empezar a entender lo que es la
programación, primero tenemos que tener ciertos conocimientos sobre todo lo que
la rodea. Empezaremos
con unas definiciones un poco técnicas, pero que son imprescindibles para el
aprendizaje.
Tecnología
Dentro del campo que nos
interesa a nosotros, la tecnología tiene el objetivo de eliminar las tareas
repetitivas, facilitando el trabajo y haciéndolo más eficiente así como
aumentando la productividad y los beneficios de la empresa.
¿Qué es la programación?
La programación se define
como el proceso de crear, probar, depurar,
compilar y mantener un
programa de computadora, todo ello mediante sentencias lógicas escritas en un
lenguaje humano y que después será traducido a un lenguaje que la computadora
pueda procesar.
Para comenzar a iniciarse en
el mundo de la programación a continuación dejo los diez primeros
conceptos esenciales que un programador o estudiante debe conocer.
La programación es una de
las etapas más importantes del ciclo de vida de un proyecto (explicaremos más
adelante lo que es este término), y requiere un método de trabajo. La
programación es el resultado de dicho trabajo.
La programación es el
instrumento que permite la ejecución de las tareas automatizadas de un sistema
informático.
Las herramientas que
utilizaremos para programar son los lenguajes de programación, a través de las
cuales codificamos los programas.
Secuencia de instrucciones mediante las cuales se ejecutan diferentes acciones de acuerdo con los datos que se estén procesando, es un algoritmo desarrollado para ser utilizado por la computadora.
Puede ser una Expresión de un algoritmo en un lenguaje preciso que puede llegar a entender una máquina de cómputo.
Muchas autores lo definen como un conjunto de instrucciones entendibles por el ordenador que permiten realizar un trabajo o resolver un problema. Un programa debe ser finito, es decir, tiene que tener un inicio y un fin. Tiene que estar bien confeccionado para que, al introducir un dato, salga una solución y si se volviese a introducir el mismo dato, saliese de nuevo la misma solución.
Sistema:
Un sistema Informático es el conjunto de
partes interrelacionadas, resulta de la interacción entre los componentes
físicos que se denominan Hardware y los lógicos que se denominan Software. A
estos hay que agregarles el recurso humano, parte fundamental de un sistema
informático. Este componente es llamado Peopleware.
Aplicación:
Es el conjunto de
programas informáticos que realizan procesos específicos, diseñado como
herramienta para permitir a un usuario realizar uno o diversos tipos de
trabajo. Suele tener un único objetivo: navegar en la web, revisar correo,
explorar el disco duro, editar textos, jugar (un juego es un tipo de
aplicación), etc.
Datos:
El dato es una
representación simbólica (numérica, alfabética, algorítmica etc.), un atributo
o una característica de una entidad. El dato no tiene sentido en sí mismo, pero
si recibe un tratamiento (procesamiento) apropiado, se puede utilizar en la
realización de cálculos o toma de decisiones. Es de empleo muy común en el
ámbito informático y, en general, prácticamente en cualquier disciplina
científica. En programación, un dato es la expresión general que describe las
características de las entidades sobre las cuales opera un algoritmo. En
Estructura de datos, es la parte mínima de la información.
Información:
Información:
Es un conjunto organizado
de datos, que constituye un mensaje sobre un cierto fenómeno o ente. La
información permite resolver problemas y tomar decisiones, ya que su uso
racional es la base del conocimiento. Por lo tanto, otra perspectiva nos indica
que la información es un fenómeno que aporta significado o sentido a las cosas,
ya que mediante códigos y conjuntos de datos, forma los modelos de pensamiento
humano.
Clasificación del Software:
Sistemas Operativos y Aplicaciones.
1)
Sistemas
Operativos:
Su objetivo es desvincular adecuadamente al usuario y al
programador de los detalles de la computadora en particular que se use,
aislandolo especialmente del procesamiento referido a las características
internas de: memoria, discos, puertos y dispositivos de comunicaciones,
impresoras, pantallas, teclados, etc. El software de sistema le procura al
usuario y programador adecuadas interfaces de alto nivel, herramientas y
utilidades de apoyo que permiten su mantenimiento.
2)
Sistemas de Aplicaciones:
El Software de aplicación es aquel que permite a los usuarios
llevar a cabo una o varias tareas específicas, en cualquier campo de actividad
susceptible de ser automatizado o asistido, con especial énfasis en los
negocios.
Es aquel que nos ayuda a realizar una tarea determinada, existen varias categorías de Software de Aplicación porque hay muchos programas (solo nombramos algunos) los cuales son:
Es aquel que nos ayuda a realizar una tarea determinada, existen varias categorías de Software de Aplicación porque hay muchos programas (solo nombramos algunos) los cuales son:
- Aplicaciones de negocio.
- Aplicaciones de Utilería.
- Aplicaciones Personales.
- Aplicaciones de Entretenimiento.
Etapas para el tratamiento de la Información: Entrada, Proceso y Salida.
Entrada: El Proceso de Entrada consiste en:
1)
-Recopilar o reunir todos los datos.
2)
-Depurar o hacer limpieza, quitar los datos que no necesito.
Solo dejar los datos que sirven a lo que estoy enfocado.
3)
-Una vez hecho esto, esos datos son almacenados o guardados.
Proceso: Consiste en Operaciones Matemáticas y Operaciones Lógicas.
1)
-En las Operaciones matemáticas: sumo, resto, multiplico,
divido, etc., mis datos para obtener el resultado que estoy buscando.
2)
-En las Operaciones Lógicas: Se usan todas las condiciones
necesarias para transformar toda la información original a lo que esté
buscando, es decir: Información en bruto a información pulida. Las condiciones
son procesos llamados Operaciones Lógicas.
Salida: No es otra cosa que a la información procesada volverla a recoger o agrupar. Porque para procesar desagrupamos para hacer con ella los procesos que deseábamos, después de hacer todo esto, tenemos que volver a reordenar los datos para obtener información.
Hardware:
Corresponde
a todas las partes físicas y tangibles de una computadora: sus componentes
eléctricos, electrónicos, electromecánicos y mecánicos; sus cables, gabinetes o
cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado.
El término es propio del idioma inglés pero se define como «Conjunto de los
componentes que integran la parte material de una computadora.
Software:
Es el
equipamiento lógico o soporte lógico de una computadora digital; comprende el
conjunto de los componentes lógicos necesarios que hacen posible la realización
de tareas específicas. Los componentes lógicos incluyen, entre muchos otros,
aplicaciones informáticas; tales como el procesador de textos, o el software de
sistema, tal como el sistema operativo, que, básicamente, permite al resto de
los programas funcionar adecuadamente, facilitando la interacción con los
componentes físicos y con el resto de las aplicaciones, proporcionando también
una interfaz para el usuario.
Peopleware:
Puede
referirse a cualquier cosa que tenga que ver con el papel de las personas en el
desarrollo o uso de software y sistemas hardware, incluyendo cuestiones como
productividad de los desarrolladores, trabajo en equipo, dinámicas de grupo, la
psicología de la programación, gestión de proyectos, factores de organización,
diseños de interfaces de usuario e interacción hombre-máquina.
Clasificación
del Peopleware: Dirección, Análisis y Diseño, Programadores, Usuarios Finales.
1)
Personal de Dirección:
Son los que verifican que
los recursos informáticos sean aprovechados.
2)
Personal de Análisis:
Analiza el proyecto para
la empresa y diseña las soluciones.
3)
Personal de Programadores:
Son los que codifican,
instalan, detectan errores, consiguen y modifican los sistemas, aplicaciones y
programas de utilidad de la empresa.
4)
Los Usuarios Finales:
Son las personas que
receptan el sistema, las aplicaciones o los programas de utilidad y los
utilizan a cada momento para su trabajo.
Clasificación del Hardware:
Entrada, Salida, Proceso y Almacenamiento.
Un dispositivo de entrada o
periférico de entrada es cualquier periférico (pieza del equipamiento del
hardware de computadora) utilizado para proporcionar datos y señales de control
a un sistema de procesamiento de información (por ejemplo, un equipo).
2) Salida:
Son aquellos que permiten emitir o dar salida
a la información resultante de las operaciones realizadas por la CPU
(procesamiento).Los dispositivos de salida aportan el medio fundamental para
exteriorizar y comunicar la información y datos procesados; ya sea al usuario o
bien a otra fuente externa, local o remota.
3) Proceso:
Las unidades centrales de
proceso (CPU) no sólo están presentes en las computadoras personales (PC), sino
también en otros tipos de dispositivos que incorporan una cierta capacidad de
proceso o "inteligencia electrónica”.
4) Almacenamiento:
Se encargan de guardar los
datos de los usuarios. El hardware de almacenamiento sirve para almacenar
permanentemente información y programas que la computadora deba recuperar en
algún momento.
Metodología de la
programación
Se entiende como metodología de la programación al conjunto de normas, métodos y anotaciones que nos indican la forma de programar. Cada lenguaje de programación sigue una metodología distinta.
Metodología de desarrollo de software en ingeniería de software es un marco
de trabajo usado para estructurar, planificar y controlar un proyecto de
desarrollo, que permite llevarlo a cabo con altas posibilidades de
éxito.
Podemos distinguir tres etapas;
- Planificación; planeamiento detallado
- Implementación; conjunto de actividades para
llevarlo a cabo
- Puesta en marcha; presentación al cliente
Un punto aparte merecen las siguientes etapas;
- Inicio; Idea embrionaria, define donde queremos ir
y no el "como"
- Control en producción;
Paradigmas de la programación
Son las
estrategias para crear la estructura de un programa. Existen 2 grande grupos,
Imperativa y Declarativa (revisar)
Existen
2, analogas a los paradigmas, programación estructurada (imperativa) y
orientada a objetos (declarativa)
Los
modelos principales son;
- Ciclo de vida
lineal
- Ciclo de vida en
cascada puro
- Ciclo de vida en
cascada con retroalimentación
- Ciclo de vida
con componentes
- Ciclo de vida en
V
- Ciclo de vida
Sashimi
- Ciclo de vida en
cascada con subproyectos
- Ciclo de vida
iterativo
- Ciclo de vida por
prototipos
- Ciclo de vida en
espiral
- Ciclo de vida
evolutivo
- Ciclo de vida
incremental
- Ciclo de vida orientado
a objetos
Las
etapas principales en un ciclo de vida de software son;
- Análisis: Construye un modelo de los requisitos
- Diseño: A partir del modelo de análisis se deducen las
estructuras de datos, la estructura en la que descompone el sistema y la
interfaz de usuario.
- Codificación: Construye el sistema. La salida de esta fase es
código ejecutable.
- Pruebas: Se comprueba que se cumplen criterios de
corrección y calidad.
- Mantenimiento: En esta fase, que tiene lugar después de la
entrega se asegura que el sistema siga funcionando y adaptándose a nuevos
requisitos.
El
ciclo de vida inicialmente propuesto por Royce en 1970, fue adaptado para el
software a partir de ciclos de vida de otras ramas de la ingeniería. Es el
primero de los propuestos y el más ampliamente seguido por las organizaciones
(se estima que el 90% de los sistemas han sido desarrollados así).
Pasos para la programación de una metodología
La programación,
resumiendo, determina el proceso para la creación de una
solución de carácter informático, cualquiera que sea su objetivo o
naturaleza. Cada problema es distinto, del mismo modo que los pasos para
implementar la solución. Pero al margen de esto, los programas informáticos
diseñados para tal fin no pueden obviar una serie de elementos básicos. Veamos
en qué consisten:
- Diálogo o intercambio: el programa empieza
por identificar el problema. Luego se centra en la comprensión del mismo.
Cuanta mayor información se obtenga en esta primera fase, más acertada
será la programación de la solución.
- Especificación: en esta segunda etapa se establecen de
manera precisa las condiciones que debe cumplir el programa para alcanzar
su objetivo, que es la solución del problema identificado. Todo lo
relativo a la solución debe quedar descrito y clarificado en este punto.
- Diseño: el siguiente paso consiste en la construcción
de un algoritmo que siga las especificidades descritas en el punto
anterior.
- Codificación: esta fase es una de las más
importantes de todo el proceso. El algoritmo que se ha diseñado
anteriormente es traducido al lenguaje propio de la programación. O dicho
de otra forma, el programa cobra entidad.
- Verificación: en última instancia, los responsables
del proyecto realizan una serie de pruebas para confirmar la viabilidad y
la utilidad de la solución. Si cumple con lo establecido en la fase de
diseño, se implementa en procesos que lo requieran. Si no es así, se deben
tomar medidas para corregir los fallos que impidan su normal desarrollo.
- Mantenimiento: la solución implementada, que ya ha
adquirido la categoría de programa informático, precisa mantenimiento cada
cierto tiempo. También de esto depende su grado de
eficiencia.
La documentación en un proceso de programación
Otro elemento
transversal en el proceso de diseño de una solución informática es el de la
documentación. Se requiere que sus responsables reúnan todos los datos de
interés para la implementación del programa y que se haga un registro en cada
una de las fases del proceso, atendiendo, claro está, a necesidades como:
- Comentarios relacionados con el proceso de diseño y
codificación.
- Especificación de datos.
- Diagramas de flujo o pseudocódigo.
- Especificación de requisitos.
- Listado de programas fuente.
- Explicación de los algoritmos.
Entorno de programación o entorno de desarrollo
Es el conjunto de herramientas utilizadas para la elaboración de un programa.
Recursos
Conjunto de componentes hardware que utilizaremos para la elaboración de un programa (CPU, Disco Duro...).
Una vez conocidos los conceptos básicos necesarios para el aprendizaje de la programación podemos empezar a ver los diferentes tipos de lenguajes de programación.
Paradigma de programación.
Un paradigma de programación
es la propuesta tecnológica adoptada e implementada como metodología
para resolver problemas definidos, su núcleo no varía en absoluto y su esquema
básico tampoco.
Existen actualmente muchos
paradigmas de programación, entre los más comunes se encuentran los siguientes:
- Programación imperativa.
- Programación estructurada.
- Programación lógica.
- Programación declarativa.
- Programación orientada a objetos.
- Programación dirigida por eventos.
A día de hoy el paradigma de programación más utilizado es el de la programación orientada a objetos, aunque lo más normal es que un mismo lenguaje de programación soporte más de un paradigma, estos lenguajes son conocidos como multiparadigma y algunos de estos lenguajes son C++, Visual Basic o PHP.
Generaciones De la Programación:
La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones.
Primera
generación: empezó en los años 1940-1950 en este lenguaje se
utilizaba códigos binarios, que eran representados ene secuencias de ceros y
unos, y cada modelo de ordenador tenía su propio código. Por eso se llama
lenguaje máquina.
Segunda
generación: a fines de los 50´ llamado también lenguaje simbólico,
así mismo propio de la máquina, permitían simplificar la escritura de las
instrucciones y las hacían más legibles.
Tercera
generación: hacia los años 60´ ya este es un nivel más alto
de programación que sustituyo los símbolos por los códigos independientes de la
máquina.
Cuarta
generación: es toda aquella herramienta que permite crear una
aplicación combinando piezas prefabricadas, algunos piensan que no se le puede
dar el nombre de lenguaje a este tipo de herramientas y que proponen el nombre
de cuarta generación para la programación orientada a objetos.
Quinta
generación: lenguaje de inteligencia artificial (IA) se desarrolló
a principios de los 80´. Tiene una mayor legibilidad de los programas,
portabilidad, facilidad de aprendizaje y facilidad de modificación.
Se
pueden utilizar muchos lenguajes para programar una computadora. El más básico
es el lenguaje de maquina, una colección de instrucciones muy detallada que
controla la circuitería interna de la maquina. Este es el dialecto natural de
la maquina. Muy pocos programas se escriben actualmente en lenguaje de maquina
por dos razones importantes: primero, porque el lenguaje de maquina es muy incomodo
para trabajar y segundo por que la mayoría de las maquinas se pide programar en
diversos tipos de lenguajes, que son lenguajes de alto nivel, cuyas instrucciones son más compatibles con los
lenguajes y la forma de pensar humanos como lo es el lenguaje c que además es
de propósito general.
Debido
a que los programas diseñados en este lenguaje se pueden ejecutar en cualquier máquina,
casi sin modificaciones. Por tanto el uso del lenguaje de alto nivel ofrece
tres ventajas importantes, sencillez, uniformidad y portabilidad.
Lenguaje de
programación:
Un lenguaje de programación es un conjunto
de palabras y expresiones que conforman un idioma artificial y que
sirven para expresar en lenguaje humano las operaciones y procesos que debe
realizar un computador. Surge de la necesidad de encontrar una forma de mandar
instrucciones a la computadora sin usar el lenguaje máquina, el único que la
computadora comprende.
Es un conjunto de reglas
semánticas así como sintácticas que los programadores usan para la codificación
de instrucciones de un programa o algoritmo de programación. Existen
varios lenguajes de programación.
Cada lenguaje de programación contiene sus propias
normas sintácticas y semánticas que hay que respetar para que el
programa comprenda perfectamente lo que le queremos transmitir.
Los lenguajes se pueden clasificar en muchos
grupos dependiendo de sus funcionalidades y características.
a) Lenguajes de
programación fuertemente o débilmente tipados.
b) Lenguajes de bajo,
medio o alto nivel.
c) Lenguajes compilados o
interpretados.
d) Lenguajes de
programación declarativos, imperativos, orientados a objetos, etc. Es decir,
clasificados según su paradigma.
Lenguaje de
programación: Sistema de símbolos y reglas que permite la construcción de programas con
los que la computadora puede operar así como resolver problemas de manera
eficaz.
Estos contienen un conjunto de instrucciones que
nos permiten realizar operaciones de entrada
/ salida, calculo, manipulación de textos, lógica / comparación y almacenamiento
/ recuperación.
Tipos
de lenguajes de programación:
Existen tres tipos de lenguajes claramente
diferenciados; Los Lenguajes Maquinas, los lenguajes de bajo nivel y los de alto nivel.
El
ordenador sólo entiende un lenguaje conocido como código binario o código
máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier
acción.
Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.
Los
lenguajes de programación se clasifican en:
·
Lenguaje
Máquina: Son aquellos cuyas
instrucciones son directamente
entendibles por la computadora y no necesitan traducción posterior para
que la CPU pueda comprender y ejecutar el programa. Las instrucciones en
lenguaje maquina se expresan en términos de la unidad de memoria más pequeña el
bit (dígito binario 0 ó 1).
·
Lenguaje
de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones
se escriben en códigos alfabéticos conocidos como mnemotécnicos para las
operaciones y direcciones simbólicas.
·
Lenguaje
de Alto Nivel: Los lenguajes de programación de alto nivel
(BASIC, pascal, cobol, fortran, etc.) son aquellos en los que las instrucciones
o sentencias a la computadora son escritas con palabras similares a los
lenguajes humanos (en general en inglés), lo que facilita la escritura y
comprensión del programa.
LOS LENGUAJES MÁS POPULARES:
Los lenguajes de programación más populares
de la actualidad son: Java, C, C++, C# y Python. Así lo asegura el Índice TIOBE en su última actualización de febrero 2016.
Probablemente te preguntes qué se supone que debas interpretar por lenguaje de
programación "más popular". A continuación te explica.
Una parte importante de la investigación y preparación es
averiguar qué lenguajes de programación existen y cuál es el que mejor se
adapta a las necesidades de tus proyectos. Los más conocidos y utilizados son:
1)
Java
2)
C
3)
C++
4)
C#
5)
Objective-C
6)
Python
7)
Visual Basic .NET
8)
PHP
9)
JavaScript
10)
Android.
DEFINICIONES:
Java: Reconocido por su legibilidad y
simplicidad, Java es uno de los lenguajes de programación más adoptados: más 9
millones de desarrolladores lo usan y está presente en 7 mil millones de
dispositivos en todo el mundo. Su enorme popularidad se debe a su poder de
permanencia, cuestión que asegura el funcionamiento a largo plazo de las
aplicaciones que lo utilizan.
Asimismo, cabe destacar que el manejo de
Java está incluido dentro de las 20 habilidades más valoradas por los
empleadores en 2016, según un estudio elaborado por LinkedIn.
C: Fue creado en
1972. Sus creadores habían diseñado con anterioridad el sistema operativo UNIX,
y su intención al desarrollar el lenguaje C fue la de conseguir un lenguaje
idóneo para la programación de sistemas que fuese independiente de la máquina
con el cual escribir su sistema UNIX
C++
Conocido por el nombre “C Plus Plus”, este
lenguaje de programación orientado a objetos surge como una continuación y
ampliación del C. Hay una gran cantidad de programas escritos en C++, como por
ejemplo los paquetes de Adobe.
C#
También llamado “C Sharp”, este lenguaje de
programación orientado a objetos fue desarrollado en el año 2000 por Microsoft
para ser empleado en una amplia gama de aplicaciones empresariales ejecutadas
en el framework .NET. C Sharp es una evolución del C y C++ que se destaca por
su sencillez y modernidad.
Fortran: Es un
lenguaje especializado en aplicaciones técnicas y científicas, caracterizándose
por su potencia en los cálculos matemáticos, pero estando limitado en las
aplicaciones de gestión, manejo de archivos, tratamiento de cadenas de
caracteres y edición de informes.
Visual Basic. NET
Una gran cantidad de personas a lo largo del mundo que
trabajan con Visual Basic.net. Muchas personas que no cuentan con conocimientos
profundos como desarrolladores, encuentran en visual Basic, además de una
sintaxis sencilla, la posibilidad de automatizar sus propios procesos y crear
sus propias aplicaciones web. Es visto como uno de los lenguajes más amigables
para los que recién comienzan, sobre todo a comparación de C#.
COBOL: Es el
lenguaje más usado en las aplicaciones de gestión, a fin de disponer de un
lenguaje universal para aplicaciones comerciales como expresa su nombre (COmmon
Business Oriented Language).
PL/1: Fue creado a
comienzos de los años 60 por IBM para ser usado en sus equipos del sistema 360.
El PL/1 (Programming Language 1) se desarrolló con el objetivo de obtener un
lenguaje lo más general posible, útil para aplicaciones técnico-científicas,
comerciales, de proceso de textos, de bases de datos y de programación de
sistemas.
Basic: Fue diseñado
en 1965 con el objetivo principal de conseguir un lenguaje fácil de aprender
para los principiantes, como se indica en su nombre Benginner’s All-purpose
Symbolic Instruction Code (Código de instrucción simbólico de propósito general
para principiantes).
Pascal: Fue creado
basándose en el lenguaje AL-GOL, en cuyo diseño había participado en los años
60. Su nombre proviene del filósofo y matemático francés Blaise Pascal, que
inventó la primera máquina de tipo mecánico para sumar.
PHP
Creado en 1994 por el programador
canadiense Rasmus Lerdorf, nunca pretendió ser un lenguaje de programación,
sino que fue creado con la intención de contar con un conjunto de herramientas
para el mantenimiento de las páginas web. Es de fácil acceso para nuevos
programadores y a su vez ofrece a los más experimentados muchas posibilidades.
ADA: Entre las
características del lenguaje se encuentran la compilación separada, los tipos
abstractos de datos, programación concurrente, programación estructurada,
libertad de formatos de escritura, etc., presentando como principal
inconveniente su gran extensión.
Herramientas de
Desarrollo o IDES.
No creo que haga
falta ir a Wikipedia para mostrar la definición de herramienta, simplemente
como en el mundo real, es una ayuda que nos permitirá terminar nuestro programa
de manera más rápida y eficiente. Existen cientos o tal vez miles de
herramientas para los programadores, pero sin duda alguna la más importante son
los IDEs, te dejo una lista de los mejores IDEs para la mayoría de los
lenguajes de programación.
a)
Java – Netbeans, Eclipse
b)
C# – Visual Studio,
SharpDevelop
c)
Objetive-C – Xcode
d)
Delphi – RAD Studio
e)
Object Pascal – Delphi,
Lazarus
f)
C, C++ – Visual Studio, Vim
g)
PHP – Eclipse, Netbeans,
Nusphere PHPed
h) Python
– Eclipse, IDLE
i) Perl
– Padre
j) Ruby
– TextMate
k) Visual
Basic – Visual Studio.
Algoritmo y programa informático.
Un algoritmo es un término
usado en ciencias de la computación, matemáticas y lógicas, se define como un
conjunto de instrucciones ordenadas, sucesivas y
perfectamente definidas gracias
a las cuales se puede realizar una actividad sin interrupciones ni errores.
Un programa informático es
la representación de un algoritmo en un lenguaje de
programación ciñéndose a las
normas de éste. Al conjunto de texto que conforman las instrucciones que una
computadora debe ejecutar se le conoce como código fuente.
Etimología
del Algoritmo. La palabra algoritmo se deriva de la traducción al
latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo
árabe que escribió un tratado sobre manipulación de números y ecuaciones en el
siglo IX.
Tipos de Algoritmo.
Para representarlos, se utiliza, fundamentalmente, dos tipos de notación:
a)
Pseudocódigo.
b)
Diagramas de Flujo.
La solución a cualquier problema de cómputo involucra la ejecución de una serie de acciones en orden específico.
Un procedimiento para resolver un problema en términos de:
a) Las acciones a
ejecutarse.
b) el orden en el cual
estas acciones deben ejecutarse se llama algoritmo.
Un ejemplo de un algoritmo para llegar a la escuela
a)
Salir de la cama
b)
Quitarse la pijamas
c)
Darse un baño
d)
Vestirse
e)
Desayunar
f)
Utilizar el transporte
( autobús, carro , bicicleta, etc)
COMPILACIÓN Y DEPURACIÓN.
La compilación es el
procedimiento por el cual un programa traduce un
lenguaje de programación a lenguaje máquina para que la computadora pueda interpretarlo. Al programa
encargado de realizar ésta tarea se le conoce como compilador.
La depuración es el proceso
de búsqueda, identificación y corrección de errores de
programación. Existen varios
métodos de depuración como técnicas de revisión, programas de detección de
errores (depuradores), herramientas integradas en el entorno de desarrollo o
revisión manual por parte del programador usando un papel y bolígrafo o
sentencias auxiliares dentro del programa.
Definición del
Problema
Esta fase está dada por el enunciado del problema,
el cual requiere una definición clara y precisa. Es importante que se conozca
lo que se desea que realice la computadora; mientras esto no se conozca del
todo no tiene mucho caso continuar con la siguiente etapa.
Análisis del
Problema
Una vez que se ha comprendido lo que se desea de la computadora, es
necesario definir:
Los datos de entrada.
Cual es la información
que se desea producir (salida)
Los métodos y fórmulas
que se necesitan para procesar los datos.
Una recomendación muy practica es el que nos pongamos en el lugar de la
computadora y analicemos que es lo que necesitamos que nos ordenen y en que
secuencia para producir los resultados esperados.
Diseño del
Algoritmo
Las características de un buen algoritmo son:
Debe tener un punto
particular de inicio.
Debe ser definido, no
debe permitir dobles interpretaciones.
Debe ser general, es
decir, soportar la mayoría de las variantes que se puedan presentar en la
definición del problema.
Debe ser finito en
tamaño y tiempo de ejecución.
Codificación
La codificación es la operación de escribir la solución del problema (de
acuerdo a la lógica del diagrama de flujo o pseudocódigo), en una serie de
instrucciones detalladas, en un código reconocible por la computadora, la serie
de instrucciones detalladas se le conoce como código fuente, el cual se escribe
en un lenguaje de programación o lenguaje de alto nivel.
Prueba y
Depuración
Los errores humanos dentro de la programación de computadoras son muchos
y aumentan considerablemente con la complejidad del problema. El proceso de
identificar y eliminar errores, para dar paso a una solución sin errores se le
llama depuración.
La prueba consiste
en la captura de datos hasta que el programa no presente errores (los más
comunes son los sintácticos y lógicos).
Documentación
Es la guía o comunicación escrita es sus variadas formas, ya sea en
enunciados, procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por
ello la documentación sirve para ayudar a comprender o usar un programa o para
facilitar futuras modificaciones (mantenimiento).
La documentación se
divide en tres partes:
Documentación
Interna
Documentación Externa
Manual del Usuario
·
Documentación Interna: Son los
comentarios o mensaje que se añaden al código fuente para hacer mas claro el
entendimiento de un proceso.
·
Documentación Externa: Se define en
un documento escrito los siguientes puntos:
Descripción
del Problema
Nombre del
Autor
Algoritmo
(diagrama de flujo o pseudocódigo)
Diccionario
de Datos
Código
Fuente (programa)
·
Manual del Usuario: Describe paso
a paso la manera como funciona el programa, con el fin de que el usuario
obtenga el resultado deseado.
Mantenimiento
Se lleva acabo después de terminado el programa, cuando se detecta que
es necesario hacer algún cambio, ajuste o complementación al programa para que
siga trabajando de manera correcta. Para poder realizar este trabajo se
requiere que el programa este correctamente documentado.
PROGRAMACIÓN
LOS DATOS Y OPERACIONES
BÁSICAS.
1. IDENTIFICADOR. Un identificador es una serie de caracteres formados por letras, dígitos y el carácter subrayado (_)
que no inicie con dígito, asi mismo es el nombre que damos a todo lo que
manipulamos dentro de un programa (variables, constantes, funciones, etc). Por
ejemplo variables, constantes, funciones, tipos definidos por el usuario etc.
2. TIPOS
DE DATOS. Todos los datos tienen un tipo asociado con ellos.
Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como
35. El tipo de dato determina la naturaleza del conjunto de valores que puede
tomar una variable.
Tipos de Datos:
Numéricos, de Carácter, Fecha y Hora, Lógicos.
a) Numéricos: Este tipo de dato puede ser real o entero, dependiendo del
tipo de dato que se vaya a utilizar.
b) Enteros: son los valores que no tienen punto decimal, pueden ser
positivos o negativos y el cero.
c) Reales: estos caracteres almacenan números muy grandes que poseen
parte entera y parte decimal.
d) Carácter: El tipo de dato carácter es un digito individual el cual se
puede representar como numéricos (0 al 9), letras (a-z) y símbolo ($, _). NOTA:
En lenguaje java la codificación Unicode permite trabajar con todos los
caracteres de distintos idiomas.
e) Fecha y Hora: Se utiliza para marcar un registro con la fecha de inserción
- actualización. Se actualiza automáticamente cada vez que insertamos o
modificamos los datos.
f)
Lógicos: El tipo lógico también denominado booleano, es aquel dato que
solo puede tomar uno de dos valores: Cierto o Verdadero (True) y Falso (False).
3. VARIABLES. Una variable es un identificador que puede tomar diferentes valores
dependiendo del tipo que esta se declare.
Una variable es un identificador que puede cambiar
de valor durante la ejecución de un programa.
Una variable es una posición de memoria donde se
puede almacenar un valor para uso de un programa.
5. INICIALIZACIÓN DE
VARIABLES
Inicializar una variable es el darle un valor
después que se ha declarado pero antes de que se ejecuten las sentencias en las
que se emplea.
6. CONSTANTES. Constantes son los valores que no pueden ser modificados. En C, pueden
ser de cualquier tipo de datos.
Además de los ejemplificados anteriormente, Podemos crear constantes de
caracteres con barra invertida. Estos corresponden a los caracteres que son
imposibles introducir desde el teclado.
7. OPERADORES
Un operador es un símbolo que indica al compilador
que realice manipulaciones lógicas o matemáticas específicas.
Los operadores del mismo nivel de
precedencia son evaluados por el compilador de izquierda a derecha. Por
supuesto, se puede utilizar paréntesis para ordenar la evaluación.
También, conviene utilizar paréntesis para hacer
más claro el orden en que se producen las evaluaciones, tanto para la persona
que lo elabora o para los que después tengan que seguir el programa.
8. LOS CONTADORES Y LOS
ACUMULADORES.
- Contador: Es una variable cuyo valor se incrementa o decrementa en un
valor fijo (en cada iteración de un bucle). Un contador suele utilizarse para
contar el número de veces que itera un bucle. Pero, a veces, se utiliza para
contar, solamente, aquellas iteraciones de un bucle en las que se cumpla una
determinada condición.
- Acumulador: Es una variable cuyo valor se incrementa o decrementa en un
valor que no tiene por qué ser fijo (en cada iteración de un bucle). Un
acumulador suele utilizarse para acumular resultados producidos en las
iteraciones de un bucle.
9. OPERADORES MATEMÁTICOS Y OPERADORES RELACIONALES
(SÍMBOLOS).
Un
operador es un símbolo matemático que indica que debe ser llevada a cabo una
operación especificada sobre un cierto número de operandos.
-
Operadores Matemáticos: Las operaciones aritméticas pueden ser entendidas,
desde un punto de vista operacional, como operadores bivariantes o como
operadores a derecha.
Adición
+
Resta -
Multiplicación
*
División
/
Potenciación
^
- Operadores Racionales: Los operadores relacionales son símbolos que se usan para comparar dos
valores. Si el resultado de la comparación es correcto la expresión considerada
es verdadera, en caso contrario es falsa.
< Menor Que
> Mayor Que
= Igual A
<> Diferente A
<= Menor o Igual Que
>= Mayor o Igual Que
Operadores Lógicos:
Estos
operadores se utilizan para establecer relaciones entre valores lógicos. Estos
valores pueden ser resultado de una expresión relacional.
Los
operadores lógicos nos proporcionan un resultado a partir de que se cumpla o no
una cierta condición. Esto genera una serie de valores que, en los casos más
sencillos, pueden ser parametrizados con los valores numéricos 0 y 1, como se
puede apreciar en los ejemplos de abajo. La combinación de dos o más operadores
lógicos conforma una función lógica.
Operadores Lógicos:
1) And Y
2) Or O
3) Not Negación
Prioridad de los Operadores Lógicos:
1) Not
2) And
3) Or
Operadores de Asignación. Los operadores de asignación se utilizan para formar expresiones de
asignación, en las que se asigna el valor de una expresión a un
identificador. ***** Por definir el
operador de asignación****.
Cada expresión toma un valor que se
determina tomando los valores de las variables y constantes implicadas y la
ejecución de las operaciones indicadas.
Una expresión consta de operadores y
operandos. Según sea el tipo de datos que manipulan, se clasifican las
expresiones en:
- Aritméticas
- Relaciónales
- Lógicas
10. PALABRAS RESERVADAS.
Son
palabras que tienen un significado especial para el lenguaje y no se pueden
utilizar como identificadores.
11. COMENTARIOS.
Los comentarios pueden aparecer en
cualquier parte del programa, mientras estén situados entre los delimitadores
/* comentario */. Los comentarios son útiles para identificar los elementos
principales de un programa o para explicar la lógica subyacente de estos.
12. LAS FÓRMULAS (EXPRESIONES) Y LAS FUNCIONES.
a)
Fórmulas:
Es una ecuación
que calcula un valor nuevo a partir de los valores existentes. El resultado
será asignado al lugar en la cual se introduce dicha fórmula. Pueden crearse
una amplia diversidad de fórmulas, desde fórmulas que ejecuten una simple
operación aritmética hasta fórmulas que analicen un modelo complejo de
fórmulas. Una fórmula puede contener números, operadores matemáticos, etc.
b)
Funciones:
Es un grupo de
instrucciones con un objetivo en particular y que se ejecuta al ser llamada
desde otra función o procedimiento. Una función puede llamarse múltiples veces
e incluso llamarse a sí misma (función recurrente). Las funciones pueden
recibir datos desde afuera al ser llamadas a través de los parámetros y deben
entregar un resultado. Se diferencian de los procedimientos porque estos no
devuelven un resultado.
DIAGRAMA
DE FLUJO:
Un
diagrama de flujo es la representación gráfica de un algoritmo. También se
puede decir que es la representación detallada en forma gráfica de como deben
realizarse los pasos en la computadora para producir resultados.
Esta representación gráfica se da cuando varios símbolos (que indican
diferentes procesos en la computadora), se relacionan entre sí mediante líneas
que indican el orden en que se deben ejecutar los procesos.
Los símbolos utilizados han sido normalizados por el instituto
norteamericano de normalización (ANSI).
Recomendaciones para el diseño de
Diagramas de Flujo.
Un diagrama de flujo es la
representación gráfica de un algoritmo. También se puede decir que es la
representación detallada en forma gráfica de como deben realizarse los pasos en
la computadora para producir resultados.
Esta representación gráfica se da cuando varios símbolos (que indican
diferentes procesos en la computadora), se relacionan entre si mediante líneas
que indican el orden en que se deben ejecutar los procesos.
Los símbolos utilizados han sido normalizados por el instituto
norteamericano de normalización (ANSI).
·
Todo diagrama debe tener un inicio y un fin.
·
Se deben se usar solamente líneas de flujos
horizontales y/o verticales.
·
Se debe evitar el cruce de líneas utilizando los
conectores.
·
Se deben usar conectores solo cuando sea necesario.
·
No deben quedar líneas de flujo son conectar.
·
Se deben trazar los símbolos de manera que se
puedan leer de arriba hacia abajo y de izquierda a derecha.
·
Todo texto escrito dentro de un símbolo deberá ser
escrito claramente, evitando el uso de muchas palabras.
·
Evitar la terminología de un lenguaje de
programación o maquina.
·
Utilizar comentarios ya sea al margen o mediante el
símbolo grafico comentarios para que este sea entendible por cualquier persona
que lo consulte.
·
Si el diagrama abarca mas de una hoja es
conveniente enumerarlo e identificar de donde viene y a donde se dirige.
2. Pseudocódigo
Mezcla de lenguaje de programación y español (o ingles o cualquier otro
idioma) que se emplea, dentro de la programación estructurada, para realizar el
diseño de un programa. En esencial, el pseudocódigo se puede definir como un
lenguaje de especificaciones de algoritmos.
Es la representación narrativa de
los pasos que debe seguir un algoritmo para dar solución a un problema
determinado. El pseudocódigo utiliza palabras que indican el proceso a
realizar.
El pseudocódigo se concibió para
superar las dos principales desventajas del Diagrama de Flujo: el diagrama de
flujo es lento de crear y difícil de modificar sin un nuevo redibujo. Por otra
parte el pseudocódigo es más fácil de utilizar ya que es similar al lenguaje
natural.
Al
contrario de los lenguajes de programación de alto nivel como Pascal o Basic no
existe un conjunto de reglas que definan con precisión lo que es y lo que no es
pseudocódigo. Varia de un programador a otro.
El
pseudocódigo requiere de ciertos símbolos que ya tienen significado preciso y
establecido a los que se les conoce como palabras clave. Es necesario que
exista una palabra clave para la selección y otra para la iteración
condicional, así como para las instrucciones adicionales y otras estructuras de
control.
En
la redacción del pseudocódigo se utiliza tres tipos de estructuras de control:
las secuenciales, las selectivas y las iterativas.
c) -Estructuras secuenciales: Las
instrucciones se siguen en una secuencia fija que normalmente viene dada por el
número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia
abajo. Las instrucciones se ejecutan dependiendo de la condición dada dentro
del algoritmo.
d) -Estructuras selectivas: Las
instrucciones selectivas representan instrucciones que pueden o no ejecutarse,
según el cumplimiento de una condición.
e) -Estructuras iterativas: Las
instrucciones iterativas representan la ejecución de instrucciones en más de
una vez.
Programación estructurada
Método disciplinado de escribir programas que sean
claros, que se demuestren que son correctos y fáciles de modificar
Un programa se compone de:
a) Estructuras
de datos.- Los
hechos reales, representación en forma de datos, manera en que se organizan los
datos.
b) Operaciones
primitivas elementales.- Son
acciones que se ejecutan sobre los datos para transformarlos en información.
c) Estructuras
de control.- Son
los métodos que existen para dirigir el flujo de acciones que la computadora
deberá ejecutar sobre los datos manejados por el programa.
Estructura de control secuencial
La
computadora ejecutará automáticamente enunciados uno después del otro, en el
orden en el cual se han escrito de inicio a fin.
Ejemplo
Sumar dos números:
Pseudocódigo
Inicio
Entero
a,b,c declara las
variables a utilizar
Leer a,b solicita el valor de a y
b
c= a+b suma
a y b y lo almacena en c
Imprimir c muestra el resultado
almacenado en la variable c
Fin
Diagrama
de flujo
Existen
tres tipos de estructuras de control selectivas, estas se basan en una
condición o en una opción para decidir la parte del programa por el que pasará.
a)
Simple b)Doble
o compuesta c)Múltiple
Selectiva simple.- evalúa
una condición, si esta es verdadera ejecuta la acción o acciones especificadas,
si es falsa no realiza ninguna acción.
Nota: Si existe
sola una instrucción o sentencia dentro de la condición no es necesario
marcarlos con inicio y fin, en caso contrario si, como se muestra en el
diagrama anterior.
Selectiva doble o compuesta.- evalúa
una condición, si esta es verdadera ejecuta la acción o acciones especificadas,
si es falsa ejecuta otra acción o acciones.
Nota: Si existe
sola una instrucción o sentencia dentro de la condición no es necesario
marcarlos con inicio y fin como en este caso que la condición fue falsa, en
caso contrario si, en este ejemplo cuando la condición fue verdadera.
Ejemplo:
Imprimir si un número es positivo o negativo
Nota: las variables no se especifican
en el diagrama de flujo, pero si en el pseudocódigo.
10.¿Qué es una Herramienta Case?
Son diversas aplicaciones informáticas
destinadas a aumentar la productividad en el desarrollo de software reduciendo
el costo de las mismas en términos de tiempo y de dinero. Estas herramientas
nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del
software en tareas como el proceso de realizar un diseño del proyecto, cálculo
de costes, implementación de parte del código automáticamente con el diseño
dado, compilación automática, documentación o detección de errores entre otras.
11.Bit, Byte,
Kilobyte, Megabyte, Gigabyte, Terabyte.
- El Bit O Dígito Binario: Un bit es la
unidad de información más pequeña que el procesador manipula y físicamente se
representa con un elemento como un pulso o un punto. Ocho bits constituyen un
byte.
- El Byte O Unidad Mínima De
Almacenamiento: Cuenta con 8 bits. Equivale a un sólo carácter, como una letra
o un número.
- El Kilobyte (KB): Equivale a 1.024
bytes y a menudo es la unidad en la que se registra el almacenamiento de
archivos pequeños como documentos de texto o imágenes en baja resolución.
- El Megabyte (MB): Equivale a más de
un millón de bytes, y comúnmente archivos de tamaño considerable se almacenan
en esta unidad. Por ejemplo, imágenes en alta resolución, archivos, carpetas,
documentos y hasta programas.
- El Gigabyte (GB): Equivale a mil
millones de bytes. Es la unidad que más típicamente se maneja hoy en día, y los
ordenadores más comunes proveen de un espacio de más de 100 GB para memoria.
Los archivos de todo un ordenador de tamaño considerable se miden en GB.
- El Terabyte (TB): Equivale a 1024
Gigabytes y es una medida que se utiliza para referir a ordenadores de alta
complejidad.
Medida Cantidad
de Bytes Equivalente
Kilobyte (KB) 1024 1024 Bytes
Megabyte (MB) 1048576 1024
Kilobytes
Gigabyte (GB) 1073741824 1024
Megabytes
Terabyte (TB) 1099511627776 1024
Gigabytes
Códigos Binarios y Códigos
Hexadecimales: Conceptos y Diferencias.
- Códigos Binarios: El código ó sistema
binario, en matemáticas e informática, es un sistema de numeración en el que
los números se representan utilizando solamente las cifras cero y uno (0 y 1).
Es el que se utiliza en las computadoras, pues trabajan internamente con dos
niveles de voltaje, por lo que su sistema de numeración natural es el sistema
binario (encendido 1, apagado 0).
- Códigos Hexadecimales: El sistema
Hexadecimal es el sistema de numeración de base 16, su uso actual está muy
vinculado a la informática y ciencias de la computación, pues los computadores
suelen utilizar el byte u octeto como unidad básica de memoria y, un byte
representa 28 valores posibles.
13. Código RGB y Código CMYK: Conceptos,
Para que se usan.
- Código RGB: La descripción RGB de un
color hace referencia a la composición del color en términos de la intensidad
de los colores primarios con que se forma: el rojo, el verde y el azul. Es un
modelo de color basado en la síntesis aditiva, con el que es posible
representar un color mediante la mezcla por adición de los tres colores luz
primario.
RGB son colores, para trabajar solo en
pantalla (web, multimedia, etc.) o para impresiones digitales.
Nombre Código
Negro / Black “#000000”
Plata / Silver “#C0C0C0”
Gris / Gray “#808080”
Blanco / White “#FFFFFF”
Marrón / Maroon “#800000”
Rojo / Red “#FF0000”
Púrpura / Purple “#800080”
Fucsia / Fuchsia “#FF00FF”
Verde / Green “#008000”
Azul / Blue “#0000FF”
Lima / Lime “#00FF00”
Oliva / Olive “#808000”
Azul Naval / Navy “#000080”
Agua / Aqua “#00FFFF”
Amarillo / Yellow “#FFFF00”
- Código CMYK: La codificación CMY
(Cyan, Magenta, Yellow, o Cian, Magenta, Amarillo en español, CMA) es a la
síntesis sustractiva lo que la codificación RGB es a la síntesis aditiva. Este
modelo consiste en dividir un color en valores de cian, magenta y amarillo. La
ausencia de estos tres componentes da como resultado blanco mientras que la
suma de ellos da como resultado negro.
CMYK es para trabajos offset (imprenta)
Se trabajan en base a una cuatricromía o mezcla de Cyan, magenta, Yellow y
black. La combinación de todo esto da un trabajo a full color.
QUE ES EL CODIGO BINARIO?
El codigo binario es una forma de escribir muy usada por la
computadora en su bajo nivel, ósea los procesos de datos que no vemos pero que
la computadora realiza
DE QUE ME SIRVE SABER BINARIO?
DE QUE ME SIRVE SABER BINARIO?
La verdad no de mucho, pero este post esta mas dedicado a
quienes le interesa el origen de las cosas, en este caso el binario es el
comienzo de lo que es la tecnología hoy en día
AHORA LO INTERESANTE!
AHORA LO INTERESANTE!
Bueno como la mayoría ya saben el codigo binario está
compuesto por 0 (ceros) y 1 (unos)
ustedes se preguntaran " que ****** significa el 0 y el 1?" bueno el 0 es el nivel físico del pc o lo que usemos, impide el paso de corriente y el 1 hace que circule
a través de esta forma básica funciona un pc, lo único es que lo hace muy pero muy rápido
asi que ya sabes si mando un instante de corriente (1) y dejo 3 instantes sin mandar nada (0) es decir 1000 la pc esto lo traduce mostrándote un "8" en el monitor
ahora pues imagina la cantidad de caracteres (letras , numeros , etc) que escribes por segundo , bien con eso imagina la cantidad de 0s y 1s que a bajo nivel está representando tu pc, y por ultimo imagina a un nivel microscópico dentro de tu pc el paso de corriente , la cantidad de cortes y puentes que permiten el paso de la misma , tan solo para escribir una palabra
que loco no? en 3 palabras que escribes hay cientos de acciones a nivel microscópico que realza tu pc
ustedes se preguntaran " que ****** significa el 0 y el 1?" bueno el 0 es el nivel físico del pc o lo que usemos, impide el paso de corriente y el 1 hace que circule
a través de esta forma básica funciona un pc, lo único es que lo hace muy pero muy rápido
asi que ya sabes si mando un instante de corriente (1) y dejo 3 instantes sin mandar nada (0) es decir 1000 la pc esto lo traduce mostrándote un "8" en el monitor
ahora pues imagina la cantidad de caracteres (letras , numeros , etc) que escribes por segundo , bien con eso imagina la cantidad de 0s y 1s que a bajo nivel está representando tu pc, y por ultimo imagina a un nivel microscópico dentro de tu pc el paso de corriente , la cantidad de cortes y puentes que permiten el paso de la misma , tan solo para escribir una palabra
que loco no? en 3 palabras que escribes hay cientos de acciones a nivel microscópico que realza tu pc
Muy bien , ahora que tenemos una base de lo que es el codigo binario comencemos a traducirlo
para entender como traducir el binario hay que tener una mínima base de matemática, bueno comenzamos con lo más sencillo:
CONTAR
como contamos las personas bueno ustedes dirán, "como mierda vamos a contar? si me dicen que cuente del 1 al 12 yo le digo 1 2 34 5 6 7 89 10 11 12 boludo"
pues está bien , pero si nos fijamos en la base del conteo , podemos decir que contamos con decimales y ustedes me dirán : "deja de hacerte el rico y decime que mierda son los decimales!
Bueno los decimales son los numeros naturales (del 0 al 9) en base 10
si ven 0 1 2 3 4 5 6 7 8 9 ahí 10 numeros de ahí viene decimal es decir en base 10
es decir que cualquier numero lo podemos representar con esos 10 numeros
ejemplo
36 como se representa?
como contamos las personas bueno ustedes dirán, "como mierda vamos a contar? si me dicen que cuente del 1 al 12 yo le digo 1 2 34 5 6 7 89 10 11 12 boludo"
pues está bien , pero si nos fijamos en la base del conteo , podemos decir que contamos con decimales y ustedes me dirán : "deja de hacerte el rico y decime que mierda son los decimales!
Bueno los decimales son los numeros naturales (del 0 al 9) en base 10
si ven 0 1 2 3 4 5 6 7 8 9 ahí 10 numeros de ahí viene decimal es decir en base 10
es decir que cualquier numero lo podemos representar con esos 10 numeros
ejemplo
36 como se representa?
Bueno Acá Viene El Conocimiento En Matemática.
Tienen que saber o haber oído alguna vez lo que son las potencias, por ejemplo 10^2 = 100 que es lo mismo que decir 10*10 (* = por) o 10 ^ 3 = 1000 es lo mismo que 10*10*10 o 100*10
para que sirve esto bueno porque nuestro conteo es en base 10, es decir cualquier número se representa como suma de numeros naturales en base 10. Aclaración! en base 10 significa que se multiplica un numero por 10 elevado a la otro número.
Por ejemplo el 36
se puede representar como
3*10^1 + 6*10^0
nota:
cualquier número a la 0 es 1 y cualquier número a la 1 es el mismo número entonces queda 3*10 + 6*1 que es lo mismo que 30+6 que es 36 ahora si ya saben la base del conteo !
Bueno ahora que saben contar vamos a pasar al binario
Porque binario?
Porque es en base 2
Bueno ahora pasamos a ver las diferencias con el conteo binario y el decimal (el común) el decimal dijimos que era un número del 0-9 por 10 (porque del 0 al 9 hay 10 numeros) a la otro número.
bueno el binario como solo ahy 2 numeros el 0 y el 1 entonces no es a la 10 , es a la 2
ejemplo
1*2^0 = 1
bien ya sabemos que el 1 en binario es igual al 1 en decimal!
Bueno ahora representemos el numero 8 como lo mencionamos antes dijimos que el 8 es igual a 1000 en binario veamos por qué
1000 para pasarlo a decimal ahí que multiplicar la primer cifra *2^0 , la segunda *2^1 , la tercera *2^2 y asi sucesivamente
entonces 1000 = 1*2^3 + 0*2^2 + 0*2^1 + 0*2^0 que es lo mismo que 1*8+0*4+0*2+0*1 que es igual a 8+0+0+0 = 8 listo ya sabemos leer binario
Con el mismo procedimiento se obtienen todos los decimales
un ejemplo al revés
como hacemos el 25 en binario?
Bueno 25 en decimal es igual a 2*10^1 + 5*10^0
y en binario es igual a 1*2^4 + 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 16+8+0+0+1 = 25
entonces tomando el primer número de cada termino tenemos que 25 = 11001
listo!
Ya sabemos escribir binario!!
Una última cosa!
Y LAS LETRAS?
bueno para eso está el Código Estadounidense Estándar para el Intercambio de Información
Codigo ASCII
Bueno entre nosotros , es la forma de escribir todas las letras con combinaciones de numeros
por ejemplo el más conocido es el número 64 que es el arroba @ se puede escribir con Alt y su combinación , en este caso alt+64 las letras empesan desde la "A" con el 65 en adelante , por eso el alt+65 es la "A" bueno en el binario si escribimos el numero 65 (1000001) representaría a la "A" en binario o al 65 dependiendo del contexto.
Bueno ahora si se saben todo sobre leer y escribir en binario!
una última cosa para los que no tiene ganas de leer todo el post porque tienen bases de matemáticas y conocimiento del binario esta formulita les puede ser útil para leer y escribir binario
_*2^n+_*2^n-1+_*2^n-2+............+_*2^3+_*2^2+_*2^1+_*2^0 pueden rellenar el "_" con 1 o 0
y una tablita del ASCII
3*10^1 + 6*10^0
nota:
cualquier número a la 0 es 1 y cualquier número a la 1 es el mismo número entonces queda 3*10 + 6*1 que es lo mismo que 30+6 que es 36 ahora si ya saben la base del conteo !
Bueno ahora que saben contar vamos a pasar al binario
Porque binario?
Porque es en base 2
Bueno ahora pasamos a ver las diferencias con el conteo binario y el decimal (el común) el decimal dijimos que era un número del 0-9 por 10 (porque del 0 al 9 hay 10 numeros) a la otro número.
bueno el binario como solo ahy 2 numeros el 0 y el 1 entonces no es a la 10 , es a la 2
ejemplo
1*2^0 = 1
bien ya sabemos que el 1 en binario es igual al 1 en decimal!
Bueno ahora representemos el numero 8 como lo mencionamos antes dijimos que el 8 es igual a 1000 en binario veamos por qué
1000 para pasarlo a decimal ahí que multiplicar la primer cifra *2^0 , la segunda *2^1 , la tercera *2^2 y asi sucesivamente
entonces 1000 = 1*2^3 + 0*2^2 + 0*2^1 + 0*2^0 que es lo mismo que 1*8+0*4+0*2+0*1 que es igual a 8+0+0+0 = 8 listo ya sabemos leer binario
Con el mismo procedimiento se obtienen todos los decimales
un ejemplo al revés
como hacemos el 25 en binario?
Bueno 25 en decimal es igual a 2*10^1 + 5*10^0
y en binario es igual a 1*2^4 + 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 16+8+0+0+1 = 25
entonces tomando el primer número de cada termino tenemos que 25 = 11001
listo!
Ya sabemos escribir binario!!
Una última cosa!
Y LAS LETRAS?
bueno para eso está el Código Estadounidense Estándar para el Intercambio de Información
Codigo ASCII
Bueno entre nosotros , es la forma de escribir todas las letras con combinaciones de numeros
por ejemplo el más conocido es el número 64 que es el arroba @ se puede escribir con Alt y su combinación , en este caso alt+64 las letras empesan desde la "A" con el 65 en adelante , por eso el alt+65 es la "A" bueno en el binario si escribimos el numero 65 (1000001) representaría a la "A" en binario o al 65 dependiendo del contexto.
Bueno ahora si se saben todo sobre leer y escribir en binario!
una última cosa para los que no tiene ganas de leer todo el post porque tienen bases de matemáticas y conocimiento del binario esta formulita les puede ser útil para leer y escribir binario
_*2^n+_*2^n-1+_*2^n-2+............+_*2^3+_*2^2+_*2^1+_*2^0 pueden rellenar el "_" con 1 o 0
y una tablita del ASCII
•
D Appleby, y J.J. VandeKopple, Lenguajes de programación:
paradigma y práctica, McGraw-Hill Interamericana, 1998
•
T.W. Pratt y M.V. Zelkowitz, Lenguajes de
programación: diseño e implementación, Prentice-Hall Hispanoamericana, 3ª
ed., 1998
•
R. Sethi, Lenguajes de programación: conceptos y
constructores, Addison-Wesley Iberoamericana, 1992
•
http://programavideojuegos.blogspot.com/2013/05/25-ejercicios-resueltos-de-estructuras.html
https://learn.mikroe.com/ebooks/microcontroladorespicbasic/chapter/lenguajes-de-programacion/
https://learn.mikroe.com/ebooks/microcontroladorespicbasic/chapter/lenguajes-de-programacion/
•
Juancito
Peña Vizcaino
No hay comentarios:
Publicar un comentario
Puedes hacer cualquier comentario que pueda aportar al mejoramiento del Blog o la Entrada de tu interes: