PDF de programación - Lenguaje de Diseño

Imágen de pdf Lenguaje de Diseño

Lenguaje de Diseñográfica de visualizaciones

Publicado el 24 de Junio del 2018
439 visualizaciones desde el 24 de Junio del 2018
529,4 KB
64 paginas
Creado hace 9a (01/01/2015)
Lenguaje De Diseño

Introducción a la Programación - Introducción a la Computación - Fundamentos de la Informática

(T.U.M - T.U.G.- Prof. Tec. Electr.- T.U.E - T.U.T - T.U.R - T.U.W - Ing. Electr.)

Área de Servicios - Departamento de Informática - Universidad Nacional de San Luis

Fund. de la Inf.-Int. a la Comp.-Int. a la Prog.(Ing. Electr., TUW, TUR, TUM, TUE, TUG, Prof. Tec. Electr.,TUT)

Índice general

1. LENGUAJE DE DISE ÑO DE ALGORITMOS

1.1. INTRODUCCI ÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. FACILIDADES PROVISTAS POR UN LENGUAJE DE DISEÑO . . . . . . . .
1.3. FORMALIZACI ÓN DE ALGORITMOS . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1. Formalización del Ambiente de un Problema . . . . . . . . . . . . . . . . . .
1.3.2. Prueba de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.3. Precisiones acerca de los Objetos . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. EXPRESIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1. Expresiones Aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2. Expresión Relacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3. Expresiones Lógicas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.4. Asignación Caracter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5. ACCIONES PRIMITIVAS DE ENTRADA - SALIDA DE DATOS . . . . . . . .
1.5.1. Entrada de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2. Salida de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6. ESTRUCTURAS DE CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.1.
1.6.2. La Estructura de Control Secuencial
. . . . . . . . . . . . . . . . . . . . . .
1.6.3. La Estructura de Control Condicional . . . . . . . . . . . . . . . . . . . . . .
1.6.4. Estructura de Control de Repetición . . . . . . . . . . . . . . . . . . . . . .

2. ESTRUCTURACI ÓN DE DATOS

2.1. INTRODUCCI ÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. ARREGLO LINEAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. Operaciones con arreglos: Asignación y recuperación de valores . . . . . . . . .

3. SUBALGORITMOS

3.1. INTRODUCCI ÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. DEFINICI ÓN DE SUBALGORITMOS . . . . . . . . . . . . . . . . . . . . . . . . . .
INVOCACI ÓN Y RETORNO DE SUBALGORITMOS . . . . . . . . . . . . . . . . .
3.3.
3.4. ANEXO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3
4
4
7
8
9
10
15
18
19
19
19
20
21
21
22
22
29

33
33
33
39

43
43
44
45
61

Área de Servicios

2015

Pág. - 1

Fund. de la Inf.-Int. a la Comp.-Int. a la Prog.(Ing. Electr., TUW, TUR, TUM, TUE, TUG, Prof. Tec. Electr.,TUT)

Capítulo 1

LENGUAJE DE DISE ÑO DE ALGORITMOS

1.1.

INTRODUCCI ÓN

Un programa es un modelo de resolución de un problema escrito en un lenguaje de programación.
De la definición anterior se desprende que escribir un programa implica:

1. Obtener una solución de un problema.
2. Expresar esta solución en un lenguaje de programación.

En general se puede decir que existe una distancia o diferencia entre lo que se podría denominar
el lenguaje del problema y el lenguaje de programación, en el sentido que el primero resulta
menos rígido y con más posibilidades de expresión que el segundo.

El objetivo fundamental de un lenguaje de diseño es ser comprensible para las personas que van
a interpretar los algoritmos escritos en él, mientras que el fin último de un lenguaje de programación
es ser comprensible por la computadora que va a ejecutar el programa.

La finalidad de un lenguaje de diseño es brindar una herramienta que sirva de apoyo para el desa-
rrollo de algoritmos. La idea es no sumar, a la complejidad del problema, las limitaciones impuestas
por una notación estricta. Además, en muchas aplicaciones, es importante conseguir un algoritmo
independiente del lenguaje de programación o lenguaje de implementación.

En general, cada programador, de acuerdo con su experiencia y habilidad, encontrará más expresiva
una notación u otra. Imponer una notación específica, si bien, en parte implica contradecir los objetivos
iniciales que justificaron el uso de los lenguajes de diseño, con la finalidad de comunicarnos, durante
lo que resta del desarrollo del curso, necesitamos establecer algunas pautas para el lenguaje de diseño
de algoritmos que usaremos.

1.2. FACILIDADES PROVISTAS POR UN LENGUAJE DE DISE ÑO

Los objetivos básicos de un lenguaje de diseño son:

1. Servir de apoyo durante el proceso de resolución de un problema.

Área de Servicios

2015

Pág. - 2

Fund. de la Inf.-Int. a la Comp.-Int. a la Prog.(Ing. Electr., TUW, TUR, TUM, TUE, TUG, Prof. Tec. Electr.,TUT)

