- •Содержание
- •Пояснительная записка
- •Раздел 1. Основы программирования
- •Тема 1.1 Понятие алгоритма
- •Понятие алгоритма. Свойства алгоритма
- •Алгоритмический язык
- •Понятие алгоритма. Свойства алгоритма
- •Хорезми
- •2. Алгоритмический язык
- •Тема 1.2 Методы описания алгоритма
- •Виды описания алгоритма
- •Тема 1.3 Типы алгоритмов
- •1.Типы алгоритмов
- •Алгоритм линейной структуры
- •3. Разветвляющийся алгоритм
- •4. Циклический алгоритм
- •5.Виды циклов
- •Цикл с предусловием (цикл пока)
- •2. Цикл с постусловием (цикл до)
- •3. Арифметический цикл (цикл для) – цикл с параметром.
- •Тема 1.4. Алгоритмический ряд.
- •Операторы цикла с условием
- •Операторы ограничения и прерывания цикла
- •Раздел 2. Решение задач на пэвм.
- •Тема 2.1. Основные этапы подготовки задачи к решению на пэвм.
- •Этапы решения задач
- •Тема 2.2 Программа на языке высокого уровня.
- •Тема 2.3. Методика Джексона
- •1. Методика Джексона
- •Шаг объект-действие
- •Раздел 3.Разработка программы на языке Турбо Паскаль
- •Тема 3.1 Основные элементы
- •История и классификация языков программирования
- •Элементы языка Турбо Паскаль
- •Тема 3.2. Типы данных
- •1. Типы данных Типы данных
- •Тема3.3 Программа на языке Турбо Паскаль
- •Структура программы на языке Паскаль
- •4. Вывод данных в тр
- •5. Ввод данных в тр
- •Тема 3.4 Массивы и их обработка
- •Строковый тип данных
- •Процедуры и функции для работы со строками
- •1. Определение массива
- •2 Описание массивов
- •3 Действия над массивами
- •4.Двумерный массив
- •6.Строковый тип данных
- •'Текстовая строка'
- •7. Процедуры и функции для работы со строками
- •Тема 3.5 Встроенные процедуры и функции
- •1. Арифметические процедуры и функции:
- •2. Функции преобразования типов:
- •3. Процедуры и функции для работы со строками:
- •Тема 3.6. Процедуры и функции пользователя
- •Отличия функции от процедур
- •3. Описание процедуры
- •4. Описание функций
- •5. Локальные и глобальные переменные.
- •6. Параметры в процедурах.
- •Тема 3.7. Записи
- •1. Структура записи в тр
- •2. Отличия записи от массива.
- •Тема 3.8 Файлы и их обработка
- •1. Понятие файла
- •2. Чтение и запись информации из файл или в файл
- •3.Доступ к файлам
- •4.Имена файлов
- •5. Связь файла с файловой переменной.
- •6. Открытие и переименование файла.
- •7. Типизированные фалы.
- •8. Нетипизированные файлы.
- •9.Текстовые файлы
- •Раздел 4. Объектно – ориентированная модель программирования
- •Тема 4.1. Основные характеристики ооп. Преимущества.
- •1. Основные характеристики ооп. Преимущества
- •Тема 4.2. Инкапсуляция.
- •Тема 4.3. Наследование.
- •Тема 4.4.Виртуальные методы и полиморфизм.
- •Перечень источников литературы для самостоятельного изучения учебной дисциплины «Основы алгоритмизации и программирования»
Раздел 1. Основы программирования
Тема 1.1 Понятие алгоритма
Тип лекции: вводная
План:
Понятие алгоритма. Свойства алгоритма
Алгоритмический язык
Вопросы для самостоятельного изучения:
- Эволюция языков программирования. Классификация алгоритмических языков. Их использование. Языков высокого и низкого уровня.
Понятие алгоритма. Свойства алгоритма
Алгоритм - это точное, общепонятное предписание, однозначно приводящее от исходных данных к конечному результату.
Алгоритмом называют последовательность действий, которую необходимо выполнить для получения результата, начиная от исходных данных до момента получения результата.
Слово алгоритм появилось еще в 9в. Когда на латинский язык переводились труды великого восточного ученого Мухаммеда Аль Хорезми (рис.1).
О
н
занимался математикой и первым написал
четкие, краткие указания, следуя которым
можно было решить уравнения первой и
второй степени. На латынь имя Аль Хорезми
перевели как Алгоритм. И учителя, обучая
решению уравнений первой и второй
степени, говорили: «Следуйте указаниям
алгоритма», а потом просто: «Следуйте
алгоритму».
А
Рисунок 1 - Мухаммед
АльХорезми
лгоритм - это
конечная последовательность однозначных
предписаний, исполнение которых
позволяет с помощью конечного числа
шагов получить решение задачи, однозначно
определяемое исходными данными.
Алгоритм может быть предназначен для выполнения его человеком или компьютером.
Если приглядеться, то алгоритмы окружают нас повсюду в жизни. Начиная со школьной математики (алгоритм деления углов, приведения к общему знаменателю и т.д.) до инструкции по пользованию микроволновой печью. С алгоритмом обязательно связаны понятия исполнителя, и СКИ.
Исполнитель алгоритма – это объект или субъект, для которого составлен алгоритм.
СКИ (система команд исполнителя)- эта вся совокупность команд, которые исполнитель умеет выполнять.
Пример: Исполнитель чертежник имеет свою систему команд: вперед (1 см), направо (90 градусов по часовой стрелке). Результатом исполнения следующего алгоритма будет рисунок (рис. 2).
Рисунок 2 – Алгоритм выполнения чертежа
Вперед (1 см), направо 90, вперед (1 см),
направо 90, направо 90, направо 90,
вперед (1 см), направо 90, вперед (1 см)
Возникает вопрос: любая ли последовательность действий (или инструкция) является алгоритмом?
Конечно, нет. Не всякая инструкция алгоритм, а только та, которая обладает определенными свойствами.
Свойства алгоритма:
Понятность – алгоритм составлен только из команд, входящих в состав СКИ.
Точность – каждая команда алгоритма определяет однозначное действие исполнителя.
Дискретность - алгоритм состоит из ряда шагов, последовательность операций определена, новая операция выполняется только после завершения предыдущей.
Массовость - алгоритм должен быть применен для класса подобных задач.
Эффективность – возможность получения результата при минимальном числе операций.
Результативность - алгоритм должен приводить к решению поставленной задачи за конечное число шагов
Привести примеры алгоритмов, не удовлетворяющих свойствам.
Исполнитель: робот;
СКИ: вперед, вправо, влево, назад;
Алгоритм «перехода к заданному месту»:
Вправо; Вперед; Влево; Вверх; Вправо.
Рисунок 3 - Алгоритм «перехода к заданному месту»
Данный алгоритм не удовлетворяет свойству понятности, так как в СКИ нет команды Вверх.
2. Алгоритм «взятия ручки с синей пастой с парты»
Зайти в класс;
Подойти к парте;
Взять ручку с синей пастой.
Данный алгоритм не удовлетворяет свойству точности, так как в не указано к какой именно парте подойти.
3. Алгоритм нахождения суммы двух чисел.
Прибавить 2+3; Результат вывести на экран.
Данный алгоритм не удовлетворяет свойству массовости.
4. Алгоритм вывода на печать квадратов натуральных чисел от 1 до 15.
Задать х значение 1;
Пока х меньше 15 выводить на экран х2;
Данный алгоритм не удовлетворяет свойству результативности, так как получили бесконечный цикл.
5. Алгоритм просмотра телевизора;
Просмотр телепередачи
Выключить телевизор
Выбрать нужную программу
Включить телевизор
Данный алгоритм не удовлетворяет свойству дискретности, так как последовательность операций не определена.
6. Алгоритм решения задачи «Конюх»
|
1 |
2 |
3 |
А |
Б |
Б |
Б |
Б |
|
|
|
С |
Ч |
Ч |
Ч |
Алгоритм является основным фундаментальным понятием информатики.
Можно выделить три крупных класса алгоритмов: вычислительные, информационные, управляющие.
Вычислительные алгоритмы, как правило, работают со сравнительно простыми типами данных (числа, матрицы), но сам процесс вычисления может быть долгим и сложным.
Информационные алгоритмы представляют собой набор сравнительно простых процедур (поиск, замена) но работают с большими объемами информации (базы данных).
Управляющие алгоритмы характеризуются тем, что данные к ним поступают от внешних процессов, которыми они управляют. Результаты работы данных алгоритмов представляют собой различные управляющие воздействия.
