Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_по_программированию.doc
Скачиваний:
79
Добавлен:
02.04.2015
Размер:
4.77 Mб
Скачать
        1. Алгоритмизация структурой цикла с постусловием

Словесная формулировка алгоритма:

  1. Ввести исходные данные (одномерный массив стоимостей кладов и процент вознаграждения).

  2. Присвоить параметру цикла iего начальное значение (i=1).

  3. Выполнить тело цикла (рассчитать текущее значение функции для соответствующего значения аргумента пi = f(сi) и вывести их на печать).

  4. Сформировать новое значение параметра цикла через предыдущее (i=i+1).

  5. Проверить полученное значение параметра на соответствие диапазону изменения ():

  • если i соответствует диапазону (), передать управление на п. 3;

  • если i не соответствует диапазону (i>7), прекратить вычисления в цикле.

Графическое изображение имеет вид рис. 5.9.

        1. Алгоритмизация структурой цикла с параметром

Словесная формулировка алгоритма:

  1. Ввести исходные данные (одномерный массив стоимостей кладов и процент вознаграждения).

  2. Сформировать заголовок цикла:

  • Присвоить параметру цикла iего начальное значение (i=1).

  • Проверить полученное значение параметра на соответствие диапазону изменения ():

  • если i соответствует диапазону, выполнить тело цикла (рассчитать текущее значение функции для соответствующего значения аргумента пi = f(сi) и вывести их на печать), сформировать новое значение параметра цикла через предыдущее (i=i+1) и передать управление на п. 2.2;

  • если i не соответствует диапазону (i>7), прекратить вычисления.

Графическое изображение имеет вид рис. 5.10.

Анализ рассмотренных способов построения цикла показывает, что с точки зрения компактности записи наиболее удобным является использование цикла с параметром, предписывающего универсальный вариант формирования его значений в заголовке цикла.

Программирование задачи

В Си, как в математике, можно оперировать с массивами в целом и с их элементами. При этом в зависимости от типов составляющих массив элементов в языке Си существуют понятия массива и структуры.

Массив– совокупность элементов одного типа.

Структура– совокупность разнотипных элементов.

Поэтому программирование задачи начинается с определения принадлежности используемых данных к массиву или структуре. В большинстве случаев элементы приводятся к одному типу, что позволяет объединить их в языке Си понятием массив. Обязательными условиями работы с массивом или его элементами (элементом) являются:

  • описание массива;

  • обозначение элементов.

        1. Описание массивов

Любая информация в ЭВМ хранится в ячейках оперативной памяти. Поэтому предполагаемая работа с массивом требует предварительного выделения памяти для его хранения. Это действие выполняет описание массива.

Описание массива предписывает резервирование в памяти ЭВМ необходимого количества последовательно расположенных ячеек для хранения его элементов. Число ячеек выделяемого участка должно соответствовать количеству элементов массива. Желательно предусматривать увеличенный размер массива (по отношению к реально заданному). При этом возможные изменения условия задачи не потребуют модификации описания. Например, для реально заданного массива X(7) возможно в описании указыватьX(7),X(10),X(15), что позволит во втором и третьем вариантах использовать программу для работы с массивомXна 10 и 15 элементов соответственно. Аналогично выбираются размеры массивов, численные значения которых конкретно не определены. Например, для массиваY(m) в соответствии с логикой задачи необходимо определить максимально возможное значениеm(50, или 100, или 150) и использовать его в описании.

Описание обязательно для всех используемых в задаче массивов.Описание массивов производится в начале программы (функции) аналогично простым переменным. При этом используются отдельные операторы описания или в списках уже существующих (наряду с именами переменных) указываются имена и размеры каждого из массивов.

Структура отдельного оператора описания одномерного массива:

описатель имя[размер];

где описатель – ключевое слово, определяющее тип элементов массива;

имя – идентификатор массива (формируется аналогично имени переменной);

размер – целая константа, определяющая количество элементов массива;

[ ] – ограничители размера массива.

Так, описатель одномерного массива целочисленных элементов с именем Dразмером 16 элементов имеет вид:

intd[16]; или увеличеноintd[20];

Одномерный массив А в 30 вещественных элементов описывается:

floata[30];

Одномерный вещественный массив Y(m) может быть описан:

float y[50]; или float y[100]; или float y[150];

Совместное описание символьных переменных x,y,z, а также одномерных массивовT(120) иS(70) может иметь вид:

char x, y, z, t[120], s[70]; или char y, t[120], x, s[70], z;

т.е. порядок расположения элементов может быть любым.