PDF de programación - Introducción a la algorítmica

Imágen de pdf Introducción a la algorítmica

Introducción a la algorítmicagráfica de visualizaciones

Publicado el 22 de Mayo del 2018
1.080 visualizaciones desde el 22 de Mayo del 2018
422,1 KB
66 paginas
Creado hace 24a (26/01/2000)
Introducción
a la algorítmica

Jordi Àlvarez Canal
Josep Vilaplana Pastó

PID_00149893

© FUOC • PID_00149893

Índice

Introducción a la algorítmica

Introducción ..........................................................................................

Objetivos ..................................................................................................

1. Objetos elementales del lenguaje algorítmico..........................
1.1. Tipos elementales ..........................................................................
1.1.1. Tipo booleano ....................................................................
1.1.2. Tipo carácter.......................................................................
1.1.3. Tipo entero .........................................................................
1.1.4. Tipo real .............................................................................
1.2. Declaración de objetos ..................................................................
1.3. Expresiones ....................................................................................
1.3.1. Sintaxis ...............................................................................
1.3.2. Evaluación..........................................................................
1.4. Definición de tipos. Tipos enumerativos ......................................
1.5. Funciones de conversión de tipos .................................................

2. Especificación de algoritmos ........................................................
2.1. Algoritmo y cambio de estado.......................................................
2.2. ¿Qué significa especificar? ..............................................................
2.3. Elementos de la especificación ......................................................
2.4. Especificación y comentarios ........................................................
2.5. Ejemplos de especificación ............................................................
2.5.1.
Intercambio de dos variables .............................................
2.5.2. Raíz cuadrada .....................................................................
2.5.3. Raíz cuadrada entera ..........................................................
2.5.4. Cociente y residuo..............................................................
2.5.5. Número de divisores ..........................................................

3. Estructuras algorítmicas................................................................
3.1. Estructura general de un algoritmo...............................................
3.2. Acciones elementales.....................................................................
3.2.1. La asignación......................................................................
3.3. Composición de acciones..............................................................
3.3.1. Composición secuencial ....................................................
3.3.2. Composición alternativa....................................................
3.3.3. Composición iterativa........................................................

4. Acciones y funciones .......................................................................
4.1. Acciones.........................................................................................
4.2. Parámetros .....................................................................................
4.3. Funciones.......................................................................................

5

7

9
9
10
11
12
13
14
15
16
17
18
19

20
20
21
24
25
26
26
26
27
27
27

28
28
30
30
32
32
35
38

44
45
47
50

© FUOC • PID_00149893

Introducción a la algorítmica

4.4. Acciones y funciones predefinidas ................................................
4.4.1. Funciones de conversión de tipos......................................
4.4.2. Acciones y funciones de entrada y salida de datos............

52
52
52

Resumen...................................................................................................

55

Ejercicios de autoevaluación ..............................................................

57

Solucionario............................................................................................

60

Glosario....................................................................................................

64

Bibliografía ............................................................................................

65

© FUOC • PID_00149893

Introducción

5

Introducción a la algorítmica

Este módulo introduce el lenguaje algorítmico que utilizaremos para expresar
nuestros primeros algoritmos. En los módulos siguientes veremos, a medida
que vayamos introduciendo otros conceptos, ampliaciones de este lenguaje.

El aprendizaje de la programación empieza por llevar a cabo acciones sencillas
con algunas herramientas básicas y, una vez asimiladas, progresamos acumu-
lando nuevos conocimientos más complejos y avanzados con las herramien-
tas correspondientes. Es necesario hacer este proyecto de forma gradual y a
medida que los conceptos más sencillos están bien asimilados. Por eso, es im-
portante dominar los temas de cada módulo y, especialmente de éste, que es
la base de los que vienen a continuación.

Algunos de vosotros todavía os preguntaréis por qué tenemos que utilizar un
lenguaje diferente del que usamos habitualmente: catalán, castellano, inglés,
etc. Así, por ejemplo, tenemos que un libro de recetas de cocina es en realidad
un libro de algoritmos, donde el estado inicial de cada algoritmo presentado
consiste en tener los ingredientes al alcance (y los recursos necesarios para co-
cinarlos) y el estado final es la presencia en la mesa de un plato con el que nos
podemos chupar los dedos (o eso dice el autor del libro).

