PDF de programación - Lenguaje de Diseño - Introducción a la programación - Introducción a la computación - Fundamentos de la informática

Imágen de pdf Lenguaje de Diseño - Introducción a la programación - Introducción a la computación - Fundamentos de la informática

Lenguaje de Diseño - Introducción a la programación - Introducción a la computación - Fundamentos de la informáticagráfica de visualizaciones

Publicado el 24 de Junio del 2018
737 visualizaciones desde el 24 de Junio del 2018
446,9 KB
65 paginas
Creado hace 8a (14/09/2015)
Lenguaje De Dise˜no

Int. a la Programaci´on - Int. a la Computaci´on

Fundamentos de la Inform´atica

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

Ing. Electr´onica

Universidad Nacional de San Luis

Departamento de Inform´atica

´Area de Servicios

A˜no 2015

´Indice general

1. LENGUAJE DE DISE ˜NO DE ALGORITMOS

1.1. INTRODUCCI ´ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. FACILIDADES PROVISTAS POR UN LENGUAJE DE DISE ˜NO . . . . . . . .
1.3. FORMALIZACI ´ON DE ALGORITMOS . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1. Formalizaci´on 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´eticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2. Expresi´on Relacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3. Expresiones L´ogicas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.4. Asignaci´on 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´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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´on . . . . . . . . . . . . . . . . . . . . . .

2. ESTRUCTURACI ´ON DE DATOS

2.1. INTRODUCCI ´ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. ARREGLO LINEAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. Operaciones con arreglos: Asignaci´on y recuperaci´on de valores . . . . . . . . .

3. SUBALGORITMOS

3.1. INTRODUCCI ´ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. DEFINICI ´ON DE SUBALGORITMOS . . . . . . . . . . . . . . . . . . . . . . . . . .
INVOCACI ´ON Y RETORNO DE SUBALGORITMOS . . . . . . . . . . . . . . . . .
3.3.
3.4. Ejemplo completo de Subalgoritmos con arreglos como par´ametros
. . . . . . . .

2
2
2
3
3
6
7
8
9
14
17
18
18
18
19
20
20
21
21
28

32
32
32
38

42
42
43
44
60

1

Cap´ıtulo 1

LENGUAJE DE DISE ˜NO DE ALGORITMOS

1.1.

INTRODUCCI ´ON

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

1. Obtener una soluci´on de un problema.
2. Expresar esta soluci´on en un lenguaje de programaci´on.

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´on, en el sentido que el primero resulta
menos r´ıgido y con m´as posibilidades de expresi´on que el segundo.

El objetivo fundamental de un lenguaje de dise˜no es ser comprensible para las personas que van
a interpretar los algoritmos escritos en ´el, mientras que el fin ´ultimo de un lenguaje de programaci´on
es ser comprensible por la computadora que va a ejecutar el programa.

La finalidad de un lenguaje de dise˜no 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´on estricta. Adem´as, en muchas aplicaciones, es importante conseguir un algoritmo
independiente del lenguaje de programaci´on o lenguaje de implementaci´on.

En general, cada programador, de acuerdo con su experiencia y habilidad, encontrar´a m´as expresiva
una notaci´on u otra. Imponer una notaci´on espec´ıfica, si bien, en parte implica contradecir los objetivos
iniciales que justificaron el uso de los lenguajes de dise˜no, con la finalidad de comunicarnos, durante
lo que resta del desarrollo del curso, necesitamos establecer algunas pautas para el lenguaje de dise˜no
de algoritmos que usaremos.

1.2. FACILIDADES PROVISTAS POR UN LENGUAJE DE DISE ˜NO

Los objetivos b´asicos de un lenguaje de dise˜no son:

1. Servir de apoyo durante el proceso de resoluci´on de un problema.

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´on. La tarea de traducci´on del lenguaje de

dise˜no a cualquier lenguaje de programaci´on no deber´ıa ser muy complicada.

3. En los proyectos de desarrollo de software, en los que intervienen varias personas, el lenguaje de
dise˜no deber´ıa permitir que cada una de ellas pueda tener una visi´on global del trabajo de los
dem´as, dif´ıcil de conseguir analizando directamente los programas del resto del grupo.

4. Como los lenguajes de programaci´on proveen diferentes conjuntos de primitivas y la traducci´on
al lenguaje de programaci´on es posterior al dise˜no, podemos elegir el lenguaje de programaci´on
apropiado seg´un el conjunto de primitivas requerido.

Nuestra intenci´on ser´a, entonces, proponer un lenguaje de dise˜no de algoritmos que sirva de
apoyo para la resoluci´on de problemas y pueda ser traducido, en forma sistem´atica, a un programa.

1.3. FORMALIZACI ´ON DE ALGORITMOS

Previo a la definici´on de nuestro lenguaje de dise˜no, necesitaremos precisar algunos conceptos. De
ahora en adelante, el (procesador), como lo hemos definido en nuestro contexto, es equivalente a una
computadora. La construcci´on del algoritmo es la etapa m´as dificultosa y, en ´este y los pr´oximos
cap´ıtulos, daremos las herramientas b´asicas 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´on. En la ma-
yor de los casos, la codificaci´on no presenta grandes dificultades ya que, los lenguajes de programaci´on
tienden, cada vez m´as, a la formalizaci´on que se propone, cambiando esencialmente su sintaxis.

1.3.1. Formalizaci´on del Ambiente de un Problema

Lo primero a considerar en el proceso de resoluci´on de problemas es la formalizaci´on de su ambiente.
Vamos a definir un conjunto de reglas que nos permitir´an describir, con precisi´on 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´as, 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´as simples con los cuales nosotros trabajaremos durante el curso
son los objetos num´ericos: enteros y reales; los l´ogicos y los caracteres.

Otra caracter´ıstica importante de los objetos es su valor .

´Area de Servicios - FCFMyN - UNSL

2015

P´ag. - 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´on de una acci´on.

Continuando con el ejemplo de la calculadora, en la versi´on 1 del algoritmo, en la acci´on “oprimir
n´umero”, el objeto “n´umero” toma el valor 124 la primera vez que la acci´on es ejecutada, el valor 59
la segunda vez y, la ´ultima vez, el valor 3. Tambi´en 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´as las celdas tienen un tama˜no determinado (seg´un el tipo) y contienen una infor-
maci´on (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´erico, tal que su valor puede ser un
n´umero entero positivo. Se quiere encontrar un algoritmo que determine el producto de los n primeros
n´umeros 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´umeros.
3. Calcular el producto de dos n´umeros.

El procesador adem´as interpreta la condici´on: “un n´umero es menor o igual que otro” y un esquema
repetitivo condicionado del tipo MIENTRAS <condici´on> HACER <acciones primitivas>
FINMIENTRAS la cual significa que el procesador ejecutar´a las acciones primitivas siempre que la
condici´on 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´a.

El ambiente consiste del objeto ya descripto NUMERO. El valor inicial de este objeto ha sido
determinado (en alg´un momento) y va a servir para la realizaci´on del c´alculo (establece hasta que
n´umero deber´e realizar los productos):

Si el valor inicial es 4, se calcular´a: 1 x 2 x 3 x 4 = 24 =
  • Links de descarga
http://lwp-l.com/pdf12113

Comentarios de: Lenguaje de Diseño - Introducción a la programación - Introducción a la computación - Fundamentos de la informática (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