Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Понятие язык программирования



Логическая операция – способ построения сложного высказывания из данных высказываний, при котором значение истинности сложного высказывания полностью определяется значениями истинности исходных высказываний.

Рассмотрим три базовых логических операций – инверсию, конъюнкцию, дизъюнкцию и дополнительные – импликацию и эквивалентность.

Логическая операция Название Соответствует союзу Обозначение знаками Таблица истинности Логическая операция
Инверсия (от лат. inversion – переворачиваю) отрицание не А
А
Инверсия логической переменной истина, если переменная ложна, и, наоборот, инверсия ложна, если переменная истина.
Конъюнкция (от лат. conjunction – связываю) Логическое умножение А и В
А В
Конъюнкция двух логических переменных истинна тогда и только тогда, когда оба высказывания, истинны.
Дизъюнкция (от лат. disjunction – различаю) Логическое сложение А или В
А В
Дизъюнкция двух логических переменных ложна тогда и только тогда, когда оба высказывания ложны.
Импликация (от лат. implication – тесно связывать) Логическое следование Если А, то В; Когда А, тогда В А–условие В-следствие
А В
Импликация двух логических переменных ложна тогда и только тогда, когда из истинного основания следует ложное следствие.
Эквивалентность(от лат. equivalents - равноценность) Логическое равенство А тогда и только тогда, когда В
А В
Эквивалентность двух логических переменных истинна тогда и только тогда, когда оба высказывания одновременно либо ложны, либо истинны

Порядок выполнения логических операций в сложном логическом выражении:

1. инверсия

2. конъюнкция

3. дизъюнкция

4. импликация

5. эквивалентность

 

§ логическое выражение;

С помощью логических переменных и символов логических операций любое высказывание можно формализовать, то есть заменить логической формулой (логическим выражением).

Логическое выражение - это символическая запись высказывания, состоящая из логических величин (констант или переменных), объединенных логическими операциями (связками).

Связки " НЕ", " И", " ИЛИ" заменяются логическими операциями инверсия, конъюнкция, дизъюнкция. Это основные логические операции, при помощи которых можно записать любое логическое выражение.

 

§ массив;

Массив (в некоторых языках программирования также таблица, ряд) — набор однотипных компонентов ( элементов ), расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (индексам). В отличие от списка, массив является структурой с произвольным доступом.

Размерность массива — количество индексов, необходимое для однозначного доступа к элементу массива.

Форма или структура массива — количество размерностей и размер (протяжённость) массива для каждой размерности, может быть представлен одномерным массивом.

 

§ сортировка массива;

Сортировкой или упорядочением массива называется расположение его элементов по возрастанию (или убыванию). Если не все элементы различны, то надо говорить о неубывающем (или невозрастающем) порядке.

Вообще говоря, это большая и сложная тема, в которой известно много различных алгоритмов. Критерии оценки эффективности этих алгоритмов могут включать следующие параметры:

· количество шагов алгоритма, необходимых для упорядочения;

· количество сравнений элементов;

· количество перестановок, выполняемых при сортировке.

Примеры алгоритмов устойчивой сортировки

· Сортировка выбором— поиск наименьшего или наибольшего элемента и помещение его в начало или конец упорядоченного списка.

· Сортировка пузырьком— для каждой пары индексов производится обмен, если элементы расположены не по порядку.

· Сортировка перемешиванием

· Гномья сортировка — схожа с сортировкой пузырьком и сортировкой вставками.

· Сортировка вставками— Определяем, где текущий элемент должен находиться в упорядоченном списке, и вставляем его туда.

· Сортировка слиянием— выстраиваем первую и вторую половину списка отдельно, а затем объединяем упорядоченные списки.

· Сортировка с помощью двоичного дерева

· Сортировка Timsort— комбинированный алгоритм (используется сортировка вставками и сортировка слиянием).

· Сортировка подсчётом

· Блочная сортировка (Корзинная сортировка) — требуется O(k) дополнительной памяти и знание о природе сортируемых данных, выходящее за рамки функций " переставить" и " сравнить".

 

§ подпрограмма.

Подпрограмма - это отдельная функционально независимая часть программы.

