You are on page 1of 18

2017

DICCIONARIO WIKI DE
PROGRAMACION

ACTIVIDAD WIKI
CARLOS ALFONSO
Wiki con el glosario técnico

Realice una labor de investigación y realice su propio diccionario tanto en inglés como

en español, con el objetivo de enriquecer y ampliar el vocabulario que será empleado

durante su proceso de formación.

Los términos seleccionados y desarrollados para la actividad son:

Technical Glossary in English

 Programming language: A programming language is a formal constructed

language designed to communicate instructions to a machine, particularly a computer.

Programming languages can be used to create programs to control the behavior of a

machine or to express algorithms.

 Algorithms: In mathematics and computer science, an algorithm is a self-contained

step-by-step set of operations to be performed. Algorithms exist that

perform calculation, data processing, and automated reasoning.

 Machine Code/Machine Language: Machine code or machine language is a set

of instructions executed directly by a computer's central processing unit (CPU). Each

instruction performs a very specific task, such as a load, a jump, or an ALU operation on

a unit of data in a CPU register or memory. Every program directly executed by a CPU

is made up of a series of such instructions.

 Low-level Programming Language: In computer science, a low-level programming

language is a programming language that provides little or no abstraction from a

computer's instruction set architecture—commands or functions in the language map

closely to processor instructions. Generally this refers to either machine


code or assembly language. The word "low" refers to the small or nonexistent amount

of abstraction between the language and machine language; because of this, low-level

languages are sometimes described as being "close to the hardware."

 High-level Programming Language: In computer science, a high-level programming

language is a programming language with strong abstraction from the details of

the computer. In comparison to low-level programming languages, it may use natural

language elements, be easier to use, or may automate (or even hide entirely) significant

areas of computing systems (e.g. memory management), making the process of

developing a program simpler and more understandable relative to a lower-level

language. The amount of abstraction provided defines how "high-level" a programming

language is.

 Qualitative Algorithms: They are those that uses numeric calculations to define the steps of

the process. They describe or solve problems of the quotidian life but always framing in three

fundamental structures:

Sequences of actions

Decision of action

Cycles of action

 Quantitative Algorithms: They’re those uses numeric calculations to define the steps

of the process. Similarly these kind of algorithms describe three essential parts: input,

process, and output.

 Algorithmic Graphic Language: They are the graphic representation of the operations

that an algorithm performs (Flowchart). The flowchart is characterized for the detailed

way how it represents in graphic way the steps to follow to find the solution for the

proposed problem.
 No Graphic Language: Represents in descriptive way the operations that an algorithm

must to perform (pseudocode).

 Pseudocode: Pseudocode is an informal high-level description of the operating

principle of a computer program or other algorithm. It uses the structural conventions of

a programming language, but is intended for human reading rather than machine

reading. Pseudocode typically omits details that are essential for machine

understanding of the algorithm, such as variable declarations, system-specific code and

some subroutines. The programming language is augmented with natural

language description details, where convenient, or with compact mathematical notation.

The purpose of using pseudocode is that it is easier for people to understand than

conventional programming language code, and that it is an efficient and environment-

independent description of the key principles of an algorithm. It is commonly used in

textbooks and scientific publications that are documenting various algorithms, and also

in planning of computer program development, for sketching out the structure of the

program before the actual coding takes place.

 Problem definition: This phase is gave by the problem statement, which requires a

definition clear and accurate. It is important know to want that the computer to perform;

while It does not know totally, it does not have much case to continue with next stage.

 Problem analysis: Once you have understood what you want on the computer, you

need to define:

Input data

What is the information to be produced (output)

The methods and formulas that are needed to process the data.
A very practical recommendation is to put us in the place of the computer and analyze

what we need to order us and in what sequence to produce the expected results.

 Algorithm design: Algorithm design is a specific method to create a mathematical

process in solving problems. Applied algorithm design is algorithm engineering.

Algorithm design is identified and incorporated into many solution theories of operation

research, such as dynamic programming and divide-and-conquer. Techniques for

designing and implementing algorithm designs are algorithm design patterns, such

as template method pattern and decorator pattern, and uses of data structures, and

name and sort lists. Some current day uses of algorithm design can be found in internet

retrieval processes of web crawling, packet routing and caching.

 Codification: In computing, a character encoding is used to represent a repertoire

