Introducción

 

Unidad 1: Algoritmo y Programas
  1. Introducción a la estructura del computador. Componentes de hardware: CPU, Memoria, dispositivos de E/S, etc. Componentes de Software: Sistemas operativos. Lenguaje de máquina. Lenguajes de programación, compiladores e interpretadores. 
  2. Concepto de Algoritmos y Programas.
  3. Lenguaje algorítmico y de programación.
  4. Partes de un algoritmo.
  5. Características y elementos para construir un algoritmo.
  6. Formas de representar un algoritmo: Lenguaje Natural, pseudocódigo y diagrama de flujo.
  7. Traza de un algoritmo (corrida en frío).
Leer libros en la nube :
  • Libro Joyanes de la página 4 a la página 24.
  • Algoritmo Barber y Farris desde la página 1 a la pagina 8
  • Libro de Algoritmo página 43 a la página 46
    Introducción a la estructura del computador.
    El computador es una máquina que está diseñada para desarrollar múltiples tareas que ahora hacen partes de nuestra vida cotidiana, como elaborar trabajos escritos, hablar con personas de otros países, hacer aplicaciones, jugar y navegar por Internet.
    Un computador se compone del software que refiere al conjunto de programas, instrucciones y reglas informáticas, y el hardware que es el conjunto de los componentes físicos que componen el equipo.

         ELEMENTOS DEL HARDWARE
    Se refiere a todas las partes tangibles de un sistema informático; sus componentes son: eléctricos, electrónicos, electromecánicos y mecánicos.
    Son cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el soporte lógico es intangible y es llamado software.
    El término es propio del idioma inglés (literalmente traducido: partes duras), su traducción al español no tiene un significado acorde, por tal motivo se la ha adoptado tal cual es y suena; la Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora».
    El término se aplica del mismo modo a un robot, un teléfono móvil, una cámara fotográfica o un reproductor multimedia poseen hardware .

    PARTES DEL HARDWARE
    LA MOTHERBOARD (Tarjeta Madre)
    La placa base, placa madre, tarjeta madre o board (en inglés motherboard, mainboard) es una tarjeta de circuito impreso a la que se conectan las demás partes de la computadora. Tiene instalados una serie de integrados, entre los que se encuentra el Chipset que sirve como centro de conexión entre el procesador, la memoria RAM, los buses de expansión y otros dispositivos.
    Va instalada dentro de un gabinete que por lo general esta hecho de lámina y tiene un panel para conectar dispositivos externos y muchos conectores internos y zócalos para instalar componentes dentro del gabinete.
    La placa base además incluye un software llamado BIOS, que le permite realizar las funcionalidades básicas como: pruebas de los dispositivos, vídeo y manejo del teclado, reconocimiento de dispositivos y carga del sistema operativo.

    EL MICROPROCESADOR
    El procesador (CPU, por Central Processing Unit o Unidad Central de Procesamiento). Permite el procesamiento de información numérica, es decir, información ingresada en formato binario, así como la ejecución de instrucciones almacenadas en la memoria.
    El procesador es un circuito electrónico que funciona a la velocidad de un reloj interno, gracias a un cristal de cuarzo que, sometido a una corriente eléctrica, envía pulsos, denominados "picos". La velocidad de reloj (también denominada ciclo), corresponde al número de pulsos por segundo, expresados en Hertz (Hz). De este modo, un ordenador de 200 MHz posee un reloj que envía 200.000.000 pulsos por segundo. Por lo general, la frecuencia de reloj es un múltiplo de la frecuencia del sistema.

    MEMORIA RAM
    La memoria principal o RAM (Random Access Memory, Memoria de Acceso Aleatorio) es donde se guardan los datos que está utilizando el computador en el momento presente. El almacenamiento es temporal por que los datos y programas permanecen en ella mientras que la computadora este encendida o no sea reiniciada.
    Se le llama RAM por que es posible acceder a cualquier ubicación de ella aleatoria y rápidamente.
    Físicamente, están constituidas por un conjunto de chips o módulos de chips normalmente conectados a la tarjeta madre. Los chips de memoria son rectángulos negros que suelen ir soldados en grupos a unas plaquitas con "pines" o contactos:
    La diferencia entre la RAM y otros tipos de memoria de almacenamiento, como los discos duros, es que la RAM es mucho más rápida, y desaparece la información al apagar el computador, no como los Disquetes o discos duros en donde la información permanece almacenada.

    DISCO DURO
    Un disco duro (del inglés hard disk (HD)) es un disco magnético en el que se puede almacenar información. El disco duro es la parte del computador que contiene la información electrónica y donde se almacenan todos los programas (software). Es uno de los componentes del hardware más importantes dentro de tu PC.
    El término duro se utiliza para diferenciarlo del disco flexible o disquete (floppy en inglés), memorias , pendrive. Los discos duros pueden almacenar muchos más datos y son más rápidos que los disquetes.

    LA FUENTE ALIMENTACION
    La fuente de alimentación, es el componente electrónico encargado de transformar la corriente de la red eléctrica con una tensión de 200V ó 125V, a una corriente con una tensión de 5 a 12 voltios (que es la necesaria para nuestra PC y sus componentes).
    Como los componentes de la PC funcionan con corriente continua, lógicamente la corriente alterna no nos sirve, ya que los mismos no funcionarán.

    SERVIDOR:
    Computadora principal de la red que administra los recursos, procesos y programas de la red, además de que controla el flujo de información y los servicios de seguridad. Presta servicios a los clientes o estaciones de trabajos. Debe ser una computadora con gran capacidad de almacenamiento y velocidad.

    CLIENTE:
    Es una computadora que se conecta con el servidor para solicitar sus servicios y tener acceso a la red.

    Procesador.
    Un procesador es un chip o un tipo de complemento electrónico.

    Batería.
    Es la que se usa básicamente para mantener el reloj interno de la computadora actualizado es decir, mantener la fecha y la hora correcta y actualizada.

    Bus de Datos.
    Es un conjunto de conexiones físicas que transfieren información de un lugar a otro.

    Bios.
    Es la que se encarga de reconocer todos los dispositivos de la computadora parar cargar el sistema operativo

    MEDIOS DE TRANSMISIÓN:
    Canal que permite transmitir la información entre equipos y pueden ser alambritos (cables) o inalámbricos (señales), satélites, señales ópticas, ondas, etc.

    TARJETA DE RED:
    Placa de circuitos que se encarga de la conexión de una computadora a una red. También se llama tarjeta de interfaz de red o tarjeta adaptadora.

    MODEM:
    Dispositivo que permite traducir señales analógicas digitales.

    ROUTER:
    Dispositivo que elige el camino por el cual viajaran los paquetes de información.

    SWITCH:
    Dispositivo que enlaza los datos entre dos segmentos de red, enviando la información únicamente a la dirección predestinada.

    HUB:
    Dispositivo que enlaza dos segmentos de red enviando la información a todos los puertos disponibles.

    SOFTWARE.
    Se conoce como software al equipamiento lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware.
    Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.

    CLASIFICACIÓN DEL SOFTWARE

    Software de Sistema
    Este grupo comprende el sistema operativo, controladores de dispositivos, utilitarios de sistema y toda aquella herramienta que sirva para el control específico de las características de la computadora.

    Software de Aplicación
    Se le llama software de aplicación a todos aquellos programas utilizados por los usuarios para la concreción de una tarea, tenemos diseño gráfico, de contabilidad, seguros, bancarios y muchos más.

    SISTEMA OPERATIVO Y CUÁLES SON LOS MÁS USADOS
    El Sistema operativo es el software más importante de un computador. Para que funcionen los otros programas, cada PC debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escáner, y otros.
    En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad asegurando que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema.

    Clasificación de los Sistemas Operativos
    Se clasifican de la siguiente forma:
    ·                 Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo.
    ·                  Multiprocesador: soporta el abrir un mismo programa en más de un computador.
    ·                  Multitarea: Permite que varios programas se ejecuten al mismo tiempo.
    ·                  Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.
    ·                  Tiempo Real: Responde a las entradas inmediatamente. 
    ¿Cómo funciona un Sistema Operativo?
    Los sistemas operativos proporcionan una plataforma de software encima de la cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones se programan para que funcionen encima de un sistema operativo particular, por tanto, la elección del sistema operativo determina en gran medida las aplicaciones que puedes utilizar.

    ¿Cómo se utiliza un Sistema Operativo?
    Un usuario normalmente interactúa con el sistema operativo a través de un sistema de comandos.

    Nombre y explique los dispositivos de entrada y salida

    Dispositivo de entrada
    Son aquellos que sirven para introducir datos al computador. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna.
    ·           Ratón: La función principal del ratón es transmitir los movimientos de nuestra mano sobre una superficie plana hacia el ordenador. En el momento de activar el ratón, se asocia su posición con la del cursor en la pantalla. Si desplazamos sobre una superficie el ratón, el cursor seguirá dichos movimientos.
    ·           Teclado: Es el dispositivo más común de entrada de datos. Se lo utiliza para introducir comandos, textos y números. Estrictamente hablando, es un dispositivo de entrada y de salida, ya que los LEDS también pueden ser controlados por la máquina.
    ·            Escáner: Por digitalizar se entiende la operación de transformar algo analógico (algo físico, real, de precisión infinita) en algo digital (un conjunto finito y de precisión determinada de unidades lógicas denominadas bits).
    ·               Webcam: Es una cámara que esta simplemente conectada a la red.
    ·                      
    Dispositivos de salida:
    Son los que permiten mostrar los resultados (salida) del proceso de datos. El dispositivo de salida típico es la pantalla y la impresora (imprimen resultados en papel).
    ·                     Monitor o Pantalla:
    Es el dispositivo en el que se muestran las imágenes generadas por el computador. El monitor se conecta al adaptador de vídeo mediante un cable. Evidentemente, es la pantalla en la que se ve la información suministrada por el computador.
    ·                     Impresoras:
    La impresora es el periférico que el computador utiliza para presentar información impresa en papel. Las primeras impresoras nacieron muchos años antes que el PC e incluso antes que los monitores.
    ·                     Cornetas, Altavoces, Audífonos o Bocinas:
    Dispositivos por los cuales se emiten sonidos procedentes de la tarjeta de sonido. Algunos de estos dispositivos son de mesas, similares a la de cualquier aparato de sonidos y otras son portátiles (audífonos). Existen modelos muy variados.
    HARDWARE Y SOFTWARE
    Hardware 
    es la parte que puedes ver del computador, es decir todos los componentes de su estructura física: La pantalla, el teclado, la torre y el ratón hacen parte del hardware de tu equipo.
    Software
    Es uno de los programas informáticos que hacen posible la realización de tareas específicas dentro de un computador: Ejemplo Writer, Calc, Impress, los navegadores web, juegos, el sistema operativo, entre otros.
    ¿Qué es el internet?
    Internet es la gran biblioteca virtual mundial, donde cualquier persona en cualquier parte del mundo puede acceder a este gigantesco archivo digital donde parte del conocimiento, el ocio y el mundo laboral convergen en un mismo espacio.
    Internet representa el máximo exponente de la globalización.


    Programa fuente.
    Es un programa que puede traducirse en forma automática en lenguaje de máquina. Está escrito en un lenguaje concebido para facilitar la expresión de una clase de problemas o de procedimientos por parte de seres humanos; utiliza un compilador, ensamblador o traductor para realizar la mecánica de la traducción del programa fuente en un programa objeto en lenguaje de máquina.

    Programa objeto.
    Es un programa fuente que ha sido traducido a lenguaje de máquina. El programa fuente se convierte, entonces, en un conjunto de instrucciones de lenguaje de máquina para la solución de un problema, obtenido como el resultado final de un proceso de compilación.

    Ensamblador.
    El ensamblador traduce las instrucciones simbólicas de un lenguaje de programación a las instrucciones necesarias de máquina para que sean ejecutadas. En los lenguajes ensambladores se define un código especial (llamado nemónico) para cada una de las operaciones de la máquina y se introduce una notación especial para especificar el dato con el cual debe realizarse la operación. El ensamblador origina una instrucción en lenguaje de máquina por cada instrucción del lenguaje a trad ucir. En general es utilizado con los lenguajes de bajo nivel.

    Compilador.
    Son traductores más complejos. Traduce los programas que realiza el usuario al lenguaje de máquina necesario para que sean ejecutados. Además de hacer dicha traducción, el compilador chequea que el programa fuente esté correcto en cuanto a sintaxis e instrucciones propias de cada lenguaje. Los compiladores para la mayor parte de los lenguajes de programación los proporciona el fabricante.
    El compilador genera una o más instrucciones en el lenguaje de máquina por cada instrucción del lenguaje de programación. Se utiliza en los lenguajes de alto nivel. La traducción, en general, se realiza en dos pasos: primero las instrucciones en lenguaje de alto nivel se traducen a una secuencia de instrucciones en el lenguaje de bajo nivel y a continuación se efectúa la traducción al lenguaje de máquina. El compilador asigna las posiciones de memoria por cada variable que encuentra conforme lee y traduce las instrucciones.

    Interpretador.
    Es un programa de computador que traduce cada instrucción o sentencia del lenguaje original a una secuencia de instrucciones de máquina, antes de traducir la siguiente sentencia en lenguaje original.

    Lenguaje de computadora.
    Conjunto definido de caracteres que sirven para formar símbolos, palabras, instrucciones, etcétera, así como las reglas para combinar estos caracteres, dando como resultado comunicaciones significativas, por ejemplo FORTRAN, PASCAL, PROLOG, C, C++, JAVA.

    Lenguaje de máquina.
    Es el conjunto final que todas las computadoras deben utilizar (lenguaje binario). Todos los demás lenguajes de programación deben compilarse o traducirse, a la larga, a un código binario antes de introducirse en el procesador. El lenguaje binario es el lenguaje de máquina.

    Lenguaje de bajo nivel.
    Los lenguajes de bajo nivel son el primer paso de la sofisticación de los lenguajes de computadora. Permiten una comunicación más fácil con la computadora. Las instrucciones escritas en lenguaje de bajo nivel deben ser traducidas por medio de una traductora a lenguaje de máquina. La traducción que se hace es uno a uno, es decir, una instrucción en lenguaje de bajo nivel se transforma en una instrucción de lenguaje de máquina.

    Lenguaje de alto nivel.
    Es el lenguaje simbólico más fácil de entender y de programar: en él se prepara un programa para ser procesado por computadora. Este lenguaje es traducido a lenguaje objeto mediante un ensamblador o compilador. A diferencia de los anteriores éste es más flexible, fácil de aprender y más apropiado para corregir los errores de programación.
    Una instrucción de lenguaje de alto nivel es traducida a lenguaje de máquina en una o varias instrucciones. En la medida en que se simplifica el trabajo del programador, crece el trabajo del traductor.

    Dirección de memoria.
    Cada computador tiene una cantidad determinada de almacenamiento interno denominada memoria principal, además del almacenamiento externo consistente en cintas, disquetes y discos magnéticos. Las dos formas de almacenamiento difieren en sus características y propósitos. Los programas que están en ejecución, así como los datos necesarios para ello, deben residir en la memoria principal. La memoria principal de la computadora se divide en unidades pequeñas e iguales denominadas palabras que tienen una única dirección. Cada palabra es capaz de almacenar una unidad de información; por ejemplo, los resultados numéricos de la computadora. El tamaño de la palabra es un parámetro de diseño de la computadora y determina, digamos, el número más grande y más pequeño que puede ser almacenado.
    Las direcciones de memoria identifican cada palabra individualmente, de tal manera que la
    información contenida en ella pueda leerse, o almacenar nueva información.

    Bit.
    Es la abreviatura de binary digit. Es una unidad de información que equivale a una decisión binaria, o la designación de uno de dos valores o estados posibles igualmente probables. Se suele expresar como ‘l’ o ‘0’. Representa una unidad minúscula de memoria que puede tener dos estados encendido, o apagado, donde el estado encendido se representa mediante uno y el apagado mediante cero.

    Byte.
    Es un conjunto de BITS consecutivos que se tratan como una sola entidad, por lo general son 8 BITS. También se le conoce como el número de BITS necesarios para representar un carácter en la memoria de la computadora.

    Palabra.
    Son unidades de almacenamiento a las que se les asigna una dirección de memoria. Son tratadas por los circuitos de la computadora como una entidad, por la unidad de control como una instrucción y por la unidad aritmética como una cantidad. Este grupo de BITS es el más grande tratado a través del procesador central como una sola unidad. El tamaño de la palabra depende de la arquitectura de la computadora; se pueden tener palabras de uno, dos, cuatro, ocho o más BYTES.

    Campo.
    Es un grupo de caracteres que se pueden tratar como una unidad de información simple. Las instrucciones de los lenguajes están constituidas por varios campos. Dependiendo de la computadora, del lenguaje de programación utilizado y de la forma como el campo sea definido, a un campo se le asignará una o más palabras.
    Registro.
    Es un conjunto de campos que se refieren a una misma actividad que se desea procesar; por ejemplo, toda la información sobre un artículo de inventario, la información que contiene una lista de clase sobre un estudiante (código, nombres, programa, etc.).

    Archivo.
    Es un dispositivo de software utilizado para almacenar información en forma masiva, relacionada con una determinada entidad, persona o cosas. Ejemplo: suponga que la compañía A tiene 100 clientes y que se mantiene la siguiente información acerca de cada uno de ellos: nombre, dirección, balance de crédito, descuento permitido. La información individual de cada cliente se denomina registro y un conjunto de registros formará un archivo, es decir, un archivo de datos de los registros de los clientes. Los archivos pueden tenerse en varias formas y en diferentes medios de almacenamiento.

    Base de datos.
    Es un conjunto de archivos relacionados de una manera especial, que continuamente se está actualizando.

    Representación de datos
    La información binaria en computadoras digitales está almacenada en memoria, en registros procesadores. Los registros pueden contener datos o información de control. La información es un bit o grupo de bits, utilizado para especificar la secuencia de comandos de señales necesarias para manipular los datos de otros registros. Los datos son números u otra información codificada en binario operados para lograr los resultados computacionales requeridos. Aquí se presentarán los más comunes tipos de datos encontrados en computadores digitales y se mostrará cómo los diferentes tipos de datos son representados en forma codificada en binario en los registros de computadores.

    Los tipos de datos.
    Los tipos de datos encontrados en los registros de computadoras digitales se pueden clasificar en alguna de las siguientes categorías:
    a) números, utilizados en cálculos aritméticos;
    b) letras del alfabeto, utilizadas en procesamiento de datos,
    c) otros símbolos, utilizados para propósitos específicos.

    Todos los tipos de datos, excepto números binarios, se representan en registros de computadores en forma codificada en binario.

    Tipos de campos.
    Para que una computadora pueda hacer cálculos debe tener almacenados en la memoria principal los valores con los cuales ha de trabajar; por lo tanto, se necesita un espacio interno para guardar esos valores en forma temporal.
    Esos espacios internos de la memoria son grupos de bits biestables denominados campos; a éstos se les asigna una única dirección de memoria y su capacidad o valor máximo que se puede almacenar en ellos dependerá del tamaño del grupo. Los campos pueden ser de dos clases:
    Campos variables: son todos aquellos campos que permiten que el contenido almacenado en el espacio de memoria asignado, pueda ser alterado en el transcurso de la ejecución del programa; o sea, en un momento tiene un valor y más adelante puede tener otro distinto, pero nunca más de un valor al mismo tiempo. Esta clase de campos, que en lo sucesivo se denominarán simplemente variables, se identifican por un nombre con el cual actúan durante todo el transcurso del proceso, por lo tanto, deben ser únicos. El nombre dado a la variable debe iniciar con una letra seguida, si se quiere, de letras o dígitos. Es el programador quien da nombre a sus variables teniendo en cuenta la regla anterior.
    Ejemplos de nombres de variables:
    • a
    • b1
    • c1az
    • nombre
    • salariohora

    Clases de información
    Los principales tipos de información, entre otros, que se manejan en una computadora son:
    Información numérica: es toda aquella información con o sin decimales (entera o real) con la cual se pueden hacer cálculos aritméticos o matemáticos. Esta información puede estar representada como una constante o una variable. Por ejemplo:
    • Como constantes:
    • 20
    • 30,6
    • 2000
    • Como variables cuyo contenido siempre será numérico:
    • NUMERO PAGO CANTIDAD
    • 20.666 110.5 4556

    Información como caracteres:
    Muchos procesos o programas no sólo requieren de la manipulación de valores numéricos, sino también de letras y símbolos especiales con los cuales, lógicamente, no se pueden efectuar operaciones de cálculo matemático. Por ejemplo: los nombres de personas.
    Esta información también puede representarse como constante o como variable.
    Por ejemplo:
    • Como constante:
    • A” Las comillas indican que se trata del carácter A y no de la variable A.
    • JUAN PABLO”
    • ALBERTO”
    • 1” Muy diferente al número 1, su forma de almacenamiento es distinta.
    • *B4”
    • +* _”

    Información lógica:
    Este tipo de información sólo tiene dos posibles valores: falso o verdadero. Al igual que el tipo de información anterior, éste tampoco puede ser utilizado para efectuar cálculos matemáticos. Se utilizarán las notaciones:
    .V. para representar el valor verdadero,
    .F. para representar el valor falso.

    Aspectos importantes a tener en cuenta
    • Los nombres de variables deben ser únicos: no pueden representar dos cosas al mismo tiempo.
    • Una variable sólo puede almacenar un único valor.
    • Una variable no puede almacenar tipos de información distintos. Sólo un tipo: numérica, carácter o lógica.
    • Los números son diferentes como tales y como caracteres (1 diferente de “1”).
    • Es aconsejable que los nombres dados a las variables se asemejen a lo que representan.
    • Es necesario diferenciar el nombre de la variable y el contenido que ésta tiene en un momento determinado.
    • A todos los campos se les asigna una única dirección de memoria, que le permite a la computadora llevar información al campo desde un medio externo, sacar información desde memoria y representarla en un medio de salida.
    • Las direcciones de memoria son asignadas después de la compilación; en esta fase se asignan
    • los valores de los campos constantes. A las variables, aunque tienen asignadas sus direcciones de memoria, se les da valor en la etapa de ejecución; antes de ésta los campos variables tienen un valor indeterminado (basura).

    Definición de algoritmo:
    Barber y Ferris() lo definen como “El conjunto finito de pasos y acciones que especifican de forma clara y concisa (sin ambigüedades) la secuencia de operaciones a realizar para procesar adecuadamente unos datos con un determinado objetivo”.
    La definición de la Real Academia: “Conjunto ordenado y finito de operaciones que permiten resolver un problema”.
    Lopez (2009) lo define como : “los Algoritmos son una herramienta que permite describir claramente un conjunto finito de instrucciones, ordenadas secuencialmente y libres de ambigüedad, que debe llevar a cabo un computador para lograr un resultado previsible.”.
    Lo define como “una secuencia precisa de operaciones (pasos) que resuelven un problema en un tiempo finito”.
    También existen otras definiciones que dice “es un método para resolver un problema mediante una secuencia de pasos bien definidos, ordenados y finitos.”
    Balderrama (s/f) recoge la definición de varios autores:
    ·                     “Un Algoritmo es una secuencia de operaciones detalladas y no ambiguas, que al ejecutarse paso a paso, conducen a la solución de un problema”. En otras palabras es un conjunto de reglas para resolver una cierta clase de problema.
    ·                     “Algoritmo es un conjunto de instrucciones que especifican la secuencia de operaciones a realizar, en orden, para resolver un sistema específico o clase de problema”.
    ·                     “Un Algoritmo es la aplicación de pasos lógicos, secuenciales y metódicamente aplicados para dar solución a un problema en cuestión.” En otras palabras un algoritmo es una fórmula para resolver problemas.
    ·                     “En otras palabras un algoritmo es una formula para la solución de un problema.”
    ·                     “Todo problema se puede describir por medio de un algoritmo “

    Pasos a realizar para desarrollar un algoritmo
    ·                     Problema 
    ·                     Análisis del Problema 
    ·                     Formulación  del procedimiento para resolverlo.
    ·                     Descripción del Procedimiento
    ·                     Ejecución del    procedimiento 
    ·                     Solución
    Características De Los Algoritmos.

    Los algoritmos son independientes del lenguaje de programación que los ejecuta.
    Las propiedades de un algoritmo son las siguientes:

    a) El algoritmo debe ser preciso e indicar el orden de realización de cada paso.
    b) El algoritmo debe ser definido, si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
    c) El algoritmo debe ser finito, si se sigue un algoritmo se debe terminar en algún momento; o sea debe tener un número finito de pasos.
    d) Debe ser eficiente y rápido.


    El estilo y calidad de los algoritmos van fuertemente unidos, ante la pregunta “¿Cuáles son las características de un buen algoritmo?” la respuesta identifica los factores de calidad de los algoritmos.

    • Corrección: el algoritmo debe funcionar.
    • Eficiencia : el algoritmo no debe desaprovechar recursos.
    • Claridad : el algoritmo debe estar bien documentado.

    Representación de algoritmos.

    Diagramas de flujo: son representaciones gráficas de secuencias de paso a realizar, sus líneas de flujo indican el orden de ejecución.

    Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programación, muy parecido al lenguaje natural.

    2.4 Clasificación De Los Algoritmos
    Se puede clasificar tomando en cuenta dos aspectos.
    • Secuenciales
    • Condicionales
    • Repetitivos


    Estructura secuencial:

    Es aquella donde un conjunto de instrucciones se ejecutan una tras otra de arriba hacia abajo.

    Ejemplo:

    Calcular un número en pulgadas dado el registro por teclado de su equivalente en centímetros.

    Inicio
    1.- 'Imprimir el número en centímetros'
    2.- Leer valor
    3.- Calcular equivalente = valor / 2.54
    4.- 'Imprimir el valor en pulgadas es = ' , equivalente
    Fin


     Partes de un algoritmo
    En esta parte de la clase se explicaron las partes de un algoritmo, junto con diversos ejemplos para tratar de identificarlas ya en el código Javascript.
    ·         Entrada de datos 
    ·         Procesamiento de los datos 
    ·         Salida de los resultados



    Traza de un algoritmo
     (corrida en frío).


    •  La traza de un algoritmo indica la secuencia (instrucciones) de su ejecución, así como, el valor de las variables del algoritmo (o programa) después de cada acción (instrucción).
    • Simula en papel la ejecución de un programa en un computador.
    • Visualiza la evolución temporal de las variables en un algoritmo.
    • Permite comprobar que el resultado de un algoritmo se corresponde con la salida deseada.
    Definimos una variable, la función de la variable dentro del algoritmo y sus valores iniciales y finales.

    Ejemplo:  Cálculo de la longitud de una circunferencia.

                    Algoritmo: Cálculo
                                     variable1: pi: 3,14159
                                     variables  r,resultado
                    Escribir ("  Introduzca el radio de la circunferencia")
                    Leer r
                    Resultado = 2 pi * r
                    escribir (" Su longitud es ",  Resultado)
                fin algoritmo.





    Características de un algoritmo
    Estas son las características que debe tener un algoritmo. Algunas de ellas ya las hemos mencionado. Te darás cuenta que la mayoría son de sentido común.
    Estar bien detallado:
    No nos olvidemos que a los ordenadores hay que darles todos los pasos, uno a uno, sin olvidar u obviar ninguno de ellos, porque por si solos no son capaces de entender nada.

    Estar bien ordenado:
    Lógicamente, un algoritmo tiene unos pasos a ser realizados en una secuencia. Pensemos en el algoritmo de beber agua. ¿Qué os parece si después de sacar el vaso del armario de la cocina me lo llevo directamente a la boca para beber?

    Tener un principio y un fin:
    Tenemos que empezar por algún lugar y terminar en un número finito de pasos, si no, no es un algoritmo. Si nunca acaba nuestro proceso soy incapaz de llegar al final y por tanto no obtengo el resultado deseado, con lo que no se cumple la definición de algoritmo.

    Ser fiable:
    Este punto incluye muchas cosas, como que el algoritmo resuelva los problemas sin errores y también que una misma entrada de datos produzca una misma salida. Si estamos haciendo el algoritmo del área de un cuadrado y para un cuadrado de 2 metros una vez calculamos el área como 2 metros cuadrados y otras veces como 4 metros cuadrados, habrá algo que hemos hecho mal.

    Instrucciones Algorítmicas Básicas

    Existen tres instrucciones algorítmicas básicas que son las siguientes 

    . Entrada
    Consiste en obtener un dato de un dispositivo de entrada, como el teclado, y almacenarlo en una variable. En general, la acción de ingresar un dato a una variable se expresa en el pseudocódigo mediante la palabra LEER, de la siguiente forma:
    LEER variable
    Por ejemplo, la instrucción:
    LEER estatura
    Solicita el ingreso de un valor, desde algún dispositivo de entrada (como el teclado), para la variable estatura.
    . Salida
    Consiste en mostrar el valor de una variable en un dispositivo de salida, como la pantalla.
    En general, la acción de mostrar el valor de una variable se expresa en el pseudocódigo mediante la palabra IMPRIMIR de la siguiente forma:
    IMPRIMIR variable
    Por ejemplo, la instrucción:
    IMPRIMIR importeCompra
    Muestra, en algún dispositivo de salida (como la pantalla), el valor de la variable importeCompra.
    . Asignación
    Consiste en asignar a una variable el valor de una expresión. La expresión puede ser una simple variable, un simple literal o una combinación de variables, literales y operadores. La asignación se expresa en el pseudocódigo de la siguiente forma:
    variable = expresión
    Donde variable y el valor de expresión deben tener el mismo tipo de dato.
    Cuando se asigna un valor ENTERO a una variable REAL, entonces el valor ENTERO se convertirá en REAL antes de almacenarse. Así, al asignar el valor ENTERO 25 a una variable REAL, se almacenará 25.0.

    . Expresiones Aritméticas
    Una expresión aritmética es una combinación de variables, literales y operadores aritméticos.
    . Operadores Aritméticos
    En la tabla que sigue se muestran los operadores aritméticos que vamos a utilizar.
    Tabla 1.1 Operadores aritméticos
    Operador
    Significado
    Ejemplo
    +
    Suma
    a+b
    -
    Resta
    a-b
    *
    Multiplicación
    a*b
    /
    División
    a/b
    %
    Residuo
    a%b



    Los operadores aritméticos pueden utilizarse con tipos enteros y reales. Si en una operación con dos operandos, ambos operandos son enteros, el resultado es un entero; si alguno de ellos es real, el resultado es real. Así, 15/4 es 3 y no 3.75; en cambio, 15.0/4 es 3.75.
    . Reglas de jerarquía de los operadores aritméticos
    Cuando una expresión aritmética tiene más de un operador aritmético, el orden de aplicación de los operadores sigue un orden preciso determinado por las reglas de jerarquía de los operadores aritméticos, que se muestran en la siguiente tabla:
    Tabla 1.2 Reglas de jerarquía de los operadores aritméticos
    Operador
    Orden de evaluación
    ()
    Se evalúan en primer lugar
    *, /, %
    Se evalúan en segundo lugar
    +, -
    Se evalúan en tercer lugar

    Si existen paréntesis anidados, se evalúa primero la expresión en el par más interno. Si varios operadores o paréntesis tienen la misma jerarquía, la evaluación será de izquierda a derecha.

    Tabla 1.3 Operadores relacionales
    Operador
    Significado
    Ejemplo
    mayor que
    a > b
    >=
    mayor o igual que
    a >= b
    menor que
    a < b
    <=
    menor o igual que
    a <= b
    ==
    igual a
    a == b
    !=
    diferente de
    a != b



    Traza de un algoritmo (corrida en frío).

    ¿Qué es la traza (de un algoritmo)?
    La traza de un algoritmo (o programa) indica la secuencia de acciones (instrucciones) de su ejecución, así como, el valor de las variables del algoritmo (o programa) después de cada acción (instrucción).




    Algoritmos no computacionales 

    a)Algoritmo para comenzar a trabajar en el computador 

    Inicio
    Conectar el cable del regulador en el enchufe. 
    Prender el regulador. Oprimir el botón de encendido del computador. 
    Oprimir el botón de encendido del monitor. 
    Esperar que inicie el sistema operativo. 
    Comenzar a trabajar en el computador 
    Fin 

    b)Algoritmo para cambiar un caucho espichado 

    Inicio 
    Aflojar los tornillos del caucho espichado con la llave inglesa. 
    Ubicar el gato mecánico en el sitio respectivo. 
    Levantar el gato hasta que la rueda pinchada pueda girar libremente.
    Quitar los tornillos y el caucho espichado. 
    Poner el caucho de repuesto y los tornillos. 
    Bajar el gato. 
    Sacar el gato de  su sitio. 
    Apretar los tornillos con la llave inglesa. 
    Fin 

    c)Algoritmo para realizar una llamada telefónica 

    Inicio 
    Descolgar el auricular 
    Esperar el tono 
    Marcar el número 
    Esperar que contesten 
    Hablar 
    Colgar el auricular
    Fin


    Algoritmos Computacionales 

    d)Algoritmo para convertir horas a minutos 

    Inicio 
    Leer horas 
    minutos←horas*60 
    Escribir minutos 
    Fin

     e)Algoritmo para determinar el promedio de 4 calificaciones

    Inicio 
    Leer nota1,nota2,nota3,nota4 
    promedio=(nota1+nota2+nota3+nota4)/4 
    Escribir promedio 
    Fin

    f)Algoritmo para calcular el área de un cuadrado 

    Inicio
    Leer lado
    area=lado * lado 
    Escribir área 
    Fin 






    Comentarios

    Entradas populares de este blog