Подпрограммы решают три важные задачи:

· избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;

· улучшают структуру программы, облегчая ее понимание;

· повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях программы.

В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

· Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну возможность — она может возвращать результат. Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания. Подробнее см. в статье Функция (программирование).

· Процедура — это независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из последующих частей программы для выполнения определенных действий.

 

k Ответьте на следующие содержательные вопросы:

Проанализируйте, какие парадигмы программирования поддерживаются в основной школе, и заполните таблицу

Выходные данные учебника Парадигма программирования Язык программирования (система программирования) Основные понятия (определения)
       

Приведите список основных операторов языка программирования Паскаль (Pascal ABC).

Распределите на две группы – описатели данных простого типа и описатели данных составного типа – приведенные ниже описатели типов: real, array, string, integer, boolean, set, char, file, record.

Заполните таблицу, в которой для каждой структуры привести общий вид записи на языке Паскаль и основные типы задач.

Следование Ветвление Выбор Цикл
       

 

Объясните смысл использования в программировании логического типа данных. Приведите примеры.

Сформулируйте правила записи арифметических и логических выражений на языке Паскаль.

Сформулируйте алгоритм построения таблицы истинности логического высказывания. Приведите пример построения.

Объясните смысл генерации случайных чисел. Как она реализуется на языке Паскаль? Где она может использоваться?

 

l Ответьте на следующие методические вопросы:

Как наиболее эффективно связать освоение методов построения алгоритмов с освоением языка программирования?

Какие языки программирования наиболее подходят для начального обучения программированию?

Почему для успешного освоения программирования ученику необходимо иметь представление об архитектуре ЭВМ?

Как объяснить ученикам, в чем заключается разница между языками программирования и системами программирования?

Какой методический подход следует применять при ознакомлении учеников с системой программирования?

Приведите систему типовых задач обработки одномерных массивов.

Приведите систему типовых задач обработки текстовой информации (использование символьного и строкового типов).

 

m Портфолио:

1) конспект одного урока по теме;

2) пять заданий с использованием метода ошибок;

3) материал по темам: «История развития языков программирования», «Алгоритмы сортировки массивов», «Процедуры и функции», «Рекурсия».

4) задача: «Запишите с помощью разных операторов цикла фрагменты программ, решающих задачу вывода строчных букв латинского алфавита в прямом и обратном порядке» (оформить в виде текстового документа, содержащего скриншоты текстов программ в системе программирования и окна выполнения программ; в окне программы должна содержаться информация об авторе-создателе программ).

 

Урок-лекция по теме: Языки программирования".

Цели урока:

· Сформировать у учащихся представление о развитие языков программирования, о структуре и видах языков программирования.

· Выявить различие между языками высокого уровня, машинным языком и ассемблером.

· Воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости.

· Развитие познавательных интересов, умения конспектировать

Содержание урока.

Язык формирует наш способ мышления и определяет то, о чем мы можем мыслить. Б.Л. Ворф.

Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Смысл появления такого языка – оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм. Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько " близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько " близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко. (1-2 слайд)

Язык программирования

Язык программирования – формальная знаковая система, предназначенная для записи программ. Программа обычно представляет собой некоторый алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.

Машинный язык

Программы на машинном языке – очень длинные последовательности единиц и нулей, являлись машинно зависимыми, т.е. для каждой ЭВМ необходимо было составлять свою программу.

БЕЙСИК

Бейсик – это продукт Новой Англии. Cозданный в 1964г., как язык обучения программированию. Бейсик является общепринятым акронимом от" Beginner's All-purpose Symbolic Insruction Code" (BASIC) - Многоцелевой Символический Обучающий Код для Начинающих".

Вскоре как обучаемые, так и авторы программ обнаружили, что Бейсик может делать практически все то, что делает скучный неуклюжий Фортран. А так как Бейсику было легко обучиться и легко с ним работать, программы на нем писались обычно быстрее, чем на Фортране. Бейсик был также доступен на персональных компьютерах, обычно он встроен в ПЗУ. Так Бейсик завоевал популярность. Интересно, что спустя 20 лет после изобретения Бейсика, он и сегодня самый простой для освоения из десятков языков общецелевого программирования, имеющихся в распоряжении любителей программирования. Более того, он прекрасно справляется с работой.

