Está en la página 1de 18

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.

The earliest programming languages preceded the invention of the digital computer and were
used to direct the behavior of machines such as Jacquard looms and player pianos.[1] Thousands
of different programming languages have been created, mainly in the computer field, and many
more still are being created every year. Many programming languages require computation to be
specified in an imperative form (i.e., as a sequence of operations to perform), while other
languages utilize other forms of program specification such as the declarative form (i.e. the
desired result is specified, not how to achieve it).

The description of a programming language is usually split into the two components of syntax
(form) and semantics (meaning). Some languages are defined by a specification document (for
example, the C programming language is specified by an ISO Standard), while other languages
(such as Perl) have a dominant implementation that is treated as a reference.

LENGUAJE DE PROGRAMACION

Un lenguaje de programación es un lenguaje formal construido y diseñado para comunicar


instrucciones a una máquina, en particular un ordenador. Los lenguajes de programación pueden
ser utilizados para crear programas para controlar el comportamiento de una máquina o para
expresar algoritmos.

Los lenguajes de programación más antiguos precedieron a la invención de la computadora digital


y se utilizaron para dirigir el comportamiento de las máquinas, como telares Jacquard y pianolas.
Se han creado miles de diferentes lenguajes de programación, principalmente en el campo de la
computación, y muchos más todavía se están creando cada año. Muchos lenguajes de
programación requieren cálculos que se especificarán en una forma imperativa (es decir, como
una secuencia de operaciones a realizar), mientras que otros idiomas utilizan otras formas de
especificación de programa, tales como la forma declarativa (es decir, se especifica el resultado
deseado, no cómo lograr este).

La descripción de un lenguaje de programación por lo general se divide en los dos componentes, la


sintaxis (forma) y la semántica (significado). Algunos idiomas están definidos por un documento de
especificación (por ejemplo, el lenguaje de programación C es especificado por la norma ISO),
mientras que otros lenguajes (como Perl) tienen una aplicación dominante que se considera como
referencia.

ALGORITHM

In mathematics, logic, computer science and related disciplines, an algorithm is a prescribed set of
well-defined instructions or rules, tidy and finite that enables activity through successive steps that
do not generate doubts to who should perform this activity. Given an initial state and an entry,
following successive steps you reach a final state and a solution is obtained. Algorithms are the
object of study of algorithms.
In everyday life, frequently they used algorithms to solve problems. Examples include user
manuals, which show algorithms to use a device, or a worker receives instructions from his
employer. Some examples are mathematical multiplication algorithm to calculate the product, the
division algorithm to calculate the ratio of two numbers, the Euclidean algorithm for the greatest
common divisor of two positive integers, or the Gauss to solve a system of linear equations.

ALGORITMO

En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo 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. Los algoritmos son el objeto de estudio de la algoritmia.

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos


ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las
instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática
son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para
calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común
divisor de dos enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones
lineales.

QUALITATIVE ALGORITHMS

An algorithm is qualitative when your steps or instructions are not involved numerical calculations.
For example the steps to cook an egg or the steps to change a flat tire.

ALGORITMOS CUALITATIVOS

Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos


numéricos. Por ejemplo los pasos para cocinar un huevo o los pasos para cambiar una llanta
pinchada.

QUANTITATIVE ALGORITHMS

An algorithm is quantitative when your steps or instructions are involved numerical calculations.
As finding the ratio of two numbers or finding the area of a triangle.

ALGORITMOS CUANTITATIVO

Un algoritmo es cuantitativo cuando en sus pasos o instrucciones están involucrados cálculos


numéricos. Por ejemplo hallar el cociente de dos números o hallar el área de un triángulo.

MACHINE LANGUAGE

The machine language or machine code is the system code directly interpretable by a
microprogrammable circuit as the microprocessor of a computer or a robot microcontroller. This
language consists of a set of instructions that determine actions to be taken by the machine. A
program consists of a chain of these instructions plus a set of data on which you work. These
instructions are normally executed in sequence, with any changes in flow caused by the program
itself or external events. Machine language is specific to the architecture of the machine, although
the set of instructions available to be similar across different architectures.

