Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2017-09-30 | 659 |
5.00
из
|
Заказать работу |
|
|
Рассмотрим полный текст программы на Паскале.
Program Temperature;
var Т: array [1..12] of real;
I: integer; Tsred: real;
Begin
{Цикл ввода}
for I:=l to 12 do
Begin
write('Tt',1:2, '] = ');
readln(T[I])
end;
{Цикл суммирования}
Tsred:=0;
for I:=l to 12 do
Tsred:=Tsred+T[I];
{Вычисление среднего}
Tsred:=Tsred/12;
writeln('Среднегодовая температура = ', Tsred:6:2,' градусов')
End.
В этой программе дважды использован оператор цикла с параметром. В простейшем случае формат этого оператора следующий:
for <параметр цикла>:=<начальное значение параметра>
to <конечное значение параметра>
do <тело цикла>
Значение параметра цикла увеличивается на единицу при каждом повторении тела цикла. Существует другой вариант этого оператора, в котором вместо слова to записывается down to. В этом случае значение параметра цикла убывает на единицу, следовательно, начальное значение должно быть больше конечного.
Так же как и для оператора цикла while, здесь тело цикла может быть либо простым оператором, либо составным. В первом случае тело цикла заканчивается на ближайшей точке с запятой. В нашем примере — это цикл суммирования. Во втором случае тело цикла заключается между словами begin и end (цикл ввода).
Форматы вывода
В программе присутствует еще один новый для вас элемент Паскаля: формат вывода. Это числа с двоеточиями, стоящие после переменных в операторе вывода write:
write ('Т[',1:2,'] = ')
В этой записи 1:2 обозначает, что значение переменной I выводится как целое число в две символьные позиции на экране. Для однозначного числа в первой позиции будет помещен пробел, например: _5.
В операторе вывода результата также используется формат вывода: Tsred: 6:2. Значение переменной Tsred выводится как смешанное число в 6 позиций, две последние из которых занимает дробная часть. В третьей справа позиции — точка. Лишние позиции для целой части занимаются пробелами. Например: 34.25.
|
Результат выполнения программы Temperature будет выведен на экран в следующем виде:
Среднегодовая температура = 2.56 градусов
Программа с двумя массивами
А теперь расширим условие задачи. Требуется для каждого месяца определить отклонение его средней температуры от среднегодовой величины.
Вернемся к электронной таблице на рис. 2.9. Добавим к ней еще один столбец С, в котором будут вычисляться искомые отклонения. В ячейку С2 занесем формулу =В2-$В$14. По этой формуле вычис- лится отклонение январской температуры от среднегодовой. Скопировав эту формулу в ячейки C3:C13, получим все остальные величины. Смысл «замораживания» адреса В14 вам должен быть понятен. Результаты приведены в таблице на рис. 2.10.
Реализуем вычисление отклонений в программе на Паскале. Очевидно, в программе должен появиться еще один массив для размещения в нем таблицы отклонений. Дадим этому массиву имя Dt. Как и массив температур, он состоит из 12 чисел: Dt [1], Dt [2], Dt [3],..., Dt [12].
К предыдущей программе надо добавить описание массива Dt в следующем виде:
var Dt: array [1..12] of real;
Значение каждого элемента массива вычисляется как разность между средней температурой в соответствующем месяце и среднегодовой температурой. Например, для января Dt[l]:=Т [1]-Tsred. Такие вычисления повторяются в цикле 12 раз. Значения массива Dt выводятся на экран.
Запишем на Паскале фрагмент, который надо вставить в конец предыдущей программы, чтобы решить поставленную задачу.
for I:=l to 12 do
Begin
Dt [I]:=T[I]-Tsred;
writeln (' Dt [',1: 2, ' ] = ',Dt[I]:6:2)
End
Здесь вычисление значений массива Dt и вывод их на экран совмещены в одном цикле. Результат работы программы будет следующим:
Dt [ 1]= -23.56
Dt[ 2]= -20.56
Dt[ 3]= -10.06
…
Dt [ 12]= -20.56
Как и следовало ожидать, это те же самые числа, что получены в электронной таблице.
|
Коротко о главном
Простейший формат описания одномерного массива:
var <имя массива>: array [<нижняя граница индекса.. верхняя граница индекса>] of <тип массива>
В простейшем случае оператор цикла с параметром записывается так:
for <параметр цикла>:=<начальное значение параметра>
to <конечное значение параметра>
do <тело цикла>
В формате вывода указывается количество позиций на экране для вывода значения. Для вещественного числа указывается также количество цифр в дробной части.
В программе на Паскале должен быть описан каждый используемый в ней массив.
Вопросы и задания
1. Как можно описать на Паскале массив, в котором будут храниться значения численности населения Москвы к концу каждого года XX века?
2. Вы приобрели котенка. Каждый вечер вы определяете его вес с помощью весов. Как можно описать на Паскале массив, в котором будут храниться значения веса котенка в течение месяца (например, мая)?
3. Напишите фрагмент программы на Паскале ввода исходных данных для массивов, определенных в заданиях 1 и 2.
4. Введите в компьютер программу Temperature, добавив к ней обработку массива Dt. Выполните программу, получите результаты. Сравните их с приведенными в параграфе.
5. Составьте программы на Паскале по алгоритмам из заданий 3, 4 предыдущего параграфа. Выполните эти программы на компьютере.
ЕК ЦОР: часть 2, глава 6, § 42. ЦОР № 3, 8.
§19
|
|
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!