Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


ALGORITMOS Y PROGRAMAS PARA APLICAR, Resúmenes de Matemáticas

ALGORITMOS Y PROGRAMAS PARA APLICAR

Tipo: Resúmenes

2018/2019

Subido el 19/06/2023

diego-ht-1
diego-ht-1 🇵🇪

4 documentos

1 / 33

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21

Vista previa parcial del texto

¡Descarga ALGORITMOS Y PROGRAMAS PARA APLICAR y más Resúmenes en PDF de Matemáticas solo en Docsity!

(1)

algoritmos y programas

  • (1.1) computadora y sistema operativo __________________________________ esquema de la unidad
    • (1.1.1) computadora
    • (1.1.2) hardware y software
    • (1.1.3) Sistema Operativo
  • (1.2) codificación de la información ______________________________________
    • (1.2.1) introducción
    • (1.2.2) sistemas numéricos
    • (1.2.3) sistema binario de numeración
    • (1.2.4) representación de texto en el sistema binario
    • (1.2.5) representación binaria de datos no numéricos ni de texto
    • (1.2.6) múltiplos para medir dígitos binarios
  • (1.3) algoritmos ________________________________________________________
    • (1.3.1) noción de algoritmo
    • (1.3.2) características de los algoritmos
    • (1.3.3) elementos que conforman un algoritmo
  • (1.4) aplicaciones ______________________________________________________
    • (1.4.1) programas y aplicaciones
    • (1.4.2) historia del software. La crisis del software
    • (1.4.3) el ciclo de vida de una aplicación
  • (1.5) errores ___________________________________________________________
  • (1.6) lenguajes de programación _______________________________________
    • (1.6.1) breve historia de los lenguajes de programación
    • (1.6.2) tipos de lenguajes
    • (1.6.3) intérpretes
    • (1.6.4) compiladores
  • (1.7) programación. tipos de programación ______________________________
    • (1.7.1) introducción
    • (1.7.2) programación desordenada
    • (1.7.3) programación estructurada
    • (1.7.4) programación modular
    • (1.7.5) programación orientada a objetos
  • (1.8) índice de ilustraciones _____________________________________________

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:

♦ Incluir el modelo de Programa Almacenado (fundamental para que el

ordenador pueda realizar más de una tarea)

♦ Aparece el concepto de Lenguaje de Programación.
♦ Aparece el concepto de programa como amo secuencia de instrucciones

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:

♦ Operaciones aritméticas simples: suma, resta, multiplicación y división
♦ Operaciones de comparación entre valores
♦ Almacenamiento de datos

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:

♦ Procesador. Núcleo digital en el que reside la CPU del ordenador. Es la

parte fundamental del ordenador, la encargada de realizar todas las tareas.

♦ Placa base. Circuito interno al que se conectan todos los componentes

del ordenador, incluido el procesador.

♦ Memoria RAM. Memoria principal del ordenador, formada por un circuito

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.

♦ Memoria caché. Memoria ultrarrápida de características similares a la

RAM, pero de velocidad mucho más elevada por lo que se utiliza para almacenar los últimos datos utilizados de la memoria RAM.

♦ Periféricos. Aparatos conectados al ordenador mediante tarjetas o

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

♦ Unidades de almacenamiento. En realidad son periféricos, pero que

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.

(1.1.2) hardware y software

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

♦ Linux. Sistema operativo de código abierto, lo que significa que el

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

  • Red Hat
  • Fedora (versión gratuita de Red Hat)
  • Debian
  • Ubuntu (variante de Debian de libre distribución, quizá el Linux más exitoso de la actualidad)
  • Mandriva
  • SUSE

(1.2) codificación de la información

(1.2.1) introducción

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

(1.2.2) sistemas numéricos

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:

♦ Sistemas no posicionales. En ellos se utilizan símbolos cuyo valor

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.

♦ Sistemas posicionales. En ellos los símbolos numéricos cambian de valor

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

  1. Obtener potencias de 2 hasta sobrepasar el número: 1 2 4 8 16 32 64 128 256

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

  • 32 = 19

128

  1. El número binario es el 10110011

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

  • (^) 0 1 0 0 1 1 1 1

1 1 1 1 1 0 0 1

111 acarreos

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

(1.2.4) representación de texto en el sistema binario

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.

(1.2.5) representación binaria de datos no numéricos ni de

texto

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.

(1.3.2) características de los algoritmos

características que deben de cumplir los algoritmos obligatoriamente

♦ Un algoritmo debe resolver el problema para el que fue formulado.

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.

♦ Los algoritmos son independientes del ordenador. Los algoritmos se

escriben para poder ser utilizados en cualquier máquina.

♦ Los algoritmos deben de ser precisos. Los resultados de los cálculos

deben de ser exactos, de manera rigurosa. No es válido un algoritmo que sólo aproxime la solución.

♦ Los algoritmos deben de ser finitos. Deben de finalizar en algún

momento. No es un algoritmo válido aquel que produce situaciones en las que el algoritmo no termina.

♦ Los algoritmos deben de poder repetirse. Deben de permitir su

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

♦ Validez. Un algoritmo es válido si carece de errores. Un algoritmo puede

resolver el problema para el que se planteó y sin embargo no ser válido debido a que posee errores

♦ Eficiencia. Un algoritmo es eficiente si obtiene la solución al problema

en poco tiempo. No lo es si es lento en obtener el resultado.

♦ Óptimo. Un algoritmo es óptimo si es el más eficiente posible y no

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

(1.3.3) elementos que conforman un algoritmo

♦ Entrada. Los datos iniciales que posee el algoritmo antes de ejecutarse.
♦ Proceso. Acciones que lleva a cabo el algoritmo.
♦ Salida. Datos que obtiene finalmente el algoritmo.

(1.4) aplicaciones

(1.4.1) programas y aplicaciones

♦ Programa. La definición de la RAE es: Conjunto unitario de

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,...)

♦ Aplicación. Software formado por uno o más programas, la

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.

(1.4.2) historia del software. La crisis del software

Los primeros ordenadores cumplían una única programación que estaba definida en los componentes eléctricos que formaban el ordenador.