Воскресенье, 24.11.2024, 12:28
Вы вошли как Гость | Группа "Не зарегистрированный"Приветствую Вас Гость | RSS
Главная | Каталог статей | Мой профиль | Регистрация | Выход | Вход
QO.DO.AM
 >>>мир предметника 050202

Форма входа

Основное меню

Меню 050202

Учительская OnLine

Категории раздела
8 класс-теория [49]
Теоретический материал по Информатики и ИКТ
9 класс [40]
10 класс [34]
11 класс [37]
Лабораторный практикум [23]
Из математической логики
Алексеев Е.Г., Богатырев С.Д. [97]
Алексеев Е.Г., Богатырев С.Д. Информатика. Мультимедийный электронный учебник, содержит: теорию по Информатике и ИКТ, закрепляющие тесты, иллюстративные материалы для урока Информатики и ИКТ
ИНФОРМАТИКА И ИКТ "Учебное пособие" [17]
Содержательный материал по Информатике и ИКТ. Преподается краткое и отборочное содержание для подготовки и проведения уроков Информатики и ИКТ 8-9 классы, 10-11 классы
Технические средства информатизации [31]
Данное учебное пособие предназначено для изучения дисциплины «Технические средства информатизации» в средних специальных учебных заведениях на специальности 2203- «Программное обеспечение вычислительной техники и автоматизированных систем».
Материалы к урокам ИНФОРМАТИКИ И ИКТ для учащихся с 8-11 классы [57]
Переработанный материал по Информатике и ИКТ, блок схемы, выделение основных понятий информатики красочно и кратко, автор разработок Давыдова Елена Владимировна

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
// Your SEO optimized title page contents

Счетчики

Главная » Архив Информатики и ИКТ » Теория » 9 класс [ Добавить статью ]

Массивы в Паскале

Массивы в Паскале


А теперь посмотрим, как можно на Паскале запрограммировать алгоритм вычисления среднегодовой температуры.

Для этого сначала познакомимся с правилами описания массивов. Заметим, что в данном разделе учебника мы ограничиваемся только работой с одномерными массивами (линейными таблицами).

Описание и обработка массива на Паскале

Общая форма описания одномерного массива на Паскале такая:

var <имя массива>: array [<нижняя граница индекса .. верхняя граница индекса>] of <тип массива>

Слово "array" буквально переводится как "массив". Границы индекса могут быть любыми целыми числами. Важно, чтобы нижняя граница была меньше верхней границы. Описание массива температур будет следующим: 
var T: array [1..12] of real;

Цикл с параметром на Паскале

Рассмотрим полный текст программы на Паскале.

Program Temperature;
var T: array[1..12] of real;
I: integer; Tsred: real;
begin
        {Цикл ввода}
     for I:=l to 12 do
     begin
          write ( 'T[ ',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записывается downto. В этом случае значение параметра цикла убывает через единицу. Следовательно, начальное значение в этом случае должно быть больше конечного.

Так же как и для оператора цикла while, здесь тело цикла может быть либо простым оператором, либо составным. В первом случае тело цикла заканчивается на ближайшей точке с запятой. В нашем примере - это цикл суммирования. Во втором случае тело цикла заключается между словами begin и end (цикл ввода).

Форматы вывода

В программе присутствует еще один новый для вас элемент Паскаля: формат вывода. Это числа с двоеточиями, стоящие после переменных в операторе вывода write:

write( 'Т [',I:2,']=');

В этой записи I:2 обозначает, что значение переменной I выводится как целое число в две символьные позиции на экране. Для однозначного числа в первой позиции будет помещен пробел, например: _5.

В операторе вывода результата также используется формат: Tsred: 6:2. Значение переменной Tsred выводится как смешанное число в 6 позиций, две последние из которых занимает дробная часть. В третьей справа позиции - точка. Лишние позиции для целой части занимаются пробелами. Например: _34.25.

Результат выполнения программы Temperature будет выведен на экран в следующем виде:

Среднегодовая температура =2.56 градусов

Программа с двумя массивами

А теперь расширим условие задачи. Требуется для каждого месяца определить отклонение его средней температуры от среднегодовой величины.

Вернемся к электронной таблице на рис. 3.13. Добавим к ней еще один столбец С, в котором будут вычисляться искомые отклонения. В ячейку С2 занесем формулу =В2-$В$14. По этой формуле вычислится отклонение январской температуры от среднегодовой. Скопировав эту формулу в ячейки СЗ:С13, получим все остальные величины. Смысл "замораживания" адреса В14 вам должен быть понятен. Результаты приведены в таблице на рис. 3.14.

 AB
1МесяцТемператураОтклонения
21-21-23,56
32-18-20,56
43-7,5-10,06
545,63,04
65107,44
761815,44
8722,219,64
982421,44
1091714,44
11105,42,84
1211-7-9,56
1312-18-20,56
14Среднее:2,56 


Рис. 3.14. Температуры и отклонения от среднего

Реализуем вычисление отклонений в программе на Паскале. Очевидно, в программе должен появиться еще один массив для размещения в нем таблицы отклонений. Дадим этому массиву имя Dt. Как и массив температур, он состоит из 12 чисел: Dt[l] , 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[',I:2,']=', Dt[I]:б:2) 
end

Здесь вычисление значений массива Dt и вывод их на экран совмещены в одном цикле. Результат работы программы будет следующим:
Dt[1]= -23,56 
Dt[2]= -20,56 
Dt[3]= -10,06

Dt[12]= -20,56

Как и следовало ожидать, это те же самые числа, что получены в электронной таблице.

Вопросы и задания

1. Как можно описать на Паскале массив, в котором будут храниться значения численности населения Москвы к концу каждого года XX века?

2. Вы приобрели котенка. Каждый вечер вы определяете его вес с помощью весов. Как можно описать на Паскале массив, в котором будут храниться значения веса котенка в течение месяца (например, мая)?

3. Напишите фрагмент программы на Паскале ввода исходных данных для массивов, определенных в заданиях 1 и 2.

4. Введите в компьютер программу Temperature, добавив к ней обработку массива Dt. Выполните программу, получите результаты. Сравните их с приведенными в параграфе.

5. Составьте программы на Паскале по алгоритмам из заданий 3, 4 предыдущего параграфа. Выполните эти программы на компьютере.

Категория: 9 класс | Добавил: metalworker (20.02.2013)
Просмотров: 4554 | Комментарии: 1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]


qo.do.am © 2024