Está en la página 1de 74

Implementación de un sistema de gestión documental

Nidia Castro Campo

Agosto 2017.

Diccionario

Centro de la Innovación, la Tecnología y los Servicios - SENA

Regional Sucre

Análisis y Desarrollo de Sistemas de Información ADSI


Implementation of a document management system

Nidia Castro Campo

August 2017.

Dictionary

Center for Innovation, Technology and Services - SENA

Regional Sucre

Analysis and Development of ADSI Information Systems


DICCIONARIO

1-LENGUAJE DE PROGRAMACION: Un lenguaje de programación es básicamente

un sistema estructurado de comunicación, similar al humano, el cual nos permite

comunicarnos por medio de signos, ya sean palabras, sonidos o gestos. Refiriéndonos a los

aparatos, este sistema está organizado para que se entiendan entre sí y a su vez interprete

las instrucciones que debe ejecutar.

2-ALGORITMOS: Se denomina algoritmo a un grupo finito de operaciones organizadas de

manera lógica y ordenada que permite solucionar un determinado problema. Se trata de una

serie de instrucciones o reglas establecidas que, por medio de una sucesión de pasos,

permiten arribar a un resultado o solución.

ALGORITMO: Es una serie de pasos organizados que describe el proceso que se debe

seguir, para dar solución a un problema específico.

3-LENGUAJE DE MAQUINA: El lenguaje de máquina es un código que es interpretado

directamente por el microprocesador. El lenguaje está compuesto por un conjunto de

instrucciones ejecutadas en secuencia (con eventuales cambios de flujo causados por el

propio programa o eventos externos) que representan acciones que la máquina podrá

tomar.

4-LENGUAJE DE BAJO NIVEL –

Los lenguajes de bajo nivel, también llamados lenguajes ensambladores, permiten

al programador escribir instrucciones de un programa usando abreviaturas del inglés,


también llamadas palabras nemotécnicas, tales como: ADD, DIV, SUB, etc. Un programa

escrito en un lenguaje ensamblador tiene el inconveniente de que no es comprensible para

la computadora, ya que, no está compuesto por ceros y unos. Para traducir las instrucciones

de un programa escrito en un lenguaje ensamblador a instrucciones de un lenguaje

máquina hay que utilizar un programa llamado ensamblador, como se muestra en la

siguiente figura:

funcionamiento de un ensamblador

5-ENSAMBLADOR: El término ensamblador (del inglés assembler) se refiere a un tipo

de programa informático que se encarga de traducir un fichero fuente escrito en un lenguaje

ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por

el microprocesador

6-LENGUAJE DE ALTO NIVEL: Lenguaje de alto nivel. Un lenguaje de programación

de alto nivel se le caracteriza por expresarle el algoritmo de una manera adecuada a la

capacidad cognitiva humana, en lugar de la capacidad que se la ejecuta de las máquinas. ...

Se clasifican como lenguajes procedimentales o lenguajes de bajo nivel.


7-ALGORITMOS CUALITATIVOS: Son aquellos en los que se describen los pasos

utilizando palabras

8-ALGORITMOS CUANTITATIVOS Son aquellos en los que se utilizan cálculos

numéricos para definir los pasos del proceso.

ALGORITMO COTIDIANO: Es la serie de pasos que realizamos en nuestra vida diaria

para realizar las diferentes tareas y actividades comunes, desde los pasos al levantarnos, asi

como ir de compras.

9-LENGUAJES ALGORITMICOS GRAFICOS Es la representación gráfica de las

operaciones que realiza un algoritmo también llamado 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.

10-LENGUAJES NO GRAFICOS representan en forma descriptiva las operaciones que

debe realizar un algoritmo (seudocódigo).

INICIO

Edad: Entero

ESCRIBA “cuál es tu edad?"

Lea Edad

SI Edad>=18 entonces

ESCRIBA "Eres mayor de Edad"

FINSI

ESCRIBA "fin del algoritmo”

FIN
11-PSEUDOCODIGO 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.

Ejemplo

 Realizar el pseudocódigo que permita al usuario introducir por

teclado dos notas, calculando la suma y el producto de las notas.

Programa: SumaProducto

Entorno: NOTA1,NOTA2,SUMA,PRODUCTO son números enteros

Algoritmo:

escribir “Introduzca las notas”

leer NOTA1,NOTA2

calcular SUMA = NOTA1 + NOTA2

calcular PRODUCTO = NOTA1 * NOTA2


escribir “La suma de las dos notas es:” SUMA

escribir “El producto de las dos notas es :”PRODUCTO

Fin programa

12-DEFINICION DEL PROBLEMA: La Real Academia Española (rae) define problema


de latín problema como una cuestión a aclarar, proposición o dificultad de solución dudosa,
conjunto de hechos o circunstancias que dificultan la consecución del algún fin,
planteamiento de una situación cuya respuesta desconocida debe obtenerse a través de
métodos científicos.

13-ANALISIS DEL PROBLEMA: ANÁLISIS DEL PROBLEMA

Después de haber identificado, seleccionado y definido el problema, el grupo identifica la(s)


causa(s) principal(es) del mismo. En esta fase el objetivo es analizar el problema y dividirlo
en sus partes componentes, examinando cómo es que van juntas. Es necesario comprender el
contexto del problema y como unas partes afectan a otras.

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

El análisis del problema se realiza a través del siguiente procedimiento:

a) Confirmación de que el problema existe realmente.

Se deben identificar y recoger los datos requeridos para confirmar que el problema
identificado es real.

Para comprender un problema los mismos datos deben indicar quién, qué, cuándo, dónde y
por qué el problema es más grave, así como ciertas preguntas relacionadas con cuánto, de
qué tamaño, cuántas o cuántos. Es necesario construir un cuadro completo de la existencia
del problema. Es menester esclarecernos si los datos están claramente explicados, si los
mismos hechos tienen la misma interpretación para las partes, si los hechos son del pleno
conocimiento de todos los participantes en el proceso y si los hechos presentados son
verdaderamente relevantes para el proceso que se desarrolla.

b) Presentación gráfica de los datos.

c) Esta forma de presentación de los datos permite, especialmente a las personas que trabajan
en grupos, usar la información con mayor facilidad. Para presentación de los datos pueden
utilizarse las siguientes técnicas: Planilla de comprobación; histograma; gráfico de sectores;
gráfico de tiempo y otros.

d) Identificación de las causas potenciales.

Entre los instrumentos más importantes para la identificación de las causas potenciales se
encuentran:

• DIAGRAMA CAUSA – EFECTO que permite identificar y poner de manifiesto todas las
causas potenciales que están contribuyendo a la existencia del problema bajo consideración.

• ANÁLISIS CAMPO FUERZA para identificar aquellas fuerzas que ayudan o impiden
cerrar la brecha que existe entre donde se encuentra la organización y donde debe estar.

• ANÁLISIS DE PARETO para separar un pequeño número de factores significativos de la


gran masa de factores insignificantes.

Hay que buscar todas las posibles ubicaciones al problema, determinar todas las aristas que
conforman el problema a fin de que el grupo lo analice en toda su dimensión y no sólo
centrarse en el análisis de sus causas.

Lo que indica el grado de creatividad de un grupo en la solución de sus problemas es la


capacidad de desplazar el pensamiento de un obstáculo a otro y no el hecho de encontrar
diversas maneras de superar un mismo obstáculo.

Jugar con la ubicación del problema constituye una importante área de las habilidades
requeridas para resolver problemas. Los problemas pueden ubicarse en:

• La situación.

• El individuo.

• El grupo.

