
- •Содержание
- •Методические рекомендации по оформлению отчета по практическим и лабораторным работам
- •Тематика практических и лабораторных работ
- •Перечень практических и лабораторных работ
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Методика разработки алгоритмов
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Структура программы на Турбо Паскаль
- •Операторы ввода и вывода Ввод данных:
- •Вывод данных:
- •Оператор условного перехода
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Расположение матрицы в памяти компьютера
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Краткие теоретические сведения
- •Тема: Организация процедур и функций.
- •Краткие теоретические сведения
- •Передаваемые параметры процедур и функций
- •Параметры-значения
- •Параметры-переменные
- •Краткие теоретические сведения
- •Оператор with
- •Краткие теоретические сведения
- •Стандартные процедуры и функции
- •Краткие теоретические сведения Организация работы с файлом
- •Организация работы с файлом
- •Запись в файл
- •Чтение из файла
- •Общие процедуры работы с файлами
- •Процедура открытия
- •Процедура закрытия
- •Процедура переименования
- •Функция анализа состояния файла
- •Чтение и запись в текстовых файлах
- •Процедуры Write / WriteLn
- •Чтение и запись в компонентном файле
- •Лабораторная работа №15(2 часа)
- •Рекомендуемая литература
Краткие теоретические сведения
Алгоритм решения задачи может быть представлен в виде словесного описания или графически - в виде блок-схемы.
В блок-схемах для обозначения логически различных фрагментов программы используются определенные стандартные символы. Для изображения алгоритмов будем использовать блок-схемы, формируемые из типовых блоков, показанных на рис.
В
теории алгоритмов доказано, что любой,
сколь угодно сложный алгоритм может
быть составлен из трех основных
алгоритмических структур: линейной,
ветвления и цикла, показанных,
соответственно на рис.
Линейная структура предполагает последовательное выполнение действий, без их повторения или пропуска некоторых действий. Обычно программисты стремятся к тому, чтобы алгоритм имел линейную структуру.
Структура "ветвление" предполагает выполнение одной из двух групп действий в зависимости от выполнения условия в блоке ветвления. На рис. знаком "+" показано выполнение условия, а знаком "-" — его невыполнение. Часто используется неполная команда ветвления, когда один из блоков действия отсутствует.
С
труктура
"цикл" имеет несколько разновидностей.
На рис. показан цикл типа "пока"
с предусловием. Действия внутри этого
цикла повторяются пока выполняется
условие в блоке ветвления, причем
сначала проверяется условие, а затем
выполняется действие. Достаточно часто
используются другие типы цикла,
показанные на рис.
В цикле с постусловием проверка условия выхода из цикла выполняется после очередного действия. Цикл "для" является модификацией цикла "пока" для ситуации, когда заранее известно количество повторений некоторых действий. Запись в блоке заголовка цикла на рис.6 показывает пример описания заголовка цикла, в котором действия повторяются столько раз, сколько целых значений приобретает параметр цикла i от своего начального значения 1 до конечного N с шагом 1. Обычно шаг не указывается, если он равен 1.
В языках программирования имеются команды, реализующие показанные выше структуры.
При разработке блок-схемы допускается делать любые записи внутри блоков, однако эти записи должны содержать достаточно информации для выполнения очередных действий.
Методика разработки алгоритмов
Разработке алгоритма предшествуют такие этапы, как формализация и моделирование задачи. Формализация предполагает замену словесной формулировки решаемой задачи краткими символьными обозначениями, близкими к обозначениям в языках программирования или к математическим. Моделирование задачи является важнейшим этапом, целью которого является поиск общей концепции решения. Обычно моделирование выполняется путем выдвижения гипотез решения задачи и их проверке любым рациональным способом (прикидочные расчеты, физическое моделирование и т.д.). Результатом каждой проверки является либо принятие гипотезы, либо отказ от нее и разработка новой.
При разработке алгоритма используют следующие основные принципы.
Принцип поэтапной детализации алгоритма (другое название — "проектирование сверху-вниз"). Этот принцип предполагает первоначальную разработку алгоритма в виде укрупненных блоков (разбиение задачи на подзадачи) и их постепенную детализацию.
Принцип "от главного к второстепенному", предполагающий составление алгоритма, начиная с главной конструкции. При этом, часто, приходится "достраивать" алгоритм в обратную сторону, например, от середины к началу.
Принцип структурирования, т.е. использования только типовых алгоритмических структур при построении алгоритма. Нетиповой структурой считается, например, циклическая конструкция, содержащая в теле цикла дополнительные выходы из цикла. В программировании нетиповые структуры появляются в результате злоупотребления командой безусловного перехода (GoTo). При этом программа хуже читается и труднее отлаживается.
Говоря о блок-схемах, как о средстве записи алгоритма, можно дать еще один совет по их разработке. Рекомендуется после внесения исправлений в блок-схему аккуратно перерисовывать ее с учетом этих исправлений. Аккуратность записи есть аккуратность мысли программиста. Аккуратно записанный и детализованный алгоритм упрощает его программирование и отладку.
Представление алгоритма в виде блок-схемы позволяет наглядно отразить последовательность действий, необходимых для решения поставленной задачи.
После разработки алгоритма решения задачи и представления его в виде блок-схемы можно перейти к написанию программы - последовательности команд на выбранном языке программирования, соответствующей разработанному алгоритму.
Практическая работа №3 (2 часа)
Тема: Составление и запись арифметических и логических выражений, составление алгоритмов разветвляющейся структуры в виде блок-схем
Цель: Приобрести навыки составления и анализа линейных и разветвляющихся алгоритмов, их представления в виде блок-схем.
Задание: Разработать алгоритм решения задачи согласно варианту, представить его в виде блок-схемы.
Вариант 1. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 2. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 3. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 4. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 5. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 6. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 7. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 8. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 9. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
;
;
;
.
Значения y1, y2, y3, z вывести на экран.
Вариант 10. Ввести значения четырех чисел x1, x2, x3, x4. Вычислить значения переменных y1, y2, y3, z (если это возможно) при условии, что
; ; ; .
Значения y1, y2, y3, z вывести на экран.