of characters by some kind of an encoding system.[1] Depending on the abstraction

level and context, corresponding code points and the resulting code space may be

regarded as bit patterns, octets, natural numbers, electrical pulses, etc. A character

encoding is used in computation, data storage, and transmission of textual data.

 Compilation and execution: In computer programming, the translation of source code

into object code by a compiler. Execution in computer and software engineering is the

process by which a computer or a virtual machine performs the instructions of

a computer program. The instructions in the program trigger sequences of simple

actions on the executing machine. Those actions produce effects according to

the semantics of the instructions in the program.

 Testing and debugging: Testing means verifying correct behavior. Testing can be

done at all stages of module development: requirements analysis, interface design,


algorithm design, implementation, and integration with other modules. In the following,

attention will be directed at implementation testing. Implementation testing is not

restricted to execution testing. An implementation can also be tested using correctness

proofs, code tracing, and peer reviews, as described below.

Debugging is a cyclic activity involving execution testing and code correction. The

testing that is done during debugging has a different aim than final module testing. Final

module testing aims to demonstrate correctness, whereas testing during debugging is

primarily aimed at locating errors. This difference has a significant effect on the choice

of testing strategies.

 Documentation: It is the guide or written communication in its varied ways, It can be in

statements, procedures, drawings or diagrams.

 Maintenance: Software maintenance in software engineering is the modification of a

software product after delivery to correct faults, to improve performance or other

attributes.

A common perception of maintenance is that it merely involves fixing defects.

 Data type: In computer science and computer programming, a data type or

simply type is a classification identifying one of various types of data, such

as real, integer or Boolean, that determines the possible values for that type; the

operations that can be done on values of that type; the meaning of the data; and the

way values of that type can be stored.

 Expressions: In mathematics, an expression (or mathematical expression) is a finite

combination of symbols that is well-formed according to rules that depend on the

context. Mathematical symbols can designate numbers


(constants), variables, operations, functions, punctuation, grouping, and other aspects

of logical syntax.

 Operators and Operands: Programming languages typically support a set

of operators: constructs which behave generally like functions, but which differ

syntactically or semantically from usual functions. Common simple examples include

arithmetic (addition with +, comparison with >) and logical operations (such as AND or

&&). More involved examples include assignment (usually = or :=), field access in a

record or object (usually.), and the scope resolution operator (often :: ). Languages

usually define a set of built-in operators, and in some cases allow user-defined

operators. In mathematics, an operand is the object of a mathematical operation, a

quantity on which an operation is performed.

 Identifiers (variables and constants): In computer science, identifiers (IDs)

are lexical tokens that name entities. Identifiers are used extensively in virtually

all information processing systems. Identifying entities makes it possible to refer to

them, which is essential for any kind of symbolic processing. In computer languages,

identifiers are tokens (also called symbols) which name language entities. Some of the

kinds of entities an identifier might denote include variables, types, labels, subroutines,

and packages.

 Design techniques/Top-Down and Bottom-Up Design: Top-down and bottom-

up are both strategies of information processing and knowledge ordering, used in a

variety of fields including software, humanistic and scientific theories (see systemics),

and management and organization. In practice, they can be seen as a style of thinking

and teaching. A top-down approach (also known as stepwise design and in some
cases used as a synonym of decomposition) is essentially the breaking down of a

system to gain insight into its compositional sub-systems. In a top-down approach an

overview of the system is formulated, specifying but not detailing any first-level

subsystems. Each subsystem is then refined in yet greater detail, sometimes in many

additional subsystem levels, until the entire specification is reduced to base elements. A

top-down model is often specified with the assistance of "black boxes", these make it

easier to manipulate. However, black boxes may fail to elucidate elementary

mechanisms or be detailed enough to realistically validate the model. Top down

approach starts with the big picture. It breaks down from there into smaller segments.

A bottom-up approach is the piecing together of systems to give rise to more complex

systems, thus making the original systems sub-systems of the emergent system.

Bottom-up processing is a type of information processing based on incoming data from

the environment to form a perception. From a Cognitive Psychology perspective,

information enters the eyes in one direction (sensory input, or the "bottom"), and is then

turned into an image by the brain that can be interpreted and recognized as a

perception (output that is "built up" from processing to final cognition). In a bottom-up