Al analizar un problema el grupo puede enfocarlo desde diferentes puntos de vista y listar
todas sus posibles ubicaciones.
Como la búsqueda de diferentes ubicaciones al problema puede reflejar una gran cantidad de
aristas sobre las que el grupo no tenga autoridad, es necesario utilizar filtros que garanticen
que los esfuerzos se orienten hacia lo que pueda ponerse en práctica.

Zona de Libertad

Cuando se ha explorado todas las posibles localizaciones del problema, deberán


seleccionarse primero las que estén en el campo o radio de acción sobre el que el grupo tiene
control (zona de libertad). El mayor reto para el grupo es encontrar formas creativas para
atraer hacia su zona de libertad a un problema que a priori no es de su competencia.

Una vez logrado este objetivo, resulta necesario hacer un replanteamiento del problema, o
sea, a todas las localizaciones que están ubicadas en la zona de libertad o actuación del grupo
plantearlas en términos situacionales y conductuales. Lo más importante es que hay que
lograr claridad sobre el problema que se quieren resolver, la definición debe contener el
objetivo deseado y este no debe sacrificarse por intentar localizar un problema de fácil
solución.

Si el grupo ha percibido un problema, si está de acuerdo sobre el asunto, si ha definido el


problema y formulada su condición deseada y además el mismo ha sido analizado, está listo
para continuar a la próxima fase. Si no es así, hará más daño que bien si se enfrasca en generar
alternativas. Por lo general, la mayor parte del tiempo disponible para solucionar un problema
debe dedicarse a lograr un acuerdo sobre la definición y análisis del mismo. Una buena
definición y análisis deberá hacer que el resto de las fases del proceso se desarrolle
suavemente, de lo contrario se irá al encuentro de serias dificultades.

14-DISEÑO DEL ALGORITMO: En ingeniería del software, el diseño de algoritmos 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.

15-CODIFICACION es el proceso de conversión en símbolos de una determinada

información con el fin de ser comunicada, y a efectos de ser entendida por el receptor,

aplicando las reglas de un código predeterminado. Es decir que en la codificación el emisor

convierte sus ideas en signos que sean fácilmente comprendidos por quienes reciben la

información
16-COMPILACION Y EJECUCION COMPILADOR:

Un compilador es un programa informático que traduce un programa escrito en un lenguaje

de programación a otro lenguaje de programación, generando un programa equivalente que

la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de

máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto.

Este proceso de traducción se conoce como compilación.

La construcción de un compilador involucra la división del proceso en una serie de fases

que variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el

análisis del programa fuente y la síntesis del programa objeto.· Análisis: Se

trata de la comprobación de la corrección del programa fuente, e incluye las fases

correspondientes al Análisis léxico (que consiste en la descomposición del programa fuente

en componentes léxicos), Análisis sintáctico (agrupación de los componentes léxicos en

frases gramaticales ) y Análisis semántico (comprobación de la validez semántica de las

sentencias aceptadas en la fase de Análisis Sintáctico).

-Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele

estar formado por una o varias combinaciones de fases de Generación de Código

(normalmente se trata de código intermedio o de código objeto) y de Optimización de

Código (en las que se busca obtener un código lo más eficiente posible).

Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar

en Front-end y Back-end:· Front-end: es la parte que analiza el código fuente,

comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de

símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya
a compilar, y está compuesta por las fases comprendidas entre el Análisis Léxico y la

Generación de Código Intermedio.

· Back-end: es la parte que genera el código máquina, específico de una

plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.

EJECUCIÓN:

En informática, ejecutar es la acción de iniciar la carga de un programa o de

cualquier archivo ejecutable.

En otras palabras, la ejecución es el proceso mediante el cual una computadora lleva a cabo

las instrucciones de un programa informático.

Se pueden ejecutar programas compilados (por ejemplo, en Windows, los .EXE) o

programas interpretados (por ejemplo, los scripts).

Ejecutar un programa implica que éste estará en estado de ejecución y, por ende, en

memoria, hasta que se finalice.

Algunas bibliografías extienden la definición de ejecutar e incluyen la carga de archivos

que no son ejecutables. Por ejemplo, cuando se ejecuta una imagen JPG y se abre el

programa para visualizar la misma, o cuando se ejecuta un sonido MP3 y se abre el

reproductor de audio. Técnicamente hablando, lo que está realmente en ejecución es el


programa que se encarga de interpretar el archivo no ejecutable.

En Windows, la mayoría de los programas que están en ejecución se listan en

el Administrador de tareas, desde donde pueden ser finalizados.

17-PRUEBA Y DEPURACION La depuración de programas es el proceso de identificar

y corregir errores de programación. En inglés se conoce como debugging, porque se

asemeja a la eliminación de bichos (bugs), manera en que se conoce informalmente a los

errores de programación.

El término bug proviene de la época de las computadoras de válvula termoiónica, en los

cuales los problemas se generaban por los insectos que eran atraídos por las luces y

estropeaban el equipo. Si bien existen técnicas para la revisión sistemática del código

fuente y se cuenta con medios computacionales para la detección de errores (depuradores) y

facilidades integradas en los sistemas lower CASE y en los ambientes de desarrollo

integrado, sigue siendo en buena medida una actividad manual, que desafía la paciencia, la

imaginación y la intuición de programadores. Muchas veces se requiere incluir en el código

fuente instrucciones auxiliares que permitan el seguimiento de la ejecución del programa,

presentando los valores de variables y direcciones de memoria y ralentizando la salida de

datos ("modo de depuración"). Dentro de un proceso formal de aseguramiento de la

calidad, puede ser asimilado al concepto de "prueba unitaria".

18-DOCUMENTACION Es la guía o comunicación escrita en sus variadas formas, ya sean

en enunciados, procedimientos, dibujos o diagramas. A menudo un programa escrito por


una persona, es usado por muchas otras. Por ello la documentación sirve para ayudar a

comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).

La documentación debe presentarse en tres formas, externa, interna y al usuario final. La

primera debe estar integrada por los siguientes elementos:

a) Descripción del problema.

b) Nombre del autor.

c) Diagrama de flujo y/o pseudocódigo.

d) Lista de variables y constantes.

e) Codificación del programa.


En lo referente a la documentación interna, ésta lo constituyen los comentarios o mensajes

que agregan al código, para hacer más claro el entendimiento del proceso. A la

documentación para el usuario se le conoce como manual del usuario. En este manual no

existe información de tipo técnico, sino la descripción del funcionamiento del programa

19-MANTENIMIENTO Conjunto de acciones que tienen como objetivo mantener un

artículo o restaurarlo a un estado de correcto funcionamiento

En términos generales por mantenimiento se designa al conjunto de acciones que tienen

como objetivo mantener un artículo o restaurarlo a un estado en el cual el mismo pueda

desplegar la función requerida o las que venía desplegando hasta el momento en que se

dañó, en caso que haya sufrido alguna rotura que hizo que necesite del pertinente

mantenimiento y arreglo.

20-TIPOS DE DATOS Un tipo de datos es la propiedad de un valor que determina su

dominio (qué valores puede tomar), qué operaciones se le pueden aplicar y cómo es

representado internamente por el computador.

Todos los valores que aparecen en un programa tienen un tipo.

A continuación revisaremos los tipos de datos elementales de Python. Además de éstos,

existen muchos otros, y más adelante aprenderemos a crear nuestros propios tipos de datos.

Números enteros
El tipo int (del inglés integer, que significa «entero») permite representar números enteros.

Los valores que puede tomar un int son todos los números enteros: ... -3, -2, -1, 0, 1, 2, 3, ...

Los números enteros literales se escriben con un signo opcional seguido por una secuencia

de dígitos:

1570

+4591

-12

Números reales

El tipo float permite representar números reales.

El nombre float viene del término punto flotante, que es la manera en que el computador

representa internamente los números reales.

Hay que tener mucho cuidado, porque los números reales no se pueden representar de

