Программы нахождения массивов

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    731,06 Кб
  • Опубликовано:
    2013-04-30
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программы нахождения массивов

Министерство образования науки, молодежи и спорта Украины

ДонГТУ

Кафедра ЭК и ИТ









Контрольная работа

По дисциплине: «Информатика»

Вариант №82

Выполнил: ст.гр. ЭПП-12-2з

Крымцева А.Ю.

Проверил: Хмелев А.Г.






Алчевск, 2012

Контрольное задание № 7

Составить программу для нахождения минимального и максимального элементов массива, а также индексов этих элементов. Ранжировать (упорядочить) одномерный массив по заданному признаку.

(9,56; -4,6; -12,45; 0,45; 98; 233; 5,09; -5,1; 0,004) по убыванию

Решение

Вначале найдем минимальный и максимальный элементы массива, а затем упорядочим его по убыванию

Блок-схема

Листинг программы

Program zadanie_7;

uses CRT;, j, i_max, i_min:integer;_max, a_min, buf:real;: array [1..9] of real;;

{Ввод исходного массива}

writeln ('Введите массив');

for i:=1 to 9 do(A[i]);('Исходный массив:');i:=1 to 9 do write (A[i]:6:3, ' ');

{Нахождение наибольшего а наименьшего элементов}

a_max:=A[1];_min:=A[1];_max:=1;_min:=1;i:=2 to 9 do(A[i]>a_max) then_max:=A[i];_max:=i;;(A[i]<a_min) then_min:=A[i];_min:=i;;;

{Ранжировка по убыванию}i:=1 to 8 do

for j:=i+1 to 9 doA[j]>A[i] then:=A[j]; A[j]:=A[i]; A[i]:=buf;;

{Вывод результатов};('Максимальный элемент = A[',i_max,']=',a_max:6:3);('Минимальный элемент = A[',i_min,']=',a_min:6:3);

writeln('Массив после сортировки:');

for i:=1 to 9 do write (A[i]:7:3,' ');

end.

Результат работы программы


Контрольное задание № 8

Составить программу вычисления корней квадратных алгебраических уравнений

(ax2 + bx + c = 0), используя функцию пользователя.

Примечание: в данных уравнениях значения коэффициентов a, b, c таковы, что дискриминант D = b2 - 4ac > 0


Решение

Блок-схема


Часть блок-схемы (вычислительные блоки) для процедуры Сv_u - решения квадратного уравнения с заданными коэффициентами a,b,c


Листинг программы

program Zadanie_8;CRT;,b,c,k1,k2 : real;

{Процедура вычисления корней квадратного уравнения}

procedure kv_ur (var a:real; b:real; c:real; k1:real; k2:real);:real;:=b*b-4*a*c;:=sqrt(d);:=(-b+d)/2/a;:=(-b-d)/2/a;('Коэффициенты a=',a:6:2,' b=',b:6:2,' c=',c:6:2);

writeln('Корни квадратного уравнения:',' k1=',k1:8:4,' k2=',k2:8:4);;;

{Первый вариант коэффициентов }('Введите коэффициенты a, b, c: ');

readln (a,b,c);_ur(a,b,c,k1,k2);

{Второй вариант коэффициентов};('Введите коэффициенты a, b, c: ');

readln (a,b,c);_ur(a,b,c,k1,k2);

end.

Результат выполнения программы


Контрольное задание № 9

Элементы двумерных массивов выбрать произвольно. Вывести их на печать в формате и с заголовком. Для решения данной задачи использовать подпрограмму типа FUNCTION.

В матрицах У(2,8) и О(4,3) определить сумму элементов третьего столбца матрицы. программа массив одномерный уравнение

Решение

Блок-схема


Массивы формируются с помощью встроенной функции random ().

Функция Pechat () осуществляет печать массива в прямоугольном виде.

Функция Sred(, , ,k) подсчитывает среднее значение элементов k-го столбца матрицы.

Листинг программы

