Методичка по информатике. Практикум по дисциплине Информатика Допущено Редакционноиздательским советом угату в качестве учебного пособия для студентов, обучающихся по направлениям подготовки бакалавров 080100 Экономика
Скачать 8.99 Mb.
|
Раздел констант (const). Если в программе используются константы, имеющие достаточно громоздкую запись, либо сменные константы (для задания варианта программы), то такие константы обычно обозначаются какими-либо именами и описываются в разделе const, а в программе используются только имена констант. Это делает программу более наглядной и удобной при отладке и внесении изменений. Пример: const pi = 3.14; c = 2.7531; Раздел типов (type).Если в программе вводится тип, отличный от стандартного, то этот тип описывается в разделе type. Пример. type color = (red, yellow, green, blue); Раздел переменных (var).В разделе var вводится имя каждой переменной и указывается, к какому типу эта переменная принадлежит. Переменные перечисляются через запятую, в конце списка ставится двоеточие, после которого указывается их тип. Пример. var k, i, j: integer; a, b: real; Каждая переменная должна быть описана до ее использования в программе и отнесена к одному и только одному типу. Названия разделов (const, type, var…) указываются только один раз. Раздел процедур и функций. Здесь присутствуют заголовки и тела пользовательских процедур и функций. Раздел действий (операторов). Эта часть программы начинается с ключевого слова begin и заканчивается словом end, после которого должна стоять точка. Раздел действий есть 45 выполняемая часть программы, состоящая из операторов. Раздел действий должен присутствовать всегда, остальные разделы могут отсутствовать. 3.4. Пунктуация в программах на языке Pascal Заголовок завершается точкой с запятой. В любом объявлении каждый список завершается точкой с запятой. Операторы отделены один от другого точкой с запятой. Слова begin и end не являются операторами – они служат знаками пунктуации. Слово begin выступает в качестве левой, а end – правой скобки. Так как они сами знаки пунктуации, то точка запятой после begin и перед end не обязательна. В программах на Pascal слова begin и end используются преимущественно для образования составных операторов. Операторы разделены знаками пунктуации, поэтому расположение программы на странице с точки зрения компилятора значения не имеет. Вполне достаточно придерживаться двух правил: 1) не писать слова вместе, 2) не разрывать слово пробелами или переходом на новую строку. Однако рекомендуется соблюдать отступы, они должны делать структуру программы максимально наглядной. Использовать в программном коде на Pascal можно как прописные, так и строчные буквы, а также их чередовать. 3.5. Основные типы данных в языке Pascal Данные хранятся в памяти компьютера. Программа обращается к ним с помощью имен переменных, связанных с участками памяти, где хранятся данные. В языке программирования Pascal достаточно много типов данных. Кроме того, сам пользователь может определять свои типы данных. Простые типы данных представлены в табл. 1. 46 Таблица 1 Простые типы данных Идентифи- катор Диапазон допустимых значений Отводимая память (в байтах) Операции Целые типы shotint -128…127 1 +,–,/,*,Div,Mod, >=,<=,=,<>,<,> integer -32 768…32 767 2 longint -2 147 483 648…2 147 483 647 4 byte 0…255 1 word 0…65 535 2 Вещественные типы real 2,9×10 -39 – 1,7×10 38 6 +,–,/,*, >=,<=,=,<>,<,> single 1,5×10 -45 – 3,4×10 38 4 double 5×10 -324 – 1,7×10 308 8 extended 3,4×10 -4932 – 1,1×10 4932 10 Логический тип boolean true, false 1 Not,And,Or,Xor, >=,<=,=,<>,<,> Символьный тип char все символы кода ASCII 1 +,>=,<=,=,<>,<,> Сложные типы данных Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа (array). Строки представляют собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно (string). Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип (record). Множества – это совокупность любого числа элементов одного и того же перечисляемого типа (set). Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (file). 47 3.6. Операции в языке Pascal Основные математические операции в языке Pascal представлены в табл. 2. Таблица 2 Математические операции Символ операции Название операции Пример * умножение 2*3 (результат: 6) / деление 30/2 (результат: 1.5E+01) + сложение 2+3 (результат: 5) – вычитание 5–3 (результат: 2) div целочисленное деление 5 div 2 (результат: 2) mod остаток от деления 5 mod 2 (результат: 1) Логические операции. Над логическими аргументами в Turbo Pascal определены следующие операции: NOT – логическое отрицание («НЕ»); AND – логическое умножение («И»); OR – логическое сложение («ИЛИ»); XOR – логическое «Исключающее ИЛИ». Результаты выполнения этих операций над переменными А и В логического типа приведены в табл. 3. Таблица 3 Таблица истинности A B not A A and B A or B A xor B true true false true true false true false false true true false true true false true true false false false false false Операции отношения приведены в табл. 4. Таблица 4 Операции отношения Символ операции Название операции > больше < меньше = равно <> не равно >= больше или равно <= меньше или равно 48 В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели. Приоритет операций. Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций: 1) вычисляются подвыражения, заключенные в скобки; 2) выполняются операции с наибольшим приоритетом; уровни приоритетов (в порядке убывания): a. унарные операции: +, –, abs, not; b. мультипликативные операции: *, /, div, mod, and; c. аддитивные операции: +, –; or; xor d. операции отношения: = , <>, <, >, <=, >=; 3) операции с одинаковым приоритетом выполняются слева направо. Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать. 3.7. Стандартные функции языка Pascal Стандартные функции языка Pascal представлены в табл. 5. Таблица 5 Стандартные функции языка Pascal Обращение Тип аргумента Тип результата Примечание 1 2 3 4 abs(x) действ., целый тип аргумента Модуль аргумента arctan(x) действ., целый действ. Арктангенс (значение в радианах) cos(x) действ., целый действ. Косинус, угол в радианах dec(x,y) целый целый Уменьшает переменную x на величину переменной y. При отсутствии 2-го параметра (y) уменьшает переменную x на 1. 49 Продолжение табл. 5 1 2 3 4 exp(x) действ., целый действ. Экспонента frac(x) действ. действ. Дробная часть числа inc(x,y) целый целый Увеличивает переменную x на величину переменной y. При отсутствии 2-го параметра (y) увеличивает переменную x на 1. int(x) действ., целый действ. Целая часть числа ln(x) действ., целый действ. Логарифм натуральный odd(x) целый логический Значение true, если x – нечетное число; false – если четное pi нет действ. Число π (3,141592653) random нет действ. Псевдослучайное число в интервале [0, 1] random(x) целый целый Псевдослучайное число в интервале [0, x] round(x) действ. целый Округление до ближайшего целого sin(x) действ., целый действ. Синус, угол в радианах sqr(x) действ., целый тип аргумента Квадрат аргумента sqrt(x) действ., целый действ. Корень квадратный trunc(x) действ. целый Отбрасывание дробной части числа 3.8. Ввод и вывод данных в Pascal Вывод данных на экран в языке Pascal осуществляется с помощью процедур Write и WriteLn. Общий вид: Write(A1,A2,...AK); Writeln(A1,A2,...AK); Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки. Если процедура writeln 50 используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки. Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А – выражение или строка, К – выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций. Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А – переменная или выражение действительного типа, К – ширина поля вывода, М – число цифр дробной части выводимого значения. К и М – выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой. Для ввода исходных данных чаще всего используется процедура Read и ReadLn. Общий вид: Read(A1,A2,...AK); ReadLn(A1,A2,...AK); Процедуры производят чтение К значений исходных данных и присваивают эти значения переменным А1, А2, ..., АК. Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter. Не допускается разделение вводимых чисел запятыми. Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу 3.9. Примеры программы на языке Pascal Пример 1. Составить программу, позволяющую пользователю вводить возраст. В результате работы программы на экран должен выводиться его возраст в прошлом году в соответствии с правилами русского языка. После вывода программа ожидает нажатия клавиши для завершения работы. 51 Решение uses wincrt; var x: integer; begin {ввод данных} write('Введите возраст (до 21 года): '); readln(x); {вычисления} x := x – 1; {использование оператора ветвления для вывода на экран в корректном падеже} case x of {1 год} 1: writeln('В_прошлом_году_вам_был_1_год'); {2 года, 3 года, 4 года} 2, 3, 4: writeln('В_прошлом_году_вам_было_', x, '_года'); {все остальные} else begin {проверка корректности ввода} if (x <= 20)and(x >= 5) then writeln('В_прошлом_году_вам_было_', x, '_лет') else writeln('Введенные_данные_некорректны'); end; end; {вывод сообщения} write('Нажмите любую клавишу...'); end. Пример 2. Определить значение выражения (величины параметров z, x, b задаются пользователем) Решение Прежде всего, необходимо осуществить проверку корректности введенных пользователем данных. Некорректное значение y в нашем примере может быть получено при делении на ноль (то есть когда знаменатель 1 – b 2 = 0) и при извлечении квадратного корня из 52 отрицательного числа (то есть когда x – 5 < 0). Программа должна адекватно реагировать на появление таких значений. Program CheсkValue; var z, x, b: integer; y: real; begin {Ввод значений параметров с клавиатуры} writeln ('Введите значения параметров z, x, b через пробел'); readln (z, x, b); {Проверка корректности ввода данных} if (x-5<0) or (1-sqr(b)=0) then writeln ('Введены некорректные значения параметров!') else begin {Вычисление значения выражения} y:=(2*z-sqrt(x-5))/(1-sqr(b)); {Вывод результата} writeln ('y = ',y:4:3); end; readln; end. 4. Описание оборудования и используемых программных комплексов При выполнении лабораторной работы необходим специализированный компьютерный класс с минимальными системными требованиями компьютеров: Процессор – Intel Pentium III; ОЗУ – 256 Mb; видеокарта – 32 Mb. Требуемое программное обеспечение: Операционная система Microsoft Windows; Borland Pascal 7.0 for DOS / Borland Pascal 7.0 for Windows. 53 5. Краткое руководство по эксплуатации оборудования При использовании оборудования необходимо: соблюдать общие правила нахождения в учебных лабораториях, работы с компьютером и использования программных средств; осмотреть рабочее место, убрать все мешающие работе предметы; визуально проверить правильность подключения ПЭВМ к электросети. 6. Задания Вариант 1 1. Вычислить значение выражения 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 2 1. Вычислить значение выражения 2. Вычислить значение выражения: 54 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 3 1. Вычислить значение выражения 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 4 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: 55 Вариант 5 1. Вычислить значение выражения 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 6 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 7 1. Вычислить значение выражения: 56 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 8 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 9 1. Вычислить значение выражения 57 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 10 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 11 1. Вычислить значение выражения: 2. Вычислить значение выражения: 58 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 12 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 13 1. Вычислить значение выражения 2. Вычислить значение выражения: 59 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 14 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 15 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; 60 если данные корректны, найти значение выражения: Вариант 16 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: |