manera exacta en un computador. Por ejemplo, el número decimal 0.7 es representado

internamente por el computador mediante la aproximación 0.69999999999999996. Todas

las operaciones entre valores float son aproximaciones. Esto puede conducir a resultados

algo sorpresivos:

>>> 1/7 + 1/7 + 1/7 + 1/7 + 1/7 + 1/7 + 1/7

0.9999999999999998
Los números reales literales se escriben separando la parte entera de la decimal con un

punto. Las partes entera y decimal pueden ser omitidas si alguna de ellas es cero:

>>> 881.9843000

881.9843

>>> -3.14159

-3.14159

>>> 1024.

1024.0

>>> .22

0.22

Otra representación es la notación científica, en la que se escribe un factor y una potencia

de diez separados por una letra e. Por ejemplo:

>>> -2.45E4

-24500.0

>>> 7e-2

0.07

>>> 6.02e23

6.02e+23

>>> 9.1094E-31

9.1094e-31
Los dos últimos valores del ejemplo son iguales, respectivamente,

a 6.02×10236.02×1023 (la constante de Avogadro) y 9.1094×10−319.1094×10−31 (la masa

del electrón).

Números complejos

El tipo complex permite representar números complejos.

Los números complejos tienen una parte real y una imaginaria. La parte imaginaria es

denotada agregando una j inmediatamente después de su valor:

3 + 9j

-1.4 + 2.7j

Valores lógicos

Los valores lógicos True y False (verdadero y falso) son de tipo bool, que representa

valores lógicos.

El nombre bool viene del matemático George Boole, quien creó un sistema algebraico para

la lógica binaria. Por lo mismo, a True y False también se les llama valores booleanos. El

nombre no es muy intuitivo, pero es el que se usa en informática, así que hay que

conocerlo.

Texto

A los valores que representan texto se les llama strings, y tienen el tipo str.
Los strings literales pueden ser representados con texto entre comillas simples o comillas

dobles:

"ejemplo 1"

'ejemplo 2'

La ventaja de tener dos tipos de comillas es que se puede usar uno de ellos cuando el otro

aparece como parte del texto:

"Let's go!"

'Ella dijo "hola"'

Es importante entender que los strings no son lo mismo que los valores que en él pueden

estar representados:

>>> 5 == '5'

False

>>> True == 'True'

False

Los strings que difieren en mayúsculas y minúsculas, o en espacios también son distintos:

>>> 'mesa' == 'Mesa'

False

>>> ' mesa' == 'mesa '

False
Nulo

Existe un valor llamado None (en inglés, «ninguno») que es utilizado para representar

casos en que ningún valor es válido, o para indicar que una variable todavía no tiene un

valor que tenga sentido.

El valor None tiene su propio tipo, llamado NoneType, que es diferente al de todos los

demás valores.

21-EXPRESIONES Una expresión es una secuencia de uno o más operandos y cero o más

operadores que se pueden evaluar como un valor, objeto, método o espacio de nombres

único. Las expresiones pueden constar de un valor literal, una invocación de método, un

operador y sus operandos o un nombre simple.

22-OPERADORES Y OPERANDOS Operadores: Son elementos que relacionan de forma

diferente, los valores de una o mas variables y/o constantes. Es decir, los

operadores nos permiten manipular valores.

Otra definición es: un operador es el símbolo que determina el tipo de operación o relación

que habrá de establecerse entre los operandos para alcanzar un resultado

Se dividen en:

Aritméticos

Relaciónales

Lógicos
Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o

constantes. Es decir, los operadores nos permiten manipular valores.

Operadores Aritméticos

Los operadores aritméticos permiten la realización de operaciones matemáticas con los

valores (variables y constantes).

Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si

ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.

Operadores Aritméticos

+ Suma

- Resta

* Multiplicación
/ División

mod Modulo (residuo de la división entera)

Ejemplos:

Expresión Resultado

7/2 3.5

12 mod 7 5

4+2*5 14

Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis

anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero.

Dentro de una misma expresión los operadores se evalúan en el siguiente orden:

1. ^ Exponenciación

2. *, /, mod Multiplicación, división, modulo.

3. +, - Suma y resta.

Los operadores en una misma expresión con igual nivel de prioridad se evalúan de

izquierda a derecha.

Ejemplos:

4 + 2 * 5 = 14 23 * 2 / 5 = 9.2

3 + 5 * (10 - (2 + 4)) = 23 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98


Operadores Relacionales

Se utilizan para establecer una relación entre dos valores. Luego compara estos valores

entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso).

Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos

tienen el mismo nivel de prioridad en su evaluación.

Los operadores relaciónales tiene menor prioridad que los aritméticos.

Tipos de operadores Relacionales

 > Mayor que

 < Menor que

 > = Mayor o igual que

 < = Menor o igual que

 < > Diferente

 = Igual

Ejemplos:

Si a = 10, b = 20, c = 30

a+b>c Falso

a-b<c Verdadero

a-b=c Falso

a*b<>c Verdadero
Ejemplos no lógicos:

a<b<c

10 < 20 < 30

T > 5 < 30

(no es lógico porque tiene diferentes operandos)

Operadores Lógicos

Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores

pueden ser resultado de una expresión relacional.

Tipos de operadores Lógicos

And Y

Or O

Not Negación

Ejemplo:

Para los siguientes ejemplos T significa verdadero y F falso.


Operador Not Operador Not

Operando Resultado

T F

F T

Operador And Operador And

Operando1 Operador Operando2 Resultado

T AND T T

T F F

F T F

F F F

Operador Or Operador Or

Operando1 Operador Operando2 Resultado

T Or T T

T F T

F T T
F F F

Prioridad de los Operadores Lógicos

1. Not

2. And

3. Or

Prioridad de los Operadores en General

1. ( )

2. ^

3. *, /, Mod, Not

4. +, -, And

5. >, <, > =, < =, < >, =, Or

Ejemplos:

Sea: a = 10 b = 12 c = 13 d =10
23-IDENTIFICADORES VARIABLES Y CONSTANTES Identificador.

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.

Restricciones de la composición de los identificadores en C++

Solo hay dos restricciones en cuanto a la composición:

 El primer carácter debe ser una letra o el guión bajo. El Estándar establece que los

identificadores comenzando con guión bajo y mayúscula no deben ser utilizados.

Este tipo de nombres se reserva para los compiladores y las Librerías Estándar.
Tampoco se permite la utilización de nombres que contengan dos guiones bajos

seguidos.

 El estándar ANSI establece que como mínimo serán significativos los 31 primeros

caracteres, aunque pueden ser más, según la implementación. Es decir, para que un

compilador se adhiera al estándar ANSI, debe considerar como significativos, al

menos, los 31 primeros caracteres.

Reglas para los identificadores.

 En un programa no referimos al valor de una variable por su identificador, que es el

nombre que se le da a la variable. Por convención, en Java, los nombres de las

variables empiezan con una letra minúscula y los nombres de las clases empiezan con

una letra mayúscula. Un identificador de variable, en Java, tiene que cumplir:

 Debe ser un identificador legal de Java comprendido en una serie de caracteres

Unicode. Unicode es un sistema de codificación que soporta texto escrito en distintos

lenguajes humanos. Unicode permite la codificación de 34.168 caracteres. Esto le

permite utilizar en sus programas Java varios alfabetos como el japonés, el griego, el

ruso o el hebreo. Esto es importante para que los programadores puedan escribir

código en su lenguaje nativo. Por lo tanto podremos utilizar la ñ como parte de un

identificador de variable, clase, etc.

 No puede ser el mismo que una palabra clave o el nombre de un valor booleano (true

o false).

 No deben tener el mismo nombre que otras variables cuyas declaraciones aparezcan

