МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ государственное образовательное учреждение высшего профессионального образ...
4 downloads
235 Views
327KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ государственное образовательное учреждение высшего профессионального образования «
Тюменский государственный нефтегазовый университет» филиал «Тобольский индустриальный институт» кафедра естественнонаучных дисциплин
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ ПО ИНФОРМАТИКЕ по теме «Программирование алгоритмов линейной структуры» для студентов всех специальностей очной формы обучения
ТЮМЕНЬ 2004
Утверждено редакционно–издательским советом Тюменского государственного нефтегазового университета
Настоящие методические указания содержат основные сведения по использованию операторов языка программирования Turbo Pascal, реализующих программирование линейных вычислений, разбор и оформление типовых задач, задания для самостоятельной подготовки, а также индивидуальные варианты заданий для лабораторной работы.
Составители:
О.В.Тарханова, ассистент
Рецензент:
И.Г.Михайлова, к.п.н., доцент
© государственное образовательное учреждение высшего профессионального образования
«Тюменский государственный нефтегазовый университет» филиал «Тобольский индустриальный институт» 2004 2
ВВЕДЕНИЕ Основная задача дисциплины “Информатика” (раздел программирования) – обучение студентов построению алгоритмов и решение задач на ЭВМ посредством языка программирования TurboPascal. В процессе обучения студент должен овладеть навыками составления алгоритма решения задачи, уметь составлять программы для ЭВМ, выполнять отладку программы, правильно интерпретировать результаты счёта. Предлагаемые методические указания содержат рекомендации по выполнению студентами лабораторной работы по теме «Программирование алгоритмов линейной структуры». В них представлены следующие разделы: I. Простейшие конструкции языка. Раздел включает в себя: рассмотрение стандартных типов данных: целый, вещественный, символьный и булевский; перечень арифметических, логических операций, а также некоторых основных математических функций; даются правила вычисления значений выражений. II. Программирование алгоритмов линейной структуры. В данном разделе – коротко изложены основные теоретические сведения об операторах ввода-вывода, присваивания в языке Pascal, форматном выводе значений; приводится разбор стандартных примеров, демонстрирующих решение поставленных задач, а также предлагается ряд заданий для самостоятельной подготовки (в том числе и к лабораторной работы) по рассматриваемой теме. III. Лабораторная работа. В этом разделе дана методика выполнения лабораторной работы по теме «Программирование алгоритмов линейной структуры», состоящей из двух заданий. К каждому из них приводится перечень задач для индивидуального выполнения студентом своего варианта задания (30 вариантов), приведена структура оформления лабораторной работы, содержание отчёта по каждому заданию.
3
I.
ПРОСТЕЙШИЕ КОНСТРУКЦИИ ЯЗЫКА 1. СТАНДАРТНЫЕ ТИПЫ ДАННЫХ
Объектами действий в программах являются данные, которые могут определяться числовыми, логическими и символьными значениями. Для сокращения объёма программы и возможности использования её при различных значениях данных в записи программ используются не сами значения, а их имена. Так как имена могут принимать множество значений, то вводится понятие типа. Тип переменной определяется при её описании и не может быть изменён. Под типом данных понимается множество допустимых значений этих данных, а также совокупность операций над ними. Язык Pascal представляет богатые возможности для построения сложных типов данных, которые задаются в разделе типов. Однако все они строятся на основе элементарных типов:
четырёх стандартных символьный, булевский; перечисляемых.
(простых)
–
целый,
вещественный,
Простые типы данных, не требуют предварительного определения в отличие от перечисляемых. Целые типы данных: Имя типа Byte (короткое целое, без знака) Shortint (короткое целое, без знака) Integer (целое со знаком) Word (целое без знака) Longint (длинное целое со знаком)
Диапазон значений 0…255 -128…127 -32 768 - +32 767 0 – 65 535 -2 147 483 648…+2 147 483 647
Вещественные типы данных: Имя типа Single Real Double Extended COMP (целое в формате вещественного)
Диапазон значений +1.5 · 10-45…+3.4 · 1038 +2.9 · 10-39…+1.7 · 1038 +5.0 · 10-324…+1.7 · 10308 +3.4 · 10-4932…+1.1 · 104932 -9.2 · 1018…+9.2 · 1018
4
Символьный тип данных: (Char) – значениями этого типа являются символы из множества ASCII (американского стандартного кода для обмена информацией) – это 256 различных символов, упорядоченных определённым образом. Для русскоязычных пользователей часть символов и элементов псевдографики заменена русскими буквами. Если символьное значение имеет графическое представление, то оно изображается соответствующим знаком, заключенным в одинарные кавычки, - апострофы – ‘*’, ‘x’. Если символ не имеет графического представления, то можно воспользоваться эквивалентной формой записи, состоящей из символа решётка # и целочисленного кода символа от 0 до 31. Булевский (логический) тип данных: (Boolean) имеет два значения – TRUE (истино) и FALSE (ложно). Над значениями допустимы операции сравнения, причём считается, что false<true. 2.АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ Приоритет Операция 1 * / div mod 2 + -
Значение операции Умножение деление целочисленное деление остаток от деления сложение вычитание
При выполнении операций сложения, вычитания, умножения, следует помнить, что если один из операндов имеет тип Real, а другой Integer , то результат имеет тип Real. При одинаковых типах операндов результат имеет тот же тип, что и оба операнда. При выполнении операции деления независимо от типов операндов тип результата всегда Real. При выполнении операции целочисленного деления и остатка от деления тип результата всегда Integer. Пример: С:=А mod В; при А:=34 и В:=9 С:=7; С:=А div В; при А:=34 и В:=9 С:=3 3. ЛОГИЧЕСКИЕ ОПЕРАЦИИ При необходимости выполнять анализ одновременно нескольких условий удобно пользоваться логическими функциями. Аргументом логических функций являются высказывания, в отношении которых всегда можно сказать истины они или ложны. К таким высказываниям относятся 5
математические операции сравнения – равно, больше, меньше и т.д. Так, например, выражение вида X=Y всегда может быть истинным или ложным. Приведём наиболее употребляемые логические функции. Приоритет 0 1
Операция not and
2
оr xor = < >=
3
Значение операции Отрицание (инверсия) логическое умножение (конъюнкция, И) логическое сложение (дизъюнкция ИЛИ) исключающее ИЛИ Равно не равно меньше не больше больше не меньше
Таблица истинности логических операций a false false true true
b false true false true
a and b false false false true
a or b false true true true
a xor b false true true false
При использовании в сложных выражениях простых операций сравнения их необходимо заключать в скобки, например (a>=0) and (a. Обычно Readln; вставляется в текст программы перед последним End для
Read (А, В, С)
8
сохранения на экране выполнения программы.
содержимого
окна
результатов
Для вывода данных на экран монитора используются операторы обращения к стандартной процедуре вывода данных: Write (А, В, С) - после вывода значений А, В, С (в строку) курсор остаётся в текущей строке Writeln (z, y, z2) - после окончания вывода значений курсор переходит к началу новой строки; - означает пропуск одной строки и переход к началу новой Writeln; строки. 3. ФОРМАТНЫЙ ВЫВОД ЗНАЧЕНИЙ Под форматным выводом принято понимать определение ширины поля, отводимого под выводимое значение. Вывод комментариев: Writeln (‘Значение числа ПИ =’, pi); - запись значения числа pi на экране будет осуществлена с комментариями в показательной форме, курсор перейдёт к новой строке, т.е. так: Значение числа ПИ = 3.14159265358979Е+0000 _ Вывод значений целого типа: Writeln (К:4, L:6); - вывод значений чисел K и L будет осуществлён в строку, курсор перейдёт к новой строке. Целое число после двоеточия означает количество позиций, выделяемых для вывода значения численной переменной, включая знак. Лишние позиции будут заменены пробелами перед числовым значением. Например, при К=76, при L=589 на экране выведется: _ _ 76_ _ _589 _ Вывод значений вещественного типа: Write (‘a=’,a:7:3,’ b=’,b:6:3) - вывод значений чисел a и b будет осуществлён в строку, курсор останется в текущей строке. Целое число после первого двоеточия означает количество позиций, выделяемых для вывода значения численной переменной, включая знак, целую часть, десятичную точку и цифры после запятой, целое число после второго двоеточия означает количество 9
цифр после десятичной запятой. Лишние позиции будут заменены пробелами перед целой частью числа и нулями после дробной части. Например, в приведённом операторе при а=3.14744 и при b=-3.4, на экране выведется: а=_ _3.147_b=-3.400 _ Задача:
Написать программу вычисления прямоугольника со сторонами a и b. • Введём обозначения: S – площадь прямоугольника; P – периметр прямоугольника. •
Блок-схема: начало a, b P:=2*(a+b) S:=a*b P, S
•
площади
и
периметра
Листинг программы:
Program Primer; Var a, b, P, S: real; Begin write(‘Введите значения a,b’); read (a, b); P:=(a+b+c)/2; S:=a*b; write (‘s=’,s, ‘ ‘:5,’P=’,P); End.
конец
4. ВОПРОСЫ И УПРАЖНЕНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ ПОДГОТОВКИ 1. Чему равно: а) ODD(15) г) ODD(26) ж) SUCC(137) к) PRED(26)
б) TRUNC(5.61) д) ROUND(17.16) з) ROUND(-17.96) л) TRUNC(-15.61)
в)SUCC(3.2) е) PRED(‘B’) и) CHR(ORD(‘*’)) м) ODD(17.1)
2. Какие из приведённых ниже записей являются правильными с точки зрения языка ПАСКАЛЬ? а) ‘A’’9’ в) FALSE