¿ Cuantos bits se requiere para representar la palabra ALGORITMOS ?
Un BIT o digito binario (BInary DigiT) es la
minina expresión en el mundo binario y los sistemas computacionales. El bit
posee solamente dos posibles estados para representar una acción la ausencia
representada por cero (0) y la presencia representada por el uno (1).
Una palabra se forma de 8 bits y se le denomina BYTE o lo
que es lo mismo un carácter como una letra, un número o símbolo.
En consecuencia, la palabra ALGORITMOS está formada por 10 caracteres
alfabéticos o lo que es lo mismo por 10 bytes.
Como se indicó, cada byte se conforma por ocho (08) bits);
por lo que para la palabra en cuestión se debe multiplicar la cantidad de bytes
por 8 para conocer de cuantos bits está conformada.
Entonces la expresión,
ALGORITMO equivale a 10 x 8 = 80 bits.
Client challenge. (s. f.). https://es.scribd.com/document/265225100/algoritmo
Aporte personal: Entendí que los bits se agrupan en bytes y que cada byte representa un carácter como una letra o un número. Por ejemplo la palabra "ALGORITMOS" tiene 10 caracteres es decir 10 bytes lo que equivale a 80 bits ya que cada byte tiene 8 bits.
Describa los conceptos de bits, byte, campo, registro ,archivo y base de datos
Conceptos:
¿Qué es un bit?
En informática se denomina bit (acrónimo en inglés de Binarydigit, es decir, "dígito binario") a un valor del sistema de numeración binario. Dicho sistema se llama así porque comprende únicamente dos valores de base: 1 y 0, con los cuales se puede representar una cantidad infinita de condiciones binarias: encendido y apagado, verdadero y falso, presente y ausente.
PauseRemaining Time -0:05Unmute
Un bit es, entonces, la unidad mínima de información que emplea la informática, cuyos sistemas están todos sustentados en dicho código binario. Cada bit de información representa un valor específico: 1 ó 0, pero combinando distintos bits puede llegar a obtenerse muchas más combinaciones, por ejemplo:
Modelo de 2 bits (4 combinaciones):
00 – Ambos apagados
01 – Primero apagado, segundo encendido
10 – Primero encendido, segundo apagado
11 – Ambos encendidos
Con estas dos unidades podemos representar cuatro valores puntuales. Ahora supongamos que tenemos 8 bits (un octeto), equivalentes en algunos sistemas a un byte: se obtiene 256 valores diferentes.
De este modo, el sistema binario opera prestando atención al valor del bit (1 o 0) y a su posición en la cadena representada: si está encendido y aparece en una posición hacia la izquierda su valor se duplica, y si aparece hacia la derecha, se corta a la mitad. Por ejemplo:
Para representar el número 20 en binario
Valor binario neto: 10100
Valor numérico por posición:168421
Resultado:16 +0 +4 +0 + 0 = 20
Otro ejemplo: para representar el número 2,75 en binario, asumiendo la referencia en el medio de la cifra:
Valor binario neto: 01011
Valor numérico por posición:4210,50,25
Resultado:0 +2 +0 +0,5 + 0,25 = 2,75
Los bits en valor 0 (apagado) no se cuentan, sólo los de valor 1 (encendido) y su equivalente numérico se da en base a su posición en la cadena, para formar así un mecanismo de representación que luego se aplicará a caracteres alfanuméricos (denominado ASCII).
De este modo se registran las operaciones de los microprocesadores de los computadores: puede haber arquitecturas de 4, 8, 16, 32 y 64 bits. Esto significa que el microprocesador maneja ese número interno de registros, es decir, la capacidad de cálculo que posee la Unidad Aritmético-Lógica.
Por ejemplo, los primeros computadores de la serie x86 (el Intel 8086 y el Intel 8088) poseían procesadores de 16 bits, y la diferencia notoria entre sus velocidades tenía que ver no tanto con su capacidad de procesamiento, como con la ayuda adicional de un bus de 16 y 8 bits respectivamente.
De modo similar, se emplean los bits para medir la capacidad de almacenamiento de una memoria digital.
Equipo editorial, Etecé. (2023, 19 noviembre). Bit - Concepto, usos y cómo calcularlo. Concepto. https://concepto.de/bit/
(Equipo editorial, Etecé, 2023)
Aporte personal: el bit es la unidad más básica de la informática pero también es muy importante porque de ahí parte todo lo que hace una computadora. Me parece interesante que solo con dos valores 0 y 1 se pueda representar tanta información También entendí que al combinar varios bits se pueden formar más valores como pasa con los bytes que permiten representar letras números y símbolos. Esto demuestra que algo tan simple puede volverse muy complejo.
¿Qué es un byte?
Se conoce como byte a la unidad básica de información empleada en la informática y las telecomunicaciones, equivalente a un conjunto ordenado y regular de bits (código binario), generalmente estipulado en 8. Es decir: 8 bits equivalen a un byte, pero dicha cantidad puede alterarse, así que un byte es equivalente en realidad a n bits ordenados. Esta unidad no tiene un símbolo convencional de representación, pero en algunos países se emplea la letra B.
El origen de este término se supone en el acrónimo en inglés de BinaryTuple o Tupla binaria, lo que equivale a una secuencia ordenada de elementos binarios.
Sin embargo, la semejanza fonética de byte con bite ("morder" o "mordida" en inglés) supuso también su uso a partir de que era la cantidad mínima de datos que podían alimentarse a un sistema por vez (la cantidad mínima que podía "morder").
En cuanto a la cantidad de información que un byte representa, considérese que se necesita aproximadamente 8 bits para representar una letra en el código binario de la mayoría de los sistemas comerciales de computación de hoy en día, es decir: un byte equivale a una letra, por lo que un párrafo entero podrá superar los 100 B, y un texto brevísimo alcanzará la unidad inmediatamente superior, el kilobyte (1024 B = 1 kB).
A partir de entonces se inicia toda una escala de medida de cantidad de información digital, de la siguiente manera (conforme a la norma ISO/IEC 80000-13):
- 1024 B = 1 kB (un kilobyte, equivalente a un texto brevísimo)
- 1024 kB = 1 mB (un megabyte, equivalente a una novela completa)
- 1024 mB = 1 gB (un gigabyte, equivalente a un anaquel entero de biblioteca lleno de libros)
- 1024 gB = 1 tB (un terabyte, equivalente a una biblioteca completa de poco tamaño)
- 1024 tB = 1 pB (un petabyte, equivalente a la cantidad de datos manejado por Google por hora en el mundo)
- 1024 pB = 1 eB (un exabyte, equivalente al peso de toda la información de Internet para finales del año 2001).
Los bytes y sus medidas superiores suelen también emplearse para medir la capacidad de almacenamiento de los dispositivos de memoria digital, o las tasas de transferencia de datos a través de redes informáticas de diverso tipo.
Equipo editorial, Etecé. (2023b, noviembre 19). Byte - Concepto, usos y escala de medidas. Concepto. https://concepto.de/byte/
(Equipo editorial, Etecé, 2023b)
Aporte personal: el byte es una unidad muy importante en la informática porque permite organizar mejor la información que se maneja en las computadoras. Entendí que un byte está formado generalmente por 8 bits y que gracias a eso se pueden representar cosas más completas como letras números o símbolos byte puede representar un carácter, por ejemplo una letra, lo que hace que toda la información que vemos en la pantalla esté formada por muchos bytes juntos
DEFINICION DE CAMPO
CAMPO: En informática, un campo es un espacio de almacenamiento para un dato en particular. En las bases de datos, un campo es la mínima unidad de información a la que se puede acceder; un campo o un conjunto de ellos forman un registro, donde pueden existir campos en blanco, siendo éste un error del sistema. En las hojas de cálculo los campos son llamados celdas.
La mayoría de los campos tienen atributos asociados a ellos. Por ejemplo, algunos campos son numéricos mientras otros almacenan texto, también varía el tamaño de estos. Adicionalmente, cada campo tiene un nombre, hay un tipo de campo que es el generico o tambien llamado llave.
EJEMPLO: Una celda en microsoft office excel
REGISTRO: Un registro es un conjunto de campos agrupados.EJEMPLO: Un grupo de celdas, la hoja de la informacion de los compañerosARCHIVO: Un archivo informático es un conjunto de información que se almacena en algún medio de escritura que permita ser leído o accedido por una computadora. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene. Los archivos informáticos se llaman así porque son los equivalentes digitales de los archivos en tarjetas, papel o microfichas del entorno de oficina tradicional. Los archivos informáticos facilitan una manera de organizar los recursos usados para almacenar permanentemente información dentro de un computador.
Sena. (s. f.). DEFINICION DE CAMPO,REGISTRO,ARCHIVO,BASE DE DATOS. https://sena-informacionsena.blogspot.com/2009/02/definicion-de-camporegistroarchivobase.html
Sena (s. f.)
¿Cómo se utilizan los registros?
Los registros se utilizan ampliamente en el sector informático para supervisar el rendimiento del sistema, diagnosticar errores, identificar comportamientos sospechosos y generar informes con fines de seguridad y cumplimiento de normativas. Los administradores de sistemas pueden utilizar los registros para detectar cambios inesperados en su entorno, de modo que puedan abordar rápidamente posibles problemas o infracciones.
En el diseño o programación de sistemas, también llamados programas, las bases de datos son una especie de tablas que contienen diversidad de datos gestionados en estructuras llamadas registros, de manera tal que cada registro en sí constituye también una base de datos, observando que se rige por una estructura específica, de acuerdo a la información capaz de administrarse.
Si el registro está diseñado para formar parte de una base de datos, almacena información diferente al uso e información que puede contener un registro diseñado para formar parte de un Sistema Operativo.
Al momento de programar o diseñar una base de datos para algún software o sistema específico, se procede entonces a diseñar y luego a programar los componentes correspondientes. Cada registro contiene datos que pueden ser de diferente naturaleza, y cada sector o división recibe el nombre de Campo. Por esta razón un registro puede almacenar a la vez información variada, por ejemplo Numérica entera, Numérica Real, Alfanumérica.
Físicamente el diseño y programación de una Base de Datos que contiene varios registros, se podría visualizar como una tabla que contiene varias Filas. Cada Fila a su vez con varios sectores o segmentos.
Cada fila dentro de la tabla representa un registro de esa Base de Datos y cada división o segmento de cada fila, representa un campo de dicho registro. Por ejemplo se puede diseñar un registro llamado Ubicación, el cual contenga la siguiente información: País, Estado, Ciudad, Sector, Código de Área. Siendo cada una de estas informaciones, un Campo perteneciente al registro Ubicación.Un ejemplo de diseño y programación, siguiendo el ejemplo comentado anteriormente y usando un lenguaje de programación podría ser:
Type
Tipo_Ubicacion=record
Campo1:tipo_campo1;
Campo2:tipo_campo2;
Campo3:tipo_campo3;
end;
Tipo_Ubicacion sería el nombre que identifica el registro.
Campo1, Campo2 y Campo3 serían los nombres que identificarían a los sectores o campos del registro en cuestión.
tipo_campo1, tipo_campo2 y tipo_campo3 sería el tipo de información que albergaría cada sector o campo.
Completando la sección de declaración de variables, la programación sería la siguiente:
VAR
Ubicacionreg:Tipo_Ubicacion;
Explicación de la Declaración de variables:
Ubicacionreg sería el nombre establecido para la estructura o variable declarada como tipo registro y Tipo_ubicacion es la identificación que se usó para definir la estructura tipo registro en la sección de programación Type
Definición de Registro (en Informática). (s. f.). Significado.com. https://significado.com/registro-informatica/
(Definición de Registro (En Informática), s. f.)
Aporte personal:entendí que cada campo dentro del registro tiene su propio nombre y tipo de datos lo que permite guardar información organizada y estructurada. Por ejemplo, Campo1, Campo2 y Campo3 representan diferentes partes de la información y cada uno puede almacenar un tipo distinto de dato según lo que se necesite.
¿Qué es un archivo?
Un archivo en informática, también llamado "fichero", es un elemento digital compuesto por una suma de registros que se traduce en diferentes combinaciones de bytes. Se trata de una unidad lógica informática, que constituye el equivalente digital de los archivos de papel. De hecho, en ciertos entornos virtuales como Windows, se representan con el ícono de un conjunto de documentos.
La mayoría de los programas informáticos están compuestos por un conjunto de archivos, cada uno de los cuales contiene una información determinada y necesaria para la ejecución del conjunto. Por este motivo, los archivos pertenecientes a un mismo programa o que tienen un mismo origen suelen estar en carpetas o subcarpetas específicas, o sea, en conjuntos de mayor o menor jerarquía dentro del orden del sistema.

