В этом параграфе рассматриваются: описание и обработка массивов в Паскале, цикл с параметром в Паскале, форматы вывода и программы с двумя массивами.
Описание и обработка массива в паскале
Приводится общая форма описания одномерного массива:
var <имя масссива>: array[<нижний_индекс>..<верхний_индекс>] of <тип_массива>;
Для примера – описание массива из таблицы 1:
var t: array[1..12]of real;
далее рассматривается реализация задачи о средней температуре на Паскале, неизученными операторами в которой являются: ограничения на параметр цикла for (целое число, изменяющееся на 1 при прохождении цикла) и форматы вывода.
Пример write(‘T[1]=’,I:4:2);
Далее объясняется значение знаков в подобном примере.
Программа с двумя массивами
В этом учебнике не изучаются двумерные массивы, по этому для решения задач с их применением используется другой подход:
Задача: для каждого месяца определить отклонение его температуры от среднегодовой величины.
В качестве решения сначала строится таблица в excel, в которой решается эта задача, затем показывается, как с помощью второго одномерного массива ее решить.
Задания по разделу:
1. как на паскале описать массив численности населения к концу каждого года 20 века
1.2. «Информатика» Кузнецов
В этом учебнике изучение типов данных начинается вместе со знакомством с языком Паскаль, описанием структуры языка и представлением данных в памяти компьютера.
1.2.1. Язык программирования Pascal
В этом параграфе изучается история языка Паскаль, основные определения, перечисляются используемые числовые типы, способы их представления в памяти, основные операторы.
Основные определения.
- Имя величины – слово из букв и цифр, обозначающее, как в алгебре, величину. Каждое имя соответствует ячейке памяти.
- Ячейка последовательность разного количества байтов памяти для разных данных
- Для каждой переменной надо указывать её тип, чтобы транслятор знал, сколько памяти под ее хранение выделить
Числа в Паскале
Числа бывают целые и действительные (с фиксированной или плавающей точкой).
Переполнение ячейки памяти – значение переменной не входит в предоставленную ей ячейку. Для избегания переполнения используют вещественные числа с плавающей точкой.
Пример: 243,7 = 2.437 ∙ 102 = 2.4370000000 Е + 02
В примере показано, что 2437 – мантисса, 2 – порядок.
Числовые операции
- «+» - сложение
- «-» - вычитание
- «/» - деление
- «*» - умножение
- Mod – остаток от деления (только для целых чисел)
- Div - деление нацело (только для целых чисел)
- Математические выражения:
Sin(x); cos(x); ln(x); sqr(x); sqrt(x); abs(x);
Пример арифметического выражения в Pascal
Оператор присваивания
<переменная>:=<выражение>
Примеры: x:=3,14; a:=b+c; i:=i+1;
Ограничения на типы при присваивании:
- Если переменная, расположенная слева имеет вещественный тип, то справа – арифметическое выражение: целое или вещественное
- Если переменная слева целого типа – арифметическое выражение – только целое
Задания по разделу
1) Почему паскаль различает целые и вещественные числа
2) Что такое арифметическое выражение, из чего оно может состоять
3) Как работает оператор присваивания
4) Ограничения на типы данных при присваивании
5) Запишите в виде арифметического выражения квадратный трехчлен
6) Запишите на паскале tg x , x4
1.2.2. Структура программы на Pascal, ввод и вывод данных
В параграфе описаны основные структуры программы на паскале, в том числе разделы описания переменных и типов, операторы ввода и вывода.
Раздел описания переменных
Основные описатели числовых типов: integer, real
Пример var a,b:integer; c:real;
Объясняется синтаксис раздела (применение знаков « . » ; « , » ; « : » ; « ; ») и порядок работы транслятора: «Когда транслятор встречает описание переменной, он отводит для этой переменной ячейку памяти и ставит в соответствие имени переменной номер первого байта ячейки.»
Операторы ввода и вывода
В разделе объясняется принцип работы с этими операторами:
«Для сообщения данных компьютеру служат операторы ввода и вывода.
Оператор ввода помещает вводимое значение переменной в отведенную ей ячейку: read(<список имен>); этот оператор останавливает работу программы и ждет, пока пользователь наберет на клавиатуре число и нажмет <Enter>. Если список ввода содержит несколько имен, их значения надо вводить через запятую, пробел, или <Enter>.
Если после ввода числа необходимо перевести курсор на новую строку, используют оператор readln(<список имен>);
Для вывода результатов работы программы на экран дисплея используется оператор write(<список вывода>);
список вывода содержит перечисленные через запятую имена переменных или арифметические действия, текст, заключенный в апострофы.
При выводе вещественных чисел с фиксированной запятой необходимо после имени переменной в списке ввода указать через “:” 2 числа (сколько позиций занимает число, количество цифр дробной части).»
Задания по разделу
1) Для чего необходимо описывать данные в программе
2) Какой оператор используется для ввода данных, как он работает
3) Куда попадают введенные с клавиатуры числа при работе оператора ввода
4) Как перевести курсор на новую строку после ввода данных
5) Как вывести на экран результат работы программы
6) Как сделать, чтобы данные выводились с новой строки
7) Как увидеть результаты вывода на экране дисплея, если уже сработал write
8) Можно ли получить результат вычислений без использования оператора Write
В этом параграфе, применительно к описываемой теме, хотелось бы выделить раздел логические выражения, в котором на примере нескольких задач описываются примеры основных логических операций
Таблицы истинности для операций
X | NOT X |
1 | 0 |
0 | 1 |
Исходные данные: 3, -2, 9, 7, -1, 6, 1 | |||||||
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
a[i] | 3 | -2 | 9 | 7 | -1 | 6 | 1 |
S | 0 | 1 | 10 | 17 | 16 | 22 | 23 |
2. нахождение наибольшего элемента массива
Чтобы лучше представить себе, как последовательно рассматривать и сравнивать между собой числа, записанные в памяти, в учебнике предлагается вообразить, что каждое число написано на отдельной карточке и карточки сложены стопкой:
- первое число запомним, перевернем карточку
- сравниваем числа: первое видим, второе помним