Упражнения по программированию (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). Для любого массива определены следующие функции:
Впрочем, для рассматриваемых массивов использовать эти функции вряд ли имеет смысл, поскольку все эти значения известны из объявления массива. Они используются для открытых и динамических массивов. Для числовых массивов определены функции (добавить uses Math)
Константы - массивы Синтаксис объявления константы-массива следующий: const ИмяМассива: array[ Диапазон ] of ТипДанных = (значение_1, значение_2, значение_n); В ряде случаев применение констант-массивов позволяет радикально уменьшить объем кода. const MONTH: array[1..6] of string = ('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь');
Строки Строка – это ряд символов, хранящихся в последовательно расположенных байтах памяти. Доступ к отдельному символу некоторой строки S дается выражением вида S[i], где i — индекс символа в строке. Но это только для однобайтных символов. Тип данных для строк – String.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|