approach the individual base elements of the system are first specified in great detail.

These elements are then linked together to form larger subsystems, which then in turn

are linked, sometimes in many levels, until a complete top-level system is formed. This

strategy often resembles a "seed" model, whereby the beginnings are small but

eventually grow in complexity and completeness. However, "organic strategies" may

result in a tangle of elements and subsystems, developed in isolation and subject to

local optimization as opposed to meeting a global purpose.


 Input devices: In computing, an input device is a peripheral (piece of computer

hardware equipment) used to provide data and control signals to an information

processing system such as a computer or other information appliance.

 Output devices: An output device is any piece of computer hardware equipment used

to communicate the results of data processing carried out by an information processing

system (such as a computer) which converts the electronically generated information

into human-readable form.

 Central Processing Unit: A central processing unit (CPU) is the electronic

circuitry within a computer that carries out the instructions of a computer program by

performing the basic arithmetic, logical, control and input/output (I/O) operations

specified by the instructions. The term has been used in the computer industry at least

since the early 1960s.[1] Traditionally, the term "CPU" refers to a processor, more

specifically to its processing unit and control unit (CU), distinguishing these core

elements of a computer from external components such as main memory and I/O

circuitry.

 Control Unit: The control unit (CU) is a component of a computer's central processing

unit (CPU) that directs operation of the processor. It tells the computer's memory,

arithmetic/logic unit and input and output devices how to respond to a program's

instructions.

 Arithmetic Logic Unit: An arithmetic logic unit (ALU) is a digital electronic circuit that

performs arithmetic and bitwise logical operations on integer binary numbers. It is a

fundamental building block of the central processing unit (CPU) found in many

computers
 Main memory: Primary storage (also known as main memory or internal memory),

often referred to simply as memory, is the only one directly accessible to the CPU. The

CPU continuously reads instructions stored there and executes them as required. Any

data actively operated on is also stored there in uniform manner. Main memory is

directly or indirectly connected to the central processing unit via a memory bus.

 Random Access Memory (RAM memory): Random-access memory (RAM) is a

form of computer data storage. A random-access memory device allows data items to

be read and written in approximately the same amount of time, regardless of the order

in which data items are accessed.

 Read Only Memory (ROM Memory): Read-only memory (ROM) is a class

of storage medium used in computers and other electronic devices. Data stored in ROM

can only be modified slowly, with difficulty, or not at all, so it is mainly used to

distribute firmware (software that is very closely tied to specific hardware, and unlikely

to need frequent updates).

 Auxiliary Storage/ Auxiliary Memory/Secondary Storage: Secondary storage (also

known as external memory or auxiliary storage), differs from primary storage in that it is

not directly accessible by the CPU. The computer usually uses its input/output channels

to access secondary storage and transfers the desired data using intermediate area in

primary storage. Secondary storage does not lose the data when the device is powered

down—it is non-volatile. Per unit, it is typically also two orders of magnitude less

expensive than primary storage. Modern computer systems typically have two orders of

magnitude more secondary storage than primary storage and data are kept for a longer

time there.
Glosario Técnico de la Actividad en Español

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.1

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.

Algoritmos: Es un conjunto prescrito de instrucciones o reglas bien definidas,

ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que

no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una

entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una

solución.

Lenguaje de máquina: s el sistema de códigos directamente interpretable por un

circuito micro programable, como el microprocesador de una computadora o el micro-

controlador de un autómata. Este lenguaje está compuesto por un conjunto de

instrucciones que determinan acciones al ser tomadas por la máquina.

Lenguaje de bajo nivel (ensamblador): Un lenguaje de programación de

características bajo nivel 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.

Lenguaje de alto nivel: Un lenguaje de programación 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.

Algoritmos cualitativos: Los algoritmos cuantitativos son aquellos en los que se

utilizan cálculos numéricos para definir los pasos del proceso. Son aquellos en los

que se describen o se resuelven problemas de la vida cotidiana pero siempre

enmarcada en tres estructuras fundamentales que son:

Secuencias de acciones

Decisión de acción

Ciclos de acciones

Algoritmos cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para

definir los pasos del proceso. De igual forma estos tipos de algoritmos describen tres

partes esenciales: ENTRADA - PROCESO - SALIDA

