p align="left">Расчет среднего значения элементов массива Для изучения приемов обработки массива, а именно, нахождения суммы его элементов и их среднего арифметического значения, формулируется задача: Вычислить среднегодовую температуру. При решении (алгоритм приводится на ШАЯ) обучаемые знакомятся с цик-лом, суммирующем элементы массива. Задания по разделу: 1. что такое массив 2. придумайте примеры данных, которые можно реализовать в виде массива 3. решить задачу на формирование и расчет среднего элемента в мас-сивее 1.1.6. Массивы В этом параграфе рассматриваются: описание и обработка массивов в Пас-кале, цикл с параметром в Паскале, форматы вывода и программы с двумя массивами. Описание и обработка массива в паскале Приводится общая форма описания одномерного массива: var <имя масссива>: ar-ray[<нижний_индекс>..<верхний_индекс>] 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 1.2.3. Условный оператор В этом параграфе, применительно к описываемой теме, хотелось бы выде-лить раздел логические выражения, в котором на примере нескольких задач описываются примеры основных логических операций Таблицы истинности для операций |
X Y X AND Y X Y X OR Y
1 1 1 1 1 1
1 0 0 1 0 1
0 1 0 0 1 1
0 0 0 0 0 0
| X NOT X
1 0
0 1
| | |
Примеры построения сложных логических выражений 1. определить, принадлежит ли точка с координатой х отрезку [a,b]. Это условие записывается двойным неравенством a<x<b. На паскале - (x>a) and (x<b). 2. пройдет ли кирпич с ребрами x,y,z в отверстие a,b? (a>x)and(b>y)or (a>y)and(b>x)or (a>x)and(b>z)or (a>z)and(b>x)or (a>y)and(b>z)or (a>z)and(b>y) 3. определить принадлежность точки к треугольнику ABC. A(-1,0); B(0,2); C(1,0). 4. условие существования треугольника со сторонами a,b,c. 1.2.4. Массивы В этом параграфе дается определение массива, поясняется область приме-нения этой структуры, синтаксис паскаля для работы с массивом. Рассмотрены также основные действия над одномерными массивами: вы-числение суммы элементов массива, нахождение наибольшего элемента мас-сива, сортировка массива, поиск элемента в массиве. Определение массива При решении задач данные объединяются в различные структуры, наиболее простая из них: массив - именованный набор с фиксированным количеством однотипных данных. В массивы объединяются результаты экспериментов, списки фамилий сотрудников, различные сложные структуры данных. В мас-сиве могут быть одинаковые данные, поэтому элементы массива различаются по своим порядковым номерам. Если каждый элемент массива имеет один порядковый номер, такой массив - одномерный, если два - это таблица из строк и столбцов. Для таблиц первый номер элемента показывает строку, второй - столбец, на пересечении которых находится элемент. Все строки таблицы имеют одинаковую длину. При решении задач с использованием массива необходимо следовать алго-ритму: 1. определить, какие числа даны, целые или вещественные 2. назвать весь массив одним именем 3. описать массив в разделе описания переменных, отведя тем са-мым место в памяти компьютера под массив. 4. ввести данные в память. Описание массивов в Pascal Пример описания массива const n=10; Var a:array[1..n]of real; При этом комментируется каждое слово в этой записи. При встрече описания массива, транслятор отводит для него столько последовательных ячеек, сколько указано в квадратных скобках, и такого формата, каков тип массива. Описание из примера означает, что для массива а отведено 10 ячеек по 6 байт каждая. Имена ячеек: в Паскале будут записаны: a[1],a[2],…,a[10]. Ввод и вывод данных массива осуществляется через цикл, например: For i:=1 to n do read(a[i]); Базовые задачи на массивы 1. вычисление суммы элементов массива Вычисление ничем не отличается от суммирования значений простых пере-менных. Этапы решения: - ввод данных; - вычисление суммы; - печать результатов; … {1} For i:=1 to n do read(a[i]); {2} S:=0; For i:=1 to n do s:=s+a[i]; {3} Writeln(s);
Страницы: 1, 2, 3, 4
|