The microprogrammable circuits are digital, which means working with only two voltage levels.
These levels, abstraction, are symbolized by the numbers 0 and 1, so the machine language uses
only those signs. This allows the use of the theories of Boolean algebra and binary system in the
design of this type of circuit and programming.

A typical view of the computer architecture as a series of layers of abstraction: hardware,


firmware, assembler, kernel, operating system and applications.

Claude Shannon in his book Analysis of Relay and Switching Circuits, and their experiences in
switching networks, laid the foundation for the application of Boolean algebra to switching
networks. A switching network is an electrical circuit breakers that meet certain Boolean
combinations of input variables, defines the output status. This concept is the core of the logic
gates, which are, in turn, that the bricks with increasingly complex software systems are
constructed. Shannon used the relay as physical switching device in their networks, since the relay,
and as an electric lamp, has two states: on (on) or disabled (off).

Technological development has allowed networks evolve from electromagnetic relays circuits with
vacuum tubes, then transistorized networks, up to modern integrated circuits, in whose top are
the microprogrammed circuits.

LENGUAJE DE MÁQUINA

El lenguaje de máquina o código máquina es el sistema de códigos directamente interpretable por


un circuito micro programable, 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 a 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.

Los circuitos micro programables son sistemas digitales, lo que significa que trabajan con dos
únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números 0 y 1, por
eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías del
álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su programación.

Una visión típica de la arquitectura de computadoras como una serie de capas de abstracción:
hardware, firmware, ensamblador, kernel, sistema operativo y aplicaciones.

Claude Elwood Shannon, en su libro “Analysis of Relay and Switching Circuits”, y con sus
experiencias en redes de conmutación, sentó las bases para la aplicación del álgebra de Boole a las
redes de conmutación. Una red de conmutación es un circuito de interruptores eléctricos que al
cumplir ciertas combinaciones booleanas con las variables de entrada, define el estado de la
salida. Este concepto es el núcleo de las puertas lógicas, las cuales son, por su parte, los ladrillos
con que se construyen sistemas lógicos cada vez más complejos. Shannon utilizaba el relé como
dispositivo físico de conmutación en sus redes, dado que el relé, a igual que una lámpara eléctrica,
posee dos estados: activado (encendido) o desactivado (apagado).

El desarrollo tecnológico ha permitido evolucionar desde las redes de relés electromagnéticos a


circuitos con tubos de vacío, luego a redes transistorizadas, hasta llegar a los modernos circuitos
integrados, en cuya cúspide se encuentran los circuitos micro programados.

LOW-LEVEL PROGRAMMING LANGUAGE (ASSEMBLER)

Low-level programming language is a programming language that provides little or no abstraction


from a computer's instruction set architecture. 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".

Low-level languages can be converted to machine code without using a compiler or interpreter,
and the resulting code runs directly on the processor. A program written in a low-level language
can be made to run very quickly, and with a very small memory footprint; an equivalent program
in a high-level language will be more heavyweight. Low-level languages are simple, but are
considered difficult to use, due to the numerous technical details which must be remembered.

By comparison, a high-level programming language isolates the execution semantics of a computer


architecture from the specification of the program, which simplifies development.
Low-level programming languages are sometimes divided into two categories: first generation,
and second generation.

LENGUAJE DE BAJO NIVEL (ENSAMBLADOR)

Un lenguaje de programación de bajo nivel es un lenguaje de programación que ofrece poca o


ninguna abstracción de la arquitectura del conjunto de instrucciones de un ordenador.
Generalmente esto se refiere a lenguaje de máquina o lenguaje ensamblador. La palabra "bajo" se
refiere a la cantidad pequeña o inexistente de abstracción entre el lenguaje y el lenguaje de
máquina; debido a esto, lenguajes de bajo nivel son a veces descritos como "próximos a la
maquina".

Lenguajes de bajo nivel se pueden convertir en código de máquina sin necesidad de utilizar un
compilador o intérprete, y el código resultante se ejecuta directamente en el procesador. Un
programa escrito en un lenguaje de bajo nivel puede correr muy rápido, y con muy poca memoria;
un programa equivalente en un lenguaje de alto nivel será más pesado. Los lenguajes de bajo nivel
son simples, pero se consideran difíciles de utilizar, debido a los numerosos detalles técnicos que
deben ser recordados.

