Во Что такое юзабилити? Опишите основные эвристики юзабилити.
2. Чем юзабилити отличается от дизайна?
3. Какие основные требования предъявляются к дизайну мобильных приложений?
4. Что такое юзабилити-тестирование?
Навыки высокого порядка
Проведите мини-исследование трех установленных приложений на вашем смартфоне и укажите достоинства и недостатки с точки зрения дизайна и юзабилити.
Работа в группе
Обсудите в группе эвристики юзабилити и предложите свою концепцию юзабилити с точки зрения обычного пользователя.
Решение.
15.1 Следующий алгоритм выполнит требуемую задачу.
нц
пока справа свободно
закрасить
вправо
кц
нц
пока снизу свободно
закрасить
вниз
кц
закрасить
нц
пока не (снизу свободно)
влево
кц
вниз
нц
пока не (справа свободно)
закрасить
вниз
кц
закрасить
вправо
нц
пока не (сверху свободно)
закрасить
вправо
кц
15.2 Решение
var a, s: integer;
begin
s: = 0;
readln(a);
while a<>0 do begin
if (a mod 8=0) and (a mod 10 = 6) then
s : = s + a;
readln(a);
end;
writeln(s)
end.
Для проверки правильности работы программы необходимо использовать следующие тесты:
Входные данные Выходные данные
1
8
6
10
0
0
2
16
0
16
3
16
96
5
0
112
Спрятать критерии
Критерии проверки:
Критерии оценивания выполнения задания 15.
Алгоритм правильно работает при всех допустимых исходных данных 2
При всех допустимых исходных данных верно следующее:
1) выполнение алгоритма завершается, и при этом Робот не разбивается;
2) закрашено не более 10 лишних клеток;
3) остались незакрашенными не более 10 клеток из числа тех, которые должны были быть закрашены
1
Задание выполнено неверно, т. е. не выполнены условия, позволяющие поставить 1 или 0
Максимальный 2
Критерии оценивания выполнения задания 15.
Предложено верное решение. Программа правильно работает на всех приведённых выше тестах. Программа может быть записана на любом языке программирования 2
Программа выдаёт неверный ответ на одном из тестов, приведённых выше. Например, решение, в котором неверно задано условие отбора чисел: (a mod 8=0)or(a mod 10=6), выдаст неправильный ответ на тесте № 1. 1
Программа выдаёт на тестах неверные ответы, отличные от описанных в критерии на 0
Максимальный 2
(X / 90) bit per sec (это битов в секунду)
Теперь разберемся с размером... ХА! Поняли? С размером...)
Что такое ха? В смысле икс? Это кол-во пикселей по горизонтали * на кол-во пикселей по вертикали и * на размер памяти для кодировки 1 пикселя.
Заметка автора:
Звездочка типа "*" - значит знак умножения.
***Конец заметки автора***
А изображение увеличелось в 2 раза, как мы знаем из школьного курса геометрии, если размеры фигуры растут линейно, то площадь квадратично, как-то так, короче закон Квадрата, ищите в интернете.
В нашем случаи это значит вот что: размер увеличели мы в 2 раза, значит площадь увеличится 2^2 то есть в 4 раза.
Следовательно размер изображения теперь будет 4X.
Ну и теперь пременим глубину кадрирования... Это кол-во памяти занимаемое 1 пикселем.
Вспоминаем формулу, что я объяснял ранее, значит размер нашей картинки равен 4 * (x * y * g), где x - ширина картинки, y - высота картинки, а g - глубина кодирования, она у нас уменьшилась в 1.5 раза, то есть новый размер картинки полностью будет выглядить вот так:
4 * (x * y * g / 1.5)
Скорость передачи второй картинки по второму каналу связи:
4 * (x * y * g / 1.5) / 10 bit res sec
Формула для изначального изображения будет выглядить вот так:
x * y * g
Теперь составим пропорцию:
x * y * g 4 * (x * y * g / 1.5)
=
? 10
Через неё пытаемся найти примерное время передачи первой картинки по второму каналу связи, надеюсь тут всё понятно :)
(Для непонятливых: скорость передачи второй картинки мы получаем делением её размера на время её передачи, скорость у нас константная, то есть не меняется, значит точно с такой же скоростью будет передана первая картинка по этому же каналу связи, но времени мы не знаем, по этому скорости прировняем, а неизвестное время будем сейчас искать)
Ищем по пропорции время, для эотго пременим правило прямоугольника или как оно там называется в школьной алгебре, это не важно:
(знак вопроса заменил на переменную t)
10 * (x * y * g) = (4 * (x * y * g / 1.5)) * t
t = (4 * (x * y * g / 1.5)) / (10 * (x * y * g))
А теперь нам нужно сравнить время передачи между первым и вторым каналом, время первого напомню будет:
((x * y * g) / 90)
Что бы найти во сколько раз быстрее второй канал, нужно разделить большее время на меньшее:
(4 * (x * y * g / 1.5)) / (10 * (x * y * g)) / ((x * y * g) / 90)
Теперь упростим выражение:
пусть x * y * g = 1, то есть константа, которая ни на что не повлияет, ведь у нас относительная величина - пропускная канала.
тогда получим:
(4 * (1 / 1.5)) / (10 * 1) / (1 / 90)
((4 / 1.5)) / 10) / (1 / 90)
(4/15) / (1/90) - вспоминаем школьный курс алгебры
4/15 * 90/1 - эквивалентное выражение
4/1 * 6/1 - сократили 90 на 15
4 * 6 = 24
ответ: в 24 раза быстрее
Постскриптум:
Конечно можно было бы и не так подробно описывать, но надеюсь теперь понятно всё. Дерзайте и помните:
Математика & Программирование — это круто!
Только учитесь сами - универы, это параша)