Program Zadanie_9;CRT;= array [1..10, 1..10] of real;,i,j,n1m,n2m,n1p,n2p:integer;:real;,mo: mm;

{Функция печати массивов}Pechat(n1:integer; n2:integer; h:mm):real;,j:integer; (' Массив размерности ',n1,'x',n2);

write(' ');l:=1 to n2*9 do write('_');;i:=1 to n1 doj:=1 to n2 do(' I ',h[i,j]:6:3);(' I ');(' ');l:=1 to n2*9 do write('-');

writeln;;;;

Function Sred(n1:integer; n2:integer; h:mm; j:integer): real;:integer;:real;:=0.0;k:=1 to n1 do:=s+h[k,j];:=s/n1;

end;;

{Формирование массива У}('Введите размерность массива У');

read(n1m,n2m);i:=1 to n1m doj:=1 to n2m do[i,j]:=random(100)*0.2;

end;;

{Формирование массива О}('Введите размерность массива О');

read(n1p,n2p);i:=1 to n1p doj:=1 to n2p do[i,j]:=random(100)*0.3;;;

{ Печать массивов }

Pechat(n1m,n2m,my);

Pechat(n1p,n2p,mo);;

{ Подсчет средних значений 1-го и 3-го столбцов}

b:=Sred(n1m,n2m,my,1);

writeln ('Среднее значение элементов первого столбца массива У=',b:7:3);

b:=Sred(n1m,n2m,my,3);

writeln ('Среднее значение элементов третьего столбца массива У=',b:7:3);

b:=Sred(n1p,n2p,mo,1);

writeln ('Среднее значение элементов первого столбца массива O=',b:7:3);

b:=Sred(n1p,n2p,mo,3);

writeln ('Среднее значение элементов третьего столбца массива O=',b:7:3);.

Результат выполнения программы


Контрольное задание № 10

Задать два одномерных массива значений, чтобы величины элементов массивов попадали в заданный интервал на всем диапазоне (значения выбрать произвольно). Для решения данной задачи применить подпрограмму типа Procedure.

Т(15), L(8)           Определить среднегеометрическое значение

(-1;3)          положительных элементов двух массивов

Решение

Блок-схема


Массивы Т(15), L(8) формируются с помощью встроенной функции random. Для этого используется подпрограмма-процедура fmas.

Для замены определения среднегеометрического значения положительных элементов в массиве используется процедура kp

Листинг программы

Program Zadanie_10;CRT;mm=array [1..20] of real;

var mg,mk:mm;,n2,k:integer;

s1,s2,x1,x2,p,sg:real;

{Процедура формирования массива}fmas(n:integer; x1:real; x2:real; var b:mm);k:integer;k:=1 to n do[k]:=x1+(x2-x1)*random;k:=1 to n do(b[k]:6:3,' ');

writeln;;

{Процедура подсчета среднегеометрического значения

положительных элементов }

procedure kp (b:mm; n:integer; var k:integer; var p:real);

var i,l:integer;:=0; sg:=0;:=1;i:=1 to n dob[i]>0 then:=k+1;:=p*b[i];;;k=0 then p:=0;:=exp(ln(p)*k);;

{};

writeln('Введите размеры массивов T и L');(n1,n2);('Введите интервал');

read (x1,x2);('Массив T');(n1,x1,x2,mg);;('Массив L');(n2,x1,x2,mk);

writeln;(mg,n1,k,p);

writeln('Массив T:');('среднегеометрическое значения положительных элементов в массиве ',sg);

writeln;(mk,n2,k,p);

writeln('Массив L:');('среднегеометрическое значения положительных элементов в массиве ',sg);.

Результаты работы программы


Контрольное задание № 11

Составить программу из 4 модулей.

Модуль 1. Сформировать одномерный массив А(35), значения элементов которого располагаются произвольным образом в диапазоне от -32 до 45. Сформировать из массива А новый массив В, элементы которого больше, чем значение максимального отрицательного элемента массива А. Записать массивы А и В в файлы параллельного доступа с именами М1.txt и М2.txt соответственно.