En comparación, un lenguaje de programación de alto nivel aísla la semántica de ejecución de una


arquitectura informática, de las especificaciones del programa, lo que simplifica el desarrollo.
Los lenguajes de programación de bajo nivel se dividen en dos categorías: primera generación y
segunda generación.

HIGH-LEVEL PROGRAMMING LANGUAGES

A high-level programming language is characterized by express the algorithm in a manner suitable


to the human cognitive ability, rather than the executive capacity of the machines.

In the first languages, the limitation was to be oriented to a specific area and instructions required
for a predefined syntax. They are classified as procedural languages or low-level languages.
Another limitation of these is that it requires some knowledge of programming sequences for
logical instructions. The high-level languages were created for the user could solve a common
problem of processing data more quickly and easily.

For this reason, in the late 1950s came a new kind of programming languages that avoided these
problems, at the expense of giving a little advantage. These languages are called third generation
or high level, as opposed to low-level or next to the machine level.

LENGUAJE DE ALTO NIVEL


Un lenguaje de programación de alto nivel se caracteriza por expresar el algoritmo 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.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que
evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman
de tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la
máquina.

LANGUAGES ALGORITHMIC GRAPHICS

They are the graphical representation of the operations performed by an algorithm (flowchart).

The flow chart is characterized by detailed how graphically depicts the steps for the solution of the
proposed problem.

The graphical representation is given by various symbols (each with its intended purpose), which
linked together, indicate the order in which they should give the process.

LENGUAJES ALGORITMICOS GRAFICOS

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.
La representación gráfica se da por medio de varios símbolos (cada uno con su propósito
establecido), que unidos entre sí, indican el orden en el que se debe dar el proceso.

LANGUAGES ALGORITHMIC NO GRAPHICS

Descriptively represents operations to be performed by an algorithm (pseudocode).

LENGUAJES ALGORITMICOS NO GRAFICOS

Representan en forma descriptiva las operaciones que debe realizar un algoritmo


(pseudocodigo).

PSEUDOCODE

The pseudocode is a tool used to design programs that allows the programmer to express their
thoughts in a clear manner using natural language and showing the order of execution of
judgments of the program without any ambiguity.

The main objective of pseudocode is to represent the solution to the algorithm detailed as
possible, and in turn as close as possible to the language later used for encoding the same.

PSEUDOCODIGO

El pseudocódigo es una herramienta utilizada para el diseño de programas que permite al


programador expresar sus pensamientos de una forma clara utilizando su lenguaje natural y
mostrando el orden de ejecución de las sentencias del programa sin ninguna ambigüedad.

El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma


más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se
utilizara para la codificación del mismo.

PROBLEM DEFINITION

It requires that the problem is clearly defined and understood in order to be analyzed in detail.

DEFINICIÓN DEL PROBLEMA

Requiere que el problema sea definido y comprendido claramente para que pueda ser analizado
con todo detalle

ANALYSIS OF THE PROBLEM

The purpose of problem analysis is to help the programmer to get some understanding of the
nature of the problem. The problem must be well defined if you want to reach a satisfactory
solution.

To define precisely the problem requires input specifications, process and output are described in
detail.
ANÁLISIS DEL PROBLEMA

El propósito del análisis de un problema es ayudar al programador para llegar a una cierta
comprensión de la naturaleza del problema. El problema debe estar bien definido si se desea
llegar a una solución satisfactoria.

Para poder definir con precisión el problema se requiere que las especificaciones de entrada,
proceso y salida sean descritas con detalles.

ALGORITHM DESIGN

Should represent alternative solution selected by an algorithm, which can be developed using the
pseudocode flowchart or programmer to preference; then it is checked whether the algorithm
meets the characteristics of an algorithm. This verification is known as desktop test.

DISEÑO DEL ALGORITMO

Se debe representar la alternativa de solución seleccionada mediante un algoritmo, el cual puede


desarrollarse utilizando el pseudocódigo o el diagrama de flujo a preferencia del programador;
luego se verifica si el algoritmo cumple con las características de un algoritmo. Esta verificación se
conoce como prueba de escritorio.

