- •Содержание
- •Пояснительная записка
- •Раздел 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.Виртуальные методы и полиморфизм.
- •Перечень источников литературы для самостоятельного изучения учебной дисциплины «Основы алгоритмизации и программирования»
3. Разветвляющийся алгоритм
В жизни часто приходится принимать решения в зависимости от сложившейся ситуации. Если идет дождь, мы надеваем плащ, если жарко и солнечно, идем в легкой одежде. Встречаются и более сложные положения, когда нужно сделать тот или иной выбор в зависимости от того, выполняется или не выполняется некоторое условие.
Разветвляющийся алгоритм – это алгоритм, в котором выполнение того или иного действия (шага) зависит от выполнения или не выполнения какого-либо условия.
Достаточно часто то или иное действие должно быть выполнено в зависимости от значения логического выражения, выступающего в качестве условия. В таких случаях используется развилка. Общий вид команды ветвления в блок-схемах и на алгоритмическом языке следующий:
Полная развилка Неполная развилка
Вначале проверяется условие (вычисляется отношение, логическое выражение). Если условие истинно, то выполняется серия 1 — последовательность команд, на которую указывает стрелка с надписью «да» (положительная ветвь). В противном случае выполняется серия 2 (отрицательная ветвь). В АЯ условие записывается после служебного слова если, положительная ветвь — после слова то, отрицательная — после слова иначе. Буквы кв обозначают конец ветвления.
П ример 1. Вычислить значение функции
|
алг Пример 1 вещ x, y нач ввод x если x 12 то y:=–x2 иначе если x<0 то y:=x4 иначе y := x–2 кв кв вывод y Кон |
При тестировании алгоритмов с развилкой необходимо подбирать такие исходные данные, чтобы можно было проверить все ветви. В приведенном выше примере должно быть по крайней мере три тестовых набора. Если на ветвях одного ветвления содержатся другие ветвления, то такой алгоритм имеет структуру вложенных ветвлений.
Пример 2. Дано натуральное число n. Если число нечётное и его удвоение не приведет к выходу за 32767, удвоить его, иначе — оставить без изменения.
Чтобы удовлетворить условию удвоения, число n должно быть нечетным и меньше 16384.
|
алг Пример 2 цел n нач ввод n если n нечетное и меньше 16384 то n:=n*2 вывод n кон |
Рассмотренный пример иллюстрирует неполную развилку. Также следует отметить, здесь логическое выражение, являющееся условием, содержит 2 операнда.
Самостоятельная работа
Задача 1. Даны три положительных числа. Составить алгоритм, определяющий, могут ли они быть длинами сторон треугольника.
Задача 2. Дано действительное число а. Вычислить f(a), если
Задача 3.Из двух целых чисел выбрать наибольшее число.
Задача 4. Составить программу начисления зарплаты согласно следующему правилу: если стаж сотрудника менее 5 лет, то зарплата 130 руб., при стаже работы от 5 до 15 лет - 180 руб., при стаже свыше 15 лет зарплата повышается с каждым годом на 10 руб.