QUE ES UN ALGORITMO?? INTRODUCCIÓN BÁSICA
Un computador es una máquina que está diseñada para facilitarnos la vida. En muchos países se le conoce como computadora u ordenador, pero todas estas palabras se refieren a lo mismo.
Esta máquina electrónica nos permite desarrollar fácilmente múltiples tareas que ahora hacen parte de nuestra vida cotidiana, como elaborar cartas o una hoja de vida, hablar con personas de otros países, hacer presupuestos, jugar y hasta navegar en internet.
Nuestro computador hace esto procesando datos para convertirlos en información útil para nosotros.
EL COMPUTADOR PROCESA LA INFORMACIÓN
entrada proceso salida
así en esta forma primero se digita la información luego el computador lo procesa y da los datos de salida o resultado final
Qué es el lenguaje de bajo nivel? Como decimos, la ciencia informática se basa en diferentes lenguajes de programación para que todas las funciones se lleven a cabo de forma adecuada.
Son muchos los tipos de lenguaje con los que podemos trabajar, pero nosotros vamos a centrarnos en el de bajo nivel. Aunque la palabra “bajo” pueda sonarte a algo de menor calidad, en esta ocasión bajo no va a tener nada que ver con un aspecto negativo. Cuando hablamos de lenguaje de este tipo nos vamos a referir a aquel cuyas pautas de actuación están muy ligadas a las instrucciones del hardware y además suele depender de los ordenadores que utilizan dicho lenguaje.
Principalmente el aspecto que más va a incidir de la computadora es el físico. El lenguaje de bajo nivel apenas se separa del hardware al que acompaña, pero no por ello va a ser menos potente, simplemente lo utilizaremos para otro tipo de tareas.
El lenguaje maquina o assembler (en inglés assembly language y la abreviación asm), es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina
¿Qué es un lenguaje de alto nivel? Un lenguaje de alto nivel permite al programador escribir las instrucciones de un programa utilizando palabras o expresiones sintácticas muy similares al slovaco. Por ejemplo, en C se pueden usar palabras tales como: case, if, for, while, etc. para construir con ellas instrucciones como:
if( numero > 0 ) printf( "El número es positivo" )
que traducido al castellano viene a decir que: si numero es mayor que cero, entonces, escribir por pantalla el mensaje: "El número es positivo".
Ésta es la razón por la que a estos lenguajes se les considera de alto nivel, porque se pueden utilizar palabras de muy fácil comprensión para el programador. En contraposición, los lenguajes de bajo nivel son aquellos que están más cerca del "entendimiento" de la máquina. Otros lenguajes de alto nivel son: Ada, BASIC, COBOL, FORTRAN, Pascal, etc.
Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema.
Para realizar un programa es conveniente el diseño o definición previa del algoritmo. El diseño de algoritmos requiere creatividad y conocimientos profundos de la técnica de programación. Luis Joyanes, programador experto y autor de muc hos libros acerca de lógica y programación nos dice “en la ciencia de la computación y en la programación, los algoritmos son más importantes que los lenguajes de programación o las computadoras. Un lenguaje de programación es sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo”.
Loa algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje diferente de programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación
Características de los algoritmos
· Preciso. Definirse de manera rigurosa, sin dar lugar a ambigüedades.
· Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo resultado.
· Finito. Debe terminar en algún momento.
· Puede tener cero o más elementos de entrada.
· Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.
Se concluye que un algoritmo debe ser suficiente para resolver el problema. Entre dos algoritmos que lleven a un mismo objetivo, siempre será preferible el más corto (se deberá analizar la optimización de tiempos y / o recursos).
Etapas para la solución de un problema por medio del computador
1. Análisis del problema, definición y delimitación (macroalgoritmo). Considerar los datos de entrada, el proceso que debe realizar el computador y los datos de salida.
2. Diseño y desarrollo del algoritmo (se utiliza pseudocódigo, escritura natural del algoritmo, diagramas de flujo, etc. )
3. Prueba de escritorio. Seguimiento manual de los pasos descritos en el algoritmo. Se hace con valores bajos y tiene como fin detectar errores.
4. Codificación. Selección de un lenguaje de programación y digitación del pseudocódigo haciendo uso de la sintaxis y estructura gramatical del lenguaje seleccionado.
5. Compilación o interpretación del programa. El software elegido convierte las instrucciones escritas en el lenguaje a las comprendidas por el computador.
6. Ejecución. El programa es ejecutado por la máquina para llegar a los resultados esperados.
7. Depuración (debug). Operación de detectar, localizar y eliminar errores de mal funcionamiento del programa.
8. Evaluación de resultados. Obtenidos los resultados se los evalúa para verificar si son correctos. (Un programa puede arrojar resultados incorrectos aún cuando su ejecución no muestra erorres).
Algoritmos cualitativos y algoritmos cuantitativos
Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Las instrucciones para armar un aeromodelo, para desarrollar una actividad física o encontrar un tesoro, son ejemplos de algoritmos cualitativos.
Trate de diseñar el algoritmo para estos casos
· Tomar mate
· Utilizar una guía telefónica
· Cocinar siguiendo una receta
· Cambiar una llanta de automóvil
· Buscar una palabra en el diccionario
Los algoritmos cuantitativos involucran cálculos numéricos. Ejemplos:
· Solución de un factorial
· Solución de una ecuación de segundo grado
· Encontrar el mínimo común multiplicador.
Técnicas
de representación
Para la representación de un
algoritmo, antes de ser convertido a lenguaje de programación, se utilizan
algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:
·
Diagramación libre (Diagramas de flujo)
·
Diagramas Nassi-Shneiderman
·
Pseudocódigo
·
Lenguaje natural (español, inglés, etc.)
·
Fórmulas matemáticas
El lenguaje natural puede no ser
suficientemente preciso, permitiendo ambigüedades, obteniendo una descripción
no del todo satisfactoria. Las fórmulas, propias del lenguaje matemático, son
un buen sistema de
representación, pero no suelen ser fáciles de
convertir en programas. Por lo tanto, trataremos en este curso los tres
primeros modelos.
Diagramas de flujo.
Es quizás la forma de representación más antigua. Algunos autores suelen llamarlos también como diagramas de lógica o flujogramas.
Diagramas Nassi-Schneiderman o Chapin
También conocidos como Diagramas de Chapin, corresponden a uno de los tipos de diagramación estructurada. Las acciones se escriben en rectángulos o cajas sucesivas. Se pueden escribir diferentes acciones en una caja. La simbología utilizada es como vemos en las figuras siguientes. Fue desarrollado en 1972 por Isaac Nassi y Ben Shneiderman. Este diagrama también es conocido como estructograma, ya que sirve para representar la estructura de los programas. Combina la descripción textual del pseudocódigo con la representación gráfica del diagrama de flujo.
WEBGRAFIA:http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf
https://es.wikipedia.org/wiki/Diagrama_Nassi-Shneiderman
https://edu.gcfglobal.org/es/informatica-basica/que-es-un-computador/1/



Comentarios
Publicar un comentario