CODING

It is the algorithm transferred to the computer via a programming language, It should be written
according to the rules of grammar or syntax of it.

Generate an algorithm which is called code, and pass it to a programming language is called source
code.

CODIFICACIÓN

Es el algoritmo traspasado a la computadora a través de un lenguaje de programación, debe ser


escrito de acuerdo a las reglas gramaticales o sintaxis del mismo.

Generamos un algoritmo el cual se denomina código, y al pasarlo a un lenguaje de programación


se le llama código fuente.

COMPILING AND RUNNING

Compilation, review selected programming language that no longer finds errors in the source
code.

Running, run the program after compilation.

COMPILACIÓN Y EJECUCIÓN
Compilación, el lenguaje de programación seleccionado revisa que ya no halla errores en el código
fuente.

Ejecución, ejecutar el programa después del ser compilado.

TESTING AND DEBUGGING

Testing and debugging: Debugging is running the program on a computer and fix the parts that do
not. In this phase the operation of each program is checked and this is done with real or fictitious
data. When programs are debugged, they tested. When tested programs can be found the
following errors:

Syntax errors.
Execution errors.
Logical errors.
Specification errors.

PRUEBA Y DEPURACIÓN

Prueba y depuración: Depurar es correr el programa en una computadora y corregir las partes que
no funcionan. En esta fase se comprueba el funcionamiento de cada programa y esto se hace con
datos reales o ficticios. Cuando los programas están depurados, se prueban. Cuando los programas
se prueban se pueden encontrar los siguientes errores:

Errores de sintaxis.
Errores de ejecución.
Errores lógicos.
Errores de especificación.

DOCUMENTATION

They are all the comments, references since the problem occurred until the solution is found.

Internal documentation, header, description, statement of the problem, they are all comments
that may come to serve in the source code.

External documentation, manuals are being made to better execution of the program, there will
be explained how to use the program.

DOCUMENTACIÓN

Son todos los comentarios, referencias desde que se dio el problema hasta que se encontró la
solución.

Documentación interna, es el encabezado, descripción, declaración del problema, son todos los
comentarios que puedan llegar a servir dentro del código fuente.
Documentación externa, son los manuales que se hacen para una mejor ejecución del programa,
ahí se explicara cómo usar el programa.

MAINTENANCE

Software maintenance is one of the activities in software engineering and is the process of
improving and optimizing deployed software (program review), as well as remedy the defects.

Software maintenance is also one of the phases in the Life Cycle Systems Development, which
applies to software development.

The software maintenance phase involves software changes in order to correct defects and units
encountered during its use as well as adding new functionality to improve usability and
applicability of software

Types of maintenance

Then the existing maintenance service types are indicated, and between parentheses the
approximate percentage of the total maintenance:

Perfective (60%): software upgrade (performance, flexibility, reusability ..) or implementing new
requirements. Also it is known as evolutionary maintenance.

Adaptive (18%): Adaptation of the software to changes in the technological environment (new
hardware, other management system database, another operating system ...)

Corrective (17%): Correction of faults detected during operation.

Preventive (5%): To facilitate future maintenance of the system (check preconditions, improve
readability ...).

MANTENIMIENTO

El mantenimiento de software es una de las actividades en la Ingeniería de Software y es el


proceso de mejorar y optimizar el software desplegado (revisión del programa), así como también
remediar los defectos.

El mantenimiento de software es también una de las fases en el Ciclo de Vida de Desarrollo de


Sistemas, que se aplica al desarrollo de software.

La fase de mantenimiento de software involucra cambios al software en orden de corregir


defectos y dependencias encontradas durante su uso tanto como la adición de nueva
funcionalidad para mejorar la usabilidad y aplicabilidad del software

Tipos de mantenimiento

A continuación se señalan los tipos servicio de mantenimientos existentes, y entre paréntesis el


porcentaje aproximado respecto al total de operaciones de mantenimiento:
Perfectivo (60%): Mejora del software (rendimiento, flexibilidad, reusabilidad...) o implementación
de nuevos requisitos. También se conoce como mantenimiento evolutivo.

