Update PR4
This commit is contained in:
parent
88bad286ad
commit
964cb24dc1
@ -16,17 +16,64 @@
|
||||
|
||||
## 17. Esquemas de recorrido y búsqueda
|
||||
|
||||
Ya hemos visto las estructuras secuencial, alternatica e iterativa, con esto, ya podemos resolver cualquier problema. Ahora vamos a ver esquemas de recorrido y búsqueda, que son una especie de patrones o estructuras predeterminadas para diseñar algoritmos de manera más sistemática y ganar en eficiencia y fiabilidad.
|
||||
|
||||
Un esquema es una especie de plantilla que nos permite solucionar un tipo de problema específico con adaptaciones a cada caso concreto. Un ejemplo de aplicación de esquemas de recorrido y búsqueda es para resolver problemas de tratamiento de secuencias de manera más eficiente y sistemática.
|
||||
|
||||
|
||||
### 17.1. Aprocimación intuitiva
|
||||
|
||||
|
||||
La idea es que, en lugar de ir a ciegas, sigamos un esquema de recorrido o búsqueda que nos permita ir avanzando de manera sistemática y eficiente. Por ejemplo, si tenemos que recorrer una matriz, podemos hacerlo por filas o por columnas, o si tenemos que buscar un elemento en una lista, podemos hacerlo de manera secuencial o binaria.
|
||||
|
||||
|
||||
#### 17.1.1. Ejemplo 1
|
||||
|
||||
Vamos a calular la temperatura media de todo el año suponiendo que vamos leyendo por el canal de entrada las temperaturas medias de cada día:
|
||||
|
||||
```alg
|
||||
algorithm averageTemp
|
||||
var
|
||||
temperature: real;
|
||||
average: real;
|
||||
i: integer;
|
||||
end var
|
||||
|
||||
i:= 0;
|
||||
average:= 0;
|
||||
|
||||
while i < 365 do
|
||||
temperature:= readReal();
|
||||
average:= average + temperature;
|
||||
i:= i + 1;
|
||||
end while
|
||||
|
||||
write(average / 365.0);
|
||||
|
||||
end algorithm
|
||||
```
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
float temperature;
|
||||
float average;
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
average = 0;
|
||||
|
||||
while (i < 365) {
|
||||
scanf("%f", &temperature);
|
||||
average = average + temperature;
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
printf("%f\n", average / 365.0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### 17.1.2. Ejemplo 1
|
||||
|
Loading…
Reference in New Issue
Block a user