PDF de programación - Usando Ada como Primer Lenguaje - Curso Práctico de Programación

Imágen de pdf Usando Ada como Primer Lenguaje - Curso Práctico de Programación

Usando Ada como Primer Lenguaje - Curso Práctico de Programacióngráfica de visualizaciones

Publicado el 14 de Mayo del 2019
1.456 visualizaciones desde el 14 de Mayo del 2019
723,1 KB
302 paginas
Creado hace 14a (29/09/2009)
Curso Práctico de Programación

???

Usando Ada como Primer Lenguaje

Francisco J Ballesteros

Copyright © 2009 Francisco J Ballesteros

A Esther.

Prefacio

Programar es una de las grandes cosas de la vida. Utilizar luego tus propios programas (como el

sistema operativo que estoy utilizando para escribir esto) es una satisfacción aún mayor.

Aprender a programar no es una tarea trivial, aunque puede resultar fácil con la ayuda adecuada. En
realidad programar es como cocinar. Hacen falta dos cosas para cocinar bien: Hacer muchos platos y ver
muchas veces cómo se hacen distintos platos. Con el tiempo, los errores cometidos se solucionan y las
técnicas que se ven en otros se aprenden.

La asignatura de Fundamentos de Programación para la que está escrito este libro tiene un fuerte
handicap: Sólo existe un cuatrimestre para impartirla. A pesar de que hoy en día no hay mucha distinción
entre Ingeniería de Telecomunicación e Ingeniería Informática en cuanto al tipo de trabajo que los titulados
realizan en la industria, esto no parece haberse notado en la universidad al realizar los planes de estudio.

Este libro pretender ir al grano a la hora de enseñar cómo programar. No es una descripción teórica
de la materia ni tampoco una colección de programas ya hechos para estudiar. El libro pretende enseñar,
desde cero, a personas que no sepan programar cómo programar en un lenguaje tipo Ada. Se intenta no sólo
describir los elementos básicos del lenguaje sino también plasmar el proceso mediante el cual se hacen los
programas, en lugar de mostrarlos una vez concluidos. En pocas palabras, el texto trata de ser una versión
escrita de las clases impartidas en la asignatura antes mencionada.

En ciertas ocasiones resulta necesario introducir ciertos conceptos antes de la realización de los pro-
gramas que aparecen en el texto. Cuando es así, los conceptos están marcados en negrita. Si se utiliza el
libro para repasar hay que comprobar que se conocen todos ellos antes de leer los programas o epígrafes
que los siguen.

Los términos en negrita constituyen en realidad el vocabulario básico que hay que conocer para
entender el resto del texto. Por cierto, utilizamos la itálica para referirnos a símbolos y palabras especiales.
En los ejemplos utilizamos una fuente monoespaciada cuando nos referimos a texto de un programa o del
ordenador en general. Siempre se usa ‘‘;’’ como símbolo del sistema (o prompt) en nuestros ejemplos.
Todo el texto que escribimos nosotros en el ordenador se presenta en texto ligeramente inclinado o
italizado. El texto escrito por el ordenador o por un programa se presenta siempre sin inclinar.

Hemos de decir que este libro no pretende enseñar a utilizar por completo el lenguaje Ada. Este es un
lenguaje que no se distingue precisamente por ser pequeño e incluye numerosas características. Aunque
hubiésemos preferido utilizar Pascal estándar, que es un lenguaje mucho más simple en tanto en cuanto no
incluye tantas posibilidades, Ada es un lenguaje mucho más vivo. Por lo tanto el texto se limita a enseñar
cómo utilizar un subconjunto de Ada similar a Pascal, lo que creemos es más conveniente para este curso
que abrumar al alumno con aún más conceptos de los que ya se incluyen.

El texto no incluye estructuras de datos no lineales, y sólo enseña los rudimentos de la programación
(la recursividad ni la mencionamos). Tras realizar este curso es preciso estudiar empleando un buen libro de
estructuras de datos y de algoritmos, y leer cuanto más código mejor (siempre que dicho código esté escrito
por buenos programadores y no por cualquiera que haya querido distribuir lo mejor que ha sabido hacer).

