Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porEusbio Astudillo Modificado hace 9 años
1
PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web: www.esiracusa.jimdo.com 1
2
Acciones conocidas por la persona que especifica el algoritmo y por la persona o instrumento que las lleva a cabo. Primitivas descriptas por el lenguaje de diseño. Primitivas especificas por una persona que desarrolla el algoritmo. 2
3
Ejemplo1: Cocinar un huevo frito: 1.Buscar la sartén. 2.Colocarle aceite. 3.Colocar la sartén en el fuego. 4.Buscar un huevo. 5.Cascar el huevo. 6.Colocar el interior del huevo en la sartén. 7.Cocinar el huevo. 8.Sacar el huevo de la sartén. 9.Retirar la sartén del fuego. 10.Finalizar 3
4
4 2. Colocar aceite. 2.1Buscar la botella de aceite de girasol. 2.2 llenar hasta la mitad taza de café con el aceite. 2.3Volterar el aceite de la taza de café en la sartén. 7. Cocinar el huevo frito. 7.1Con una cuchara juntar el aceite que queda alrededor del huevo frito y arrojar sobre este para que cocine la parte superior. 3.Colocar la sartén en el fuego. 3.1Encender la hornalla. 3.2Colocar entre la posición de máximo y mínimo. 3.3Colocar el sartén sobre la hornalla. 8. Sacar el huevo de la sartén. 8.1 Buscar una espumadera. 8.2 Colocar la espumadera entre el huevo y la sartén. 8.3 Levantar la espumadera y mantenerla para que escurra el aceite. 8.4 Colocar el huevo en el plato.
5
Consideremos tener una pantalla de 9 filas por 15 columnas numeradas en forma creciente desde la fila superior hacia la inferior y de columnas de izquierda a derecha. Se desea dibujar una silla, una mesa un sillón y por último una sala. Se tiene exclusivamente las siguientes primitivas. 1.Línea vertical (f,c,h) que dibuja una línea vertical desde la posición (f,c) hasta (f+h,c). 2.Línea Horizontal (f,c,h) que dibuja una línea horizontal desde la posición (f,c) hasta (f,c+h). 5
6
6 0123456789101112131415 0 1 2 3 4 5 6 7 8 9 Algoritmo silla Acciones Línea vertical (2,1,4) Línea Horizontal (4,1,2) Línea Vertical (4,3,2) fin Algoritmo silla Acciones Línea vertical (f,c,2h) Línea Horizontal (f+h,c,h) Línea Vertical (f+h,c+h,h) fin Silla (2,1,2) Silla (2,8,3) Silla (1,12,1)
7
7 0123456789101112131415 0 1 2 3 4 5 6 7 8 9 Algoritmo silla De: f,c,h Acciones Línea vertical (f,c,2h) Línea Horizontal (f+h,c,h) Línea Vertical (f,c+h,h) Fin Algoritmo mesa De:f,c,h Acciones Línea vertical (f,c,2h) Línea Horizontal (f,c,h) Línea Vertical (f+h,c,2h) Línea vertical (f,c+2h,2h) fin Silla (2,1,2) Mesa (2,9,2)
8
8 0123456789101112131415 0 1 2 3 4 5 6 7 8 9 Algoritmo Sala De: fs,cs,hs,fm,cm,hm Acciones Silla(2,1,3) Mesa(2,92) Fin Silla (2,1,2) Mesa (2,9,2)
9
9 0123456789101112131415 0 1 2 3 4 5 6 7 8 9 Algoritmo Sala De: fs,cs,hs,fm,cm,hm Acciones Silla(fs,cs,hs) Mesa(fm,cm,hm) Fin Fs:3 Cs:4 Hs:2 Fm:3 Cm:7 Hm:2 Sala (3,4,2,3,7,2)
10
10 Algoritmo Mayor-de-dos De: a,b Ds: mayor Acciones Si a>b entonces mayor a sino mayor b Fin Algoritmo Mayor-de-tres De: a,b,c Ds: el-mayor Acciones Mayor-de-dos(a,b,mayor) Mayor-de-dos(mayor,c,el-mayor) Fin
11
11 Algoritmo Mayor-de-tres De: a,b,c Ds: el-mayor Acciones Mayor-de-dos(a,b,mayor) Mayor-de-dos(mayor,c,el-mayor) Fin Algoritmo Mayor-de-tres De: a,b,c Ds: el-mayor Acciones Mayor-de-dos(a,b,mayor) Mayor-de-dos(mayor,c,el-mayor) Fin Algoritmo Mayor-de-dos De: a,b Ds: mayor Algoritmo Mayor-de-dos De: a,b Ds: mayor Algoritmo Mayor-de-dos De: a,b Ds: mayor Algoritmo Mayor-de-dos De: a,b Ds: mayor -583 38 8 8 8 8
12
12 AcciónABCmayorEl-mayor 38-5 18 28 Acciónabmayor 38 18 Acciónabmayor 8-5 18
13
La invocación a primitivas esta formada por. -Nombre del algoritmo que se invoca como primitiva. -Los valores o los nombre de los datos del algoritmo A cuyo valores se transmitirán a los datos de entrada de la primitiva cuando ésta sea invocada (si tiene datos de entrada). -Los nombres de los datos del algoritmo A que se escribirán los valores de los datos de salida de la primitiva una vez finalizada la ejecución de la misma (si tiene datos de entrada) subrayados. En ambos casos el orden en que se escriben los datos A se corresponderán con el orden en que están especificados en la primitiva. 13
14
La indicación a primitiva se indica por: Nombre de la primitiva (arg 1, arg 2, arg 3, …. arg n, ) Donde arg 1, arg 2, arg 3, …. arg i, corresponden en cantidad, dominio y orden de los datos de entrada y arg i+1, arg i+2, …. arg n, se corresponden a los datos de salida de la primitiva invocada. 14
15
-Cuando se alcanza la ejecución en un algoritmo A que es invocación a una primitiva, se realizan las siguientes acciones: Se transmiten los valores de los datos del algoritmo A que se encuadran idénticos en la invocación (argumentos) y que se correspondan con los datos de entrada de la primitiva. Se ejecutará la primitiva con dichos valores para los datos de entrada. Finalizada la ejecución de la primitiva se transfieren los valores de los datos de salida de la primitiva a sus correspondientes (Argumentos) datos del algoritmo. Se retorna a la ejecución a la acción siguiente de la invocación mencionada. 15
16
16 Si el número dado es n=n 1 n 2 n 3 …. N i Debe dar como resultado m=n 1 * n i + n 2 *n i-1 + n 3 * n i-2 +….+ n i *n 1 Algoritmo SPMismoNúmero DE: n DS: m Acciones CantDigitos(n, cantidad) InvertirNumero(n, ninv) Suma de productos (n, ninv, m) Fin
17
17
18
¿Qué debemos hacer? Estudiar si el punto de intersección pertenece a algún eje. ¿Cómo resolver este problema? - encontrar el punto de intersección. - estudiar si pertenece a los ejes 18 Algoritmo IntersecciónEnEje DE: a,b,c,d,e,f[Reales] DS: Pertenece[Lógico] Acciones Intersección(a,b,c,d,e,f,x,y) Pertenencia(x,y,pertenece) Fin
19
Por medio de determinantes: 19 X=c*e-b*fY=-a*f-d*e a*e-b*d Algoritmo Intersección DE: a,b,c,d,e,f[Reales] DS: x,y[Reales] Acciones x (c*e-b*f)/(a*e-b*d) y -(a*f-d*e)/(a*e-b*d) Fin
20
Si x=0 o y=0 entonces el punto pertenece de lo contrario el punto no pertenece a los ejes 20 Algoritmo Pertenencia DE: x,y[Reales] DS: pertenece[Lógico] Acciones Si (x=0) o (y=0) entonces pertenece v si no pertenece f Fin
21
21 Algoritmo IntersecciónEnEje DE: a,b,c,d,e,f[Reales] DS: Pertenece[Lógico] Acciones Intersección(a,b,c,d,e,f,x,y) Pertenencia(x,y,pertenece) Fin Algoritmo Intersección DE: a,b,c,d,e,f [Reales] DS: x,y [Reales] Acciones x (c*e-b*f)/(a*e-b*d) y -(a*f-d*e)/(a*e-b*d) Fin Algoritmo Pertenencia DE: x,y [Reales] DS: pertenece[Lógico] Acciones Si (x=0) o (y=0) entonces pertenece v si no pertenece f Fin
22
S1- 1,2,3,4,…,i,… S2- 2,4,6,8,…,i,… S3- 1,,3,5,7,…,i,… S4- 4,9,16,25,…,i,… S5- 1,4,9,16,…,i,… S6- n 1,n 2,n 3,…,i,… S7- -n 1,n 2,-n 3,…,i,… S8- 1!, 2!, 3!,…,i,… 22
23
S1- 1,2,3,4,…,i,…i-ésimo= i S2- 2,4,6,8,…,i,…i-ésimo= i*2 S3- 1,,3,5,7,…,i,…i-ésimo= i*-1 S4- 4,9,16,25,…,i,…i-ésimo= (i+1) 2 S5- 1,4,9,16,…,i,…i-ésimo= i 2 S6- 5 1,5 2,5 3,…,i,…i-ésimo= 5 i S7- -5 1,5 2,-5 3,…,i,…i-ésimo=(-1 i )*5 i S8- 1!, 2!, 3!,…,i,…i-ésimo= i! 23
24
24
25
25 S1- 1,2,3,4,…,i,…i-ésimo= i Pasos: Generar elemento. Sumar elemento Repetir ambas acciones, n-veces. Algoritmo SumaNElementos DE: n[Natural] DS: Suma[Natural] Acciones Suma 0 i 1 repetir n veces suma suma+i i i+1 Fin
26
26 S4- 4,9,16,25,…,i,…i-ésimo= (i+1) 2 Pasos: Generar elemento. Sumar elemento Repetir ambas acciones, n-veces. Algoritmo SumaNElementos DE: n[Natural] DS: Suma[Natural] Acciones Suma 0 i 1 repetir n veces suma suma+ (i+1) 2 i i+1 Fin
27
27 S7- -5 1,5 2,-5 3,…,i,…i-ésimo=(-1 i )*5 i Pasos: Generar elemento. Sumar elemento Repetir ambas acciones, n-veces. Algoritmo SumaNElementos DE: n[Natural] DS: Suma[Natural] Acciones Suma 0 i 1 repetir n veces suma suma+ (-1 i )*5 i i i+1 Fin
28
28
29
29 Algoritmo SumaNElementos DE: n[Natural] DS: Suma[Natural] Acciones Suma 0 i 1 repetir n veces suma suma+ Elemento(i) i i+1 Fin Algoritmo Elementos DE: i[Natural] DS: i-ésimo[Natural] Acciones i-ésimo i Fin Algoritmo Elementos DE: i[Natural] DS: i-ésimo[Natural] Acciones i-ésimo (i+1) 2 Fin Algoritmo Elementos DE: i[Natural] DS: i-ésimo[Natural] Acciones i-ésimo (-1 i )*5 i Fin
30
El concepto de aproximación es muy utilizado en la vida cotidiana ya que matemáticamente hablando es muy poco probable trabajar con números exactos. Es por eso que aproximamos distintas magnitudes en el que hacer cotidiano. Veamos un ejemplo de una sucesión que se aproxima a un número: Cada termino se aproxima al número 1 30
31
31 Algoritmo SumaNElementos DE: n[Natural] DS: Suma[Natural] Acciones Suma 0 i 1 repetir n veces suma suma+ Elemento(i) i i+1 Fin Algoritmo SumAroximada DE: error[Real] DS: Suma [Natural] Acciones Suma 0 i 1 repetir suma suma+ Elemento(i) i i+1 hasta Elemento(i)<Error Fin
32
32 Algoritmo SumAroximada DE: error[Real] DS: Suma[Natural] Acciones Suma 0 i 1 repetir suma suma+ Elemento(i) i i+1 hasta Elemento(i)<Error Fin Este algoritmo está desarrollado para sumar distintos términos que dependan sólo de su posición dentro de la suma El valor absoluto vale para todas las series ya sea que sus términos sean positivos o negativos Si no esta desarrollada la primitiva valor absoluto, debemos escribirla
33
33 Algoritmo SumAroximada DE: Error[Real] DS: Suma[Natural] Acciones Suma 0 i 1 repetir mientras Elemento(i)>Error suma suma+ Elemento(i) i i+1 fin repetir Fin
34
34 Como S i =S i-1 +t i entonces t i =S i -S i-1 para no analizar si los términos son positivos o negativos podemos utilizar el valor absoluto |t i |=|S i -S i-1 | Cada vez que sumamos un término a la suma anterior para obtener la nueva suma, es evidente que la diferencia entre ambas sumas es precisamente el término sumado. Por lo tanto: |ElTermino|=|Aprox1-Aprox2| Luego podemos escribir el algoritmo anterior de la siguiente manera:
35
35 Algoritmo SumAroximada DE: error[Real] DS: Suma[Natural] Acciones aprox1 0 i 1 aprox2 Elemento(i) repetir mientras |Aprox1-Aprox2|>= error aprox1 aprox2 i i+1 aprox2 aprox1 + Elemento(i) fin mientras Suma aprox1 Fin
36
36 i-1 i+1 Ejercicio escribir un algoritmo que permita aproximar al número e
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.