Несмотря на высказывания снобов - сторонников языков Си и Паскаля, Бейсик считается деловым языком, снабженным мощными средствами решения специфических задач, которые обычно большинство пользователей решают при помощи небольших компьютеров, а именно: работая с файлами и выводя текстовое и графическое изображение на экране дисплея.

Современный Фортран (Fortran 95 и Fortran 2003) приобрёл черты, необходимые для эффективного программирования для новых вычислительных архитектур; позволяет применять современные технологии программирования, в частности, ООП.

Алго́ л– название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ.

Логическая операция – способ построения сложного высказывания из данных высказываний, при котором значение истинности сложного высказывания полностью определяется значениями истинности исходных высказываний.

Рассмотрим три базовых логических операций – инверсию, конъюнкцию, дизъюнкцию и дополнительные – импликацию и эквивалентность.

Логическая операция Название Соответствует союзу Обозначение знаками Таблица истинности Логическая операция
Инверсия (от лат. inversion – переворачиваю) отрицание не А
А
Инверсия логической переменной истина, если переменная ложна, и, наоборот, инверсия ложна, если переменная истина.
Конъюнкция (от лат. conjunction – связываю) Логическое умножение А и В
А В
Конъюнкция двух логических переменных истинна тогда и только тогда, когда оба высказывания, истинны.
Дизъюнкция (от лат. disjunction – различаю) Логическое сложение А или В
А В
Дизъюнкция двух логических переменных ложна тогда и только тогда, когда оба высказывания ложны.
Импликация (от лат. implication – тесно связывать) Логическое следование Если А, то В; Когда А, тогда В А–условие В-следствие
А В
Импликация двух логических переменных ложна тогда и только тогда, когда из истинного основания следует ложное следствие.
Эквивалентность(от лат. equivalents - равноценность) Логическое равенство А тогда и только тогда, когда В
А В
Эквивалентность двух логических переменных истинна тогда и только тогда, когда оба высказывания одновременно либо ложны, либо истинны

Порядок выполнения логических операций в сложном логическом выражении:

1. инверсия

2. конъюнкция

3. дизъюнкция

4. импликация

5. эквивалентность

 

§ логическое выражение;

С помощью логических переменных и символов логических операций любое высказывание можно формализовать, то есть заменить логической формулой (логическим выражением).

Логическое выражение - это символическая запись высказывания, состоящая из логических величин (констант или переменных), объединенных логическими операциями (связками).

Связки " НЕ", " И", " ИЛИ" заменяются логическими операциями инверсия, конъюнкция, дизъюнкция. Это основные логические операции, при помощи которых можно записать любое логическое выражение.

 

§ массив;

Массив (в некоторых языках программирования также таблица, ряд) — набор однотипных компонентов ( элементов ), расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (индексам). В отличие от списка, массив является структурой с произвольным доступом.

Размерность массива — количество индексов, необходимое для однозначного доступа к элементу массива.

Форма или структура массива — количество размерностей и размер (протяжённость) массива для каждой размерности, может быть представлен одномерным массивом.

 

§ сортировка массива;

Сортировкой или упорядочением массива называется расположение его элементов по возрастанию (или убыванию). Если не все элементы различны, то надо говорить о неубывающем (или невозрастающем) порядке.

Вообще говоря, это большая и сложная тема, в которой известно много различных алгоритмов. Критерии оценки эффективности этих алгоритмов могут включать следующие параметры:

· количество шагов алгоритма, необходимых для упорядочения;

· количество сравнений элементов;

· количество перестановок, выполняемых при сортировке.

Примеры алгоритмов устойчивой сортировки

· Сортировка выбором— поиск наименьшего или наибольшего элемента и помещение его в начало или конец упорядоченного списка.

· Сортировка пузырьком— для каждой пары индексов производится обмен, если элементы расположены не по порядку.

· Сортировка перемешиванием

· Гномья сортировка — схожа с сортировкой пузырьком и сортировкой вставками.

· Сортировка вставками— Определяем, где текущий элемент должен находиться в упорядоченном списке, и вставляем его туда.