Los programas incluidos en el libro son manifiestamente mejorables. No obstante, entender las
mejoras requiere más práctica que la que puede obtenerse en un cuatrimestre de programación. Hemos
optado por intentar que se aprenda la mecánica habitual empleada para construir programas (si es que puede
denominarse mecánica a algo que en realidad no tiene reglas y es más parecido a un arte). Todos los progra-
mas que se incluyen están hechos pensando en esto.

La bibliografía, lejos de estar completa, se ha intentado mantener lo más pequeña posible. Dicho de
otro modo, la bibliografía indica aquellos libros que en nuestra opinión deberían leerse una vez terminado

el curso. Para una bibliografía completa siempre puede consultarse Google o utilizar la de los libros men-
cionados en la bibliografía.

Debo agradecer a Juan José Moreno y a José Manuel Burgos las clases de programación que me
dieron durante la carrera (allá por el triásico superior). A José Manuel Burgos debo agradecerle también la
ayuda prestada en la organización de este curso. Es uno de los mejores profesores que he conocido (¡Y no
hay muchos!).

Si algunas partes del texto son difíciles de entender o si hay errores o sugerencias agradecería que se

me indicara por correo electrónico.

Espero que todo esto resulte útil.

Francisco J. Ballesteros
[email protected]

Laboratorio de Sistemas,
Universidad Rey Juan Carlos de Madrid
Madrid, España
2009

Índice

Introducción a la programación
¿Qué es programar?
Programa para programar
Refinamiento del programa para programar
Algoritmos
Programas en Ada
¡Hola !

Elementos básicos
¿Por dónde empezamos?
Conjuntos y elementos
Operaciones
Expresiones
Otros tipos de datos
Años bisiestos
Más sobre expresiones
Atributos
Longitud de una circunferencia

Resolución de problemas
Problemas y funciones
Declaraciones
Problemas de solución directa
Subproblemas
Algunos ejemplos
Pistas extra

Problemas de selección
Decisiones
Múltiples casos
Punto más distante a un origen
Mejoras
¿Es válida una fecha?

Acciones y procedimientos
Efectos laterales
Variables
Asignación
Más sobre variables
Ordenar dos números cualesquiera
Procedimientos
Parámetros
Variables globales
Visibilidad y ámbito
Ordenar puntos

1
1
2
3
7
10
18

21
21
21
23
24
25
28
29
31
32

37
37
41
41
44
45
49

53
53
55
57
59
62

67
67
68
69
71
72
73
76
79
80
81

1.
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.

2.
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
2.9.

3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.

4.
4.1.
4.2.
4.3.
4.4.
4.5.

5.
5.1.
5.2.
5.3.
5.4.
5.5.
5.6.
5.7.
5.8.
5.9.
5.10.

5.11.

Resolver una ecuación de segundo grado

6.
6.1.
6.2.
6.3.
6.4.
6.5.
6.6.
6.7.
6.8.

7.
7.1.
7.2.
7.3.
7.4.
7.5.
7.6.
7.7.
7.8.
7.9.

8.
8.1.
8.2.
8.3.
8.4.
8.5.
8.6.
8.7.
8.8.
8.9.
8.10.
8.11.
8.12.
8.13.
8.14.

9.
9.1.
9.2.
9.3.
9.4.
9.5.
9.6.
9.7.
9.8.

Tipos escalares y tuplas
Otros mundos
Submundos: subconjuntos de otros mundos
Registros y tuplas
Abstracción
Geometría
Aritmética compleja
Cartas del juego de las 7½
Variaciones

Bucles
Jugar a las 7½
Contar
Repetir hasta que baste
Sabemos cuántas veces iterar
Cuadrados
Bucles anidados
Triángulos
Primeros primos
¿Cuánto tardará mi programa?