en el mismo ámbito para evitar confusiones aunque si es posible su declaración.


 Por convención, los nombres de variables empiezan por un letra minúscula y cuando

están compuestos por más de una palabra se colocan juntas y el resto comenzando

por mayúsculas. Por ejemplo “pesoCoche”

Camel Case.

CamelCase es un estilo de escritura que se aplica a frases o palabras compuestas. El nombre

se debe a que las mayúsculas a lo largo de una palabra en CamelCase se asemejan a las

jorobas de un camello. El nombre CamelCase se podría traducir como

Mayúsculas/Minúsculas Camello. El término case se traduce como “caja tipográfica”, que a

su vez implica si una letra es mayúscula o minúscula y tiene su origen en la disposición de

los tipos móviles en casilleros o cajas.

Existen dos tipos de CamelCase:

UpperCamelCase, cuando la primera letra de cada una de las palabras es mayúscula.

Ejemplo: EjemploDeUpperCamelCase.

lowerCamelCase, igual que la anterior con la excepción de que la primera letra es

minúscula. Ejemplo: ejemploDeLowerCamelCase.

Constantes y variables

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.

Ejemplos:

Constantes Variables

36

450.35

0.58
Numéricos

‘A’
A

‘Juan’
Nom

‘La Paz’
Cadena Edad

Falso Ciudad

Verdadero Estatura
Lógicos

24-TECNICAS DE DISEÑO TOP DOWN Y BOTTON UP También conocida como de

arriba-abajo y 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 más

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 límite 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 delenfoque ascendente, es que los objetivos

globales de la organización no fueron considerados y en consecuencia no se satisfacen.

Entonces

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.

25-DISPOSITIVOS DE ENTRADA 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 ...

26-DISPOSITIVOS DE SALIDA Los dispositivos de salida son aquellos que reciben

información de la computadora, su función es eminentemente receptora y por ende están

imposibilitados para enviar información.

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

27-UNIDAD CENTRAL DE PROCESAMIENTO C.P.U El CPU o Central Processing

Unit (Unidad de Procesamiento Central en castellano) es la parte central de toda


computadora ya que es la que cumple la tarea de procesamiento de todas las funciones así

como también de almacenamiento de la información. Es un circuito electrónico que ha

existido desde siempre en las computadoras sin importar su modelo y es por eso que es

considerado uno de los elementos básicos de cualquier computador

28-UNIDAD DE CONTROL

La unidad de control (UC), en inglés: control unit (CU), 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 proceso y la unidad de entrada/salida.

Su función es buscar las instrucciones en la memoria principal, decodificarlas

(interpretación) y ejecutarlas, empleando para ello la unidad de proceso.

Existen dos tipos de unidades de control: las cableadas, usadas generalmente en máquinas

sencillas, y las microprogramadas, propias de máquinas más complejas. En el primer

caso, los componentes principales son el circuito de lógica secuencial, el de control de

estado, el de lógica combinacional y el de emisión de reconocimiento de señales de control.

En el segundo caso, la microprogramación de la UC se encuentra almacenada en una

micromemoria, a la cual se accede de manera secuencial para posteriormente ir ejecutando

cada una de las microinstrucciones.

29-UNIDAD ARITMETICO LOGICA


En computación, la unidad aritmética lógica o unidad aritmético-lógica, también

conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que

calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones

lógicas (si, y, o, no), entre valores (generalmente uno o dos) de los argumentos.

Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética,

así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se

mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el sonido

de la alarma.

Por mucho, los circuitos electrónicos más complejos son los que están construidos dentro

de los chips de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro

de ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y

los mainframes) puede tener múltiples núcleos, cada núcleo con múltiples unidades de

ejecución, cada una de ellas con múltiples ALU.

Muchos otros circuitos pueden contener en el interior una unidad aritmético

lógica: unidades de procesamiento gráfico como las que están en las GPU

modernas, FPU como el viejo coprocesador matemático 80387, y procesadores digitales de

señales como los que se encuentran en tarjetas de sonido, lectoras de CD y los televisores

de alta definición. Todos éstos tienen en su interior varias ALU potentes y complejas.

Esta unidad realiza cálculos (suma, resta, multiplicación y división) y operaciones lógicas

(comparaciones). Transfiere los datos entre las posiciones de almacenamiento.

Tiene un registro muy importante conocido como: Acumulador ACC Al realizar

operaciones aritméticas y lógicas, la UAL mueve datos entre ella y el almacenamiento. Los
datos usados en el procesamiento se transfieren de su posición en el almacenamiento a la

UAL.

Los datos se manipulan de acuerdo con las instrucciones del programa y regresan al

almacenamiento. Debido a que el procesamiento no puede efectuarse en el área de

almacenamiento, los datos deben transferirse a la UAL. Para terminar una operación puede

suceder que los datos pasen de la UAL al área de almacenamiento varias veces.

30-MEMORIA CENTRAL INTERNA: Memoria primaria (MP), memoria

principal, memoria central o memoria 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. El ancho del bus determina la capacidad que

posea el microprocesador para el direccionamiento de direcciones en memoria.

31-MEMORIA ROM: Circuito integrado de memoria de solo lectura que almacena

instrucciones y datos de forma permanente. 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.

ROM es una sigla en inglés que refiere al término "Read Only Memory" o "Memoria de

Sólo Lectura". 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 destruir. 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".

Con frecuencia, las memorias ROM o de sólo lectura se usaron como principal medio de

almacenamiento de datos en los ordenadores. Por ser una memoria que protege los datos

contenidos en ella, evitando la sobre-escritura de éstos, las ROM se emplearon para

almacenar información de configuración del sistema, programas de arranque o inicio,

soporte físico y otros programas que no precisan de actualización constante.

Si bien durante las primeras décadas de los ordenadores el sistema operativo solía

almacenarse en su totalidad en la memoria ROM, actualmente estos sistemas tienden a

guardarse en las nuevas memorias flash.

Anteriormente, no existían alternativas eficientes para la memoria ROM y, de necesitarse

más memoria o una actualización sobre los programas o el sistema, era preciso a menudo

reemplazar la memoria vieja por un chip nuevo de ROM.

Hoy por hoy las computadoras pueden conservar algunos de sus programas en ROM, pero

la memoria flash se encuentra mucho más difundida, incluso en teléfonos móviles y

dispositivos PDA.

Además de las computadoras, consolas de videojuegos siguen utilizando programas

basados en la memoria ROM, como la Nintendo 64, Super Nintendo o Game Boy.

Por la velocidad de uso, la información contenida en una memoria ROM suele pasarse a la

RAM cuando es requerida para el funcionamiento del sistema.

32-MEMORIA RAM: Memoria principal de la computadora, donde residen programas y

datos, sobre la que se pueden efectuar operaciones de lectura y escritura. La memoria

RAM es la memoria principal de un dispositivo donde se almacena programas y datos


informativos. Las siglas RAM significan “Random Access Memory” traducido al

español es “Memoria de Acceso Aleatorio”.

La memoria RAM es conocida como memoria volátil lo cual quiere decir que los datos no

se guardan de manera permanente, es por ello, que cuando deja de existir una fuente de

energía en el dispositivo la información se pierde. Asimismo, la memoria RAM puede ser

reescrita y leída constantemente.

Los módulos de RAM, conocidos como memoria RAM son integrantes del hardware que

contiene circuitos integrados que se unen al circuito impreso, estos módulos se instalan en

la tarjeta madre de un ordenador. Las memorias RAM forman parte de ordenadores,

consolas de videojuegos, teléfonos móviles, tablets, entre otros aparatos electrónicos.

Existen 2 tipos básicos de memoria RAM; RAM dinámica (DRAM) y RAM estática

(SRAM), ambas utilizan diferentes tecnologías para almacenar los datos. La RAM