· Сортировка слиянием— выстраиваем первую и вторую половину списка отдельно, а затем объединяем упорядоченные списки.

· Сортировка с помощью двоичного дерева

· Сортировка Timsort— комбинированный алгоритм (используется сортировка вставками и сортировка слиянием).

· Сортировка подсчётом

· Блочная сортировка (Корзинная сортировка) — требуется O(k) дополнительной памяти и знание о природе сортируемых данных, выходящее за рамки функций " переставить" и " сравнить".

 

§ подпрограмма.

Подпрограмма - это отдельная функционально независимая часть программы.

Подпрограммы решают три важные задачи:

· избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;

· улучшают структуру программы, облегчая ее понимание;

· повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях программы.

В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

· Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну возможность — она может возвращать результат. Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания. Подробнее см. в статье Функция (программирование).

· Процедура — это независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из последующих частей программы для выполнения определенных действий.

 

k Ответьте на следующие содержательные вопросы:

Проанализируйте, какие парадигмы программирования поддерживаются в основной школе, и заполните таблицу

Выходные данные учебника Парадигма программирования Язык программирования (система программирования) Основные понятия (определения)
       

Приведите список основных операторов языка программирования Паскаль (Pascal ABC).

Распределите на две группы – описатели данных простого типа и описатели данных составного типа – приведенные ниже описатели типов: real, array, string, integer, boolean, set, char, file, record.

Заполните таблицу, в которой для каждой структуры привести общий вид записи на языке Паскаль и основные типы задач.

Следование Ветвление Выбор Цикл
       

 

Объясните смысл использования в программировании логического типа данных. Приведите примеры.

Сформулируйте правила записи арифметических и логических выражений на языке Паскаль.

Сформулируйте алгоритм построения таблицы истинности логического высказывания. Приведите пример построения.

Объясните смысл генерации случайных чисел. Как она реализуется на языке Паскаль? Где она может использоваться?

 

l Ответьте на следующие методические вопросы:

Как наиболее эффективно связать освоение методов построения алгоритмов с освоением языка программирования?

Какие языки программирования наиболее подходят для начального обучения программированию?

Почему для успешного освоения программирования ученику необходимо иметь представление об архитектуре ЭВМ?

Как объяснить ученикам, в чем заключается разница между языками программирования и системами программирования?

Какой методический подход следует применять при ознакомлении учеников с системой программирования?

Приведите систему типовых задач обработки одномерных массивов.

Приведите систему типовых задач обработки текстовой информации (использование символьного и строкового типов).

 

m Портфолио:

1) конспект одного урока по теме;

2) пять заданий с использованием метода ошибок;

3) материал по темам: «История развития языков программирования», «Алгоритмы сортировки массивов», «Процедуры и функции», «Рекурсия».

4) задача: «Запишите с помощью разных операторов цикла фрагменты программ, решающих задачу вывода строчных букв латинского алфавита в прямом и обратном порядке» (оформить в виде текстового документа, содержащего скриншоты текстов программ в системе программирования и окна выполнения программ; в окне программы должна содержаться информация об авторе-создателе программ).

 

Урок-лекция по теме: Языки программирования".

Цели урока:

· Сформировать у учащихся представление о развитие языков программирования, о структуре и видах языков программирования.

· Выявить различие между языками высокого уровня, машинным языком и ассемблером.

· Воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости.

· Развитие познавательных интересов, умения конспектировать

Содержание урока.

Язык формирует наш способ мышления и определяет то, о чем мы можем мыслить. Б.Л. Ворф.

Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Смысл появления такого языка – оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм. Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько " близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько " близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко. (1-2 слайд)

Язык программирования

Язык программирования – формальная знаковая система, предназначенная для записи программ. Программа обычно представляет собой некоторый алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.

Понятие язык программирования

Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.

Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время, как естественные языки используются для общения людей между собой. В принципе, можно обобщить определение «языков программирования» – это способ передачи команд, приказов, четкого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.


Поделиться:



Последнее изменение этой страницы: 2017-03-14; Просмотров: 752; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.084 с.)
Главная | Случайная страница | Обратная связь