Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Министерство образования РФ
Томский Государственный Университет Систем Управления и
Радиоуправления
(ТУСУР)
Отчет
О лабораторной работе № 3 (Задачи №28 и №70)
По дисциплине «Программирование на языке высокого уровня»
Выполнил студент гр.585-2
Шайтаров Артём
Проверил ст. преп. каф. КСУП
Потапова Е. А.
Томск 2005
Содержание:
Введение
Массив- это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.
a : array[1..2, 1..2] of integer
Если в такой форме описания задан один индекс, массив называется одномерным ,
если два индекса - двумерным
Инициализация (присваивание начальных значений) массива заключается в присваиванию каждому элементу массива одного и того же значения, соответствующего базовому типу.
Копированием массивов называется присваивание значений всех элементов одного массива всем соответствующим элементам другого массива.
Сортировкой называется распределение элементов множества по группам в соответствии с определенными правилами.
Условие задачи:
28. Даны действительные числа a[1], a[2], … , a[n], …, a[2n]. Преобразовать эту последовательность по правилу: Большее из a[i] и a[n+i] (i = 1, 2, … , n) принять в качестве нового значения a[i], а меньшее в качестве нового значения a[n+i].
Описание используемых переменных и обоснование выбора типа переменных.
а массив целочисленных переменных.
i целочисленная беззнаковая переменная счетчик цикла .
n целочисленная беззнаковая константа, определяющее предел массива.
b целочисленная переменная, используемая для временного хранения элементов массива.
Формальное описание алгоритма решения задачи:
Шаг 1. С помощью цикла for заполняем массив случайными значениями и выводим его на экран.
Шаг 2..Вводим цикл for от i=1 до n.
Шаг 3. В теле цикла с помощью условного оператора сравниваем a[i] и a[n+i] элементы массива.
Шаг 4. Если элемент массива a[n+i] больше элемента a[i], то перемещаем при помощи переменной b значение a[n+i] в a[i], а значение a[i] в a[n+i], если нет, то продолжается цикл. После завершения цикла массив принимает требуемый вид.
Шаг 5. С помощью цикла for выводим измененный массив a на экран.
Текст программы:
Program art28; {название программы}
uses crt; {использование дополнительной библиотеки}
const n=4; {раздел описания констант}
var {раздел описания переменных }
a: array [1..2*n] of longint;
i, b :integer;
begin {начало программы}
clrscr; {очистка экрана}
randomize; {оператор случайных чисел}
Writeln('Массив a:'); {вывод строки на экран}
for i:=1 to 2*n do {цикл с параметром}
begin {начало тело цикла}
a[i]:=-random(100)+random(100); {заполнение массива случайными числами}
write('a[',i,']=',a[i],' '); {вывод строки на экран}
end; {конец тела цикла}
writeln; {перевод каретки}
writeln(Изменённый массив a:'); {вывод строки на экран}
for i:=1 to n do {цикл с параметром}
begin {начало тела цикла}
if a[n+i] > a[i] then {условный оператор}
begin
b:=a[i]; {присвоение значения переменной}
a[i]:=a[n+i]; {присваивание нового значения элементу массива}
a[n+i]:=b; {присваивание нового значения элементу массива}
end;
end; {конец тела цикла}
for i:=1 to 2*n do {цикл с параметром}
write('a[',i,']=',a[i],' '); {вывод строки на экран}
readln; {пустой ввод}
end. {конец программы}
Блок схема задачи №28
нет да
Условие задачи:
70. type вектор = array [1..n] of integer; {n чётное}
матрица = array [1..n] of вектор;
var a:матрица; x:вектор;
i,j:integer;
В матрице А поменять местами 1-ю и 2-ю строки, 3-ю и 4-ю строки, … ,(n-1)-ю и n-ю строки (воспользоваться x как вспомогательным массивом).
Описание используемых переменных и обоснование выбора типа переменных.
n - целочисленная беззнаковая константа, определяющее предел массива.
a целочисленный массив массивов (матрица), состоящий из n векторов х.
х целочисленный массив, является строками в матрице а, используется как вспомогательный массив.
i, j - целочисленные беззнаковые переменные счетчики цикла .
Формальное описание алгоритма решения задачи:
Шаг 1. С помощью двух последовательных циклов for со счётчиком от i( j ):=1 до n заполняем матрицу а случайными значениями.
Шаг 2. С помощью двух последовательных циклов for со счётчиком от i( j ):=1 до n выводим матрицу а на экран в табличном виде.
Шаг 3. С помощью цикла for со счётчиком от i:=1 до n/2 меняем местами строки (1-ю и 2-ю, 3-ю и 4-ю, … ,(n-1)-ю и n-ю) в матрице а .
Шаг 4. С помощью двух последовательных циклов for со счётчиком от i( j ):=1 до n выводим измененную матрицу a на экран.
Текст программы:
program art70; {название программы}
uses crt; {использование дополнительной библиотеки}
const n=6; {раздел описания констант}
type vektor = array [1..n] of integer; {раздел описания типа переменных}
matrica = array [1..n] of vektor;
var a:matrica; x:vektor; {раздел описания переменных}
i,j:integer;
begin {начало программы}
clrscr; {очистка экрана}
randomize; {оператор случайных чисел}
for i:=1 to n do {цикл с параметром}
for j:=1 to n do {цикл с параметром}
a[i,j]:=random(100); {заполнение массива случайными числами}
for i:=1 to n do {цикл с параметром}
begin {начало тело цикла}
for j:=1 to n do {цикл с параметром}
write(a[i,j],' '); {вывод строки на экран}
writeln(' '); {перевод каретки}
end; {конец тела цикла}
writeln; {перевод каретки}
for i:=1 to (n div 2) do {цикл с параметром}
begin {начало тело цикла}
x:=a[i*2-1]; {присвоение значения переменной}
a[i*2-1]:=a[i*2]; {присваивание нового значения элементу массива}
a[i*2]:=x; {присваивание нового значения элементу массива}
end; {конец тела цикла}
for i:=1 to n do {цикл с параметром}
begin {начало тело цикла}
for j:=1 to n do {цикл с параметром}
write(a[i,j],' '); {вывод строки на экран}
writeln(' '); {перевод каретки}
end; {конец тела цикла}
readln; {пустой ввод}
end. {конец программы}
Блок Схема задачи №70
Вывод: Мною были изучены простейшие массивы, массивы массивов и действия над ними. Были разработаны программы по их инициализации и сортировке.