dinámica (DRAM) necesita ser refrescada 100 de veces por segundos, mientras que la

RAM estática (SRAM) no necesita ser refrescada tan frecuentemente lo que la hace más

rápida pero también más cara que la memoria RAM dinámica.

En contrapartida de la memoria RAM existe la memoria ROM es una memoria no

volátil ya que la información contenida en ella no es borrable al apagar el ordenador ni con

el corte de la energía eléctrica. Para más información puede ver nuestro artículo

de memoria ROM.

Tipos de memoria RAM

DDR conocida como SDRAM (Synchronous Dram) es un tipo de memoria RAM, dinámica

que es casi un 20% más rápida que la RAM EDO. Esta memoria entrelaza dos o más

matrices de memoria interna de manera que mientras se accede a una matriz, la próxima se
está preparando para acceder, dicha memoria permite leer y escribir datos a 2 veces la

velocidad buz.

DDR2 son unas mejoras de la memoria DDR que permite que los búferes de entrada –

salida funcionan al doble de la frecuencia del núcleo, permitiendo que durante cada ciclo de

reloj se realizan 4 transferencias. Una memoria DDR a 200 MHZ reales entregaba 400

MHZ nominales, la DDR2 con esos mismos 200 MHZ entrega 800 MHZ NOMINALES.

DDR3 puede ser 2 veces más rápida que la memoria DRR2, la DDR3 teóricamente podía

transferir datos a una tasa de reloj efectiva de 800-2600 MHZ, comparado con el rango de

DDR2 de 400-1200MHZ o 200-533MHZ del DDR2.

Memoria caché o RAM caché un caché es un sistema especial de almacenamiento de alta

velocidad, puede ser tanto un área de reservada de la memoria principal como un

dispositivo de almacenamiento de alta velocidad independiente. Una memoria caché es una

parte de memoria RAM estática de alta velocidad (SRAM) más que la lenta y barata RAM

dinámica (DRAM) usada como memoria principal. La memoria caché es efectiva debido a

que los programas acceden una y otra vez a los mismos datos e instrucciones.

Dentro de cada una de estas memorias pueden existir distintos tipos de capacidad de

almacenamiento, es decir, pueden tener capacidad de 1GB, 2GB, 4GB, 8GB.

Para qué sirve la memoria RAM

La memoria RAM sirve para mejorar la velocidad de respuesta al momento de utilizar

algún programa en el ordenador ya que la información que necesita dicho programa para

hacerlo funcionar se encuentra almacenada en la memoria RAM, de esta manera, al ejecutar

el programa se traslada al procesador todas las instrucciones que necesitan ser ejecutadas
realizando diferentes transmisiones de datos según sea necesario, en consecuencia, la

memoria RAM y el procesador interactúan entre si intercambiando los datos solicitados.

La memoria RAM almacena dicha información y le envía al procesador los datos que

necesitan ser procesados, por lo tanto, mientras la memoria posea mayor velocidad de

transmisión y mayor capacidad de almacenamiento el usuario podrá utilizar más programas

a la vez y de manera más rápida.

33-MEMORIA AUXILIAR EXTERNA: Memoria secundaria.

La memoria secundaria, memoria auxiliar, memoria periférica o memoria externa,

también conocida como almacenamiento secundario, es el 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.

Es donde se almacenan todos los programas o datos que el usuario desee. Los dispositivos

de almacenamiento o memorias auxiliares más comúnmente utilizados son: cintas

magnéticas y discos magnéticos.

DICTIONARY

1-PROGRAMMING LANGUAGE: A programming language is basically a structured

system of communication, similar to the human, which allows us to communicate through

signs, words, sounds or gestures. Referring to the apparatus, this system is organized so that

they understand each other and in turn interpret the instructions to be executed.
2-ALGORITHMS: It is called an algorithm to a finite group of operations organized in a

logical and orderly way that allows to solve a certain problem. It is a series of instructions

or established rules that, through a succession of steps, allow to arrive at a result or

solution.

ALGORITHM: It is a series of organized steps that describes the process that must be

followed, to solve a specific problem.

3-MACHINE LANGUAGE: Machine language is a code that is interpreted directly by the

microprocessor. The language consists of a set of instructions executed in sequence (with

possible changes of flow caused by the program itself or external events) that represent

actions that the machine can take.

4-LOW-LEVEL LANGUAGE -

Low-level languages, also called assembler languages, allow the programmer to write

program instructions using English abbreviations, also called mnemonic words, such as

ADD, DIV, SUB, etc. A program written in an assembly language has the disadvantage that

it is not understandable for the computer, since, it is not composed by zeros and ones. To

translate the instructions of a program written in an assembly language to instructions of a

machine language it is necessary to use a program called assembler, as shown in the

following figure:
Operation of an assembler

5-Assembler: The term assembler refers to a type of software that is responsible for

translating a source file written in an assembly language, to an object file containing

machine code, executable directly by the microprocessor

6-HIGH LEVEL LANGUAGE: High level language. A high-level programming language

is characterized by expressing the algorithm in a manner appropriate to human cognitive

ability, rather than the ability to execute it on machines. ... They are classified as procedural

languages or low level languages.

7-QUALITATIVE ALGORITHMS: These are those in which the steps are described using

words

8-QUANTITATIVE ALGORITHMS These are those in which numerical calculations are

used to define the steps of the process.

DAILY ALGORITHM: It is the series of steps that we carry out in our daily life to carry

out the different tasks and common activities, from the steps when getting up, as well as

shopping.

9-GRAPHIC ALGORITHMIC LANGUAGES It is the graphical representation of the

operations that an algorithm makes also called flow diagram. The flow diagram is

characterized by the detailed form as graphically represents the steps to follow to find the

solution of the proposed problem.


10-NON-GRAPHIC LANGUAGES represent in a descriptive way the operations that an

algorithm must perform (pseudocode).

START

Age: Whole

WRITE "What is your age?"

Read Age

YES Age> = 18 then

WRITE "You are older"

FINSI

WRITE "end of algorithm"

END

11-PSEUDOCODIGO is an intermediate language between our language and the

programming language, its main characteristic is to represent the solution in a more detailed

and similar way to the language, so that later it can be codified.

Other features include:

• Can be run on a computer.


• Facilitates the transition from the program to the programming language.

• It is independent of the programming language to be used.

• Method that facilitates the programming and solution to the algorithm of the program.

Example

• Perform the pseudocode that allows the user to enter two notes on the keyboard,

calculating the sum and the product of the notes.

Program: SumaProducto

Environment: NOTE1, NOTE2, SUM, PRODUCT are integers

Algorithm:

Write "Enter the notes"

Read NOTE1, NOTE2

Calculate SUM = NOTE1 + NOTE2

Calculate PRODUCT = NOTE1 * NOTE2

Write "The sum of the two notes is:" SUM

Write "The product of the two notes is:" PRODUCT

End program
12-DEFINITION OF THE PROBLEM: The Real Academia Española (rae) defines

problem of Latin problem as a question to clarify, proposition or difficulty of doubtful

solution, set of facts or circumstances that make difficult the attainment of some purpose,

approach of a situation whose answer Unknown must be obtained through scientific

methods.

13-ANALYSIS OF THE PROBLEM: ANALYSIS OF THE PROBLEM

After identifying, selecting and defining the problem, the group identifies the main cause

(s) of the problem. In this phase the objective is to analyze the problem and divide it into

Should be dedicated to reaching an agreement on the definition and analysis of the same. A

good definition and analysis should make the rest of the phases of the process develop

smoothly, otherwise you will encounter serious difficulties.

14-DESIGN OF ALGORITHM: In software engineering, the design of algorithms is a

specific method to create a mathematical model adjusted to a specific problem to solve it.

