Download Código Fuente 1

Document related concepts

Sumatorio wikipedia , lookup

Factorización wikipedia , lookup

Número feliz wikipedia , lookup

Problema de la suma de subconjuntos wikipedia , lookup

Problema de Basilea wikipedia , lookup

Transcript
EJEMPLO 1.1
Entrada: dato n entero positivo
Salida: es o no primo.
Preceso:
1. Inicio.
2. Poner x igual a 2 (x = 2, x variable que representa a los
divisores del número que se buscan).
3. Dividir n por x (n/x).
4. Si el resultado de n/x es entero, entonces n no es un número primo
y bifurcar al punto 7; en caso contrario, continuar el proceso.
5. Suma 1 a x (x x + 1).
6. Si x es igual a n, entonces n es un número primo ; en caso
contrario, bifurcar al punto 3.
7.Fin.
El algoritmo anterior escrito en pseudocódigo es:
algoritmo primo
inicio
variables
entero: n, x;
lógico: primo;
leer(n);
x  2;
primoverdadero;
mientras primo y (x < n) hacer
si n mod x <> 0 entonces
x x+1
sino
primo  falso
fin si
fin mientras
si (primo) entonces
escribe( ´es primo´)
sino
escribe( ´no es primo´)
fin si
fin
EJEMPLO 1.2
inicio
1. Inicializar contador de numeros C y variable suma S a cero (S
0, C  0).
2. Leer un numero en la variable N (leer(N))
3. Si el numero leído es cero: (si (N =0) entonces)
3.1 Si se ha leído algún número ( Si c>0)
 calcular la media; (media S/C)
 imprimir la media; (Escribe(media))
3.2 si no se ha leído ningún número ( Si C=0)
 escribir no hay datos.
