Сложные логические выражения
В этом разделе описывается структура сложных логических выражений в паскале: If (a<0)or(b<0)or(c<0)then … Задания по разделу: 1. найдите результат работы программы (условный оператор со сложным условием) 1.1.5. Таблицы и массивы В этом параграфе вводятся основные понятия о массивах: определение, описание, ввод значений на ШАЯ, пример задачи – расчет среднего значения элементов массива. Школьники уже знакомы с принципом табличной организации данных из БД. Что такое массив Дается определение массива: М – представление таблиц в языках программирования. Пример – запись температуры воздуха по месяцам
. На основе этого примера вводится понятие линейной таблицы с индексированными именами, которая «в программировании называется одномерным массивом. В примере: ЗаписьТ[1] в данном примере показывает температуру в 1 месяце. Т - имя массива. Порядковый номер элемента – его индекс. Каждый элемент обозначается так: <имя массива>[<индекс>]» Так вводится имя массива и его элементов. Далее говорится, что элементы массива должны иметь одинаковый тип. (в примере - вещественный). Описание и ввод значений в массив на ШАЯ Здесь приводится два примера программ на ШАЯ, позволяющих понять, как выводятся и вводятся в массив значения. Для реализации используются цикл с параметром и цикл с предусловием. Расчет среднего значения элементов массива Для изучения приемов обработки массива, а именно, нахождения суммы его элементов и их среднего арифметического значения, формулируется задача: Вычислить среднегодовую температуру. При решении (алгоритм приводится на ШАЯ) обучаемые знакомятся с циклом, суммирующем элементы массива. Задания по разделу: 1. что такое массив 2. придумайте примеры данных, которые можно реализовать в виде массива 3. решить задачу на формирование и расчет среднего элемента в массивее 1.1.6. Массивы В этом параграфе рассматриваются: описание и обработка массивов в Паскале, цикл с параметром в Паскале, форматы вывода и программы с двумя массивами. Описание и обработка массива в паскале Приводится общая форма описания одномерного массива: 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. Язык программирования 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. Условный оператор В этом параграфе, применительно к описываемой теме, хотелось бы выделить раздел логические выражения, в котором на примере нескольких задач описываются примеры основных логических операций Таблицы истинности для операций
Примеры построения сложных логических выражений 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);
Пример решения представлен в таблице:
2. нахождение наибольшего элемента массива Чтобы лучше представить себе, как последовательно рассматривать и сравнивать между собой числа, записанные в памяти, в учебнике предлагается вообразить, что каждое число написано на отдельной карточке и карточки сложены стопкой: - первое число запомним, перевернем карточку - сравниваем числа: первое видим, второе помним - запомним большее, перевернем карточку ТО на каждом этапе мы будем помнить большее из рассмотренных чисел и решим задачу. Пример программы: … Max:=a[1]; For i:=2 to n do if max<a[i] then max:=a[i]; … 3. упорядочивание массива по возрастанию При решении задачи используется сортировка методом пузырька. 4. поиск элемента в массиве пример поиска методом сплошного перебора, используется оператор goto. Задания по разделу 1) чем отличается массив от файла 2) для чего необходимо описание массива 3) может ли массив содержать разнородные данные 4) в заданном массиве § замените нулем наибольший элемент § найдите полупроизведение всех положительных элементов § замените все отрицательные числа их модулями и т. п.
1.2.5. Алгоритмы обработки таблиц В этом параграфе рассматривается двумерный массив(таблица), его описание, основные задачи: - вычисление суммы элементов главной диагонали квадратной таблицы - нахождение наибольших элементов каждой строки таблицы - нахождение сумм элементов столбцов таблицы - перестановка строк таблицы Описание двумерного массива Для лучшего наглядного представления двумерный массив представляется в учебнике, как таблица, в которой номер строки обозначается первым индексом двумерного массива, столбцы – вторым. Объясняется так же, как хранится массив в памяти компьютера (построчно, строка за строкой). Если число строк таблицы = числу столбцов, то таблица – квадратная. Основные задачи 1. вычисление суммы элементов главной диагонали квадратной таблицы алгоритм: (1) ввести таблицу в память (2) найти сумму элементов главной диагонали (3) напечатать результат при решении диагональ рассматривается, как одномерный массив 2. нахождение наибольших элементов каждой строки таблицы. Идея: рассматривать каждую строку, как одномерный массив 3. нахождение сумм элементов столбцов таблицы идея та же + операции можно совершать как над строками, так и над столбцами таблицы 4. перестановка строк в таблице воспользоваться алгоритмом обмена значений 2х переменных + цикл по столбцам Задания по разделу 1) в квадратной неотрицательной таблице найдите квадратный корень произведения диагональных элементов 2) найдите наибольший элемент квадратной таблицы 3) в прямоугольной таблице замените все элементы их квадратами 4) в квадратной таблице найдите наибольший элемент диагонали 5) поменяйте местами первую и последнюю строки прямоугольной таблицы
1.2.6. Обработка строк на языке Pascal В этом параграфе рассказывается о 2х новых для школьников типах данных – символах и строках, а также об основных операциях над ними Символы Для записи символа используется 1 байт памяти. Для данного, описывающего 1 символ используется описатель char. Символы объединяются в массивы. Значение символьного данного – любой символ клавиатуры в апострофах. Символьные массивы обрабатываются теми же алгоритмами, что и числовые. Строки Строка – ограниченная апострофами последовательность любых символов. Длина строки в паскале не должна превышать 255 символов. Операции над строками (объединение, сравнение, присваивание) 1. объединение операция позволяет объединить 2 строки в одну, приписав к концу первой начало второй. Пример X:=’тепло’; Y:=’ход’; Z:=x+y;{получим - теплоход} 2. сравнение ‘=’ – означает посимвольное совпадение строк ‘<,>’ – относятся к длинам строк 3. присваивание – строковой переменной присваивается строковое выражение 4. основные процедуры и функции a:=length(s) – длина строки s:=copy(строковое выражение, начальный символ, количество символов) – копирование части строки a:=pos(подстрока, исх. строка) – поиск подстроки в строке(а-номер первого символа подстроки в исходной строке) insert(вставляемая строка, исходная строка, целое число) – вставка подстроки в строку после данного символа delete(строка, номер начала, количество символов) – удаление из строки данное количество символов после данного элемента. Пример программы В качестве примера использования строковых процедур и функций используется программа пословного перевода с английского языка. Задания по разделу 1. чем отличается символьный тип данных от строковых 2. используя символьный массив, определите, сколько слов в данном тексте, сколько букв «а» в данном слове 3. дана строка с несколькими запятыми, получите слово между первой и второй запятыми
1.2.7. Записи В этом параграфе дается определение записи, описание её структуры на Паскале и простейшие примеры применения. Определение записи С одной стороны запись – последовательность байтов на носителе, ограниченная с двух сторон специальными признаками, с другой стороны, в связи со сложной её внутренней структурой, запись – совокупность разнородных данных, описываемых и обрабатываемых, как единое целое. Данные из которых состоит запись – поля. Описание записи Type A = record N:integer; K:string; F:array[1..5,5..10]of real; End; Var rec:a; Примеры записей 1. объект – физическое тело с измерениями a,b,c – длина, ширина, высота 2. объект – товар, характеризующийся названием и ценой 3. объект – дата рождения: день, месяц, год Записи могут объединяться в массивы, например: Type A = record N:integer; K:string; F:array[1..5,5..10]of real; End; Mas = array[1..n] of A; Var masrec:mas; Для обращения к полю записи используются сложные имена из имени записи из раздела var и имени поля, разделенных точкой: rec.n; rec.f[1,5]; masrec[1].f[2,8]; 4. Массив сведений о работниках предприятия(имя, должность, дата рождения, зарплата). Операции над записями В программе ввод и вывод записи производится по полям, но можно присвоить одной записи значение другой, при этом происходит копирование области памяти. Оператор присоединения – используется для краткости. Он позволяет при обработке записи указать её имя только 1 раз: with список имен do оператор.
1.2.8. Файлы В параграфе описаны основные этапы операций обработки файлов – чтения и записи Операция записи Запись в файл – помещение в него новых данных. Данное для занесения в файл формируется в оперативной памяти как значение некоторой переменной. Операцией записи это значение копируется из оперативной памяти во внешнюю. Следовательно, форма представления данного, его тип и структура должны быть одинаковы и для записей файла и для переменной, из которой это данное копируется. Этапы записи в файл 1. описание файла – в разделе описания типов или переменных. Пример: var f:file of integer; a:integer; 2. Установление соответствия между физическим и логическим именем файла. Оператор установления соответствия: assign(логическое имя, ‘физическое имя’); например assign(f,’file.dat’); 3. открытие файла для операции запись – rewrite(f); если открыть для записи файл с имеющимися данными – они все пропадут. 4. запись данных в файл – write(f,a); 5. закрытие файла – close(f); Операция чтения. Этапы: Описание файла и установление соответствия между его именами также, как для записи. 3. открытие файла для чтения – reset(f); 4. читать данные из файла – read(f,a); количество записей в файле может быть неизвестно. По этому при чтении удобно использовать функцию признака конца файла – eof(f); 5. закрыть файл На каждую из операций показан простой пример чтения или записи в файл чисел. Также показан прием дозаписи файла, использующий вспомогательный файл. Задания по разделу 1. какие операции можно производить с данными файла 2. почему второй параметр операторов write и read должен быть того же типа, что и данные файла 3. чем отличается физическое имя файла от логического 4. как открыть файл для записи 5. что будет, если ранее созданный файл с данными открыть для записи 6. чем отличается файл от массива 7. как прочесть данные из файла, не зная их количества 8. как добавить данные в имеющийся файл
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (385)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |