

























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
ALGORITMOS Y PROGRAMAS PARA APLICAR
Tipo: Resúmenes
1 / 33
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!


























algoritmos y programas
1 er^ curso de administración de sistemas informáticos autor: Jorge Sánchez – www.jorgesanchez.net
Las mejoras que consiguió este modelo (entre otras) fueron:
ordenador pueda realizar más de una tarea)
secuenciales (aunque pueden incluir bifurcaciones y saltos).
El modelo no ha cambiando excesivamente hasta la actualidad de modo que el modelo actual de los ordenadores es el que se indica en la Ilustración 2. De los componentes internos del ordenador, cabe destacar el procesador (o microprocesador, muchas veces se le llama microprocesador término que hace referencia al tamaño del mismo e incluso simplemente micro ). Se trata de un chip que contiene todos los elementos de la Unidad Central de Proceso ; por lo que es capaz de realizar e interpretar instrucciones. En realidad un procesador sólo es capaz de realizar tareas sencillas como:
Ilustración 2, arquitectura de los ordenadores actuales
fundamentos de programación (Unidad 1) algoritmos y programas
En definitiva los componentes sobre los que actualmente se hace referencia son:
parte fundamental del ordenador, la encargada de realizar todas las tareas.
del ordenador, incluido el procesador.
digital que está conectado mediante tarjetas a la placa base. Su contenido se pierde cuando se desconecta al ordenador. Lo que se almacena no es permanente. Mientras el ordenador está funcionando contiene todos los programas y datos con los que el ordenador trabaja.
RAM, pero de velocidad mucho más elevada por lo que se utiliza para almacenar los últimos datos utilizados de la memoria RAM.
ranuras de expansión (también llamados puertos). Los hay de entrada (introducen datos en el ordenador: teclado, ratón, escáner,...), de salida (muestran datos desde el ordenador: pantalla, impresora, altavoces,...) e incluso de entrada/salida (módem, tarjeta de red).
sirven para almacenar de forma permanente los datos que se deseen del ordenador. Los principales son el disco duro (unidad de gran tamaño interna al ordenador), la disquetera (unidad de baja capacidad y muy lenta, ya en desuso), el CD-ROM y el DVD.
hardware
Se trata de todos los componentes físicos que forman parte de un ordenador (o de otro dispositivo electrónico): procesador, RAM, impresora, teclado, ratón,...
software
Se trata de la parte conceptual del ordenador. Es decir los datos y aplicaciones que maneja. De forma más práctica se puede definir como cualquier cosa que se pueda almacenar en una unidad de almacenamiento es software (la propia unidad sería hardware).
fundamentos de programación (Unidad 1) algoritmos y programas
Ilustración 3, Histórico de versiones de Windows
código fuente está a disposición de cualquier programador, lo que permite adecuar el sistema a las necesidades de cada usuario. Esta libertad ha hecho que posea numerosas distribuciones, muchas de ellas gratuitas. La variedad de distribuciones y opciones complica su aprendizaje al usuario inicial, pero aumenta las posibilidades de selección de un sistema adecuado. La sintaxis de Linux está basada en Linux, de hecho se trata de un Unix de código abierto pensado fundamentalmente para los ordenadores de tipo PC. Actualmente las distribuciones Linux más conocidas son:
1 er^ curso de administración de sistemas informáticos autor: Jorge Sánchez – www.jorgesanchez.net
Un ordenador maneja información de todo tipo. Nuestra perspectiva humana nos permite rápidamente diferenciar lo que son números, de lo que es texto, imagen,… Sin embargo al tratarse de una máquina digital, el ordenador sólo es capaz de representar números en forma binaria. Por ello todos los ordenadores necesitan codificar la información del mundo real a el equivalente binario entendible por el ordenador. Desde los inicios de la informática la codificación ha sido problemática y por la falta de acuerdo en la representación. Pero hoy día ya tenemos numerosos estándares. Fundamentalmente la información que un ordenador maneja es: Números y Texto. Cualquier otro tipo de información (imagen, sonido, vídeo,…) se considera binaria (aunque como ya hemos comentado, toda la información que maneja un ordenador es binaria).
En general, a lo largo de la historia han existido numerosos sistemas de numeración. Cada cultura o civilización se ha servido en la antigüedad de los sistemas que ha considerado más pertinentes. Para simplificar, dividiremos a todos los sistemas en dos tipos:
numérico es siempre el mismo independientemente de donde se sitúen. Es lo que ocurre con la numeración romana. En esta numeración el símbolo I significa siempre uno independientemente de su posición.
en función de la posición que ocupen. Es el caso de nuestra numeración, el símbolo 2 , en la cifra 12 vale 2 ; mientras que en la cifra 21 vale veinte.
1 er^ curso de administración de sistemas informáticos autor: Jorge Sánchez – www.jorgesanchez.net
conversión decimal a binario
El método más utilizado es ir haciendo divisiones sucesivas entre dos. Consiste en dividir el número decimal continuamente entre 2 tomando los restos a la inversa y el último cociente. Por ejemplo para pasar el 179:
179 2 (^1989) 1
2 (^0944) 1
2 (^0422) 0
2 02 11 0
2 1 5 2 1 2 2 0 1
Ahora las cifras binarias se toman al revés. Con lo cual, el número 10110011 es el equivalente en binario de 179. Otra posibilidad más rápida es mediante restas sucesivas. En este caso se colocan todas las potencias de dos hasta sobrepasar el número decimal. La primera potencia (el primer peso) que es menor a nuestro número será un 1 en el número binario. Se resta nuestro número menos esa potencia y se coge el resultado. Se ponen a 0 todas las potencias mayores que ese resultado y un 1 en la primera potencia menor. Se vuelve a restar y así sucesivamente. Ejemplo:
Número decimal: 179
Obtener potencias de 2 hasta sobrepasar el número: 1 2 4 8 16 32 64 128 256
Proceder a las restas (observar de abajo a arriba):
1 2 4 8 16 32 64 128 256
Potencias Pesos Restas 1 1 0 0 1 1 0 1 0 1- =
1 2
16
3 1
19 3 51
179 51
128
representación binaria de números negativos
Si se representan números negativos, entonces se debe dedicar un bit para el signo del número. En el caso de usar un byte para el número, el primer bit es el signo y los otros siete el valor absoluto.
fundamentos de programación (Unidad 1) algoritmos y programas
Así: 0 1 1 1 0 1 0 1 es el número 117 1 1 1 1 0 1 0 1 es el número -
El rango representable con 1 bit sería del -127 al 127. Hay otra posibilidad y es la representación en complemento a uno. En esta representación, a los números negativos se les invierten todos los bits. Ejemplo:
1 0 0 0 1 0 1 0 es el número -117 en complemento a uno
El problema en ambos casos es que hay dos representaciones para el número cero (la 00000000 y la 10000000) y por ello es más popular el complemento a dos. Esta forma consiste en sumar uno al complemento a uno. De este modo se añade al rango el número -128 que se representa como 10000000. Ejemplo de complemento a dos:
1 0 0 0 1 0 1 1 es el número -117 en complemento a dos
operaciones con números binarios
suma
La suma se efectúa igual que con los decimales, sólo que usando binarios según esta tabla:
Suma Resultado 0 + 0 0 0 + 1 1 1 + 0 1 1 + 1 0 (más un acarreo de 1)
Ejemplo:
1 0 1 0 1 0 1 0
1 1 1 1 1 0 0 1
resta
Funciona como la resta normal, los acarreos se ponen en el segundo número.
Suma Resultado 0 - 0 0 0 - 1 1 (más un acarreo de 1) 1 - 0 1 1 - 1 0
fundamentos de programación (Unidad 1) algoritmos y programas
Con números largos:
NOT^ 0 1^ 0 0^ 1 1^ 1 1
1 0 1 1 0 0 0 0
sistema octal
Un caso especial de numeración es el sistema octal. En este sistema se utiliza base ocho, es decir cifras de 0 a 7. Así el número 8 en decimal, pasa a escribirse 10 en octal. Lo interesante de este sistema es que tiene una traducción directa y rápida al sistema binario, ya que una cifra octal se corresponde exactamente con tres cifras binarias (tres bits). La razón es que el número ocho es 2^3. De ahí que tres bits signifique una cifra octal. Los números del 0 al 7 en octal pasados a binario quedarían así: Decimal Binario (tres bits) 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111
De este modo el número binario 1100011 , se agrupa de tres en tres (empezando por la derecha), es decir 1 100 011 y en octal quedaría: 143. Del mismo modo, el número octal 217 en binario es el 010 001 111
sistema hexadecimal
Se utiliza muchísimo en informática por razones parecidas al sistema octal. Es el sistema de numeración en base 16. Tiene la ventaja de que una cifra hexadecimal representa exactamente 4 bits (lo que comúnmente se conoce como un nibble ). De este modo 2 cifras hexadecimales representan un byte ( bits), que es la unidad básica para medir. Puesto que en nuestro sistema no disponemos de 16 cifras, sino solo de 10. se utilizan letras para representar los números del 10 al 15. Tabla:
Hexadecimal Decimal Binario (cuatro bits) 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000
1 er^ curso de administración de sistemas informáticos autor: Jorge Sánchez – www.jorgesanchez.net Hexadecimal Decimal Binario (cuatro bits) 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111
Así el número binario 10110011 se agruparía como 1011 0011 y sería el B3 en hexadecimal. A su vez el número hexadecimal CA quedaría 1100 1010
Puesto que una computadora no sólo maneja números, habrá dígitos binarios que contengan información que no es traducible a decimal. Todo depende de cómo se interprete esa traducción. Por ejemplo en el caso del texto, lo que se hace es codificar cada carácter en una serie de números binarios. El código ASCII ha sido durante mucho tiempo el más utilizado. Inicialmente era un código que utilizaba 7 bits para representar texto, lo que significaba que era capaz de codificar 127 caracteres. Por ejemplo el número 65 (1000001 en binario) se utiliza para la A mayúscula. Poco después apareció un problema: este código es suficiente para los caracteres del inglés, pero no para otras lenguas. Entonces se añadió el octavo bit para representar otros 128 caracteres que son distintos según idiomas (Europa Occidental usa unos códigos que no utiliza Europa Oriental). Eso provoca que un código como el 190 signifique cosas diferentes si cambiamos de país. Por ello cuando un ordenador necesita mostrar texto, tiene que saber qué juego de códigos debe de utilizar (lo cual supone un tremendo problema). Una ampliación de este método de codificación es el código Unicode que puede utilizar hasta 4 bytes (32 bits) con lo que es capaz de codificar cualquier carácter en cualquier lengua del planeta utilizando el mismo conjunto de códigos. Poco a poco es el código que se va extendiendo; pero la preponderancia histórica que ha tenido el código ASCII, complica su popularidad.
En el caso de datos más complejos (imágenes, vídeo, audio) se necesita una codificación más compleja. Además en estos datos no hay estándares, por lo que hay decenas de formas de codificar. En el caso, por ejemplo, de las imágenes, una forma básica de codificarlas en binario es la que graba cada píxel (cada punto distinguible en la imagen) mediante tres bytes: el primero graba el nivel de rojo, el segundo el nivel de azul y el tercero el nivel de verde. Y así por cada píxel. Por ejemplo un punto en una imagen de color rojo puro
11111111 00000000 00000000
1 er^ curso de administración de sistemas informáticos autor: Jorge Sánchez – www.jorgesanchez.net Los algoritmos son la base de la programación de ordenadores, ya que los programas de ordenador se puede entender que son algoritmos escritos en un código especial entendible por un ordenador. Lo malo del diseño de algoritmos está en que no podemos escribir lo que deseemos, el lenguaje ha utilizar no debe dejar posibilidad de duda, debe recoger todas las posibilidades. Por lo que los tres pasos anteriores pueden ser mucho más largos: Comprobar si hay bombillas de repuesto [1.1] Abrir el cajón de las bombillas [1.2] Observar si hay bombillas Si hay bombillas: [1.3] Coger la bombilla [1.4] Coger una silla [1.5] Subirse a la silla [1.6] Poner la bombilla en la lámpara Si no hay bombillas [1.7] Abrir la puerta [1.8] Bajar las escaleras....
Cómo se observa en un algoritmo las instrucciones pueden ser más largas de lo que parecen, por lo que hay que determinar qué instrucciones se pueden utilizar y qué instrucciones no se pueden utilizar. En el caso de los algoritmos preparados para el ordenador, se pueden utilizar sólo instrucciones muy concretas.
características que deben de cumplir los algoritmos obligatoriamente
Lógicamente no sirve un algoritmo que no resuelve ese problema. En el caso de los programadores, a veces crean algoritmos que resuelven problemas diferentes al planteado.
escriben para poder ser utilizados en cualquier máquina.
deben de ser exactos, de manera rigurosa. No es válido un algoritmo que sólo aproxime la solución.
momento. No es un algoritmo válido aquel que produce situaciones en las que el algoritmo no termina.
ejecución las veces que haga falta. No son válidos los que tras ejecutarse una vez, ya no pueden volver a hacerlo por la razón que sea.
fundamentos de programación (Unidad 1) algoritmos y programas
características aconsejables para los algoritmos
resolver el problema para el que se planteó y sin embargo no ser válido debido a que posee errores
en poco tiempo. No lo es si es lento en obtener el resultado.
contiene errores. La búsqueda de este algoritmo es el objetivo prioritario del programador. No siempre podemos garantizar que el algoritmo hallado es el óptimo, a veces sí.
instrucciones que permite a un ordenador realizar funciones diversas, como el tratamiento de textos, el diseño de gráficos, la resolución de problemas matemáticos, el manejo de bancos de datos , etc. Pero normalmente se entiende por programa un conjunto de instrucciones ejecutables por un ordenador. Un programa estructurado es un programa que cumple las condiciones de un algoritmo (finitud, precisión, repetición, resolución del problema,...)
documentación de los mismos y los archivos necesarios para su funcionamiento, de modo que el conjunto completo de archivos forman una herramienta de trabajo en un ordenador.
Normalmente en el lenguaje cotidiano no se distingue entre aplicación y programa; en nuestro caso entenderemos que la aplicación es un software completo que cumple la función completa para la que fue diseñado, mientras que un programa es el resultado de ejecutar un cierto código entendible por el ordenador.
Los primeros ordenadores cumplían una única programación que estaba definida en los componentes eléctricos que formaban el ordenador.