Одной из дисциплин, изучаемой студентами 1 курса бакалавриата различных направлений (в частности, «Электроэнергетика и электротехника», «Инноватика», «Информационная безопасность») является «Информатика». Изучение основ программирования является неотъемлемой составляющей данной дисциплины.
В ходе выполнения лабораторной работы на тему «Основы программирования на языке Паскаль: типы данных, арифметические выражения, оператор присваивания» студенты главным образом должны научиться записывать арифметические выражения и операторы присваивания на языке Паскаль, освоить правила вычисления арифметических выражений на языке Паскаль, а также правила работы с типами данных.
Для проведения лабораторной работы было подготовлено методическое пособие, основанное прежде всего на учебных пособиях [1, 2]. Также при создании этого пособия был учтен опыт создания методических разработок на кафедре ИТАС ПНИПУ [3–8].
В первую очередь, студенты читают раздел данного пособия, называющийся «Краткие теоретические сведения», в котором изложены следующие аспекты программирования на языке Турбо-Паскаль: 1) алфавит и лексемы; 2) константы; 3) имена, ключевые слова и знаки операций; 4) классификация типов данных; 5) целые типы; 6) вещественные типы; 7) переменные; 8) арифметические операции, функции, выражения; 9) арифметический оператор присваивания.
Изучение раздела методического пособия «Краткие теоретические сведения» во многом направлено на систематизацию студентом знаний, полученных на лекциях.
Далее студенты выполняют индивидуально либо в тетради, либо на компьютере в текстовом редакторе задания (как задачи, так и теоретические вопросы) по данной теме, осваивая тем самым особенности записи на языке Турбо-Паскаль арифметических выражений и операторов присваивания, особенности вычисления арифметических выражений, а также правила работы с типами данных. Рассмотрим задания из методического пособия. Обратите внимание, что для некоторых заданий разобраны примеры выполнения (для случаев, когда примеры не были детально разобраны в разделе «Краткие теоретические сведения»).
Задание № 1. В первом столбце табл. 1 записана на языке Паскаль вещественная константа в форме с фиксированной точкой, а во втором столбце — та же константа, но в форме с плавающей точкой. Найти неизвестное число (в пунктах а)-в) под неизвестным числом подразумевается порядок константы, а в пунктах г)-е) — вся константа).
Таблица 1
Примеры выполнения задания № 1.
1) Дана вещественная константа в форме с фиксированной точкой: 0.9. Необходимо записать ее в форме с плавающей точкой, т. е. в виде:
<мантисса>E<порядок>
Известно, что число 0.9 равно 9*10–1.
Следовательно, мантисса данной константы в форме с плавающей точкой равна 9, а порядок равен -1. Поэтому константа в форме с плавающей точкой будет записана следующим образом: 9E-1.
2) Дана вещественная константа в форме с плавающей точкой: 8.15E+1. Необходимо записать ее в форме с фиксированной точкой.
Известно, что число 8.15E+1 равно 8.15*101.
Поэтому константа в форме с фиксированной точкой будет записана следующим образом: 81.5.
Задание № 2.Вычислить значения выражений, записанных на языке Паскаль:
а) round(6.28); б) round(4.7); в) trunc(6.28); г) trunc(4.7); д) 25 div 7; е) 25 mod 7; ж) 4 div 9; з) 4 mod 9; и) 15 + 7 * 7 div 2; к) 7 mod (14-trunc(5.5)); л) –(round(3.4)-round(9.86))+20.
Задание № 3. Определить тип выражений (целый или вещественный), записанных на языке Паскаль:
а) 57 + 119.0; б) 9–3; в) 1.5 * 2; г) 20 / 5; д) 124 div 20; е) 5 mod 11; ж) sqr(8); з) sqrt(100); и) cos(0); к) trunc(1.9); л) round(2.4); м) int(1.1); н) frac(78.25).
Задание № 4. Для следующих математических выражений записать соответствующие арифметические выражения на языке Паскаль. Стандартные функции в данном задании не использовать.
а) ; б) ; в) ; г) ; д) ; е) .
Пример выполнения задания № 4.
Математическое выражение на языке Паскаль будет записано следующим образом:
((a-b)*x+3)/(y+z)
При записи подобных математических выражений на языке Паскаль не следует забывать, что все символы пишутся в строчку на одном уровне, а все знаки операций должны быть проставлены (нельзя пропускать *). Также следует напомнить, что часть выражения, заключенная в круглые скобки, вычисляется в первую очередь.
Задание № 5. Для следующих математических выражений записать соответствующие арифметические выражения на языке Паскаль. Использовать стандартные функции. Следует обратить внимание на то, что для некоторых математических функций могут отсутствовать стандартные функции в Паскале и поэтому данные математические функции нужно выразить через какие-либо стандартные.
а) ; б) ; в) ; г) ; д) ; е) ; ж) ; з) ; и) ; к) ; л) ; м) ; н) .
Примеры выполнения задания № 5.
1) Математическое выражение на языке Паскаль будет записано следующим образом:
sqr(y)+sin(2*x)
Подобный пример записи математического выражения на языке Паскаль не должен вызвать трудностей, т. к. в языке Паскаль имеют место как стандартная функция возведения числа в квадрат, так и стандартная функция вычисления синуса.
2) Математическое выражение на языке Паскаль будет записано следующим образом:
sin(5.35*x)/cos(5.35*x)
Подобный пример записи математического выражения на языке Паскаль может вызвать трудность, т. к. в языке Паскаль отсутствует стандартная функция вычисления тангенса. Однако, из математики известно, что . Это соотношение и было использовано для записи выражения на языке Паскаль в данном примере, т. к. стандартные функции для вычисления синуса и косинуса в Паскале присутствуют.
Задание № 6. Если x — переменная типа real, а k — переменная типа integer, то какие из следующих операторов присваивания, записанных на языке Паскаль, являются правильными, а какие нет?
а) k:=k-2; б) k:=x+10; в) k:=8.0; г) x:=trunc(x); д) x:=k mod 3; е) x:=x div 4; ж) k:=k/5; з) k:=sqrt(sqr(k));
Задание № 7. Ккакому типу относятся следующие константы, записанные на языке Паскаль?
а) 0.125 б) 'Москва' в) $AB6 г) 'Y' д) 1.9E–4 е) -251 ж) '5'
Задание № 8. Какие из следующих идентификаторов, записанных на языке Паскаль, являются неправильными и почему?
а) y33 б) w в) 59 г) x_2 д) _yz е) 34x
Задание № 9. Какая арифметическая операция языка Паскаль используется для нахождения остатка от целого деления?
Задание № 10. Какая математическая стандартная функция языка Паскаль используется для нахождения квадратного корня?
Задание № 11. Расположите следующие операции языка Паскаль в порядке убывания приоритетов:
а) вычисление функции sin(x); б) сложение двух переменных; в) унарная операция смены знака (-); г) операция div.
Затем студенты решают эти задания по очереди на доске под руководством преподавателя.
По мере накопления опыта преподавания дисциплины «Информатика» организация данной лабораторной работы и соответствующее данной работе методическое пособие будут совершенствоваться.
Литература:
1. Семакин И. Г., Шестаков А. П. Лекции по программированию: Учебное пособие. Изд. 2-е, доп. — Пермь: Изд-во Перм. ун-та, 1998. — 279 с.
2. Программирование на языке высокого уровня Паскаль. Лекция 1: Основные понятия языка [Электронный ресурс] — Режим доступа: http://www.intuit.ru/studies/courses/628/484/lecture/6259. (Дата обращения: 28.06.2013).
3. Файзрахманов Р. А. Проектирование автоматизированных информационных систем на основе объектно-ориентированного подхода: учебное пособие / Р. А. Файзрахманов, А. В. Архипов; Пермский государственный технический университет.— Пермь: Изд-во ПГТУ, 2011.— 222 с.
4. Файзрахманов Р. А.. Структурно-функциональный подход к проектированию информационных технологий и автоматизированных систем с использованием CASE-средств: учебное пособие / Р. А. Файзрахманов, К. А. Селезнев; Пермский государственный технический университет.— Пермь: Изд-во ПГТУ, 2007.— 266 с.
5. Полевщиков И. С. Особенности проведения практического занятия по теме «Количественная оценка информации» в рамках дисциплины «Теория информации и информационных систем» // Педагогика и современность. — 2013. — № 4 — М.: Издательство «Перо» — С. 78–80.
6. Полевщиков И. С. Разработка методического пособия на тему «Тестирование базового пути» (для студентов бакалавриата направления «Программная инженерия») // Педагогика и современность. — 2013. — № 4 — М.: Издательство «Перо» — С. 83–85.
7. Полевщиков И. С. Особенности проведения практического занятия по теме «Эффективное кодирование» в рамках дисциплины «Теория информации и информационных систем» // Педагогика и современность. — 2013. — № 5 — М.: Издательство «Перо» — С. 99–101.
8. Файзрахманов Р. А., Липатов И. Н. Цифровое моделирование случайного процесса с использованием формирующего фильтра // Вестник Ижевского государственного технического университета. — 2011. — № 1 — С. 135–138.