The algorithm design is a theory of Operations Research.

15-CODIFICATION is the process of conversion into symbols of a certain information in

order to be communicated, and in order to be understood by the receiver, applying the rules

of a predetermined code. That is to say that in the codification the emitter turns his ideas

into signs that are easily understood by those who receive the information
16-COMPILATION AND EXECUTION COMPILER:

A compiler is a computer program that translates a program written in a programming

language into another programming language, generating an equivalent program that the

machine will be able to interpret. Usually the second language is machine language, but it

can also be an intermediate code (bytecode), or simply text. This translation process is

known as compilation.

The construction of a compiler involves the division of the process into a series of phases

that will vary with its complexity. Generally, these phases are grouped into two tasks: the

analysis of the source program and the synthesis of the object program • Analysis: This is

the verification of the correction of the source program, and includes the phases

corresponding to the lexical analysis (consisting of the decomposition Of the source

program in lexical components), Syntactic analysis (grouping of lexical components into

grammatical phrases) and Semantic analysis (checking the semantic validity of sentences

accepted in the Syntactic Analysis phase).

-Synthesis: Its objective is the generation of the output expressed in the object language and

is usually formed by one or more combinations of phases of Code Generation (usually it is

intermediate or object code) and Code Optimization (in Which are looking for a code as

efficient as possible).

Alternatively, the phases described for the analysis and synthesis tasks can be grouped in

Front-end and Back-end: • Front-end: it is the part that analyzes the source code, checks its

validity, generates the derivation tree and fills the Values of the symbol table. This part is
usually independent of the platform or system for which it will be compiled, and is

composed of the phases between Lexical Analysis and Intermediate Code Generation.

• Back-end: the part that generates the machine code, specific to a platform, from the results

of the analysis phase, performed by the Front End.

EXECUTION:

In computing, run is the action of starting the load of a program or any executable file.

In other words, execution is the process by which a computer carries out the instructions of

a computer program.

You can run compiled programs (for example, Windows, .EXE) or interpreted programs

(for example, scripts).

Running a program implies that it will be in a state of execution and, therefore, in memory,

until it is finished.

Some bibliographies extend the definition of execution and include loading files that are

not executable. For example, when you run a JPG image and open the program to display

it, or when you run an MP3 sound and the audio player opens. Technically speaking, what
is actually running is the program that is responsible for interpreting the non-executable

file.

In Windows, most programs that are running are listed in Task Manager, from where they

can be finalized.

17-TESTING AND PURIFICATION Program debugging is the process of identifying and

correcting programming errors. In English it is known like debugging, because it resembles

the elimination of bugs (bugs), way in which is known informally to the errors of

programming.

The term bug comes from the era of thermionic valve computers, in which problems were

generated by insects that were attracted to the lights and damaged the equipment. Although

there are techniques for the systematic revision of the source code and computational

means for the detection of errors (debuggers) and facilities integrated in the lower CASE

systems and in the integrated development environments, it remains to a large extent a

manual activity, Which challenges the patience, imagination and intuition of programmers.

Often it is necessary to include auxiliary instructions in the source code that allow

monitoring of the execution of the program, presenting variable values and memory

addresses and slowing the data output ("debug mode"). Within a formal process of quality

assurance, it can be assimilated to the concept of "unit testing".


18-DOCUMENTATION It is the guide or written communication in its various forms,

whether in statements, procedures, drawings or diagrams. Often a program written by one

person is used by many others. For this reason the documentation serves to help understand

or use a program or to facilitate future modifications (maintenance).

The documentation must be presented in three forms, external, internal and to the end user.

The first must be composed of the following elements:

A) Description of the problem.

B) Name of the author.

C) Flow diagram and / or pseudocode.

D) List of variables and constants.

E) Codification of the program.


With regard to internal documentation, this is the comments or messages that add to the

code, to clarify the understanding of the process. The documentation for the user is known

as the user manual. In this manual there is no technical information, but the description of

the operation of the program

19-MAINTENANCE A set of actions that aim to maintain an item or restore it to a state of

proper functioning

In general terms for maintenance is designated the set of actions that aim to maintain an

article or restore it to a state in which the same can deploy the required function or those

that had been deployed until the moment it was damaged, Suffered a rupture that caused

that it needed the pertinent maintenance and arrangement.

DATA TYPES A data type is the property of a value that determines its domain (what

values it can take), what operations can be applied to it and how it is represented internally

by the computer.

All values that appear in a program have a type.

Next we will review the elementary data types of Python. In addition to these, there are

many others, and later learn to create our own data types.

Integer numbers

The integer type (integer, which means "integer") allows you to represent integers.
The values that can take an int are all integers: ... -3, -2, -1, 0, 1, 2, 3, ...

The literal integers are written with an optional sign followed by a sequence of digits:

1570

+4591

-12

Real numbers

The float type allows you to represent real numbers.

The name float comes from the term floating point, which is the way the computer

internally represents real numbers.

You have to be very careful, because real numbers can not be accurately represented on a

computer. For example, the decimal number 0.7 is represented internally by the computer

using the approximation 0.69999999999999996. All operations between float values are

approximations. This can lead to somewhat surprising results:

>>> 1/7 + 1/7 + 1/7 + 1/7 + 1/7 + 1/7 + 1/7

0.9999999999999998

The literal real numbers are written by separating the integer part of the decimal with a dot.

The integer and decimal parts can be omitted if any of them is zero:

881.9843000

881.9843
>>> -3.14159

-3.14159

>>> 1024.

1024.0

>>> .22

0.22

Another representation is scientific notation, which writes a factor and a power of ten

separated by a letter e. For example:

>>> -2.45E4

-24500.0

>>> 7e-2

0.07

>>> 6.02e23

6.02e + 23

>>> 9.1094E-31

9.1094e-31

The last two values of the example are equal, respectively, to 6.02 × 10236.02 × 1023 (the

Avogadro constant) and 9.1094 × 10-319.1094 × 10-31 (the mass of the electron).
Complex numbers

The complex type allows you to represent complex numbers.

Complex numbers have a real part and an imaginary part. The imaginary part is denoted by

adding a j immediately after its value:

3 + 9j

-1.4 + 2.7j

Logical values

The logical values True and False (true and false) are of type bool, which represents logical

values.

The name bool comes from the mathematician George Boole, who created an algebraic

system for binary logic. For this reason, True and False are also called Boolean values. The

name is not very intuitive, but it is the one used in computing, so you have to know it.

Text

Values representing text are called strings, and have the type str.

Literal strings can be represented with text in single quotes or double quotation marks:

"Example 1"

'Example 2'

The advantage of having two types of quotes is that you can use one of them when the other

appears as part of the text:


"Let's go!"

She said hello

It is important to understand that the strings are not the same as the values that can be

represented in it:

