1. Решаем специально подобранные “базовые технические” задачи, которые позволяют “оттачивать” технику работы с массивами.
2. Решаем специально подобранные “базовые” задачи, алгоритмы которых являются составляющими многих задач на обработку массивов данных.
3. Учим “читать” чужие (да и свои тоже!) программы. В этой ситуации уместно провести аналогию с изучением иностранного языка: вначале человек, изучающий иностранный язык, учится читать текст со словарем. Так и в программировании. Умение “читать текст со словарем” достигается за счет выполнения заданий сначала на листе бумаги, а затем и с использованием отладчика программ. Учащийся должен понимать, как выполняются основные алгоритмические конструкции, как организованы одномерные и двумерные массивы, т.е. знать правила работы с каждым типом данных.
4. Знакомим учащихся с некоторыми положениями теории алгоритмов. В частности, рассказываем, что алгоритмы решения задач можно классифицировать, например, следующим образом:
· решение задачи “в лоб”;
· метод введения дополнительных данных;
· метод преобразования входных данных;
· метод уменьшения размерности задачи.
И решаем специально подобранные задачи по каждому методу.
/** libraries */
#include <iostream>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <algorithm>
/** libraries */
using namespace std;
/** defines */
#define ll long long
#define ld long double
#define yes cout << "YES" << "\n"
#define no cout << "NO" << "\n"
/** defines */
int a[20];
void solve(){
ld sum = 0;
for(auto i: a)
sum += i;
ld av = sum / 20;
int res = 0;
for(auto i: a)
if(i < av)
res++;
cout << res;
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
for(int i = 0; i < 20; i++)
cin >> a[i];
solve();
}
1. Решаем специально подобранные “базовые технические” задачи, которые позволяют “оттачивать” технику работы с массивами.
2. Решаем специально подобранные “базовые” задачи, алгоритмы которых являются составляющими многих задач на обработку массивов данных.
3. Учим “читать” чужие (да и свои тоже!) программы. В этой ситуации уместно провести аналогию с изучением иностранного языка: вначале человек, изучающий иностранный язык, учится читать текст со словарем. Так и в программировании. Умение “читать текст со словарем” достигается за счет выполнения заданий сначала на листе бумаги, а затем и с использованием отладчика программ. Учащийся должен понимать, как выполняются основные алгоритмические конструкции, как организованы одномерные и двумерные массивы, т.е. знать правила работы с каждым типом данных.
4. Знакомим учащихся с некоторыми положениями теории алгоритмов. В частности, рассказываем, что алгоритмы решения задач можно классифицировать, например, следующим образом:
· решение задачи “в лоб”;
· метод введения дополнительных данных;
· метод преобразования входных данных;
· метод уменьшения размерности задачи.
И решаем специально подобранные задачи по каждому методу.
Объяснение:
может так?