Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Упражнения по программированию (2)




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

Результат:

Enter your height in cm: 182

Your height: 1 m 82 cm

2. Напишите программу, которая запрашивает ваш рост в метрах и ваш вес в килограммах (для хранения этой информации используйте две переменные). Пусть программа вычислит и отобразит на экране ваш ИМТ (индекс массы тела). Чтобы вычислить ИМТ необходимо разделить вес в килограммах на рост в метрах, возведенный в квадрат

Результат:

Enter your height in m: 1.82

Enter your weight in kg: 70

Your IMT = 21.1327

3. Напишите программу, которая запрашивает длину пути, который вы проехали, в километрах и количество израсходованных литров бензина, а затем отображает на экране значение, показывающее, расход бензина в литрах на 100 километров.

Результат:

Enter km: 250

Enter litre: 20

The charge on 100 km = 8

СОСТАВНЫЕ ТИПЫ ДАННЫХ

Краткий обзор массивов

Массив — это тип данных, который может включать несколько значений одного типа. Например, массив может содержать 60 значений типа Integer — данные о продажах игр за пять лет, либо 12 значений типа ShortInt, каждое из которых представляет собой количество дней в определенном месяце, или 365 значений Real, которые отражают ежедневные расходы на продукты питания в течение года. Каждое значение представлено отдельным элементом массива, а компьютер сохраняет все элементы массива в памяти последовательно.

Для создания массива используется оператор объявления. Объявление массива должно содержать три аргумента:

· имя массива

· количество элементов в массиве

· тип каждого элемента

Например, объявление

var months: array[1..12] of Integer; // создает массив из 12 элементов типа Integer

создает массив с именем months, который содержит 12 элементов. Каждый из них может хранить значение типа Integer. Каждый элемент, в сущности, является переменной, и его можно обрабатывать как обычную переменную.

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

var <имя массива>: array [<размерность массива>] of <тип элементов>;

Многие полезные свойства массива базируются на возможности обращаться к элементам массива по отдельности. Для этого нужно использовать индекс, который позволяет перечислять элементы. Для указания элемента массива используется запись индекса в квадратных скобках. Например, months[1] — первый элемент массива months, a months[12] — последний. Таким образом, объявление массива дает возможность создать несколько переменных одним объявлением, после чего можно использовать индекс, чтобы идентифицировать отдельные элементы и обращаться к ним.

Программа 3_1

// небольшие массивы целых чисел

program Project1;

 

{$APPTYPE CONSOLE}

 

Uses

SysUtils;

Var

yams: array [1..3] of Integer; //создается массив из трех элементов

yamcosts: array [1..3] of Integer = (20, 30, 5); //создание и инициализация массива

total: Integer;

Begin

total:= 0;

yams[1]:= 7; //присвоение значения первому элементу

yams[2]:= 8;

yams[3]:= 6;

Writeln('Total yams = ', yams[1] + yams[2] + yams[3]);

Write('The package with ', yams[2], ' yams costs ');

Writeln(yamcosts[2], ' center per yam.');

total:= total + yams[1] * yamcosts[1] + yams[2] * yamcosts[2];

total:= total + yams[3] * yamcosts[3];

Writeln('The total yam expense is ', total, ' cents.');

Writeln;

Writeln('Size of yams array = ', SizeOf(yams), ' bytes.');

Writeln('Size of one element = ', SizeOf(yams[1]), ' bytes.');

Readln;

end.

Результат:

Total yams = 21

The package with 8 yams costs 30 center per yam.

The total yam expense is 410 cents.

Size of yams array = 12 bytes.

Size of one element = 4 bytes.

Сначала программа создает трехэлементный массив с именем yams. Поскольку yams имеет три элемента, они пронумерованы от 1 до 3, и программа использует значения индекса в диапазоне 1-3, чтобы присвоить значения трем отдельным элементам. Каждый отдельный элемент yams имеет тип Integer со всеми возможностями и преимуществами этого типа данных. Таким образом, в программе можно присваивать значения элементам, а также складывать их, умножать и отображать.

Для присвоения значений элементам yams в программе используется длинный путь. Однако возможен и более компактный способ сделать это — путем инициализации элементов в рамках оператора объявления. Этот более короткий путь проиллюстрирован при присвоении значений массиву yamcosts:

yamcosts: array [1..3] of Integer = (20, 30, 5);

Для того чтобы проинициализировать элементы массива в одном операторе, достаточно ввести разделенный запятыми список начальных значений, заключенный в скобки. Пробелы в списке необязательны. Если массив, определенный внутри функции, не будет проинициализирован, значения элементов останутся неопределенными. Это означает, что элемент принимает любое значение, которое ранее находилось в той же ячейке памяти.

После инициализации программа использует значения массива при выполнении нескольких вычислений. Эта часть программы выглядит загроможденной — слишком много индексов и скобок. Далее будет рассмотрен цикл for — его применение обеспечивает возможность эффективной работы с массивами и устраняет необходимость указывать каждый индекс явно. Однако пока что мы будем использовать массивы небольшого размера.

Как уже упоминалось, оператор sizeof возвращает размер типа или объекта данных в байтах. Заметим, что если оператор sizeof используется с именем массива, то выводится общее количество байтов массива. Если же sizeof используется с элементом массива, возвращается размер элемента в байтах (еще одно свидетельство того, что yams — массив, a yams[1] — обычное значение типа Integer).

Для любого массива определены следующие функции:

Length Число элементов массива
High Наибольшее значение индекса
Low Наименьшее значение индекса

Впрочем, для рассматриваемых массивов использовать эти функции вряд ли имеет смысл, поскольку все эти значения известны из объявления массива.

Они используются для открытых и динамических массивов.

Для числовых массивов определены функции (добавить uses Math)

Функция Тип аргумента Тип результата Описание
MaxIntValue array of integer integer Возвращает максимальное значение элемента массива целых чисел.
MinlntValue array of integer integer Возвращает минимальное значение элемента массива целых чисел.
MaxValue array of double double Возвращает максимальное значение элемента числового массива.
MinValue array of double double Возвращает минимальное значение элемента числового массива.
Sum array of double extended Возвращает сумму элементов массива.

 

Константы - массивы

Синтаксис объявления константы-массива следующий:

const

ИмяМассива: array[ Диапазон ] of ТипДанных = (значение_1, значение_2, значение_n);

В ряде случаев применение констант-массивов позволяет радикально уменьшить объем кода.

const

MONTH: array[1..6] of string = ('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь');

 

Строки

Строка – это ряд символов, хранящихся в последовательно расположенных байтах памяти. Доступ к отдельному символу некоторой строки S дается выражением вида S[i], где i — индекс символа в строке. Но это только для однобайтных символов. Тип данных для строк – String.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...