Un libro de cocina está escrito en lenguaje natural: catalán, castellano, inglés...
Así pues, ¿por qué no describimos también nosotros los algoritmos en lengua-
je natural?

Se dan dos importantes factores para no hacerlo. En primer lugar, el lenguaje
natural presenta a menudo ambigüedades que dificultan la comprensión del
mensaje que debemos transmitir. Esto nos podría llevar muchas veces a malas
interpretaciones de algoritmos. Evidentemente, podemos intentar no ser am-
biguos y lo podemos conseguir (con bastante esfuerzo algunas veces).

Sin embargo, hay un factor más importante. Imaginad que queremos hacer una
fideuà (guiso de fideos con caldo de pescado). Como precondición, tendremos
que disponer de todos los ingredientes, utensilios necesarios y elementos com-
bustibles (gas, leña, etc.). Hasta aquí, ningún problema.

Comenzamos a describir el algoritmo. En primer lugar tenemos que trocear
media cabeza de ajos. ¿Qué significa trocear? ¿Qué medida deben tener los tro-
citos resultantes? Más adelante, el algoritmo nos indica que tenemos que po-
ner una sartén con cuatro cucharaditas de aceite de oliva en el fuego, entre
bajo y medio, y freír el ajo que tenemos troceado. ¿Qué quiere decir exacta-
mente entre bajo y medio? Cuando éste esté un poco dorado (no demasiado),
tenemos que añadirle el tomate (que tendremos pelado y troceado previamen-
te). Bien, ¿cuándo está el ajo un poco dorado, pero no mucho?

© FUOC • PID_00149893

6

Introducción a la algorítmica

Todas estas preguntas las puede responder con seguridad una persona que esté
acostumbrada a cocinar; pero una persona que no haya cocinado nunca en su
vida será incapaz de ejecutar el algoritmo correctamente (será incapaz incluso
de entenderlo).

Entonces, ¿hasta qué nivel tenemos que describir el algoritmo? Evidentemente,
depende de a quién se lo estemos explicando. Éste es el segundo problema im-
portante con que nos encontraremos si utilizamos el lenguaje natural para des-
cribir algoritmos.

Por estas dos razones (ambigüedad y dependencia del interlocutor), necesita-
mos definir otro lenguaje que disponga de una sintaxis reducida, simple y pre-
cisa que permita expresar algoritmos sin ambigüedades y con la claridad y
precisión necesarias para que puedan ser interpretados por cualquier procesa-
dor sin presuponer ningún conocimiento previo por su parte. Éste será nues-
tro lenguaje algorítmico.

También debéis daros cuenta de que utilizar el lenguaje algorítmico para des-
cribir nuestros diseños hace que, al mismo tiempo, obtengamos una ventaja
adicional. Este lenguaje teórico nos da la suficiente generalidad como para que
lo podamos utilizar para describir cualquier tipo de algoritmo sin tener que
preocuparnos de su posterior codificación en un entorno concreto. Si apren-
demos a diseñar algoritmos en este lenguaje genérico, después no nos debe
costar demasiado codificarlos en el lenguaje de programación que el entorno
en que estamos trabajando requiera, siempre que se trate de un lenguaje im-
perativo y procedimental.

En el mercado hay muchos lenguajes de programación y, seguramente, nece-
sitaréis utilizar más de uno (incluso algunos que todavía ni siquiera existen)
en vuestra práctica profesional. Una asignatura de programación como ésta
pretende que aprendáis a programar en el paradigma de la programación im-
perativa, independientemente del lenguaje en que finalmente lo hagamos.
Ésta es precisamente la otra ventaja que nos da el lenguaje algorítmico: es su-
ficientemente genérico como para que la metodología que aprenderemos no
esté relacionada con ningún lenguaje concreto y, a la vez, para que nos permi-
ta fácilmente codificar los diseños en cualquiera de los lenguajes de programa-
ción estructurada que se encuentran en el mercado. Los diseños que hacemos
nos servirán siempre para aplicarlos al lenguaje de programación que tenga-
mos que utilizar en cada momento, sólo tendremos que aprender las particu-
laridades del lenguaje de programación concreto.

Finalmente, este módulo también nos introduce en la especificación de algorit-
mos. Recordad que ya hemos dicho en el módulo de in
  • Links de descarga
http://lwp-l.com/pdf11221

Comentarios de: Introducción a la algorítmica (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad