Просмотр содержимого документа
«Оптимизация кода»
Языки программирования
Оптимизация кода
Цели обучения
- выбирать ПО для проектной деятельности
- оптимизировать код программы
Критерии оценивания
- выбирать ПО для проектной деятельности
- систематизация представлений о различных категориях системного программного обеспечения;
- анализировать объекты с целью выделения признаков,
- оптимизировать код программы
1. Укажите два недостатка языка программирования первого поколения (1GL).
2. Укажите два преимущества языка программирования четвёртого поколения (4GL).
- Код нельзя переносить на другие платформы, зависим от аппаратного обеспечения.
- При возникновении ошибки код сложно исправить
- Программный код понятен людям;
- Код можно переносить на любые платформы.
Задача:
- Семья, состоящая, из четырех человек приобрели персональный компьютер. Сын увлекается компьютерными играми, дочь учится в университете, папа инженер-программист, мама дизайнер. Пришли домой, включили, компьютер, каждый из членов семьи, поработав немного за компьютером, пришел к выводу, что на данный момент времени компьютер бесполезен.
Как удовлетворить потребности всех членов семьи в выборе ПО?
- Устанавливает осознанность ситуации.
- Определяют перечень ПО необходимого каждому члену семьи.
- Установить программное обеспечение для членов семьи:
- Компьютерные игры,
- Для обучения,
- Инженер программист,
- Дизайнер.
Работа в паре Разработка онлайн системы для заказа пиццы с доставкой по адресу.
Для разработки онлайн системы построить блок-схему.
Для решения задачи выбрать ПО и обосновать свой ответ.
ПО для разработки:
- операционных систем
- компьютерных игр
- веб-браузера
- медиа проигрывателя
- приложений мобильного телефона
x = 0;
x = 0;
for(i = 1; i
x = x + 0.05;
a3c = a * a * a + c;
y = (a * a * a + c) * x * x + b * b *
x;
b2 = b * b;
for(i = 1; i
Console.WriteLine(x,y);
}
{
x = x + 0.05;
y = a3c * x * x + b2 * x;
Console.WriteLine(x,y);
}
int n=100;
int sum=0;
int n=100;
int sum=n*(n+1)/2;
for(int i=1; i
Console.WriteLine("Sum is "+sum);
sum=sum+i;
Console.WriteLine("Sum is "+sum);
Оптимизация кода - различные методы преобразования кода ради улучшения его характеристик и повышения эффективности.
Некоторые задачи часто могут быть выполнены более эффективно чем первоначально. Разберем на примере. Ниже представлена программа, которая суммирует все целые числа от 1 до N:
int i, sum = 0;
for (i = 1; i
sum = sum + i;
Если проанализировать выполнение этого кода, то можно заметить, что суммирование последовательных значений будет выполняться по циклу n раз. При достаточно большом значении n это потребует определенных временных затрат.
Подумай, как по другому можно найти эту сумму чисел!
Если ты хорошо знаком с математикой, то возможно нашел решение. Используя математическую формулу этот код может быть переписан в следующем виде:
int sum = (N * (N+1)) / 2;
Такая замена позволит увеличить скорость выполнения программы и уменьшит размер программы.
Целями оптимизации могут быть:
- уменьшения объема кода,
- уменьшение объема используемой программой оперативной памяти,
- ускорение работы программы,
- уменьшение количества операций ввода вывода.
Работа в паре исследовать методы оптимизации, презентовать полученные материалы и провести взаимооценивание.
- линейных участков программы;
- логических выражений;
- циклов;
- вызовов процедур и функций;
Критерии оценивания
- Понятность
- Эстетичность
- Полнота материала
- Соответствие теме
Рассмотрите программный код. Выполните оптимизацию кода на языке С#, используя оператор цикла (for, while, do-while), без использования условного оператора .
Рефлексия