Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Блок-схемы операторов цикла
Использование операторов цикла во многих случаях обусловлено необходимостью применения в программах переменных с индексами (массивов). Их описание осуществляется двумя эквивалентными способами: 1) с определением типа массива Type <имя типа> = array [<список диапазонов индексов>] of <тип элементов>; Var <имя массива>: <имя типа>; 2) без определения типа массива Var <имя массива>: array [<список диапазонов индексов>] of <тип элементов>; Здесь <имя типа>, <имя массива> - идентификаторы; <список диапазонов индексов> - в общем случае список выражений порядкового типа, кроме Longint, в частном случае - список диапазонов индексов; <тип элементов> - тип элементов массива (real, integer и т.д.). Первый способ обладает большей общностью. Однако чаще используется второй, так как он проще. В практических задачах массивы обычно используются для представления векторов и матриц. Примеры определения массивов: Type m = array [1..5] of byte; Var n: m; dates: array [1980..2000] of integer; x,y,z: array [1..10,1..10] of real; Доступ к каждому элементу массива осуществляется с помощью индекса. Он не должен выходить за пределы указанного диапазона. Например, for i:=1 to 10 do for j:=1 to 10 do begin z[i,j]:=0; for k:=1 to 10 do z[i,j]:=z[i,j]+x[i,k]*y[k,j] end; В ТР одним оператором присваивания все элементы одного массива можно передать другому массиву того же типа, например: Var p,q: array [-5..5] of single; begin … p: = q; … end. Однако необходимо учитывать, что массивы можно сравнивать только поэлементно.
Пример. Составить таблицу значений функции: , где x и y заданы в виде одномерных массивов: x = 0.1, 0.3, 0.5; y = 1, 2, 3, 4. Текст программы Program Tab_1; Uses Printer; Const m=3;n=4; Var x,y: array [1..10] of real; f: array [1..10,1..10] of real; i,j:integer; a,b:real; BEGIN writeln('Введите элементы массивов x и y:'); for i:=1 to m do {Ввод элементов массива x} Begin write('x[',i,']='); readln(x[i]); end; for j:=1 to n do {Ввод элементов массива y} Begin write('y[',j,']='); readln(y[j]); end; for i:=1 to m do for j:=1 to n do Begin a:=exp(x[i]*y[j])/(x[i]*y[j]); b:=y[j]*exp(4*ln(x[i]))/4; f[i,j]:=a+b; writeln(Lst,'f=',f[i,j]:10,' при x=', x[i]:4:1,' и y=',y[j]:4:1); end; END. !! Проанализируйте программу, наберите ее текст и осуществите компиляцию. Сохраните программу в файле с названием Tab_1.pas. При задании диапазонов индексов в объявлении массивов можно использовать интервальный (диапазонный) тип данных. Объявление интервального типа осуществляется заданием двух констант, указывающих верхнюю и нижнюю границы диапазона, и описывается двумя способами: 1) с определением типа Type <имя интервального типа>= <k1>.. <k2>; Var <имя переменной>:<имя интервального типа>;
2) без определения типа Var <имя переменной>: <k1>.. <k2>; где k1 и k2 соответственно верхняя и нижняя границы диапазона, причем k1>k2. Например, Type index = 1.. 50; years = 1900.. 2010; Var birthday: years; mass: array [index, index] of real;
При отладке программ с массивами удобно использовать типизированные константы-массивы в качестве исходных данных, что избавляет пользователя от многократного ввода элементов массива в циклах. В частности, при объявлении типизированной константы-вектора в круглых скобках указываются значения элементов массива через запятую. При объявлении двумерных констант-массивов множество элементов, соответствующее каждой строке матрицы, заключается в дополнительные круглые скобки. Например: Const vector: array [0..3] of integer = (1,2,3,4); matrix: array [0..2,0..3] of real = ((1,2,3,4),(1.1,1.2,1.3,1.4),(2.3,2.4,2.5,7));
Date: 2016-02-19; view: 460; Нарушение авторских прав |