3.3 fin del proceso.
4 Si el numero leído no es cero : (Si (N <> 0) entonces
1
 calcular la suma; ( S S+N)
 incrementar en uno el contador de números; (CC+1)
 ir al paso 2.
fin
Algoritmo escrito en pseudocódigo:
algoritmo media
inicio
variables
entero: N, C, S;
real: media;
C  0;
S  0;
repetir
leer(N)
si N <> 0 entonces
S  S + N;
C  C +1 ;
fin si
hasta N = 0
si C > 0 entonces
media  S / C
escribe( media)
sino
escribe(´no datos´)
fin si
fin
EJEMPLO 1.3 Diferentes modelos de abstracción del término coche (carro) .


Un coche (carro) es la combinación (o composición) de diferentes partes, tales
como motor, carrocería, cuatro ruedas, cinco puertas, etc.
Un coche (carro) es un concepto común para diferentes tipos de coches. Pueden
clasificarse por el nombre del fabricante (Audi, BMW, SEAT, Toyota, Chrisler,..), por
su categoría (turismo, deportivo, todo-terreno,...), por el carburante que utilizan
(gasolina, gasoil, gas, híbrido,…).
La abstracción coche se utilizará siempre que la marca, la categoría o el carburante no
sean significativos. Así, un carro(coche) se utilizará para transportar personas o ir de
Carchelejo a Cazorla, o de Paradinas a Mazarambroz.
EJERCICIO 1.1
Entrada Numero1,Nnmero2 y Numero 3
Salida la suma o el producto
incio
1 leer los tres número Numero1, Numero2, Numero3
2 si el Numero1 es positivo
calcular el producto de los tres números
escribir el producto
3 si el Numero1 es no positivo
calcular la suma de los tres números
escribir la suma
2
fin
El algoritmo en pseudocódigo es:
algoritmo Producto__Suma
variables
entero: Nuemro1, Numero2, Numero3, Producto, Suma
inicio
Leer(Numero1, Numero2, Numero3)
si (Numero1 > 0) entonces
Producto  Numero1* Numero2 * Numero3
Escribe(´El producto de los números es´, Producto)
sino
Suma  Numero1+ Numero2 + Numero3
Escribe(´La suma de los números es ´, Suma)
fin si
fin
EJERCICIO 1.2
constantes pi=3.14
variables
real: r, longitud, area
diagrama de flujo
inicio
leer(r)
no
si
r>0
Escribe(´error´)
Longitud 2*pi*r
Areapi*r*r
Escribe(´perimetro=´,longitud,´área=´area)
fin
EJERCICIO 1.3
Variables
Entero Suma, C, numero
3
inicio
Bucle
Suma0
C 0
Entrada del bucle
no
Decisión
C<4
si
Cuerpo del bucle
Leer(numero)
Salida del bucle
SumaSuma + numero
CC+1
escribe(suma)
fin
algoritmo suma_4
inicio
variables
entero: Suma, C, numero;
C 0;
Suma 0;
mientras C< 4 hacer
leer(Numero)
Suma Suma + numero;
CC+1;
fin mientras
escribe( Suma)
fin
EJERCICIO 1.4
Variables Entero: n, Suma, C
4
Inicio
Leer(n)
no
n>0
C es un contador; Suma es acumulador
Suma0
C 0
Decisión
Si
Inicialización de contador, acumulador
Entrada del bucle
C<n
No
Si
seguimiento
Cuerpo del bucle
n
C
Suma
0
5
0
0
1
5
1
1
2
5
2
3
3
5
3
6
4
5
4
10
5
5
5
15
paso
C se incrementa
CC+1
SumaSuma+ C
Salida bucle
Suma se modifica no constante
Escribe(suma)
Fin
algoritmo suma_n_naturales
inicio
variables
entero: Suma, C, n;
repetir
Leer(n)
hasta n>0
C 0;
Suma 0;
mientras C < n hacer
C  C + 1;
Suma Suma + C;
fin mientras
escribe( Suma)
fin
5
EJERCICIO 1.5
Diagrama de flujo
inicio
Leer(n)
no
n>0
i es un contador; Suma es acumulador;
sw interruptor
Si
Suma0
i1
swF
Inicializaciones de contador
acumulador interruptor
Entrada del bucle
i<=n
No
Decisión
no
Suma se incrementa
si
sw
SumaSuma+i*i
i se incrementa
sw cambia v--f
SumaSuma+2
Salida del bucle
ii+1; swno sw
Escribe(suma)
fin
6
Pseudocódigo
Seguimiento n=5
algoritmo suma_serie
inicio
variables
entero: Suma, i, n;
logico sw;
repetir
leer(n);
hasta n>0
i  1;
Suma  0;
sw  falso
mientras i <= n hacer
si (sw) entonces
Suma Suma + 2;
sino
Suma  Suma + i * i
fin si
i  i + 1
sw no sw
fin mientras
escribe( Suma)
fin
pas
o
n
sw
i
suma
0
5
F
1
0
1
5
V
2
1
2
5
F
3
3
3
5
V
4
13
4
5
F
5
15
5
5
V
6
40
EJERCICIO 1.6
Anima
Insecto
Pájaros
Mamífero
Persona
Hombre
Mujer
Las definiciones de clases para esta jerarquía puede tomar la siguiente estructura:
clase criatura
atributos (propiedades)
string: tipo;
real: peso;
(...algun tipo de habitat...):habitat;
operaciones
crear() criatura;
predadores(criatura) fijar(criatura);
esperanza_vida(criatura)  entero;
...
7
end criatura.
clase mamifero hereda criatura;
atributos (propiedades)
real: periodo_gestacion;
operaciones
...
end mamifero.
clase persona hereda mamifero;
atributos (propiedades)
string: apellidos, nombre;
date: fecha_nacimiento;
pais: origen;
end persona.
clase hombre hereda persona;
atributos (propiedades)
mujer: esposa;
...
operaciones
...
end hombre.
clase mujer hereda persona;
propiedades
esposo: hombre;
string: nombre;
...
end mujer.
8