- •Лабораторная работа № 11 «Программирование»
- •Порядок выполнения логических операций в сложном логическом выражении:
- •Примеры алгоритмов устойчивой сортировки
- •Урок-лекция по теме: Языки программирования".
- •Содержание урока.
- •1. Язык программирования
- •2. Понятие язык программирования
- •3. Семантика языков программирования
- •4. Компилируемые и интерпретируемые языки
- •5. Системы объектно-ориентированного программирования
- •6. История развития языков программирования
- •Важно!!!
Порядок выполнения логических операций в сложном логическом выражении:
1. инверсия
2. конъюнкция
3. дизъюнкция
4. импликация
5. эквивалентность
логическое выражение;
С помощью логических переменных и символов логических операций любое высказывание можно формализовать, то есть заменитьлогической формулой (логическим выражением).
Логическое выражение - это символическая запись высказывания, состоящая из логических величин (констант или переменных), объединенных логическими операциями (связками).
Связки "НЕ", "И", "ИЛИ"заменяются логическими операциямиинверсия,конъюнкция,дизъюнкция. Это основные логические операции, при помощи которых можно записать любое логическое выражение.
массив;
Массив(в некоторыхязыках программированиятакжетаблица,ряд) — набор однотипных компонентов (элементов), расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется поиндексу(индексам). В отличие отсписка, массив является структурой с произвольным доступом.
Размерностьмассива — количество индексов, необходимое для однозначного доступа к элементу массива.
Формаилиструктура массива— количество размерностей и размер (протяжённость) массива для каждой размерности, может быть представлен одномерным массивом.
сортировка массива;
Сортировкой или упорядочением массиваназывается расположение его элементов по возрастанию (или убыванию). Если не все элементы различны, то надо говорить онеубывающем (или невозрастающем) порядке.
Вообще говоря, это большая и сложная тема, в которой известно много различных алгоритмов. Критерии оценки эффективности этих алгоритмов могут включать следующие параметры:
количество шагов алгоритма, необходимых для упорядочения;
количество сравнений элементов;
количество перестановок, выполняемых при сортировке.
Примеры алгоритмов устойчивой сортировки
Сортировка выбором— поиск наименьшего или наибольшего элемента и помещение его в начало или конец упорядоченного списка.
Сортировка пузырьком— для каждой пары индексов производится обмен, если элементы расположены не по порядку.
Сортировка перемешиванием
Гномья сортировка — схожа с сортировкой пузырьком и сортировкой вставками.
Сортировка вставками— Определяем, где текущий элемент должен находиться в упорядоченном списке, и вставляем его туда.
Сортировка слиянием— выстраиваем первую и вторую половину списка отдельно, а затем объединяем упорядоченные списки.
Сортировка с помощью двоичного дерева
Сортировка Timsort— комбинированный алгоритм (используется сортировка вставками и сортировка слиянием).
Сортировка подсчётом
Блочная сортировка (Корзинная сортировка) — требуется O(k) дополнительной памяти и знание о природе сортируемых данных, выходящее за рамки функций "переставить" и "сравнить".
подпрограмма.
Подпрограмма - это отдельная функционально независимая часть программы.
Подпрограммы решают три важные задачи:
избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;
улучшают структуру программы, облегчая ее понимание;
повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях программы.
В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.
Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну возможность — она может возвращать результат. Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания. Подробнее см. в статье Функция (программирование).
Процедура — это независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из последующих частей программы для выполнения определенных действий.
Ответьте на следующие содержательные вопросы:
Проанализируйте, какие парадигмы программирования поддерживаются в основной школе, и заполните таблицу
|
Выходные данные учебника |
Парадигма программирования |
Язык программирования (система программирования) |
Основные понятия (определения) |
|
|
|
|
|
Приведите список основных операторов языка программирования Паскаль (Pascal ABC).
Распределите на две группы – описатели данных простого типа и описатели данных составного типа – приведенные ниже описатели типов: real, array, string, integer, boolean, set, char, file, record.
Заполните таблицу, в которой для каждой структуры привести общий вид записи на языке Паскаль и основные типы задач.
|
Следование |
Ветвление |
Выбор |
Цикл |
|
|
|
|
|
Объясните смысл использования в программировании логического типа данных. Приведите примеры.
Сформулируйте правила записи арифметических и логических выражений на языке Паскаль.
Сформулируйте алгоритм построения таблицы истинности логического высказывания. Приведите пример построения.
Объясните смысл генерации случайных чисел. Как она реализуется на языке Паскаль? Где она может использоваться?
Ответьте на следующие методические вопросы:
Как наиболее эффективно связать освоение методов построения алгоритмов с освоением языка программирования?
Какие языки программирования наиболее подходят для начального обучения программированию?
Почему для успешного освоения программирования ученику необходимо иметь представление об архитектуре ЭВМ?
Как объяснить ученикам, в чем заключается разница между языками программирования и системами программирования?
Какой методический подход следует применять при ознакомлении учеников с системой программирования?
Приведите систему типовых задач обработки одномерных массивов.
Приведите систему типовых задач обработки текстовой информации (использование символьного и строкового типов).
Портфолио:
1) конспект одного урока по теме;
2) пять заданий с использованием метода ошибок;
3) материал по темам: «История развития языков программирования», «Алгоритмы сортировки массивов», «Процедуры и функции», «Рекурсия».
4) задача: «Запишите с помощью разных операторов цикла фрагменты программ, решающих задачу вывода строчных букв латинского алфавита в прямом и обратном порядке» (оформить в виде текстового документа, содержащего скриншоты текстов программ в системе программирования и окна выполнения программ; в окне программы должна содержаться информация об авторе-создателе программ).
