не. Методические указания к выполнению лабораторных работ
Скачать 32.93 Kb.
|
Методические указания к выполнению лабораторных работЛабораторные работы выполняются индивидуально в соответствии с вари- антом задания. Перед началом работы необходимо изучить теоретический ми- нимум, который дается в начале описания каждой лабораторной работы. Для лучшего усвоения теории к каждой лабораторной работе предлагается практи- ческий пример выполнения работы, тщательный разбор которого поможет сту- денту выполнить индивидуальное задание. Все лабораторные работы выполня- ются на языке Turbo Pascal 7.0. Написанная и отлаженная программа после запуска на выполнение должна выводить информацию об авторе, номере варианта, назначении программы (приводится лабораторное задание полностью). Вводу данных с клавиатуры обязательно должно предшествовать текстовое сообщение о типе и количестве вводимых данных. Указанные требования распространяются на все лабораторные работы. Лабораторная работа № 1Условныйоператор Задание: Используя разветвляющуюся структуру, составить блок-схему вы- числения значения составной функции, имеющей различный вид на разных участках аргумента, затем составить программу, реализую- щую данный алгоритм (значение аргумента функции вводится с кла- виатуры). Теоретический материалАлгоритм – это любая конечная последовательность основных математи- ческих и логических действий, однозначно определяющих процесс преобразо- вания исходных данных в искомые результаты решения задачи. Для представления алгоритмов используются несколько способов: словесный (описание на естественном человеческом языке); с помощью одного из алгоритмических языков программирования; графический (на языке блок-схем); с использованием диаграмм; с использованием таблиц решений; и др. Рассмотрим способ составления алгоритма на языке блок-схем. Блок-схема – это графическая интерпретация алгоритма, представляющая набор геометрических фигур, каждая из которых изображает какую-либо опе- рацию или действие. Правила построения алгоритмов на языке блок-схемБлок-схема строится сверху вниз. В любой блок-схеме имеется только один элемент, соответствующий началу алгоритма, и один элемент, соответствующий концу алгоритма. Должен быть ходя бы один путь их начала блок-схемы любому элементу. Должен быть хотя бы один путь от каждого элемента блок-схемы в конец блок-схемы. Основные элементы, которые будут использованы при построении блок- схемы решения задачи представлены в табл. 1.1. Таблица 1.1 Основные элементы для построения блок-схем
Условный оператор ifИногда требуется, чтобы часть программы выполнялась не всегда, а лишь при выполнении некоторого условия (а при невыполнении этого условия вы- полнялась другая часть программы). В этом случае пользуются оператором ус- ловного выполнения, который записывается в следующем виде: if <условие> then <оператор1> else <оператор2>; Под оператором понимается либо одиночный оператор (например, при- сваивания, вызова процедуры), либо так называемый составной оператор, со- стоящий из нескольких простых операторов, помещенных между словами begin и end. Важно заметить, что перед else не ставится точка с запятой. Часть else может и отсутствовать. Пример выполнения лабораторной работыВ качестве примера рассмотрим составную функцию вида x 2 1 y x2 x ln cos( x) x > 2.5 0 x 2.5 x < 0 Как видно из задания, функция вычисляется на трех диапазонах аргумента x по трем различным формулам. Составим блок-схему алгоритма решения дан- ной задачи (рис.1.1). Автор, номер варианта, назначение программы Рис. 1.1. Блок-схема вычисления значения составной функции Теперь по данному алгоритму составим программу (а не наоборот) на языке Pascal. Любую программу рекомендуется (но не обязательно) начинать с заголовка. Program Lab1_varX; Далее следует раздел описания переменных. В нашем примере понадобят- ся две переменные для хранения аргумента xи значения функции y. Так как и аргумент, и сама функция могут принимать дробные значения, то их необходи- мо описывать вещественным типом данных. Var x,y: real; Затем описываем основное тело программы. Как следует из блок-схемы алгоритма, вначале необходимо вывести информационный блок (автор, номер варианта, назначение программы), после чего вывести текстовую строку, кото- рая подскажет пользователю, что нужно вводить значение аргумента. А затем считать с клавиатуры введенное пользователем число. Не забываем, что тело программы начинается с зарезервированного слова begin. Begin writeln; writeln(’ Автор – Иванов И.П., студент гр. ИСЭд-11’); writeln(’ Вариант № 100’); writeln(’Программа вводит значение аргумента X и вычисляет зна- чение функции Y’);
writeln(’введите x= ’); readln(x); В данном фрагменте используется два вида оператора вывода: с парамет- ром и без параметра. В первом случае на экран выводится текст, который ука- зан в качестве параметра, а во втором случае – пустая строка (для того чтобы сделать отступ между строками). После того, как значение X введено оператором ввода readln(x), нужно определить, по какой формуле должна вычисляться функция. Для этого в алго- ритме предусмотрены проверки значения аргумента. If x>2.5 then Y:=2*x Else If x>=0 then y:=x*x*x-x Else Y:=x* sin(x); Как видно, в данном фрагменте программы признак конца оператора (точка с запятой) ставится только один раз в самом конце, т. к. условный оператор за- канчивается именно на последней строке, перед Else точку с запятой не ставят. В конце программы нужно вывести результаты вычислений и завершить тело программы служебным словом end с точкой. writeln(’Y= ’, y:7:3); readln end. Последний оператор вывода отличается от всех предыдущих. В данном случае стандартная процедура вывода writeln содержит два параметра, пере- численных через запятую. Первый параметр – это текстовая строка (’Y= ’), ко- торую надо вывести на экран. Второй параметр – переменная Y, значение кото- рой требуется вывести в определенном формате, о чем говорят два числа, напи- санные через двоеточие. Первое число – количество позиций, отводимых под вывод всего числа (включая знак, целую часть числа, точку и дробную часть числа), а второе – число разрядов после запятой. В нашем случае под вы- вод всего числа запланировано 7 позиций, из них 3 позиции – под дробную часть, одна позиция – под точку, остается 3 позиции под целую часть и знак. Следует заметить, что если программист указал недостаточное количество по- зиций под вывод всего числа, то это число будет автоматически увеличено до требуемого для вывода значения. Для того, чтобы результаты работы программы оставались на экране после выполнения программы, используем оператор ввода без параметров readln. В этом случае программа выполнит все необходимые действия и будет ожидать от пользователя нажатия клавиши Enter. Итак, программа написана, ниже приведен ее полный текст. Program Lab1_variant100; Var x,y: real; Begin writeln; writeln(’ Автор – Иванов И.П., студент гр. ИСЭд-11’); writeln(’ Вариант № 100’); writeln(’Программа вводит значение аргумента X и вычисляет зна- чение функции Y’);
writeln(’введите x= ’); readln(x); If x>2.5 then Y:=2*x Else If x>=0 then y:=x*x*x-x Else Y:=x*sin(x); writeln(’Y= ’, y:7:3); readln end. Таблица 1.2 Варианты заданий
Окончание таблицы 1.2
|