(I.e.

False

>>> True == 'True'

False

Strings that differ in uppercase and lowercase, or in spaces are also different:

>>> 'table' == 'Table'

False

>>> 'table' == 'table'

False

Null

There is a value called None, which is used to represent cases where no value is valid, or to

indicate that a variable does not yet have a value that makes sense.

The value None has its own type, called NoneType, which is different from all other values.
21-EXPRESSIONS An expression is a sequence of one or more operands and zero or more

operators that can be evaluated as a unique value, object, method, or namespace.

Expressions can consist of a literal value, a method invocation, an operator and its

operands, or a simple name.

22-OPERATORS AND OPERANDOS Operators: They are elements that relate in a

different way, the values of one or more variables and / or constants. That is, operators

allow us to manipulate values.

Another definition is: an operator is the symbol that determines the type of operation or

relationship to be established between the operands to achieve a result

They are divided into:

Arithmetic

Relationship

Logical

They are elements that relate in a different way, the values of one or more variables and / or

constants. That is, operators allow us to manipulate values.


Arithmetic Operators

Arithmetic operators allow the performance of mathematical operations with values

(variables and constants).

Arithmetic operators can be used with integer or real data types. If both are integers, the

result is whole; If any of them is real, the result is real.

Arithmetic Operators

+ Sum

Remains

* Multiplication

/ Division

Mod Module (remainder of the entire division)


Examples:

Expression Result

7/2 3.5

12 mod 7 5

4 + 2 * 5 14

Priority of Arithmetic Operators

All expressions in parentheses are evaluated first. Expressions with nested parentheses are

evaluated from inside to outside, the innermost parentheses are evaluated first.

Within the same expression the operators are evaluated in the following order:

1. ^ Exponenciation

2. *, /, mod Multiplication, division, modulo.

3. +, - Addition and subtraction.

Operators in the same expression with the same priority level are evaluated from left to

right.

Examples:

4 + 2 * 5 = 14 23 * 2/5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98

Relational Operators

They are used to establish a relationship between two values. Then it compares these values

with each other and this comparison produces a result of certainty or falsehood (true or

false).

Relational operators compare values of the same type (numeric or strings). These have the

same level of priority in their evaluation.

Relational operators have lower priority than arithmetic operators.

Types of Relational Operators

• Greater than

• <Less than

•> = Greater than or equal to

• <= Less than or equal to

• <> Different

Equal
Examples:

If a = 10, b = 20, c = 30

A + b> c False

A - b <c True

A - b = c False

A * b <> c True

Non-logical examples:

A <b <c

10 <20 <30

T> 5 <30

(Not logical because it has different operands)

Logical operators

These operators are used to establish relationships between logical values. These values can

be the result of a relational expression.


Types of Logical Operators

And and

Gold

Not Denial

Example:

For the following examples T means true and F false.

Operator Not Operator Not

Operating Result

TF

FT

Operator And Operator And

Operand1 Operand Operand2 Result

T AND T T

TFF

FTF
FFF

Operator Or Operator Or

Operand1 Operand Operand2 Result

T Or T T

TFT

FTT

FFF

Priority of Logical Operators

1. Not

2. And

3. Or

Priority of General Operators

1. ()
2. ^

3. *, /, Mod, Not

4. +, -, And

5>, <,> =, <=, <>, =, Or

Examples:

Sea: a = 10 b = 12 c = 13 d = 10

VARIABLE AND CONSTANT IDENTIFIERS Identifier.

An identifier is a set of alphanumeric characters of any length that serves to identify the

program entities (classes, functions, variables, compound types) Identifiers can be

combinations of letters and numbers. Each language has its own rules that define how they

can be constructed. When an identifier is associated with a particular entity, then it is the

"name" of that entity, and hence represents it in the program. Naming the entities makes it

possible to refer to them, which is essential for any kind of symbolic processing.

Restrictions on the composition of identifiers in C ++

There are only two restrictions on composition:

• The first character must be a letter or the underscore. The Standard states that identifiers

beginning with a low and upper case script should not be used. This type of names is

reserved for compilers and Standard Libraries. It is also not permitted to use names

containing two consecutive underscores.


• The ANSI standard states that at least the first 31 characters will be significant, but may

be more, depending on the implementation. That is, for a compiler to adhere to the ANSI

standard, it must consider as significant at least the first 31 characters.

Rules for identifiers.

• In a program we do not refer to the value of a variable by its identifier, which is the name

given to the variable. By convention, in Java, variable names begin with a lowercase letter

and class names begin with a capital letter. A variable identifier, in Java, has to meet:

• Must be a legal Java identifier comprised of a series of Unicode characters. Unicode is a

coding system that supports written text in different human languages. Unicode allows the

encoding of 34,168 characters. This allows you to use in your Java programs several

alphabets such as Japanese, Greek, Russian or Hebrew. This is important so that

programmers can write code in their native language. Therefore we can use the ñ as part of

a variable identifier, class, etc.

• Can not be the same as a keyword or the name of a Boolean value (true or false).

• They should not have the same name as other variables whose declarations appear in the

same area to avoid confusion even if their declaration is possible.

• By convention, variable names begin with a lowercase letter and when they are composed

of more than one word they are placed together and the rest starting with uppercase letters.

For example "weightCoche"


Camel Case.

CamelCase is a style of writing that applies to sentences or compound words. The name is

because the capital letters along a word in CamelCase resemble the humps of a camel. The

name CamelCase could be translated as uppercase / lowercase Camel. The term case

translates as "typographic box", which in turn implies whether a letter is capital or small

and has its origin in the arrangement of movable types in lockers or boxes.

There are two types of CamelCase:

UpperCamelCase, when the first letter of each word is uppercase. Example

:UpperCamelCase example.

LowerCamelCase, just like the previous one with the exception that the first letter is lower

case. Example: exampleDeLowerCamelCase.

Constants and variables

A constant is one that does not change value during program execution (or checking for an

algorithm in this case). It is represented as described for each category.

Variables are those that can modify their value during the execution of a program (idem).

Their representation is given through letters and symbols generally numeric to which they

are assigned a value.

Examples:
Variable Constants

Numeric 36

450.35

0.58 A

Nom

Age

City

Height

Chain 'A'

'Juan'

'Peace'

Logical False

True

24-DESIGN TECHNIQUES TOP DOWN AND BOTTON UP Also known as top-down

and consists of establishing a series of levels of greater to lesser complexity (top-down) that

give solution to the problem. It consists in making a relationship between the stages of the

structuring so that a hierarchical stage and its immediate lower are related through inputs
and outputs of information. This design consists of a series of successive decompositions of

the initial problem, which receives the progressive refinement of the repertoire of

instructions that will form part of the program.

The use of the Top-Down design technique has the following basic objectives:

• Simplification of the problem and of the subprograms of each decomposition.

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

different people.

• The final program is structured in the form of block or modules which makes reading and

maintenance easier.

Bottom Up

The upward design refers to the identification of those processes that need to be

computerized as they appear, their analysis as a system and their coding, or the acquisition

of software packages to satisfy the immediate problem.


When programming is done internally and with a bottom-up approach, it is difficult to

integrate the subsystems to such a degree that global performance is fluid.

Problems of integration between subsystems are extremely costly and many of them are not

solved until programming reaches the deadline for full integration of the system. At this

date, there is already very little time, budget or patience of users, as to correct those delicate

interfaces, which at first, are ignored. Although each subsystem seems to provide what is

required, when the system is viewed as a global entity, it suffers from certain limitations

because it has taken an upward approach.

One of them is the duplication of efforts to access the software and even more when

entering the data.

Another is that many valuable data are introduced into 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 met.

So

The difference between these two programming techniques is based on the result that they

present to a given problem.


Imagine a company, which is composed of several departments (accounting, marketing, ...),

in each of them were presented problems that were given a solution based on a Bottom Up:

creating programs that satisfied Just the problem that was presented.

When the company decided to integrate a global system to meet all the needs of all

departments realized that each of the solutions presented was not compatible with one

another, it did not represent a globality, the main feature of the systems.

As there was no previous analysis, design of a solution at a global level in all departments,

centralization of information, which are characteristics of a Top Down design and

fundamental characteristics of the systems; The company was unable to meet its need

globally.

The creation of algorithms is based on the descending technique, which provides the ideal

design for solving a problem.

25-INPUT DEVICES Input devices are those equipment and components that allow you to

enter information into the processing unit; Some examples known to all are the keyboard,

the mouse (also called the mouse), the scanner, the webcam, the stylus and the microphone;

The way in which the user ...

26-OUTPUT DEVICES Output devices are those that receive information from the

computer, its function is eminently receptive and therefore are unable to send information.

An output device, therefore, is one that emits a signal with information. In this regard we

can mention the printer (which receives information from a computer and produces a
printed output on paper), the monitor (displays the data on the screen), the headphones

(makes sounds to be heard by a person) and the speaker (Plays sounds to the environment).

27-CENTRAL UNIT OF PROCESSING CPU The CPU or Central Processing Unit

(Central Processing Unit in Spanish) is the central part of every computer since it is the one

that fulfills the task of processing all functions as well as storage of information . It is an

electronic circuit that has always existed in computers regardless of their model and that is

why it is considered one of the basic elements of any computer

28-CONTROL UNIT

The control unit (CU) is one of the three main functional blocks in which a central

processing unit (CPU) is divided. The other two blocks are the process unit and the input /

output unit.

Its function is to search the instructions in the main memory, to decode them

(interpretation) and to execute them, using for this the process unit.

There are two types of control units: wiring, usually used in simple machines, and

microprogrammed, typical of more complex machines. In the first case, the main

components are the sequential logic circuit, the state control circuit, the combinational logic

circuit and the control signal recognition emission circuit. In the second case, the

microprogramming of the UC is stored in a micro-memory, which is accessed sequentially

and then run each of the microinstructions.


ARITHMETIC LOGIC UNIT

In computing, the arithmetic logic unit, or arithmetic logic unit, is a digital circuit that

calculates arithmetic operations (such as addition, subtraction, multiplication, etc.) and

logical operations ( If, and, or, not), between values (usually one or two) of the arguments.

Many types of electronic circuits need to perform some sort of arithmetic operation, so

even the circuit within a digital clock will have a tiny ALU that keeps adding 1 to the

current time, and keeps checking if it should activate the alarm sound.

By far the most complex electronic circuits are those built into modern microprocessor

chips. Therefore, these processors have within them a very complex and powerful ALU. In

fact, a modern microprocessor (and mainframes) can have multiple cores, each core with

multiple execution units, each with multiple ALUs.

Many other circuits can contain a logical arithmetic unit inside: graphic processing units

such as those in modern GPUs, FPU like the old mathematical coprocessor 80387, and

digital signal processors such as those found on sound cards, readers CD and HDTVs. All

of these have within them several powerful and complex ALUs.

This unit performs calculations (addition, subtraction, multiplication and division) and

logical operations (comparisons). Transfers data between storage locations.

It has a very important register known as: Accumulator ACC When performing arithmetic

and logical operations, the UAL moves data between it and storage. The data used in the

processing is transferred from its storage position to the UAL.


Data is manipulated according to program instructions and returned to storage. Because

processing can not be performed in the storage area, the data must be transferred to the

UAL. To terminate an operation it may happen that the data passes from the UAL to the

storage area several times.

30-INTERNAL CENTRAL MEMORY: Primary memory (MP), main memory, central

memory or internal memory is the memory of the computer where the data and programs

that the central processing unit (CPU) is temporarily storing or storing Process at a certain

time. By its function, the MP must be inseparable from the microprocessor or CPU, with

whom it communicates through the data bus and the address bus. The width of the bus

determines the capacity of the microprocessor to address addresses in memory.

31-MEMORY ROM: Read-only memory integrated circuit that stores instructions and data

permanently. A ROM is that storage memory that allows only the reading of the

information and not its destruction, regardless of the presence or not of an energy source

that feeds it.

ROM stands for "Read Only Memory". It is a semiconductor memory that facilitates the

conservation of information that can be read but over which it can not be destroyed. Unlike

a RAM, those data contained in a ROM are not destroyed or lost in case of interruption of

the information stream and for that reason it is called "non-volatile memory".

Frequently, ROM or read-only memory were used as the primary means of data storage on

computers. ROMs were used to store system configuration information, boot or boot
programs, hardware, and other programs that do not require constant updating, because it is

a memory that protects the data contained in it, avoiding overwriting.

Although during the first decades of computers the operating system used to be stored in

full ROM, these systems tend to be stored in new flash memory.

Previously, there were no efficient alternatives to ROM, and if more memory or an update

was required on the programs or the system, it was often necessary to replace the old

memory with a new ROM chip.

Nowadays computers can keep some of their programs in ROM, but flash memory is much

more widespread, even in mobile phones and PDA devices.

In addition to computers, video game consoles still use ROM-based programs such as the

Nintendo 64, Super Nintendo or Game Boy.

Due to the speed of use, the information contained in a ROM is usually passed to RAM

when it is required for system operation.

RAM MEMORY: Main memory of the computer, where programs and data reside, on

which read and write operations can be performed. RAM is the main memory of a device

where programs and informational data are stored. The acronym RAM means "Random

Access Memory" translated into Spanish is "Random Access Memory".

The RAM memory is known as volatile memory which means that the data is not

permanently stored, that is why, when a power source in the device ceases to exist, the

information is lost. Also, RAM memory can be rewritten and read constantly.
The RAM modules, known as RAM are part of the hardware that contains integrated

circuits that are attached to the printed circuit, these modules are installed on the

motherboard of a computer. RAM memories are part of computers, video game consoles,

mobile phones, tablets, among other electronic devices.

There are 2 basic types of RAM; Dynamic RAM (DRAM) and Static RAM (SRAM), both

of which use different technologies to store data. Dynamic RAM (DRAM) needs to be

refreshed 100 times per second, whereas static RAM (SRAM) does not need to be cooled

so frequently which makes it faster but also more expensive than dynamic RAM.

In counterpart of the RAM memory ROM is a non-volatile memory since the information

contained in it is not erasable when turning off the computer or with the power cut off. For

more information you can see our article ROM memory.

Types of RAM

DDR known as SDRAM (Synchronous Dram) is a type of RAM, dynamic that is almost

20% faster than the EDO RAM. This memory interleaves two or more internal memory

arrays so that while accessing an array, the next is preparing to access, said memory allows

read and write data at 2 times the buz speed.

DDR2 are DDR memory enhancements that allow input-output buffers to operate at twice

the kernel frequency, allowing four transfers to be made during each clock cycle. A real

200 MHz DDR memory delivered 400 nominal MHZ, the DDR2 with those same 200

MHZ delivers 800 MHZ NOMINALS.


DDR3 can be 2 times faster than DRR2 memory, the DDR3 could theoretically transfer

data at an effective clock rate of 800-2600 MHZ, compared to the DDR2 range of 400-

1200MHZ or 200-533MHZ of the DDR2.

Cache memory or RAM cache A cache is a special high-speed storage system, it can be

either a reserved area of main memory or a separate high-speed storage device. A cache is a

part of high-speed static RAM (SRAM) rather than the slow and inexpensive dynamic

RAM (DRAM) used as main memory. The cache memory is effective because the

programs access again and again to the same data and instructions.

Within each of these memories may exist different types of storage capacity, that is, they

can have capacity of 1GB, 2GB, 4GB, 8GB.

What is RAM for?

The RAM memory is used to improve the speed of response when using any program in the

computer since the information needed by said program to make it work is stored in the

RAM, in this way, when running the program is transferred to the processor All

instructions that need to be executed by performing different data transmissions as needed,

consequently the RAM and the processor interact with each other by exchanging the

requested data.

The RAM stores such information and sends the data to the processor that needs to be

processed, so as long as the memory has higher transmission speed and greater storage

capacity, the user can use more programs at the same time and more quickly.
33-EXTERNAL AUXILIARY MEMORY: Secondary memory. The secondary memory,

auxiliary memory, peripheral memory or external memory, also known as secondary

storage, is the set of data storage devices and supports that make up the computer's memory

subsystem along with the primary or primary memory.

It is where all the programs or data that the user wants are stored. The most commonly used

storage devices or auxiliary memories are: magnetic tapes and magnetic disks.

También podría gustarte