WIKI

INVETIGACIÒN  TERMINOS TECNOLOGICOS PARA MI DICCIONARIO WIKI
Programming language    •Lenguaje de programación: Es un lenguaje formal diseñado para expresar procesos que pueden ser llevados 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 por 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 (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.
Algorithms   •Algoritmos: Regla de las operaciones simples en todo tipo de cálculo (Lalande). Más específicamente,método general para la resolución de problemas de un tipo determinado, fijado en todos sus detalles por reglas que deben poderse aplicar sin comprenderlas.De Landsheere.
Machine Language          •Lenguaje de máquina: código máquina es el sistema de códigos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontrolador de un autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones al ser tomadas por la máquina. Un programa consiste en una cadena de estas instrucciones más un conjunto de datos sobre el cual se trabaja. Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de la arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas.
low level language (assembler)  •Lenguaje de bajo nivel (ensamblador): es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de la computadora que lo soporta. El uso de la palabra bajo en su denominación no implica que el lenguaje sea inferior a un lenguaje de alto nivel, si no que se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar tareas críticas de los Sistemas Operativos, de aplicaciones en tiempo real o controladores de dispositivos
High-level language  •Lenguaje de alto nivel: se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas.En los primeros lenguajes, la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales o lenguajes de bajo nivel. Otra limitación de estos es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida.
• Qualitative Algorithms   •Algoritmos cualitativos: Son aquellos en los que se describen los pasos utilizando palabras
• Quantitative Algorithm     •Algoritmo cuantitativos: Son aquellos en los que se utilizan calculos numericos para definir los pasos del proceso.
graphics algorithmic languages   •Lenguajes algorítmicos gráficos : Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).

  Language no graphics   •Lenguaje no gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).
INICIO Edad: Entero ESCRIBA “cual es tu edad?” Lea Edad SI Edad >=18 entonces ESCRIBA “Eres mayor de Edad” FINSI ESCRIBA “fin del algoritmo” FIN
Pseudocode                                 •Pseudocódigo : es una descripción de alto nivel compacta e informal del principio operativo de un programa informático u otro algoritmo.
Defining the problem   •Definición del problema: Un problema es una cuestión o punto discutible que requiere de una solución; por ejemplo, si se me rompe el caño del baño, ese será el problema y llamar a un experto en esas cuestiones, como un plomero, es la solución que requiere este inconveniente para dejar de ser un problema.
Analysis of the problem      •Análisis del problema: Es una etapa preparatoria para la generación de soluciones potenciales y  elaboración de planes de acción, pero se sabe que las decisiones no son mejores  que la información sobre la que se basan. Por lo que es necesario verificar  continuamente si se poseen los datos necesarios para continuar, de no ser así es  mejor parar y pensar en cómo obtener los daos antes del siguiente paso. Es  necesario separar las suposiciones de los hechos.La confianza en los datos – en  oposición a las opiniones es uno de los fundamentales pilares en que se sustenta  el proceso de solución de problemas. Los datos deben constituir la base de las  acciones del grupo. La tarea de hallar hechos e investigarlos debe partir de una  lista de información necesaria sobre la que es necesario investigar y presentar  hallazgos:
Design Algorithm   •Diseño del algoritmo: Existen varias técnicas de diseño de algoritmos que permiten desarrollar la solución al problema planteado, algunas de ellas son:
  • Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la solución no es óptima.
  • Algoritmos paralelos: permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma simultánea en varios procesadores.
  • Algoritmos determinísticos: El comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro ancesor.
  • Algoritmos no determinísticos: El comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.
  • Divide y vencerás: dividen el problema en subconjuntos disjuntos obteniendo una solución de cada uno de ellos para después unirlas, logrando así la solución al problema completo.
  • Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.
  • Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.
  • Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones.
  • Vuelta Atrás (Backtracking): se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas.
Coding   •Codificación: Esta consiste en proporcionar códigos numéricos o alfanuméricos a diversos procesos para llevar un seguimiento y control mas profundo de alguna actividad, sin mas que adelantar se presenta a continuación.
Compiling and running      •Compilación y ejecución: Compilaciòn Es un programa informatico que traduce un programa escrito en un lenguaje de programaciòn a otro lenguaje de programaciòn, generando un programa equivalente que la  maquina serà capaz de interpretar. Ejecuciòn es el proceso mediante el cual la computadora lleva a cabo las instruciones de un programa informatico.
Testing and Debugging   •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 Depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo. Resulta conveniente observar los siguientes principios al realizar una depuración, ya que de este trabajo depende el éxito de nuestra solución.
a)      Trate de iniciar la prueba de un programa con una mentalidad saboteadora, casi disfrutando la tarea de encontrar algún error.b)      Sospeche de todos los resultados que le arroje la solución, con lo cual deberá verificar todos. c)       Considerar todas las situaciones posibles normales y aún algunas de las anormales.
Documentation  -Documentación :se podría definir (a grandes rasgos) como la ciencia del procesamiento de información, que proporciona un compendio de datos con un fin determinado, de ámbito multidisciplinar o interdisciplinar.
 
Maintenance    •Mantenimiento: Todas las acciones que tienen como objetivo mantener un artículo o restaurarlo a un estado en el cual pueda llevar a cabo alguna función requerida.Estas acciones incluyen la combinación de las acciones técnicas y administrativas correspondientes.
Data Types    •Tipos de datos: Es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar
Expressions  •Expresiones: La expresiones son las piedras de construcción más importantes de PHP. En PHP    casi todo lo que se escribe es una expresión. La manera más simple    y acertada de definir lo que es una expresión es "cualquier cosa que tiene    un valor".   
 Las formas más básicas de expresiones son las constantes y las variables.    Cuando se escribe "$a = 5", se está asignando '5' a     $a. '5', obviamente,    tiene el valor 5, o en otras palabras, '5' es una expresión con el    valor de 5 (en este caso, '5' es una constante entera).