Un archivo en informática, también llamado "fichero", es un elemento digital compuesto por una suma de registros que se traduce en diferentes combinaciones de bytes. Se trata de una unidad lógica informática, que constituye el equivalente digital de los archivos de papel. De hecho, en ciertos entornos virtuales como Windows, se representan con el ícono de un conjunto de documentos.
La mayoría de los programas informáticos están compuestos por un conjunto de archivos, cada uno de los cuales contiene una información determinada y necesaria para la ejecución del conjunto. Por este motivo, los archivos pertenecientes a un mismo programa o que tienen un mismo origen suelen estar en carpetas o subcarpetas específicas, o sea, en conjuntos de mayor o menor jerarquía dentro del orden del sistema.
Equipo editorial, Etecé. (2025b, septiembre 15). Archivo - Qué es, características y archivo informático. Concepto. https://concepto.de/archivo/
(Equipo editorial, Etecé, 2025b)
Aporte personal:los programas están compuestos por varios archivos, y que cada uno cumple una función específica para que todo funcione correctamente. Esto demuestra que detrás de cualquier aplicación hay una organización bien estructurada de información.
Base de datos
Una base de datos o banco de datos es una herramienta que almacena información perteneciente a un mismo contexto, organizada y sistematizada lógicamente para su posterior recuperación, análisis o transmisión. Una biblioteca, un listado completo de clientes o el historial de las páginas visitadas en un navegador web son algunos ejemplos de bases de datos. Las bases de datos responden al cometido de almacenar y organizar la información para poder acudir a ella posteriormente, lo que ha sido una necesidad de la humanidad desde tiempos remotos. Sin embargo, solo tras el surgimiento de la electrónica y la computación, se ha podido satisfacer a muy gran escala, almacenando enormes cantidades de datos en espacios físicos limitados, a través de su conversión en señales eléctricas o magnéticas.
Actualmente, el manejo de las bases de datos se lleva a cabo mediante sistemas de gestión llamados DBMS (siglas en inglés de Database Management Systems, "Sistemas de Gestión de Bases de Datos"). Este tipo de software permite el almacenamiento ordenado y la rápida recuperación de la información, sacando así provecho a la automatización y las interfaces digitales.
- Bases de datos jerárquicas. Son aquellas cuya información se dispone en estructura de árbol invertido, de manera tal que de cada nodo de información se desprenden otros nodos subsiguientes.
- Bases de datos de red. Son aquellas cuyos registros no están conectados entre sí de manera jerárquica, sino a través de enlaces en una red de información.
- Bases de datos relacionales. Son aquellas cuya información se dispone en tablas conocidas como "relaciones", compuestas por un conjunto de campos y registros, y que se comunican entre sí mediante llaves primarias y foráneas.
- Bases de datos multidimensionales. Son aquellas cuyos datos se ordenan en una sola tabla, añadiendo un campo por cada métrica o hecho registrado.
- Bases de datos orientadas a objetos. Son aquellas que representan la información mediante objetos generados a través de un lenguaje de programación.
Equipo editorial, Etecé. (2024, 24 diciembre). Base de datos - Qué es, tipos y ejemplos. Concepto. https://concepto.de/base-de-datos/
Aporte personal: las bases de datos no son algo nuevo, sino que desde hace mucho tiempo las personas han buscado maneras de guardar información, como en bibliotecas o listas. La diferencia es que hoy en día, gracias a la tecnología, se puede manejar muchísima más información en menos espacio y de forma más rápida.
¿ Cuales son los pasos que se siguen para elaborar soluciones utilizando el computador como herramientas?
Introducción
La computadora y sus tecnologías colaterales, en el poco tiempo de existencia que tienen en la práctica (unos cincuenta años), han sido uno de los factores de cambio más importantes de nuestra sociedad. Nuestra sociedad admira la facilidad que tienen estas máquinas para facilitar los procesos que realiza el hombre en su vida diaria.
Sin embargo, es notorio el desconocimiento generalizado acerca de lo que se debe hacer para que la computadora pueda facilitarnos las cosas. Poca gente sabe que una computadora debe "PROGRAMARSE ADECUADAMENTE" para que realice las cosas que tanto nos maravillan. Además, de los que conocen esta verdad, solo una fracción sabe con alguna certeza los pasos que se deben seguir para programar adecuadamente a la máquina.
Esta monografía pretende precisamente ilustrar, en términos generales, el proceso que se debe seguir para lograr que un problema se resuelva, dentro de lo posible, haciendo uso de la computadora.
Observaciones Preliminares
Cuando programamos una computadora, no hacemos más que señalar, a la máquina, una serie de órdenes o instrucciones, que ella realizará exactamente, para procesar la información que les suministramos.
El diseño de un programa de computadora (también llamado sistema computacional, aplicación, o simplemente, sistema), es un proceso delicado. En él, en principio, le señalamos a la máquina, exactamente, cuáles son los procesos que debe seguir para el procesamiento de la información.
Es decir, "NOSOTROS" le señalamos a "LA COMPUTADORA" lo que debe hacer. Quién usa la computadora, tiene la responsabilidad de señalarle "EXACTAMENTE", lo que debe hacer. La máquina siempre realizará lo que programemos, y solamente eso. Todo lo que hagamos usando computadoras debe enmarcarse, necesariamente, dentro de este lineamiento fundamental.
La programación de computadoras es, para la mayoría de las personas, un tema misterioso. No se atreven a incursionar en él, tal vez porque temen a lo desconocido. Esta monografía pretende, precisamente, darnos algunas luces acerca de esta materia.
La Creación De Programas Para Computadoras: Un Proceso Con Siete Pasos.
La creación de un programa de computadora significa más que el simple trabajo mecánico del hombre y la máquina. Constituye la culminación de todo un proceso complejo, que involucra a los dos entes, aportando cada uno su respectiva parte en la realización de la tarea.
Esta tarea ha sido sistematizada por los especialistas del área, buscando optimizar la eficiencia de los programas producidos. La sistematización comprende un proceso que consta de siete pasos. Estos son:
Definición del problema.
Selección del método de solución.
Creación del algoritmo.
Programación del algoritmo.
Depuración y documentación del programa.
Validación de la solución.
Instalación, producción y mantenimiento del programa.
La denominación exacta de cada uno de ellos, así como el número de pasos involucrados, generalmente varía de un autor a otro. Sin embargo, en esencia, son la "APLICACIÓN DEL MÉTODO CIENTÍFICO" a la solución de un problema práctico.
A continuación, nos referiremos a cada uno de estos pasos con más detenimiento.
Definición Del Problema.
La definición o enfoque del problema es el primer paso en el diseño de un programa de computadora. Consiste, fundamentalmente, en definir cual es la "SITUACIÓN QUE INTENTAMOS RESOLVER".
La definición del problema debe ser tan clara y precisa como sea posible, de modo que no pueda ser malinterpretada por otras personas. Dicho requisito es muy difícil de lograr. Sin embargo, este paso fundamenta todo lo que se hará en los otros pasos. Luego, no se puede avanzar en el proceso sin contar con esa definición.
La importancia que reviste a esta etapa es enorme. Si el programador no entiende bien el problema que enfrenta, es prácticamente imposible que la computadora lo comprenda mejor. Ella no es capaz de señalar la solución que buscamos, sin embargo, está diseñada para facilitar el estudio de los casos que analizamos, al procesar la información suministrada con gran rapidez y exactitud.
Generalmente, no obtendremos la comprensión absoluta del problema en estudio, con el primer intento. Es necesario realizar un proceso de tanteos y aproximaciones paulatinas al dominio de la situación que analizamos. Es más, generalmente, debemos retroceder a las etapas iniciales del proceso, debido a un detalle que se planteó ambiguamente al definir el problema. El retroceso, al inicio del diseño, es obligatorio, aunque nos encontremos en sus etapas finales.
Debemos enfocar la definición del problema, a través de las siguientes caracterizaciones:
El modelo de situación típica que se estudiará.
Las limitaciones impuestas.
Los datos con que se cuenta.
La información que se espera obtener.
Las metas u objetivos a lograr al resolver el problema (este aspecto es sumamente importante).
Las alternativas disponibles para lograrlas.
El balance de los criterios involucrados en el problema (velocidad, precisión, confiabilidad de las respuestas, facilidad de uso, …, entre otros).
Simultáneamente se establece el problema a resolver, deben diseñarse los objetivos específicos que se espera lograr al resolverlo, así como el alcance que ellos tendrán. Estos aspectos de la definición del problema se relacionan, íntimamente, entre sí.
El costo de ignorar dicha relación, generalmente, se refleja en los pasos siguientes. Ellos resultarán más difíciles de alcanzar. Fácilmente tendremos que volver a replantear todo el problema, debido a cualquier condición importante que pasaba inadvertida.
Esta situación es una molestia en cuanto al tiempo, dinero y esfuerzo humano que se pierde, al retroceder en el diseño del programa. Sin embargo, es evidente que el precio de este descuido supera, enormemente, el costo de hacer un estudio más detenido y minucioso del problema.
Selección Del Método De Solución.
Cuando el problema está bien enfocado, se le tiene que encontrar una solución. El método empleado para obtenerla puede ser planteado de distintas maneras. Pero, casi todos, podemos agruparlos dentro de tres categorías básicas. Ellas son, en orden creciente de importancia:
Métodos geométricos.
Métodos analíticos.
Métodos iterativos.
A continuación, explicaremos con más detalle esta clasificación.
Métodos Geométricos.
Los métodos geométricos, generalmente, emplean gráficas para resolver los problemas. Ellas pueden ser de tipo sintético o analítico.
Las construcciones de tipo sintético se realizan, comúnmente, dentro del marco de la geometría euclidiana clásica. Es decir, se toman como base: los axiomas fundamentales de la teoría, la observación directa de la figura, y las proposiciones previamente demostradas. Con base a estas premisas, se derivan nuevas propiedades de las figuras. Este enfoque geométrico es el más primitivo de los dos y para efectos de programación de computadoras, no es funcional, en la actualidad.
Por otro lado, las construcciones de tipo analítico se realizan estableciendo un sistema de ejes coordenados en la figura en estudio. A cada punto importante se le asocia un par ordenado de números reales (que puede ser constante o variable). El par ordenado en mención, esta dado en función a las coordenadas del punto con base al sistema referencial. Las figuras, en tanto, serán representadas como ecuaciones; obtenidas a través de métodos de sección y proyección de segmentos. Esta representación define una biyección entre puntos geométricos y coordenadas algebraicas. En consecuencia, se transforma el análisis geométrico en algebraico, empleando las reglas, herramientas y ecuaciones típicas del álgebra.
De los dos enfoques, geométricos éste tiene más vigencia en la programación de computadoras.
Un ejemplo del último enfoque, lo vemos en la solución de sistemas de ecuaciones simultáneas por el método gráfico.
Métodos Analíticos.
Los métodos analíticos se basan en planteamientos derivados de las ramas clásicas de las matemáticas abstractas (álgebra, geometría analítica y análisis matemático, entre otras).
Generalmente, consisten en la aplicación de una fórmula o método preestablecido, con base a los supuestos con que fue construido. Ellos originan, el último enfoque para la solución de problemas (los planteamientos iterativos).
La programación de estos métodos puede presentar grados muy diversos de dificultad (dependiendo de cada fórmula particular).
Como ejemplo de ellos, tenemos la fórmula para la solución de una ecuación cuadrática, en el caso general.
Métodos Iterativos.
Los métodos iterativos son el enfoque más importante para resolver problemas, usando computadoras. También se fundamentan en las ramas clásicas de la matemática abstracta.
Se caracterizan porque emplean procesos iterativos y recurrentes en la solución de los problemas (fundamentados en la teoría de sucesiones y series del análisis matemático).
Los métodos basados en técnicas iterativas y analíticas, forman la esencia de la disciplina matemática conocida como "ANÁLISIS NUMÉRICO".
El análisis numérico trata de expresar y calcular, en forma tan exacta como sea posible, algunos de los conceptos, métodos y expresiones matemáticas que son estudiadas dentro del "ANÁLISIS MATEMÁTICO", tales como:
Integrales definidas.
Derivadas evaluadas en un punto.
Funciones trigonométricas de un ángulo dado.
Solución de ecuaciones diferenciales con valores a la frontera, entre otros tópicos.
El planteamiento de estas expresiones se realiza en función a métodos "CONSTRUCTIVOS" que involucran un número finito de operaciones matemáticas. En el análisis numérico, el auxilio de los programas de computadora, generalmente, es imprescindible; por el volumen de operaciones aritméticas y lógicas a realizar.
Independientemente de los tipos de métodos establecidos, en la práctica, la solución de un problema puede involucrar la combinación de uno o más métodos conocidos, y hasta el diseño de uno completamente nuevo.
Cuando no es posible encontrar una vía para resolver al problema, se hace necesario su replanteamiento, para simplificarlo. En consecuencia, se facilita su solución. Por otro lado, se ven casos en los que hay un procedimiento de solución que resulta obvio.
Su programación también puede presentar grados muy diversos de dificultad.
Como ejemplo de estos métodos, tenemos el cálculo de raíces de una función, empleando el procedimiento de bisección de Bolzano.
Creación Del Algoritmo.
Cuando se ha escogido un método de solución, debemos establecerlo, por escrito, con tanto detalle como sea posible. Se debe establecer como una secuencia de pasos "BIEN DEFINIDA" y tan "COMPLETA" como sea posible, para conservar la claridad de la definición del problema y del método que se aplicará en su solución.
No debe dejarse nada al azar. En ese sentido, si se presenta un problema particular, que el método no puede resolver, él debe ser capaz, al menos, de informar al usuario que no puede obtener una respuesta satisfactoria con ese enfoque.
Estas necesidades particulares se satisfacen a través del empleo de un algoritmo, que define "INEQUÍVOCAMENTE" la lógica usada en la solución del problema. En esencia, ellos no difieren significativamente de los usados dentro del álgebra cotidiana. En consecuencia, debemos construirlos, hasta donde sea posible, empleando el lenguaje natural.
Sin embargo, a nivel de la programación de computadoras, debemos ajustar el lenguaje natural a las tres clases fundamentales de órdenes estructuradas descendentes (la asignación, la decisión y la repetición). Adicionalmente, se deben implementar, en el algoritmo, estructuras adicionales de:
Entrada y salida de la información.
Cálculo numérico y manipulación de datos.
Comparación lógica y relacional.
Almacenamiento y recuperación de información.
Es importante resaltar en este punto, que cada algoritmo diseñado para resolver un problema, está asociado a una estructura o tipo de datos que le permite administrar la información del problema de manera más o menos eficiente. Dependiendo de esto, un mismo problema se puede resolver de varias maneras, cada una de ellas con cierto grado de eficiencia frente a las demás. Esto nos lleva a que en un momento dado podemos tener un algoritmo eficiente, con una estructura de datos deficiente, o viceversa. Queda entonces al buen juicio del analista, el decidir si es más importante tener un algoritmo o una estructura de datos eficiente, para lograr la solución al problema originalmente planeado.
En todo caso, la creación de un algoritmo es un proceso repetitivo, que se refina paulatinamente. Se parte de un esquema burdo de la lógica que soluciona el problema, y se llega (luego de mucho esfuerzo), al grado de detalle que caracteriza a los programas de computadora. Cuando logramos ese nivel en el planteamiento del algoritmo, su programación se realiza prácticamente sin esfuerzo (se reduce a la "TRADUCCIÓN" de las órdenes al formato que comprende la máquina).
Características Que Debe Reunir Todo Algoritmo.
Cuando creamos un algoritmo, debemos tratar de reunir, en él, una serie de características importantes. Ellas nos garantizan que el algoritmo producido tiene un alto grado de calidad. Estas son:
Integridad.
Claridad.
Simplicidad.
Eficacia.
Modularidad.
Generalidad.
A continuación, explicaremos con más detalle estas características.
- Integridad.
Esta característica se refiere a la exactitud y precisión de los cálculos involucrados. No tiene sentido crear un algoritmo que tendrá un comportamiento impredecible, y en consecuencia, que manipule nuestra información de manera aleatoria.
- Claridad.
Es un aspecto más sutil. Se refiere a la legibilidad de la lógica involucrada. Si un algoritmo es claro, es posible entregarlo a otra persona para que lo modifique, sin grandes dificultades. Adicionalmente, el programador original podrá comprender y modificar su lógica, aunque tenga mucho tiempo de haberla elaborado.
- Simplicidad.
Esta característica suele recoger a las dos anteriores. Si un algoritmo es fácil de comprender, desde el punto de vista lógico, y manipula correctamente la información, su simplicidad se establece como una consecuencia inmediata.
Santiago, 27 de diciembre de 1995.
SEÑORES REYES MAGOS:
Les extrañará mucho que les escriba hoy 27 de diciembre, pero es que quiero aclarar ciertas cosas que han ocurrido desde el día primero de ese mismo mes, en que lleno de ilusión, les envié mi cartita.
En la misma les pedía lo siguiente: una bicicleta, un trencito eléctrico, un par de patines, dos revólveres con cartuchera, un traje de pelotero con su manilla de primera y el juego del hombre nuclear con todos sus accesorios.
Me destrocé el cerebro estudiando todo el año, tanto que fui no sólo el primero de la clase, sino que obtuve la mejor nota de todo el colegio o mejor dicho de la escuela pública en que estoy. No les volví a mentir no hubo en todo el barrio quien se portara mejor que yo, con mis padres, con mis amiguitos, con los vecinos, con todo el que necesitare de mi ayuda.
Pero que huevos más grandes los de ustedes, creen que es poca vaina lo que me han hecho, dejando debajo de mi cama solamente un trompo y un par de medias y para acabar de joder, el hijo de puta trompo no tiene hilo y las medias están rotas.
Que mierda es lo que se han creído, so pedazos de mierda, tríos de chuchas de su madre sifilíticas, me han cogido de pendejo durante el año para salirme con ésta mariconada, y no conforme con esto, el cuequito de mierda ese, hijo de la vieja culona a la que mi papá le maneja el carro, el fulito ese culicagao, sin educación, mal parío, y desobediente, le han llenado la casa de juguetes, de tal forma que están regados por la sala, el patio y hasta en el excusado, y el muy hijo de puta, se puso a llorar porque quería mi trompo y el cabrón de mi Papá se lo dio.
COÑO…. por eso es que aquí tiene que venir algo grande, porque con Reyes Magos tan cabrones como ustedes, La Verga nadie se salva en este hijo de puta país. El que nace para pingón que le crezcan las pelotas.
Chacarones de mierda, se van pa' la verga los tres, pajisos del carajo, no se dejen ver de mí el año que viene, porque me voy a robar los pantys de mi hermana y con los elásticos voy a hacerme unos biombos para entrarle a pedradas a esos camellos de mierda en los huevos para que se espanten y tengan ustedes que joderse a pie, como estoy yo, ya que la bicicleta que les pedí, era para ir a la escuela que queda más lejos que la chucha.
No quiero despedirme sin antes desearles que ojalá den el culo y les guste, partida de maricones y que les acusen de comunistas, les corten los cojones y se los den de comer antes de fusilarlos, sobre todo el negro de mierda de BALTAZAR a quien le dirigí la carta, bien me decía mi papá… "no te fihes de los negros, que no son puercos que den manteca".
Y quiero que le digan a ese viejo maricón de Santa Claus, que no se preocupe, viejo gonorriento, que ojalá le caigan ladillas en la barba, a él, que le pedí ayuda y ni mierda de caso que me hizo. A todos ustedes les deseo un barranco de mierda para este año nuevo y el año que viene ya sabrán de un muchachito cabrón e hijo de puta.
Muy Atentamente, Pepito…
- Eficacia.
La eficacia del algoritmo se refiere a su velocidad de ejecución y la administración eficiente de los recursos de la máquina. Cuando nos enfrentamos a problemas complejos, que exigen llevar los recursos disponibles al límite de su agotamiento, se hace imperativo que los algoritmos sean eficaces, aun a expensas de su claridad. En estas situaciones, el sentido común del programador juega un papel muy importante, pues debe decidir cuanto se sacrificará una característica frente a la otra.
- Modularidad.
"DIVIDE Y VENCERÁS" dice un viejo adagio popular. Él, tiene vigencia en la creación de algoritmos. Cuando nos enfrentamos a un problema complejo, es importante subdividirlo en tareas más sencillas. En la mayoría de los casos, la modularidad de un algoritmo incrementa su claridad, y eficiencia, simultáneamente. Sin embargo, el sentido común del programador es el mejor catalizador de esta característica.
- Generalidad.
El esfuerzo de programar se hace inútil si no damos generalidad a los algoritmos, ya que se tendrá que repetir todo el análisis del problema, cada vez que se plantea una situación no contemplada en el estudio. Sin embargo, la generalidad de un algoritmo debe ser limitada, generalmente a las tareas que se pueden prever de manera razonable. En ese sentido, nuevamente, el sentido común juega un papel muy importante en el diseño de algoritmos.
Como ejemplo de un algoritmo representativo (bastante simple), podemos mencionar el aplicado en el caso de las raíces de la ecuación cuadrática de coeficientes y raíces reales.
Programación Del Algoritmo.
Dependiendo del grado de precisión logrado en la etapa anterior, el paso que mencionaremos en este apartado será, directamente, más sencillo de lograr.
En esencia, cada una de las pautas lógicas establecidas dentro del algoritmo, se debe traducir a una instrucción equivalente en el lenguaje de programación. Así, las características del algoritmo definen, directamente, las características de su programación. Técnicamente, hablamos de "CODIFICAR EL ALGORITMO".
Posteriormente, el listado del programa es grabado en un medio de almacenamiento de la computadora. Luego, es traducido al lenguaje de la máquina empleando un conjunto de programas, denominados compiladores-enlazadores o intérpretes. Ellos, siguen procedimientos específicos de empleo, dependiendo de cada sistema particular que se use.
Muchos programadores novatos sienten la "TENTACIÓN" de escribir la solución del problema directamente en el lenguaje de programación, sin completar las etapas previas a este paso. Esta acción es una pérdida de tiempo, ya que generalmente, estos intentos no abarcan la totalidad del problema, o dejan algunos detalles al azar. Estas fallas, en su momento, se harán evidentes y habrá que retroceder a esta etapa.
La referencia a lenguajes de programación, compiladores-enlazadores, e intérpretes amerita algunas aclaraciones adicionales.
Como mencionamos anteriormente, la programación del algoritmo consiste, fundamentalmente, en su traducción a un formato equivalente, que comprende la computadora (llamado lenguaje de máquina). Este proceso se logra a través del empleo de una representación intermedia, denominada lenguaje de programación. Un lenguaje de programación se puede definir, en consecuencia, como un sistema completo de simbolismos, caracteres y reglas, que nos permiten comunicarnos con la computadora.
En teoría, todos los lenguajes de programación deben brindar la facilidad de implementar las estructuras de datos y de control definidas dentro de los algoritmos. Pero, en realidad, existe una marcada diferenciación en la implementación de cada uno de ellos. Estas diferencias los ubican, individualmente, con debilidades, libertades y potencialidades específicas, frente a un problema dado. Generalmente, aquellos que son más fáciles de usar e implementan mayores posibilidades de programación, se denominan "LENGUAJES DE ALTO NIVEL".
Los lenguajes de programación se implementan a través de los intérpretes y compiladores-enlazadores. Ambos son programas, generalmente diseñados en lenguaje de máquina. Se encargan de "TRADUCIR" las secuencias de órdenes de los programas escritos en un lenguaje de programación de alto nivel, al lenguaje de máquina.
Los compiladores-enlazadores realizan la traducción de todas las órdenes a la vez; como un todo, creando en el proceso un programa que puede ser ejecutado directamente en la máquina sin depender del compilador-enlazador.
Los intérpretes, en cambio, realizan la traducción de las órdenes al lenguaje de máquina, procesándolas y ejecutándolas una a una, dinámicamente. Los intérpretes no crean programas ejecutables (como los creados por los compiladores-enlazadores).
Depuración Y Documentación Del Programa.
Es de humanos cometer errores, pero la verdad de esta afirmación es más evidente para quienes han tenido experiencias en la programación de computadoras. Prácticamente ningún analista logra que sus programas funcionen correctamente en el primer intento. Debe someterlos a un proceso de corrección y depuración de errores de todo tipo.
Así, los compiladores-enlazadores e intérpretes requieren que el programa cumpla con toda una serie de reglas semánticas y sintácticas preestablecidas dentro del lenguaje, para realizar la traducción al lenguaje de máquina. Una coma mal ubicada, un paréntesis que falte o sobre, una orden mal escrita; todas son situaciones que provocan que un programa no se pueda compilar, o funcione incorrectamente.
Adicionalmente, en esta etapa podemos enfrentarnos a una serie de situaciones no previstas dentro del proceso. El caso más importante lo vemos cuando surgen resultados incorrectos; debido a que los algoritmos, que son exactos en teoría, sufren los problemas conocidos como error por redondeo y error por truncamiento, de las cifras involucradas en los cálculos. Sus efectos pueden ser tan catastróficos al aparecer, que llegan a invalidar completamente la efectividad del algoritmo (es decir, harán que no resuelva el problema originalmente planteado).
Estos errores deben ser eliminados del programa a través de un cuidadoso y exhaustivo análisis de los procesos previos a este paso. Es decir, revisando el método de solución de una manera más detenida y considerando los detalles de implementación en la computadora.
Por otro lado, se deben crear documentos escritos, complementarios al programa diseñado. Esta, información debe reunirse de manera histórica y sistemática, paralelamente a los cambios que sufra el programa en su vida útil. Estos escritos se conocen como "DOCUMENTACIÓN DEL SISTEMA" y deben reflejar, en lo posible, lo que pensaba el programador al diseñar la aplicación. Debe reunir, entre otras cosas, detalles acerca de:
La definición del problema que se intenta resolver.
La descripción del método de solución empleado.
"TODOS" los algoritmos y listados de los módulos que integran al programa principal y sus partes.
La enumeración detallada de "TODAS" las instrucciones que pueden realizar los operadores del programa, así como "TODOS" los pasos para realizarlas correctamente (manual del usuario).
La administración del teclado, por parte del programa.
Las convenciones que deben asumirse en el manejo de la información.
Los controles para verificar la integridad de la información.
Las limitaciones, libertades y potencialidades que tiene el programa.
Dutari, R. (2015, 6 julio). El uso de las computadoras en la solución de problemas. Monografias.com. https://www.monografias.com/trabajos105/uso-computadoras-solucion-problemas/uso-computadoras-solucion-problemas