Colecciones de elementos
Arrays
Problemas de colecciones
Acumulación de estadísticas
Buscar ceros
Buscar los extremos
Ordenación
Búsqueda en secuencias ordenadas
Cadenas de caracteres
Subprogramas para arrays de cualquier tamaño
¿Es palíndrome?
Mano de cartas
Abstraer y abstraer hasta el problema demoler
Conjuntos bestiales
¡Pero si no son iguales!

Lectura de ficheros
Ficheros
Lectura de texto
Lectura controlada
¿Y no hay otra forma?
Separar palabras
La palabra más larga
¿Por qué funciones de una línea?
La palabra más repetida

85

91
91
94
96
98
99
100
102
107

113
113
114
115
116
117
120
120
123
125

129
129
131
132
133
135
136
138
140
142
143
146
147
149
151

155
155
157
159
161
163
169
170
170

10.
10.1.
10.2.
10.3.
10.4.
10.5.
10.6.
10.7.
10.8.
10.9.
10.10.
10.11.

11.
11.1.
11.2.
11.3.
11.4.
11.5.
11.6.
11.7.
11.8.
11.9.
11.10.

12.
12.1.
12.2.
12.3.
12.4.
12.5.
12.6.
12.7.
12.8.
12.9.
12.10.
12.11.
12.12.

Haciendo programas
Calculadora
¿Cual es el problema?
¿Cuál es el plan?
Expresiones aritméticas
Evaluación de expresiones
Lectura de expresiones
Un nuevo prototipo
Segundo asalto
Funciones elementales
Memorias
Y el resultado es...

Estructuras dinámicas
Tipos de memoria
Variables dinámicas
Punteros
Juegos con punteros
Devolver la memoria al olvido
Punteros a registros
Listas enlazadas
Punteros a variables existentes
Invertir la entrada con una pila
¿Es la entrada palíndrome?

E es el editor definitivo
Un editor de línea
¿Por dónde empezamos?
Palabras de tamaño variable
Líneas y textos
Palabras y blancos
Textos
Comandos
Código y argumentos
Editando el texto.
Un editor de un sólo fichero.
Edición de múltiples ficheros
Terminado

179
179
179
180
180
183
184
189
193
198
201
204

215
215
215
216
218
220
222
222
229
229
233

239
239
240
240
247
249
252
254
257
260
263
265
267

Índice de programas

ambitos

calc

calc

calc

calculoaarea

calculocircunf

caracteres

carta

complejos

copiaentrada

cuadrado

cuadrados

cuadrados

cuadrados

digitosseparados

distancia

ec2grado

editor

esbisiesto

escribehola

estadisticas

fechaok

80

180

189

204

39

33

148

105

101

158

72

117

118

74

45

58

87

243

29

156

132

63

holapi

incr

invertir

invertir

juegaconeof

leehola

leerpalabras

masfrecuente

ordenar

ordenar2

ordenarpuntos

palindromes

primos

programa

sinblancos

sinblancos

suma

todoscero

triangulo

triangulo

volcilindro

18

77

232

234

162

156

167

172

137

72

84

144

124

10

160

161

76

134

121

122

43

1 ߞ Introducción a la programación
______
1.1. ¿Qué es programar?
Al contrario que otras máquinas, el ordenador puede hacer cualquier cosa que queramos si le
damos las instrucciones oportunas. A darle estas instrucciones se le denomina programar el
ordenador. Un ordenador es una máquina que tiene básicamente la estructura que puede verse en
la figura 1.1. Posee algo de memoria para almacenar las instrucciones que le damos y tiene una
unidad central para procesarlas (llamada CPU). En realidad, las instrucciones sirven para manipu-
lar información que también se guarda en la memoria del ordenador. A esta información la
denominamos datos y a las instrucciones programa. Como la
  • Links de descarga
http://lwp-l.com/pdf15916

Comentarios de: Usando Ada como Primer Lenguaje - Curso Práctico de Programación (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