2. Servir como etapa previa al proceso de codificación. La tarea de traducción del lenguaje de

diseño a cualquier lenguaje de programación no debería ser muy complicada.

3. En los proyectos de desarrollo de software, en los que intervienen varias personas, el lenguaje de
diseño debería permitir que cada una de ellas pueda tener una visión global del trabajo de los
demás, difícil de conseguir analizando directamente los programas del resto del grupo.

4. Como los lenguajes de programación proveen diferentes conjuntos de primitivas y la traducción
al lenguaje de programación es posterior al diseño, podemos elegir el lenguaje de programación
apropiado según el conjunto de primitivas requerido.

Nuestra intención será, entonces, proponer un lenguaje de diseño de algoritmos que sirva de
apoyo para la resolución de problemas y pueda ser traducido, en forma sistemática, a un programa.

1.3. FORMALIZACI ÓN DE ALGORITMOS

Previo a la definición de nuestro lenguaje de diseño, necesitaremos precisar algunos conceptos. De
ahora en adelante, el (procesador), como lo hemos definido en nuestro contexto, es equivalente a una
computadora. La construcción del algoritmo es la etapa más dificultosa y, en éste y los próximos
capítulos, daremos las herramientas básicas necesarias.

Las computadoras, como ya fue indicado, no pueden ejecutar directamente los algoritmos en forma
literal como los venimos tratando. Es necesario codificarlos en un lenguaje de programación. En la ma-
yor de los casos, la codificación no presenta grandes dificultades ya que, los lenguajes de programación
tienden, cada vez más, a la formalización que se propone, cambiando esencialmente su sintaxis.

1.3.1. Formalización del Ambiente de un Problema

Lo primero a considerar en el proceso de resolución de problemas es la formalización de su ambiente.
Vamos a definir un conjunto de reglas que nos permitirán describir, con precisión y sin ambig¨uedad,
los objetos del universo de un problema.

Una característica que diferencia entre sí a los objetos, es que cada uno tiene un nombre que lo
identifica unívocamente, o sea, si queremos citar diferentes objetos, damos una lista de sus nombres o
identificadores.

Además, cada objeto tiene un uso específico que no se puede intercambiar. En el ejemplo de la
calculadora, dado anteriormente, las teclas <dig> y <C>, tienen usos completamente diferentes; sin
embargo las teclas <1>, <2>,...., <0> si bien su uso es diferente (no es lo mismo oprimir la tecla
<1> que la tecla <2>), tienen una utilidad similar (sirven para oprimir dígitos).

Podemos decir que cada objeto tiene un tipo particular que indica características comunes a todos
los estados posibles del objeto.

Los objetos más simples con los cuales nosotros trabajaremos durante el curso
son los objetos numéricos: enteros y reales; los lógicos y los caracteres.

Otra característica importante de los objetos es su valor .

Área de Servicios

2015

Pág. - 3

Fund. de la Inf.-Int. a la Comp.-Int. a la Prog.(Ing. Electr., TUW, TUR, TUM, TUE, TUG, Prof. Tec. Electr.,TUT)

En cada instante, todo objeto del ambiente tiene un valor, para algunos objetos, este valor puede
cambiar luego de la ejecución de una acción.

Continuando con el ejemplo de la calculadora, en la versión 1 del algoritmo, en la acción “oprimir
número”, el objeto “número” toma el valor 124 la primera vez que la acción es ejecutada, el valor 59
la segunda vez y, la última vez, el valor 3. También existen objetos cuyos valores nunca cambian, por
ejemplo, “oprimir <9>” el objeto 9 nunca cambia su valor.

Para resumir, podemos imaginarnos a los objetos de un ambiente como celdas rotuladas (por el nom-
bre), donde además las celdas tienen un tamaño determinado (según el tipo) y contienen una infor-
mación (un valor posible del conjunto de valores de un tipo dado)

128

a

NUMERO LETRA

Veamos un ejemplo para mostrar las características o atributos de los objetos del ambiente de un
problema.

Enunciado: Se tiene un objeto de nombre NUMERO, de tipo numérico, tal que su valor puede ser un
número entero positivo. Se quiere encontrar un algoritmo que determine el producto de los n primeros
números enteros positivos (es decir, el factorial de n = n!).

Las acciones primitivas que puede ejecutar el procesador son:

1. Dar un valor a un objeto.
2. Calcular la suma de dos números.
3. Calcular el producto de dos números.

El procesador además interpreta la condición: “un número es menor o igual que otro” y un esquema
repetitivo condicionado del tipo MIENTRAS <condición> HACER <acciones primitivas>
FINMIENTRAS la cual significa que el procesador ejecutará las acciones primitivas siempre que la
condición se cumpla.

Una vez planteado el problema y conociendo las acciones primitivas que puede reconocer el procesador
deberemos describir el ambiente sobre el cual trabajará.
  • Links de descarga
http://lwp-l.com/pdf12114

Comentarios de: Lenguaje de Diseño (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