Модуль 2. Вывести данные из файлов М1.txt и М2.txt на экран и принтер в 5 столбцов с заголовками МАССИВ А и МАССИВ В. Массивы должны быть выведены с индексами (индексы изменяются по строке).

Модуль 3. Выполнить сортировку данных в файле М1.txt по возрастанию, а в файле М2.txt по убыванию. Для сортировки использовать подпрограмму типа SUB. Сортировать не элементы массивов, а записи в файлах.

Модуль 4. Вывести данные из файлов М1.txt и М2.txt на экран и принтер в 3 строки с заголовками ОТСОРТИРОВАННЫЙ МАССИВ А и ОТСОРТИРОВАННЫЙ МАССИВ В. Массивы должны быть выведены с индексами (индекс изменяется по столбцу)

Решение

Структурная блок-схема



Листинг программы

{ Головная программа}modul;CRT, Mod1, Mod2, Mod3, Mod4;,b: mas;_b,n:integer;;form_a(a);_b(a,b,n_b);;(1,35);;(2,n_b);;_v(1,35);_u(2,n_b);(1,35);;(2,n_b);.Mod1;= array [1..35] of real;, fb:file of real;:real;form_a(var a:mas);form_b(a:mas; var b:mas; var n:integer);

{Формирование массива А и запись его в файл М1.txt}

Procedure form_a(var a:mas);i,k:integer;(fa,'M1.txt');(fa);:=100;i:=1 to 35 do[i]:=-32+(45+32)*random;(fa,a[i]);a[i]<s then s:=a[i];;

writeln('максимальный отрицательный элемент масссива А=',s:6:2);

writeln;

close (fa);

end;

{Формирование массива В и запись его в файл М2.txt}

Procedure form_b(a:mas; var b:mas; var n:integer);,i_f: integer;:real;(fb,'M2.txt');(fb);:=0;i:=1 to 35 doa[i]>s then:=n+1;[n]:=a[i];(fb,b[n]);;;(fb);;.Mod2;Pec1(k_p:integer; n:integer);

{Процедура печати массивов в 7 столбцов}

{Сортировка массива по возрастанию}

Procedure Sort_v(k_p:integer; n:integer);,j:integer;:char;,max:real;:array [1..35] of real;:file of real;k_p=1 then:='A';(f,'M1.txt');:='B';(f,'M2.txt');;(f);i:=1 to n do(f,p);[i]:=p;;(f);i:=1 to n-1 doj:=i+1 to n dov[j]<v[i] then:=v[j]; v[j]:=v[i]; v[i]:=max;;(f);i:=1 to n do(f,v[i]);(f);;

{Сортировка массива по убыванию}

Procedure Sort_u(k_p:integer; n:integer);,j:integer;:char;,min:real;:array [1..35] of real;:file of real;k_p=1 then:='A';(f,'M1.txt');:='B';(f,'M2.txt');;(f);i:=1 to n do(f,p);[i]:=p;;(f);i:=1 to n-1 doj:=i+1 to n dov[j]>v[i] then:=v[j]; v[j]:=v[i]; v[i]:=min;;(f);i:=1 to n do(f,v[i]);(f);;.Mod4;Pec2(k_p:integer; n:integer);

{ Процедура печати массива в 6 строк}

Procedure Pec2(k_p:integer; n:integer);i,j,d,k,i1:integer;: file of real;:char;: array [1..35] of real;:real;k_p=1 then('Отсортированный массив A');:='A';(f,'M1.txt');

writeln('Отсортированный массив B');

c:='B';(f,'M2.txt');;j:=1 to 3 do:=j-1; reset(f);i<n do(f,i);(f,p);(c,'[',i+1:2,']=',p:6:2,' ');:=i+6;;;(f);;

end;

end.

Результат выполнения программы

Похожие работы на - Программы нахождения массивов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!