Operators and operands  •Operadores y operandos: En C#, un operador es un elemento de programa que se aplica a uno o varios operandos en una expresión o instrucción.             Los operadores que toman un operando, como el operador de incremento (++) o new, se conocen como operadores unarios.  Los operadores que toman dos operandos, como los operadores aritméticos (+,-,*,/) se conocen como operadores binarios.  Un operador, el operador condicional (?:), toma tres operandos y es el único operador ternario de C#.
Identifiers (variables and constants)  •Identificadores (variables y constantes): Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para identificar las entidades del programa (clases, funciones, variables, tipos compuestos) Los identificadores pueden ser combinaciones de letras y números. Cada lenguaje tiene sus propias reglas que definen como pueden estar construidos. Cuando un identificador se asocia a una entidad concreta, entonces es el “nombre” de dicha entidad, y en adelante la representa en el programa. Nombrar las entidades hace posible referirse a las mismas, lo cual es esencial para cualquier tipo de procesamiento simbólico.
Una Constante es aquélla que no cambia de valor durante la ejecución de un programa (o comprobación de un algoritmo en este  caso).  Se representa en la forma descrita para cada categoría.
Las Variables son aquéllas que pueden modificar su valor durante la ejecución de un programa (idem).
Su representación se da a través de letras y símbolos generalmente numéricos a los que se les asigna un valor.
Design Techniques top down and bottom up •Técnicas de diseño top down y bottom up:
Top-down (‘de arriba a abajo’) y bottom-up (‘de abajo a arriba’) son estrategias de procesamiento de información características de las ciencias de la información, especialmente en lo relativo al software. Por extensión se aplican también a otras ciencias sociales y exactas.
En el modelo top-down se formula un resumen del sistema, sin especificar detalles. Cada parte del sistema se refina diseñando con mayor detalle. Cada parte nueva es entonces redefinida, cada vez con mayor detalle, hasta que la especificación completa es lo suficientemente detallada para validar el modelo. El modelo top-down se diseña con frecuencia con la ayuda de "cajas negras" que hacen más fácil cumplir requisitos aunque estas cajas negras no expliquen en detalle los componentes individuales.
En contraste, en el diseño bottom-up las partes individuales se diseñan con detalle y luego se enlazan para formar componentes más grandes, que a su vez se enlazan hasta que se forma el sistema completo. Las estrategias basadas en el flujo de información "bottom-up" se antojan potencialmente necesarias y suficientes porque se basan en el conocimiento de todas las variables que pueden afectar los elementos del sistema.
Input Devices  •Dispositivos de entrada:es un dispositivo que permite la comunicación entre un sistema de procesamiento de información, tal como la computadora y el mundo exterior, y posiblemente un humano u otro sistema de procesamiento de información. Los periféricos de E/S son utilizados por una persona (o sistema) para comunicarse con computadoras.
Por ejemplo, las pantallas táctiles o multitáctiles se consideran periféricos de E/S. En cambio, un teclado, ratón o escáner pueden ser periféricos de E para una computadora, mientras que los monitores, parlantes e impresoras se consideran los dispositivos de S de la computadora
Output Devices   • Dispositivos de salida: Dispositivos o periféricos de comunicación entre computadoras, tales como módems y tarjetas de red, por lo general sirven para entrada y salida. También, los dispositivos de almacenamiento de datos, como los discos rígidos, las unidad de estado sólido, las memorias flash, las disqueteras, entre otros, se pueden considerar periféricos de E/S.
Central Processing Unit (c.p.u)   •Unidad central de procesamiento (c.p.u): es el hardware dentro de una computadora u otros dispositivos programables, que interpreta las instrucciones de un programa informático mediante la realización de las operaciones básicas aritméticas, lógicas y de entrada/salida del sistema
Control unit Logic -    •Unidad de control: es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU).
Arithmetic Unit    •Unidad aritmético – lógica: es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.
• Working memory (internal) •Memoria central (interna): la memoria de la computadora donde se almacenan temporalmente tanto los datos como los programas que la unidad central de procesamiento (CPU) está procesando o va a procesar en un determinado momento. Por su función, la MP debe ser inseparable del microprocesador o CPU, con quien se comunica a través del bus de datos y el bus de direcciones. El ancho del bus determina la capacidad que posea el microprocesador para el direccionamiento de direcciones en memoria.
RAM Memory  •Memoria RAM: un tipo de memoria de ordenador a la que se puede acceder aleatoriamente; es decir, se puede acceder a cualquier byte de memoria sin acceder a los bytes precedentes. La memoria RAM es el tipo de memoria más común en ordenadores y otros dispositivos como impresoras.
ROM Memory  •Memoria ROM: o memoria de sólo lectura, es la memoria que se utiliza para almacenar los programas que ponen en marcha el ordenador y realizan los diagnósticos. La mayoría de los ordenadores tienen una cantidad pequeña de memoria ROM (algunos miles de bytes).
(external) AuxiliaryMemory  •Memoria auxiliar (externa): Es  donde se almacenan todos los programas o datos que el usuario desee. Los  dispositivos de almacenamiento o memorias auxiliares mas comúnmente utilizados  son: cintas magnéticas y discos magnéticos