Adaptativo (18%): Adaptación del software a cambios en su entorno tecnológico (nuevo hardware,
otro sistema de gestión de bases de datos, otro sistema operativo...)

Correctivo (17%): Corrección de fallos detectados durante la explotación.

Preventivo (5%): Facilitar el mantenimiento futuro del sistema (verificar precondiciones, mejorar
legibilidad...).

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.

TIPO DE DATOS

En ciencias de la computación y de la programación de computadoras, un tipo de datos o


simplemente tipo, es una clasificación de la identificación de uno de los distintos tipos de datos,
tales como: real, entero o booleano. Que determinan los posibles valores de ese tipo; las
operaciones que se pueden realizar con ellos; el significado de los datos; y la forma en que los
valores de ese tipo pueden ser almacenados.

EXPRESSION

An expression in a programming language is a combination of explicit values, constants, variables,


operators, and functions that are interpreted according to the particular rules of precedence and
of association for a particular programming language.

EXPRESIONES

Una expresión en un lenguaje de programación es una combinación de valores explícitos,


constantes, variables, operadores y funciones que se interpretan de acuerdo con las reglas
particulares de precedencia y de asociación para un lenguaje de programación en particular.

OPERATORS AND OPERANDS

The computer must have the ability to know how to process data. This task is up to the operators.
Operators are connectors and data in an expression equation. Traders tell the computer how to
process data. Computer also inform about the type of processing (mathematical, logical or other)
you need to run .. The types of operators (mathematical, relational and logical) are used to make
calculations and to solve problems.
The concept of operand and result are associated with the operator. The operands are connecting
data and processes the operator. The result is the response that results when the operation is
complete.

OPERADORES Y OPERANDOS

La computadora tiene que tener la habilidad para saber cómo procesar datos. Esta tarea le toca a
los operadores. Los operadores son datos conectores en una expresión y ecuación. Los operadores
dicen a la computadora cómo procesar los datos. También informan a la computadora sobre el
tipo de procesamiento (matemático, lógico u otro) que necesita ejecutar.. Los tipos de operadores
(matemático, relacional y lógico) se utilizan para hacer cálculos y para resolver problemas.

El concepto de operando y el de resultado están relacionados con el operador. Los operandos son
datos que conecta y procesa el operador. El resultado es la respuesta que resulta cuando se
completa la operación.

IDENTIFIERS (CONSTANT AND VARIABLE)

An identifier is a set of alphanumeric characters of any length that identifies the program entities
(classes, functions, variables, constants, compound types) Identifiers can be combinations of
letters and numbers. Each language has its own rules that define how they can be built. When an
identifier is associated with a particular entity, then it is the "name" of this institution and
hereinafter represented in the program. Allows naming the entities referred to, which is essential
for any kind of symbolic processing.

One constant is that which does not change its value during the execution of a program (or
checking algorithm in this case). It is represented as described for each category.

Variables are those that can change its value during the execution of a program.

IDENTIFICADORES (CONSTANTES Y VARIABLES)

Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para