Lenguajes algorítmicos gráficos: GRÁFICOS: son la representación gráfica de las

operaciones que realiza un algoritmo (diagrama de flujo). El diagrama de flujo se

caracteriza por la forma detallada como representa de forma gráfica los pasos a seguir

para encontrar la solución del problema propuesto.

Lenguaje no gráfico: representan en forma descriptiva las operaciones que

debe realizar un algoritmo (seudocódigo).

Pseudocódigo: El seudocódigo es un lenguaje intermedio entre nuestro lenguaje y el

lenguaje de programación, su característica principal es el de representar la solución de


forma más detallada y lo más parecida al lenguaje, para que posteriormente se pueda

codificar. Otras características son:

 Se puede ejecutar en un ordenador.

 Facilita el paso del programa al lenguaje de programación.

 Es independiente del lenguaje de programación que se vaya a utilizar.

 Método que facilita la programación y solución al algoritmo 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.

Cuál 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 práctica 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: es un método específico para poder crear un modelo

matemático ajustado a un problema específico para resolverlo. El diseño de algoritmos

es una teoría de la Investigación de operaciones.

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: Con el algoritmo ya diseñado, se procede a su reescritura en un

lenguaje de programación establecido (programación) en la etapa anterior, es decir, en

códigos que la máquina pueda interpretar y ejecutar.

Compilación y ejecución: es una técnica para mejorar el rendimiento de sistemas de

programación que compilan a bytecode, consistente en traducir el bytecode a código

máquina nativo en tiempo de ejecución. La compilación en tiempo de ejecución se

construye a partir de dos ideas anteriores relacionadas con los entornos de ejecución:

la compilación a bytecode y la compilación dinámica.

Prueba y 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).

La depuración es el proceso de encontrar los errores del programa y corregir o

eliminar dichos errores.

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).


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.

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. Tipos de datos comunes son: enteros, números de coma

flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, etc.

Expresiones: es una combinación de constantes, variables o funciones, que es

interpretada de acuerdo a las normas particulares de precedencia y asociación para

un lenguaje de programación en particular.

Operadores: Son elementos que relacionan de forma diferente, los valores de una o

más variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

Operandos: Elemento al que se aplica una operación:

Identificadores (variables y constantes)

Los identificadores son elementos textuales (también llamados símbolos) que

nombran entidades del lenguaje. Algunas de las de entidades que un identificador

puede denotar son las variables, las constantes, los tipos de dato, las etiquetas,

las subrutinas (procedimientos y funciones) y los paquetes.

Una constante es un dato cuyo valor no puede cambiar durante la ejecución del

programa. Recibe un valor en el momento de la compilación y este permanece

inalterado durante todo el programa.


Una variable es un nombre asociado a un elemento de datos que está situado en

posiciones contiguas de la memoria principal, y su valor puede cambiar durante la

ejecución de un programa.

Técnicas de diseño top down y bottom up

Top-down (‘de arriba a abajo’) 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.

bottom-up (‘de abajo a arriba’) 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.

Dispositivos de entrada: son aquellos equipos y componentes que permiten ingresar

información a la unidad de procesamiento; algunos ejemplos conocidos por todos son

el teclado, el mouse (también llamado ratón), el escáner, la cámara web (webcam),

el lápiz óptico y el micrófono

Dispositivos de salida: por lo tanto, es aquél que emite una señal con información.

En este sentido podemos mencionar la impresora (que recibe información de

una computadora y produce una salida impresa en papel), el monitor (exhibe los
datos en la pantalla), los auriculares (emite sonidos para que sean escuchados por

una persona) y el altavoz (reproduce sonidos al ambiente).

Unidad central de procesamiento (c.p.u): es el hardware dentro de un computador u

otros dispositivos programables, que interpreta las instrucciones de un programa de

ordenador mediante la realización de las operaciones básicas aritméticas, lógicas y de

entrada/salida del sistema

Unidad de control: es uno de los tres bloques funcionales principales en los que se

divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad

de procesos y el bus de entrada/salida.

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.

Memoria central (interna): es 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.

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.

Memoria ROM: (read-only memory) 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).

Memoria auxiliar (externa): conjunto de dispositivos y soportes de almacenamiento de

datos que conforman el subsistema de memoria de la computadora, junto con

la memoria primaria o principal

You might also like