metodologia y tecnologia de la programacion i
DESCRIPTION
Arreglos de una dimensión (vector)Arreglos de dos dimensiones o matricesArreglos multidimensionalesTRANSCRIPT
![Page 1: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/1.jpg)
ESCUELA: Ciencias de la Computación
NOMBRES
METODOLOGIA Y TECNOLOGIA DE LA PROGRAMACION I
PERíODO:
Ing. Danilo Jaramillo H
Abril – Agosto 2009
1
![Page 2: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/2.jpg)
2
INDICACIONES
Ingreso a campus y contestar los foros, revisar ejercicios.
Importancia de realizar las evaluaciones a distancia Foros (EVA) 2 puntos Parte objetiva 2 puntos Parte de ensayo 2 puntos
Evaluación Presencial parte objetiva 8 puntos parte ensayo 6 puntos
![Page 3: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/3.jpg)
3
INDICACIONES
Uso de sangrías. Poner encabezados Resolver en pseudo-código Entender que es lo que se pide en los
ejercicios de la evaluación presencial.
![Page 4: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/4.jpg)
4
QUE HAREMOS HOY
Mayor claridad para el desarrollo de algoritmos
Desarrollo de programas mas complejos Nuevos enfoques … Programación
orientada a objetos
![Page 5: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/5.jpg)
5
PLAN DE CONTENIDOS
SEGUNDO BIMESTRE
Capítulo 6. Estructuras de datos: Arreglos 163 -
192
12
Capítulo 7. Utilización de los Métodos 203 -
236
10
Capítulo 8. Programación Orientada a objetos
aplicando diagramas de clases
241 -
254
8
Capítulo 9. Programación Orientada a objetos
aplicando secuenciación, selección, repetición
257-
342
10
40
![Page 6: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/6.jpg)
6
ESTRUCTURAS DE DATOS
Contenidos Arreglos de una
dimensión (vector) Arreglos de dos
dimensiones o matrices
Arreglos multidimensionales
2 3 4 5 6 7
2 3 4 5 6 7
8 9 3 5 7 4
6 7 1 1 4 3
![Page 7: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/7.jpg)
7
Arreglos Colección de datos del mismo tipo Un nombre único Indicador de posición que diferencia a cada
elemento
2 9 4 15 6 27
ESTRUCTURAS DE DATOS
Mat
31 32 33 34 35 36
2 13 4 45 6 7
8 9 53 5 37 4
26 7 10 11 4 3
MatRes
1 2 3 4 5 6
![Page 8: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/8.jpg)
8
Arreglos unidimensionales o vectores
ESTRUCTURAS DE DATOS
2 9 4 15 6 27
Mat
1 2 3 4 5 6
Mat[1] = 2Mat[2] = 9Mat[3] = 14Mat[4] = 15Mat[5] = 6Mat[6] = 25
![Page 9: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/9.jpg)
9
Declarnombrevariable : Arreglo[tamaño] tipo de dato
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30] Entero
Declarnombrevariable : Arreglo[tamaño] tipo de dato
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30] Entero
ESTRUCTURAS DE DATOS
![Page 10: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/10.jpg)
10
TIPOS
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
TiposVector : Arreglo [30] Entero
VariablesA, B. C : Vector
TIPOS
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
TiposVector : Arreglo [30] Entero
VariablesA, B. C : Vector
ESTRUCTURAS DE DATOS
![Page 11: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/11.jpg)
11
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30] Entero
b. imprimir “ingrese numero de elementos”c. leer n_ed. for (i = 1; i <= n_e; i++)
1. leer Mat[i]e. endfor
f. for (i = 1; i <= n_e; i++)1. if (mat[i] mod 2) = 0 then
imprimir “el numero”,mat[i], es par2. endif
g. endforh. for (i = 1; i <= n_e; i++)
imprimir Mat[i] e. endfor h. fin método principal
fin clase matriz
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30] Entero
b. imprimir “ingrese numero de elementos”c. leer n_ed. for (i = 1; i <= n_e; i++)
1. leer Mat[i]e. endfor
f. for (i = 1; i <= n_e; i++)1. if (mat[i] mod 2) = 0 then
imprimir “el numero”,mat[i], es par2. endif
g. endforh. for (i = 1; i <= n_e; i++)
imprimir Mat[i] e. endfor h. fin método principal
fin clase matriz
![Page 12: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/12.jpg)
12
Arreglos multi-dimensionales
ESTRUCTURAS DE DATOS
31 32 33 34 35 36
2 13 4 45 6 7
8 9 53 5 37 4
26 7 100 11 4 3
MatRes
MatRes[1][1] = 2MatRes[2][4] = 5MatRes[3][2] = 7MatRes[1][6] = 7MatRes[2][1] = 8 MatRes[3][5] = 4
MatRes[1][1] = 2MatRes[2][4] = 5MatRes[3][2] = 7MatRes[1][6] = 7MatRes[2][1] = 8 MatRes[3][5] = 4
![Page 13: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/13.jpg)
13
Declaracionnombrevariable : Arreglo[tamaño_f][tamaño_c] tipo de dato
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30][10] Entero
Declaracionnombrevariable : Arreglo[tamaño_f][tamaño_c] tipo de dato
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30][10] Entero
ESTRUCTURAS DE DATOS
![Page 14: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/14.jpg)
14
TIPOS
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
ConstantesL = 30
TiposMatrices : Arreglo [L][L] Entero
VariablesA, B. C : Matrices
TIPOS
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
ConstantesL = 30
TiposMatrices : Arreglo [L][L] Entero
VariablesA, B. C : Matrices
ESTRUCTURAS DE DATOS
![Page 15: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/15.jpg)
15
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30][10] Entero
b. imprimir “ingrese numero de filas y columnas”c. leer n_f,n_cd. for (i=1; i<=n_f; i++)
1. for (j=1:j<=n_c;j++) i. leer Mat[i][j]
2. endfore. endforf. for (i=1; i<=n_f; i++)
1. for (j=1:j<=n_c;j++)if (Mat[i][j] mod 2 = 0) then
imprimir “numero es par”endif
2. endforg. endfor
2. fin método principal
Algoritmo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30][10] Entero
b. imprimir “ingrese numero de filas y columnas”c. leer n_f,n_cd. for (i=1; i<=n_f; i++)
1. for (j=1:j<=n_c;j++) i. leer Mat[i][j]
2. endfore. endforf. for (i=1; i<=n_f; i++)
1. for (j=1:j<=n_c;j++)if (Mat[i][j] mod 2 = 0) then
imprimir “numero es par”endif
2. endforg. endfor
2. fin método principal
![Page 16: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/16.jpg)
16
EJERCICIOS
Ordenar un vector Buscar elementos repetidos en un
vector Ordenar una matriz de dos dimensiones Buscar elementos repetidos en una
matriz dos dimensiones Multiplica dos matrices
![Page 17: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/17.jpg)
17
Método Principala. Declaraciones
Mat[10] : Arreglo[10] enterob. imprimir “ingrese numero de elementos”c. leer n_ed. for(i=1; i<= n_e; i++)
1. leer Mat[i]e. endfor f. for(i=1; i<= n_e; i++)
1. for(j=1; j<= n_e; j++)if (mat[i] < mat[j]) then aux mat[i] mat[i] mat [j] mat[j] auxendif
2.endfor g. endfor h. for(i=1; i<= n_e; i++)
1. imprimir Mat[i] i. endfor j. fin método principal
![Page 18: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/18.jpg)
18
METODOS
Conceptos Generales
Propósito .como utilizar mas de un método dentro de una clase. Comprender el trabajo con variables de clase, variables locales y paso de parámetros entre métodos.
![Page 19: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/19.jpg)
19
METODOS
Conceptos Generales Técnica divide y vencerás Ejecutar una tarea especifica Cada método es independientes método principal sub-rutinas (función,
rutina, sub-algoritmo) Cuando se invoca a un método las
instrucciones que están definidas se ejecutan y luego vuelven al método donde fue invocado.
![Page 20: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/20.jpg)
20
A
B
B
D
A
D
F
![Page 21: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/21.jpg)
21
Sistema de Gestión Académica
Registro de Notas y Asistencia
matriculación
matriculación
Ingresar Ficha del estudiante
Registro de Notas y Asistencia
Ingresar Notas
Verificar cédula
![Page 22: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/22.jpg)
sEjemeemp1
Metodo Principal
22
Metodo principal Metodo xxxx
Método yyyy
Método zzzz
Llamada método
Llamada método
Llamada método
Llamada al método
Llamada método
Llamada método
![Page 23: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/23.jpg)
23
Métodos
Algoritmo sumarClase suma
1. Método Principala. imprimir “la suma es”,
suma()2. fin método principal
3. Método suma: enteroa. Declaraciones
variables Suma, x , y: entero
• leer x, y• Suma = x + y• Return Suma
4. Fin Método suma
Fin clase sumafin
![Page 24: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/24.jpg)
24
Métodos
Conceptos Métodos que no retornan valor Métodos que retornar valor Variables de clase y locales Parámetros por valor y por referencia
![Page 25: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/25.jpg)
25
Métodos
Métodos que no retornan valor Pueden o no devolver valores Ejecuta un proceso especifico Forma de Invocar a estos métodos
NombredelMetodo()
![Page 26: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/26.jpg)
26
Métodos que no retornan valor Definición
Métodos
Método nombre (parámetros)a. Declaraciones
VariablesConstantes
b. Acciónc. Acciónd. Acción
e. Fin Método
![Page 27: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/27.jpg)
27
Métodos
Métodos que retornan valor Devuelve un valor Forma de Invocar a un Metodo No
Retorna ValorZ nombremetodo()Si (nombremetodo() == ?) Imprimir nombremetodoParte de una expresión
![Page 28: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/28.jpg)
28
Metodos que retornan Valor Definición
Métodos
Método nombre (parámetros): tipo de datoa. Declaraciones
VariablesConstantes
b. Acciónc. Acciónd. return valore. Fin Método
![Page 29: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/29.jpg)
29
Métodos
Variables: locales y clase Locales
Solo tiene valides dentro del método donde son declaradas
De clase Se las puede utilizad en cualquier parte
de la clase
![Page 30: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/30.jpg)
30
Métodos
Variables
de clase
Algoritmo sumarClase suma
1. declaraciones variables
y : entero2. Método Principal
a. Leer yb. imprimir “la suma es”,
suma()3. fin método principal
4. Método suma: enteroa.Declaraciones
variables Suma, x: entero
b.x = 5c.Suma = x + yd.Return Suma
5. Fin Método sumaFin clase sumafin
Suma = x + y
![Page 31: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/31.jpg)
31
31
MétodosAlgoritmo sumar
Clase suma1. Método Principal
a. declaraciones variables
y : enterob. Leer yc. imprimir “la suma es”,
suma()d. imprimir x
e. fin método principal 4. Metodo suma: entero
a. Declaracionesvariables Suma, x entero
b. x = 5c. Suma = x + yd. Return Suma
e. Fin Método sumaFin clase sumafin
Variables
locales
![Page 32: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/32.jpg)
32
Métodos
Parámetros por valor y por referencia.. Enlazar variables entre métodos
Por valor Si un parámetro es modificado su contenido
dentro del subprograma, al terminar el mismo mantiene el valor
Por referencia Si un parámetro es modificado su contenido
dentro del subprograma, al terminar el mismo mantendrá el valor con el que se modificó.
![Page 33: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/33.jpg)
33
Algoritmo Sumatoria Clase Suma 1.Metodo principal
a. declaraciones S : entero
b. S = 0 c. imprimir suma(s) d. imprimir s
e. Fin método principal ……. Fin clase suma fin
Algoritmo Sumatoria Clase Suma 1.Metodo principal
a. declaraciones S : entero
b. S = 0 c. imprimir suma(s) d. imprimir s
e. Fin método principal ……. Fin clase suma fin
………….2. método suma (val s: entero) : entero
a. Leer numero1b. Leer numero2c. s = numero1 + numero2d. return S
e. Fin método suma
………….2. método suma (val s: entero) : entero
a. Leer numero1b. Leer numero2c. s = numero1 + numero2d. return S
e. Fin método suma
Métodos
¿Qué valor se presenta en la llamada a la función?
¿Cuál es el valor de S ?
numero1 5
numero2 8
PARAMETROS POR VALOR
![Page 34: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/34.jpg)
34
Métodos
¿Qué valor se presenta en la llamada a la función?
¿Cuál es el valor de S ?
numero1 5
numero2 8
Algoritmo Sumatoria Clase Suma 1.Metodo principal
a. declaraciones S : entero
b. S = 0 c. imprimir suma(s) d. imprimir s
e. Fin método principal ……. Fin clase suma fin
Algoritmo Sumatoria Clase Suma 1.Metodo principal
a. declaraciones S : entero
b. S = 0 c. imprimir suma(s) d. imprimir s
e. Fin método principal ……. Fin clase suma fin
………….2. método suma (ref s: entero) : entero
a. Leer numero1b. Leer numero2c. s = numero1 + numero2d. return S
e. Fin método suma
………….2. método suma (ref s: entero) : entero
a. Leer numero1b. Leer numero2c. s = numero1 + numero2d. return S
e. Fin método suma
PARAMETROS POR REFERENCIA
![Page 35: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/35.jpg)
35
Ejercicios
Algoritmo Factorial Clase factorial 1. Metodo principal
a. declaraciones res, numero : entero
b. leer numero c. res = factorial (numero) d. imprimir res
e. Fin metodo principal…………… Fin clase sumafin
Algoritmo Factorial Clase factorial 1. Metodo principal
a. declaraciones res, numero : entero
b. leer numero c. res = factorial (numero) d. imprimir res
e. Fin metodo principal…………… Fin clase sumafin
………………….2. método factorial (val s: entero) : entero
a. declaracionesf : entero
b. f = 1c. for (i = 1; i<= numero; i++)
f = f * id. endfore. return f
f. Fin metodo factorial
………………….2. método factorial (val s: entero) : entero
a. declaracionesf : entero
b. f = 1c. for (i = 1; i<= numero; i++)
f = f * id. endfore. return f
f. Fin metodo factorial
Métodos
![Page 36: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/36.jpg)
36
Ejercicios
Algoritmo Potencia Clase Potencia 1. Método principal
a. declaraciones bas, exp, res: entero b. leer bas c. leer exp d. res = potencia (bas,exp) e. imprimir res
Fin metodo principal……………Fin clase sumafin
Algoritmo Potencia Clase Potencia 1. Método principal
a. declaraciones bas, exp, res: entero b. leer bas c. leer exp d. res = potencia (bas,exp) e. imprimir res
Fin metodo principal……………Fin clase sumafin
…………….2. método potencia (entero bas,
entero exp) : enteroa. declaraciones
p : enterob. p = 1c. for (i=1; i<=exp; i++)
p p * basd. endforf. return p
g. fin método potencia
…………….2. método potencia (entero bas,
entero exp) : enteroa. declaraciones
p : enterob. p = 1c. for (i=1; i<=exp; i++)
p p * basd. endforf. return p
g. fin método potencia
Métodos
![Page 37: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/37.jpg)
37
Algoritmo transformacion Clase transforma 1. Metodo principal
a. leer num b. bin = binario(num) c. oct = octal(num) d. imprimir “numero en binario es”, bin e. imprimir “numero en octal es”, oct
f. fin metodo principalfin
Algoritmo transformacion Clase transforma 1. Metodo principal
a. leer num b. bin = binario(num) c. oct = octal(num) d. imprimir “numero en binario es”, bin e. imprimir “numero en octal es”, oct
f. fin metodo principalfin
2. método binario (val num:entero) enteroa. j = 1b. res = 0c. while (num > 0) do
1. d = residuo(num/2)2. res = res + (d*j)3. num = num / 24. j = j*10
d. endwhilee. return res
f. Fin metodo binario
2. método binario (val num:entero) enteroa. j = 1b. res = 0c. while (num > 0) do
1. d = residuo(num/2)2. res = res + (d*j)3. num = num / 24. j = j*10
d. endwhilee. return res
f. Fin metodo binario
3. método octal (val num: entero) enteroa. j = 1b. res = 0c. while (num > 0) do
1. d = residuo(num/8)2. res = res + (d*j)3. num = num / 84. j = j*10
d. endwhilee. return res
f. Fin metodo octal
3. método octal (val num: entero) enteroa. j = 1b. res = 0c. while (num > 0) do
1. d = residuo(num/8)2. res = res + (d*j)3. num = num / 84. j = j*10
d. endwhilee. return res
f. Fin metodo octal
![Page 38: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/38.jpg)
38
Algoritmo transformación Clase transforma 1. Método principal
a. leer numb. bin transformar(num,2)c. oct transformar(num,8)d. presentar “numero en binario es”, bine. presentar “numero en octal es”, oct
f. Fin Método Principalfin
Algoritmo transformación Clase transforma 1. Método principal
a. leer numb. bin transformar(num,2)c. oct transformar(num,8)d. presentar “numero en binario es”, bine. presentar “numero en octal es”, oct
f. Fin Método Principalfin
2. Método transformar (num: entero, base:entero): enteroa. j = 1b. res = 0c. while (num > 0) do
1. d = residuo(num/base)2. res = res + (d*j)3. num = num / base4. j = j*10
d. endwhilee. return resf. Fin Método Transformar
2. Método transformar (num: entero, base:entero): enteroa. j = 1b. res = 0c. while (num > 0) do
1. d = residuo(num/base)2. res = res + (d*j)3. num = num / base4. j = j*10
d. endwhilee. return resf. Fin Método Transformar
![Page 39: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/39.jpg)
39
Algortimo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30][10] Entero
b. imprimir “ingrese numero de filas y columnas”c. leer n_f,n_cd. for (i=1; i<=n_f; i++)
1. for (j 1 hasta n_c i. leer Mat[i,j]
2. endfore. endforf. for (i=1; i<=n_f; i++)
1. for (j 1 hasta n_cif primo(Mat[i,j])
imprimir “numero es primo”endif
2. endforg. endfor
h. fin método principal………..
Algortimo matricesClase matriz
1. Método Principala. declaraciones
VariablesMat: Arreglo [30][10] Entero
b. imprimir “ingrese numero de filas y columnas”c. leer n_f,n_cd. for (i=1; i<=n_f; i++)
1. for (j 1 hasta n_c i. leer Mat[i,j]
2. endfore. endforf. for (i=1; i<=n_f; i++)
1. for (j 1 hasta n_cif primo(Mat[i,j])
imprimir “numero es primo”endif
2. endforg. endfor
h. fin método principal………..
……………………2. Método primo(entero num) boolean
a. declaracionesvariables
d, lim : realp : boolean
b. d = 2c. lim = num / 2d. p truee. while (d < num) 1. if(num modd) = 0
p = falso d = lim
2. Endif 3. d d + 1f. enddog. return p
h. Fin método primoFin clasefin
……………………2. Método primo(entero num) boolean
a. declaracionesvariables
d, lim : realp : boolean
b. d = 2c. lim = num / 2d. p truee. while (d < num) 1. if(num modd) = 0
p = falso d = lim
2. Endif 3. d d + 1f. enddog. return p
h. Fin método primoFin clasefin
![Page 40: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/40.jpg)
40
Fácil comprensión del problema Fácil comprensión de errores, pues si
existe alguno solo se trabajara en el modulo donde este se presente
Reutilización de código, para procesos similares se pueden utilizar procedimientos que ya están realizados
METODOS - resumen
![Page 41: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/41.jpg)
41
Contenidos Estudiar los conceptos básicos de la
programación orientada a objetos. Objetos. Clases. métodos. encapsulamiento.
PROGRAMACIÓN ORIENTADA A OBJETOS
![Page 42: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/42.jpg)
Innovación en los lenguajes de programación Es mas estructurada que las que se han
estudiado Mas modular y abstracta que lo que se ha
hecho con respecto a abstracción y ocultamiento
La POO, está formada por una colección de objetos interaccionando conjuntamente para representar y solucionar un problema
42
PROGRAMACIÓN ORIENTADA A OBJETOS
![Page 43: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/43.jpg)
Objetos Datos .. Atributos .. descripción Métodos .. Comportamiento … manipulación
de los datos
43
Objeto
Metodo1()Metodo2()Metodo3()
Dato1Dato2dato3
PROGRAMACIÓN ORIENTADA A OBJETOS
![Page 44: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/44.jpg)
Clase Representación abstracta que describen
un conjunto de objetos Representa un {} de objetos que tienen
los mismos métodos y los mismos datos Plantilla o molde para crear todos los
objetos
44
Empleado
Leernombre()Leerapellido()
Nombreapellidos
PROGRAMACIÓN ORIENTADA A OBJETOS
![Page 45: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/45.jpg)
Métodos y encapsulación Acciones que se implementan el
comportamiento de un objeto, manipular los datos
Encapsulación colocar juntos los datos y los métodos dentro de un objeto
El programador debe pensar en el código y los datos juntos durante el diseño del programa
No hay vacio entre datos y métodos 45
PROGRAMACIÓN ORIENTADA A OBJETOS
![Page 46: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/46.jpg)
Modificadores de acceso Visibilidad que tendran los datos o los
metodos, desde que parte seran visibles para ser utilizados -privado (datos,metodos) #protegido (datos,metodos) +publico (datos,metodos) _estatico (datos,metodos) *abstracto (metodos)
46
![Page 47: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/47.jpg)
ObjetoEmpleado
Leernombre()Leerapellido()
Instanciación
47
Empleado
Leernombre()Leerapellido()
Nombreapellidos
Nombre: JuanApellidos: perez
ObjetoEmpleado
Leernombre()Leerapellido()
Nombre: JuanApellidos: perez
![Page 48: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/48.jpg)
ejercicio Se desea calcular el sueldo de un empleado,
teniendo su nombre, apellido, horas trabajadas, costo por hora de 5 dólares y bajo las siguientes condiciones: Horas trabajadas <=40 no tiene bonificacion Horas trabajadas <=50, 20% de bonificacion Horas trabajadas <=60, 30% de bonificacion Horas trabajadas >=60, 40% Nadie puede ganar menos de 100 y mas de
400 dólares
48
![Page 49: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/49.jpg)
49
ObjetoEmpleado
establecerombre()establecerapellido()Calcularsueldo()
Nombre: JuanApellidos: perezHorastrab: 30Sueldo: 150
ObjetoEmpleado
establecerombre()establecerapellido()Calcularsueldo()
Nombre: daniloApellidos: jaramilloHorastrab: 10Sueldo: (50) = 100
ObjetoEmpleado
establecerombre()establecerapellido()Calcularsueldo()
Nombre: JuanApellidos: perezHorastrab: 40Sueldo: 200
ObjetoEmpleado
establecerombre()establecerapellido()Calcularsueldo()
Nombre: JuanApellidos: perezHorastrab: 45Sueldo: 225+45=270
ObjetoEmpleado
establecerombre()establecerapellido()Calcularsueldo()
Nombre: JuanApellidos: perezHorastrab: 54Sueldo: 270+81=351
ObjetoEmpleado
establecerombre()establecerapellido()Calcularsueldo()
Nombre: JuanApellidos: perezHorastrab: 65Sueldo: 325+130=400
![Page 50: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/50.jpg)
Empleado
Establecernombre()Establecerapellido()Establecerhoras()Calcularsueldo()obtenerDatosempleados()Obtenersueldo()
50
NombreApellidosHorastrabSueldo
![Page 51: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/51.jpg)
Algoritmo sueldo
Clase empleado
a. Declaraciones
datos
NomEmp: cadena
ApeEmp: cadena
NumHor: real
sueldo: real
constante
costohora=5
………………
51
1. Método Establecernombre(nom :cadena)a. NomEmp = nom
b. Fin Método establecernombre
2. Método Establecerapellido (ape:cadena)a. ApeEmp = nom
b. Fin Método establecerapellido
3. Método Establecerhoras (hor:real)
a. numhor = hor
b. Fin Método Establecerhoras
![Page 52: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/52.jpg)
52
4. Método Calcularsueldo ()a. Sueldo = NumHor * costohora
b. If (NumHor > 40) and (NumHor <=50) then
Sueldo = sueldo + (sueldo*0.20)
c. endif
d. If (NumHor > 50) and (NumHor <=60) then
Sueldo = sueldo + (sueldo*0.30)
e. endif
f. If (NumHor > 60) then
Sueldo = sueldo + (sueldo*0.40)
g. Endif
……….
h. If (sueldo < 100) then
sueldo = 100
i. Endif
j. If (sueldo > 300) then
sueldo = 300
k. Endif
l. Fin Método calcularrsueldo
![Page 53: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/53.jpg)
5. Método obtenerDatosempleados() :cadena
a. return (NomEmp+ “ “+ApeEmp)
b. Fin Método obtenerDatosempleados
6. Método Obtenersueldo(): Real
a. return sueldo
b. Fin Método Obtenersueldo
Finclase Empleado
53
![Page 54: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/54.jpg)
54
………………Clase Manipulaempleado
Método Principal
a. Declaraciones
nombre: cadena
apellido: cadena
horas: real
b. Declarar crear el objeto
c. empleado objemp = new empleado()
d. Imprimir “ingrese nombres y apellidos, y horas trabajadas”
e. Leer nombre, apellido, horas
………………………
………………f. Objemp.establecernombre(nombre)
g. Objemp.establecerapellido(apellido)
h. Objemp.establecerhoras(horas)
i. Objemp.calcularsueldo()
j. Imprimir Objemp.obtenerempleado
k. Imprimir objemp.obtenersueldo
l. Fin Método Principal
Fin clase Manipulaempleado
Fin (algoritmo)
![Page 55: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/55.jpg)
contacto
Email: [email protected] Skype: danilo.jaramillo.h msn: [email protected] Teléfono: 07-250275 ext 2637
55
![Page 56: Metodologia Y Tecnologia De La Programacion I](https://reader035.vdocumento.com/reader035/viewer/2022081514/559134731a28abae628b47c2/html5/thumbnails/56.jpg)
56