identificar las entidades del programa (clases, funciones, variables, Constantes, 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.

DESIGN TECHNIQUES TOP DOWN AND BOTTOM UP


Top Down

It is to establish a series of high to low levels of complexity (up-down) to give solution to the
problem. Is to make a relationship between the steps of structuring such that a hierarchical and
immediately lower stage relate through inputs and outputs information. This design consists of a
series of successive decomposition of the initial problem, which receives the progressive
refinement of the instruction set that will form part of the program.

Using the technique of top-down design has the following main objectives:

Simplification of the problem and every breakdown applets.

The different parts of the problem can be independently programmed and even by different
people.

The final program is structured in the form of block or modules, which makes reading and simpler
maintenance.

Bottom Up

The bottom-up design refers to the identification of those processes that will need to be
computerized to form, as system analysis and its codification, or the acquisition of software
packages appear to meet the immediate problem.

When programming is done internally and making a bottom-up approach, it is difficult to integrate
subsystems to such a degree that the overall performance is fluid. Integration problems between
subsystems are extremely expensive and many of them are not solved until the program reaches
the deadline for total system integration. On this date, and it has very little time or patience
budget users, and to correct those delicate interfaces, which at first ignored. Although each
subsystem seems to offer what is required, when viewed in as a global entity, it has some
limitations for taking a bottom up approach.

One is the duplication software to access and even more when entering data.

Another is that many worthless data is input to the system.


A third and perhaps the most serious drawback of the bottom-up approach is that the overall
objectives of the organization were not considered and therefore not satisfied.

The difference between these two programming techniques is based on the results presented in
front of a given problem.

Imagine a company which consists of several departments (accounting, marketing, ??), in each of
them were having problems to which he was given a based on a bottom-up approach (Bottom Up)
solution: creating programs They satisfy only the problem that arose.
When the company decided to integrate a comprehensive system to meet the needs of all
departments realized that each of the solutions presented was not compatible with each other,
did not represent a whole, the main feature of the systems.

As no prior analysis, design a global solution in all departments, centralization of information,


which are typical of a top-down design (Top Down) and fundamental characteristics of the systems
characteristics; the company could not satisfy his need globally.

The creation of algorithms is based on the descending technique, which provides the ideal solution
for the design problem.

TÉCNICAS DE DISEÑO TOP DOWN Y BOTTOM UP

Top Down

Consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den
solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de
forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas
de información. Este diseño consiste en una serie de descomposiciones sucesivas del problema
inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar
parte del programa.

La utilización de la técnica de diseño Top-Down tiene los siguientes objetivos básicos:

Simplificación del problema y de los subprogramas de cada descomposición.

Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por
diferentes personas.

El programa final queda estructurado en forma de bloque o módulos lo que hace mas sencilla su
lectura y mantenimiento.

Bottom Up

El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan


computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, o bien, la
adquisición de paquetes de software para satisfacer el problema inmediato.

Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es difícil


llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido. Los
problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no se
solucionan hasta que la programación alcanza la fecha limite para la integración total del sistema.
En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como
para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada
subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad
global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente.
Uno de ellos es la duplicación de esfuerzos para acceder el software y mas aún al introducir los
datos.

Otro es, que se introducen al sistema muchos datos carentes de valor.


Un tercero y tal vez el mas serio inconveniente del enfoque ascendente, es que los objetivos
globales de la organización no fueron considerados y en consecuencia no se satisfacen.

La diferencia entre estas dos técnicas de programación se fundamenta en el resultado que


presentan frente a un problema dado.

Imagine una empresa, la cual se compone de varios departamentos (contabilidad, mercadeo, …),
en cada uno de ellos se fueron presentando problemas a los cuales se le dieron una solución
basados en un enfoque ascendente (Bottom Up): creando programas que satisfacían sólo el
problema que se presentaba.

Cuando la empresa decidió integrar un sistema global para suplir todas las necesidades de todos
los departamentos se dio cuenta que cada una de las soluciones presentadas no era compatible la
una con la otra, no representaba una globalidad, característica principal de los sistemas.

Como no hubo un previo análisis, diseño de una solución a nivel global en todos sus
departamentos, centralización de información, que son características propias de un diseño
Descendente (Top Down) y características fundamentales de los sistemas; la empresa no pudo
satisfacer su necesidad a nivel global.

La creación de algoritmos es basado sobre la técnica descendente, la cual brinda el diseño ideal
para la solución de un problema.

INPUT DEVICES

An entry is in the field of information technology, a series of data that is received by a system for
further processing.

Input devices are those computers and components that allow you to enter information to the
processing unit; Some known examples are all keyboard, mouse (also called mouse), scanner, web
camera (webcam), the stylus and microphone; how the user interacts with them is varied and has,
in each case, a different purpose, which can be scanning a text or an image, capturing a video
stream or recording of a song , among many other possibilities.

DISPOSITIVOS DE ENTRADA

Una entrada es, en el campo de la informática, una serie de datos que es recibida por un
determinado sistema para su posterior procesamiento.

Los 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; la forma en la que el usuario interactúa con ellos es muy variada y tiene, en cada caso,
un propósito diferente, que puede ser la digitalización de un texto o de una imagen, la captura de
una secuencia de vídeo o la grabación de una canción, entre tantas otras posibilidades.

OUTPUT DEVICES

An output, is the presentation of information for the user to use it as needed.

Output devices, group that monitors and printers, for example are located; the first broadcast
information through the screen, while the latter make physical and tangible form, on sheets of
paper.

DISPOSITIVOS DE SALIDA

Una salida, supone la presentación de la información para que el usuario haga uso de ésta según lo
necesite.

Los dispositivos de salida, grupo en el que se ubican los monitores y las impresoras, por ejemplo;
los primeros emiten información a través de la pantalla, mientras que las segundas lo hacen de
forma física y tangible, en hojas de papel.

CENTRAL PROCESSING UNIT (C.P.U)

Microscopic circuit that interprets and executes instructions. The CPU handles the control and
data processing on computers. Generally, the CPU is a microprocessor chip manufactured in a
single piece of silicon containing millions of electronic components. The microprocessor CPU is
composed of an arithmetic and logic unit performs calculations and comparisons, and makes
logical decisions (determines whether a statement is true or false using the rules of Boolean
algebra); by a series of records where information is stored temporarily, and a control unit that
interprets and executes instructions. To accept user commands, access to data and presenting the
results, the CPU communicates through circuitry or connections called bus. The bus connects the
CPU to the storage devices (eg, hard drive), input devices (eg, a keyboard or mouse) and output
devices (such as a monitor or printer).

UNIDAD CENTRAL DE PROCESAMIENTO (C.P.U)

Circuito microscópico que interpreta y ejecuta instrucciones. La CPU se ocupa del control y el
proceso de datos en las computadoras. Generalmente, la CPU es un microprocesador fabricado en
un chip, un único trozo de silicio que contiene millones de componentes electrónicos. El
microprocesador de la CPU está formado por una unidad aritmético-lógica que realiza cálculos y
comparaciones, y toma decisiones lógicas (determina si una afirmación es cierta o falsa mediante
las reglas del álgebra de Boole); por una serie de registros donde se almacena información
temporalmente, y por una unidad de control que interpreta y ejecuta las instrucciones. Para
aceptar órdenes del usuario, acceder a los datos y presentar los resultados, la CPU se comunica a
través de un conjunto de circuitos o conexiones llamado bus. El bus conecta la CPU a los
dispositivos de almacenamiento (por ejemplo, un disco duro), los dispositivos de entrada (por
ejemplo, un teclado o un mouse) y los dispositivos de salida (por ejemplo, un monitor o una
impresora).
THE CONTROL UNIT

The control unit processor is the component that manages and coordinates most computer
operations. The control unit has a very similar role to that officer would vehicular traffic as it is
responsible for interpreting each of the instructions generated by a program and then initiates
appropriate to carry out the instructions shares. The types of components inside the control unit
directs include logical and arithmetic unit, registers, and buses.

LA UNIDAD DE CONTROL

La unidad de control es el componente del procesador que dirige y coordina la mayoría de las
operaciones en la computadora. La unidad de control tiene un rol muy parecido al que tendría un
oficial de transito vehicular ya que está se encarga de interpretar cada una de las instrucciones
generadas por un programa y después inicia las acciones apropiadas para llevar a cabo las
instrucciones. Los tipos de componentes internos que la unidad de control dirige incluyen la
unidad lógico y aritmética, los registros, y los buses.

UNIT ARITHMETIC - LOGIC

The arithmetic and logic unit is another component of the processor. All operations undertaken a
computer belonging to two basic types: arithmetic operations (addition, subtraction,
multiplication and division) and logical operations (for example, compare two numbers to see if
they are equal or one is greater or better). The ability of the computer to make comparisons
allowed to take alternate courses of action that depends on the situation; This is the reason why
computers have become so useful for many purposes.

UNIDAD ARITMÉTICO – LÓGICA

La unidad de aritmética y lógica es otro componente del procesador. Todas las operaciones que
efectúa una computadora pertenecen a dos tipos básicos: operaciones aritméticas (como suma,
resta, multiplicación y división) y operaciones lógicas ( por ejemplo, la comparación de dos
números para ver si son iguales o uno es mayor o mejor). La capacidad de la computadora para
efectuar comparaciones le permite tomar cursos alternos de acción que dependen de la situación;
esta es la razón por la que las computadoras han llegado a ser tan útiles para muchos propósitos.

MAIN MEMORY (INTERNAL)

The function of the main memory is stored program instructions and data temporarily. It is
required in all station operations and out and, of course, the partial or final results of the process.

The memory is structured as a collection of cells, each of which fits a specific information unit:
bytes or words. The content of each of the memory locations may be either data or instruction.
Each cell is assigned a position relative to an origin, whose numerical value is the same address
and is not stored in it.

With a mission to ensure stability and security in operations, data management and records must
be kept during that time. In the report we find:
Address register memory that temporarily stores the address on making the selection.

Registration Information memory where data is stored during phases of reading or writing in the
cell indicated by the earlier registration.

MEMORIA CENTRAL (INTERNA)

La función de la memoria principal es almacenar datos e instrucciones de programa de forma


temporal. Es estación obligada en todas las operaciones de entrada y salida y, por supuesto, de los
resultados parciales o finales del proceso.

La memoria esta estructurada en forma de una colección de celdas, en cada una de las cuales cabe
una unidad especifica de información: octetos o palabras. El contenido de cada una de las
posiciones de memoria podrá ser bien dato o instrucción. Cada celda tiene asignada una posición
relativa con respecto a un origen, cuyo valor numérico constituye la dirección de la misma y que
no se encuentra almacenado en ella.

Con la misión de garantizar estabilidad y seguridad en las operaciones, la dirección y datos deben
mantenerse en registros durante ese tiempo. En la memoria nos encontramos con:

Registro de dirección de memoria en la que almacena temporalmente la dirección sobre la que


efectúa la selección.

Registro de Información de memoria en donde se almacena el dato durante las fases de lectura o
escritura en la celda señalada por el registro anterior.

RAM

RAM or random access is often used for storing computer programs and data information.

A memory of this type is a part which consists of one or more chips and part of a computer system
or computer.

The distinguishing feature of this type of memory is that it is a volatile memory, that is, it loses its
data when power stops receiving. Typically, when the computer is off.

MEMORIA RAM

Una memoria RAM o de acceso aleatorio se utiliza frecuentemente en informática para el


almacenamiento de programas y datos informativos.

Una memoria de este tipo es una pieza que se compone de uno o más chips y que forma parte del
sistema de un ordenador o computadora.

La característica diferencial de este tipo de memoria es que se trata de una memoria volátil, es
decir, que pierde sus datos cuando deja de recibir energía. Típicamente, cuando el ordenador es
apagado.
ROM

A ROM memory storage is that it allows only reading of information and not destruction,
regardless of the presence or not of an energy source the feed.

This is a semiconductor memory that facilitates the maintenance of records that can be read but
which can not be recorded. Unlike RAM, those data in a ROM are not destroyed or lost if the
information flow is interrupted and therefore called "nonvolatile memory".

MEMORIA ROM

Una memoria ROM es aquella memoria de almacenamiento que permite sólo la lectura de la
información y no su destrucción, independientemente de la presencia o no de una fuente de
energía que la alimente.

Se trata de una memoria de semiconductor que facilita la conservación de información que puede
ser leída pero sobre la cual no se puede grabar. A diferencia de una memoria RAM, aquellos datos
contenidos en una ROM no son destruidos ni perdidos en caso de que se interrumpa la corriente
de información y por eso se la llama “memoria no volátil”.

(EXTERNAL) AUXILIARY MEMORY

The external memory refers to all devices and storage media that are not part of the internal
computer memory (RAM and ROM). They are part of the external memory floppy disks, optical
disks, hard disks, tape drives, ZIP, etc. The external memory is not critical to the operation of a
computer.

MEMORIA AUXILIAR (EXTERNA)

La memoria externa hace referencia a todos los dispositivos y medios de almacenamiento que no
son parte de la memoria interna de la computadora (RAM y ROM). Son parte de la memoria
externa los disquetes, los discos ópticos, los discos duros, los unidades de cinta, los ZIP, etc. La
memoria externa no es fundamental para el funcionamiento de una computadora.

También podría gustarte