Цели:
использовать алгоритмы обработки одномерного массива (поиск элемента, сумма, максимальный/минимальный элемент)
оптимизировать код программы
использовать компоненты ООП для ввода и вывода элементов одномерного массива
осуществлять трассировку алгоритма с промежуточными величинами
Критерии оценивания:
умеет выводить нужный элемент массива через программный код
создает алгоритм нахождения минимального/максимального элемента массива
использует компоненты ООП для ввода/вывода элементов одномерного массива
осуществляет трассировку алгоритма с промежуточными величинами
Оптимизация кода - различные методы преобразования кода ради улучшения его характеристик и повышения эффективности.
Цели оптимизации
уменьшения объема кода
уменьшение объема используемой программой оперативной памяти
ускорение работы программы
уменьшение количества операций ввода вывода.
Что влияет на эффективность кода?
Понятность
Время
Память
Используемые методы оптимизации ни при каких условиях не должны приводить к изменению “смысла” исходной программы!
int n=100;
int sum=0;
for(int i=1; i<=100; i++)
sum=sum+i;
Console.WriteLine("Sum is "+sum);
Пример - 1
int n=100;
int sum=n*(n+1)/2;
Console.WriteLine("Sum is "+sum);
x = 0;
for(i = 1; i <= n; ++i){
x = x + 0.05;
y = (a * a * a + c) * x * x + b * b * x;
Console.WriteLine(x,y);
}
Пример - 2
x = 0;
a3c = a * a * a + c;
b2 = b * b;
for(i = 1; i <= n; ++i) {
x = x + 0.05;
y = a3c * x * x + b2 * x;
Console.WriteLine(x,y);
}
Индивидуальное задание 1 (Console)
Создайте массив myArray размером 7, со значениями 1, 2, 6, 7, 9, 7 ,10.
Выведите на экран элемент с индексом 3(myArray[3]).
КО1: использовать алгоритмы обработки одномерного массива (поиск элемента, сумма, максимальный/минимальный элемент)
Дескрипторы:
Инициализирует массив
Задает правильно размер массива
Правильно задает значения элементов
Выводит нужный элемент используя индекс
Групповое задание
Создайте алгоритм для нахождения минимального элемента в массиве
КО1: использовать алгоритмы обработки одномерного массива (поиск элемента, сумма, максимальный/минимальный элемент)
Дескрипторы:
Создает массив
Находит минимальный элемент массива
Описывает действия алгоритма
Индивидуальное задание 1 (Console)
Напишите программный код для нахождения минимального элемента массива
КО1: использовать алгоритмы обработки одномерного массива (поиск элемента, сумма, максимальный/минимальный элемент)
Дескрипторы:
Создает массив
Использует первый элемент для сравнения
Использует присваивание значений
24.01.2020
Трассировка алгоритма - модель работы процессора.
Чтобы проверить правильность алгоритма, совсем не обязательно переводить его на язык программирования. Протестировать алгоритм может и человек - путём трассировки. Выполняя ручную трассировку, человек моделирует работу процессора, исполняя каждую команду и занося результаты выполнения команд в трассировочную таблицу.
24.01.2020
Трассировка алгоритма - модель работы процессора.
Программа выполняется по шагам (первый столбец таблицы).
В столбце «Команда алгоритма» отображается содержимое регистра команд процессора, куда помещается очередная команда.
В столбце «Переменные» отображается содержимое ячеек памяти, отведённых под переменные величины.
В графе «Выполняемое действие» отражаются действия, выполняемые арифметико-логическим устройством процессора.
24.01.2020
Вывод:
Таким образом, алгоритм в совокупности с трассировочной таблицей полностью моделируют процесс обработки информации, происходящий в компьютере.
Оператор | Условие | i | S | Примечание |
S:=0 |
| 0 |
| |
for i:= 6 to 10 do | Да | 6 |
| |
S:=S + i |
| 6 | 0+6-6 | |
For i:= 6 to 10 do | Да | 7 |
|
|
S:= S + i |
| 13 | 6 + 7 = 13 | |
For i:= 6 to 10 do | Да | 8 |
|
|
S:= S + i |
| 21 | 13 + 8 = 21 | |
For i:= 6 to 10 do | Да | 9 |
|
|
S:= S + i |
| 30 | 21 + 9 = 30 | |
For i:= 6 to 10 do | Да | 10 |
|
|
S:= S + i |
| 40 | 30 + 10 = 40 | |
For i:=6 to 10 do | Нет | 11 |
|
|
writeln ('Сумма чисел',S:3) |
| ??? | На экране: Сумма чисел=40 | |
Практическое задание 1
Напишите программу нахождения факториала числа и заполните таблицу трассировки для этой задачи.
КО1: осуществлять трассировку алгоритма с промежуточными величинами
Дескрипторы:
Разрабатывает алгоритм решения задачи
Использует цикл
Использует присваивание значений
Находит входные и выходные данные для каждого шага в цикле
Правильно заполняет таблицу трассировки
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.