PDF de programación - Bloque 1. Conceptos y técnicas básicas en programación

Imágen de pdf Bloque 1. Conceptos y técnicas básicas en programación

Bloque 1. Conceptos y técnicas básicas en programacióngráfica de visualizaciones

Publicado el 14 de Enero del 2017
893 visualizaciones desde el 14 de Enero del 2017
77,9 KB
8 paginas
Creado hace 14a (30/09/2009)
Bloque 1. Conceptos y técnicas básicas
en programación
1. Introducción
2. Datos y expresiones. Especificación de algoritmos
3. Estructuras algorítmicas básicas
4. Iteración y recursión
5. Iteración y recursión sobre secuencias
6. Iteración y recursión sobre tablas

UNIVERSIDAD
DE CANTABRIA

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN
4

© Michael González Harbour y José Luis Montaña

30/sept/09

1

Notas:

UNIVERSIDAD
DE CANTABRIA

1. Introducción

• Programas, y lenguajes. Necesidad de la programación modular. Ciclo de vida de los programas.

Concepto de algoritmo. Noción de proceso. Variables. Estado de un programa.

2. Datos y expresiones. Especificación de algoritmos

3. Estructuras algorítmicas básicas

4. Iteración y recursión

5. Iteración y recursión sobre secuencias

6. Iteración y recursión sobre tablas

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

2

Programas y lenguajes
Un programa es un conjunto completo de instrucciones que el
computador es capaz de ejecutar con el fin de tratar información
Se escribe en un lenguaje que el computador entienda
• lenguaje de programación
• generalmente es necesario un proceso de traducción

UNIVERSIDAD
DE CANTABRIA

automática (compilación)

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

3

UNIVERSIDAD
DE CANTABRIA

Necesidad de la programación modular
Los programas pueden llegar a ser muy complejos y para poder
gestionar esta complejidad se dividen en módulos
• independientes entre sí
• llamados clases en Java
Un módulo de programa contiene datos y operaciones para
manipular datos
Cada una de esas operaciones representa un algoritmo

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

4

El ciclo de vida de un programa

UNIVERSIDAD
DE CANTABRIA

Requerimientos

Informales

Documento de
Requerimientos

Documento de
Especificaciones

Arquitectura
del Programa

Análisis de

Requerimientos

Análisis de

Especificaciones

Diseño de la
Arquitectura

Integración y
pruebas de

sistema

Pruebas
de módulo

Codificación

Diseño
Detallado

Programa

final

Módulos de
Programa
Probados

Módulos de
Programa

Diseño de cada

Módulo (pseudocódigo)

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

5

Coste de los sistemas informáticos
La mayor parte del gasto en sist. informáticos es el software
Los errores software tienen un alto coste: efecto y corrección

UNIVERSIDAD
DE CANTABRIA

100

80

60

40

20

l
a
t
o
t

e
t
s
o
c

l
e
d
%



Hardware

Software

0
1955

1970

Año

1995

100

40

16

6.3

2.5

0

r
o
r
r
e

n
u

r
i
g
e
r
r
o
c

e
d
o
v
i
t
a
l
e
r

e
t
s
o
C



Ana Dis

Cod

Int

Pru Man

Etapa en que se detecta el error

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

6

Distribución del Esfuerzo de
desarrollo

UNIVERSIDAD
DE CANTABRIA

análisis y diseño

codificación

pruebas e
integración

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

7

UNIVERSIDAD
DE CANTABRIA

Concepto de algoritmo
Un algoritmo es:
• una secuencia finita de instrucciones,
• cada una de ellas con un claro significado,
• que puede ser realizada con un esfuerzo finito
• y en un tiempo finito
El algoritmo se diseña en la etapa de diseño detallado y se
corresponde habitualmente con el nivel de operación o método
Los programas se componen habitualmente de muchas clases
que contienen algoritmos, junto con datos utilizados por ellos
• los datos y algoritmos relacionados entre sí se encapsulan en la

misma clase

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

8

Noción de proceso
Un proceso es la acción de ejecutar las instrucciones de un
programa
Se manifiesta por una sucesión de cambios de estado en la
memoria y en el entorno del computador
• es decir, cambios en la información almacenada en el

computador y su entorno

UNIVERSIDAD
DE CANTABRIA

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

9

UNIVERSIDAD
DE CANTABRIA

Variables y estado de un programa
La información que maneja un programa se almacena en unidades
llamadas variables
• almacenan un valor
• de un determinado tipo
• se identifican por un nombre
El estado de un programa en un momento dado es el valor de las
variables en ese instante

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

10

UNIVERSIDAD
DE CANTABRIA

Ejemplo del estado de un programa
Programa que intenta mantener una habitación a una temperatura
deseada (± 0.5 grados)
• dispone de un radiador que se puede encender y apagar,
• y un termómetro
Variables:
• tempDeseada: magnitud real (ºC)
• tempAmbiente: magnitud real (ºC)
• estadoRadiador: encendido o apagado
Estado del programa
• valor de tempDeseada, tempAmbiente, y estadoRadiador en
cada instante

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

11

UNIVERSIDAD
DE CANTABRIA

Ejemplo (cont.)
Algoritmo
Repetir continuamente lo siguiente
si hace frío encender el radiador
si hace calor apagar el radiador
esperar un rato
frepetir
El algoritmo se repite continuamente (hasta que el usuario apague
el sistema)
Ahora debemos refinar este algoritmo para expresarlo en términos
de las variables del sistema

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

12

UNIVERSIDAD
DE CANTABRIA

Ejemplo (cont.)
Algoritmo refinado
Repetir continuamente lo siguiente
si tempAmbiente<tempDeseada-0.5 entonces
// hace frío
estadoRadiador:=encendido
fsi
si tempAmbiente>tempDeseada+0.5 entonces
// hace calor
estadoRadiador:=apagado
fsi
esperar 1 minuto
frepetir
Observar que si no hace ni frío ni calor el radiador se queda como
estaba

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

13

A observar
Hemos descrito el algoritmo mediante la técnica llamada
pseudocódigo, que tiene
• instrucciones de control presentes en todos los lenguajes
si condición entonces
hacer cosas
fsi
• obsérvese el uso del sangrado para determinar el ámbito de

aplicación de cada instrucción de control

UNIVERSIDAD
DE CANTABRIA

• cálculos
• acciones expresadas sin el formalismo de los lenguajes
El propósito es que el pseudocódigo refinado sea sencillo, y
directamente traducible a código en cualquier lenguaje

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

14

Traza del proceso
Podemos observar los diferentes estados del sistema, por ejemplo
al inicio del algoritmo
tempDeseada

tempAmbiente

UNIVERSIDAD
DE CANTABRIA

23.0
23.0
23.0
23.0
23.0
23.0
24.0
24.0

21.4
22.1
22.8
23.4
24.1
23.8
23.3
24.2

estadoRadiador
apagado
encendido
encendido
encendido
encendido
apagado
apagado
encendido

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

15

UNIVERSIDAD
DE CANTABRIA

DEPARTAMENTO DE MATEMÁTICAS,
ESTADÍSTICA Y COMPUTACIÓN

© Michael González Harbour y José Luis Montaña

30/sept/09

16
  • Links de descarga
http://lwp-l.com/pdf963

Comentarios de: Bloque 1. Conceptos y técnicas básicas en 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