Формування квадратної матриці

Програмування масиву і сукупність елементів одного типу даних, впорядкованих за індексами, які зазвичай репрезентовані натуральними числами, що визначають положення елемента в масиві. Лістинг програми та блок-схема алгоритму і результат виконання.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 06.06.2012
Размер файла 453,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Міністерство освіти і науки, молоді та спорту України

Дніпропетровський радіоприладобудівний коледж

КУРСОВА РОБОТА

з дисципліни «Програмування»

ДРПК. 020174.001

Керівник: Вороніна С.В.

Виконавець: Андреєв І.О.

2012

Завдання на курсову роботу

з дисципліни “Програмування ”

Загальне завдання на курсову роботу

1. По функції f(i,j) що задана, необхідно сформувати квадратну матрицю z, i,j=l,2,3,4..,..„m.

2. Після цого із цієї матриці відповідно до заданого алгоритму необхідно отримати вектор X.

3. Після отримання компонентів вектора X обчислити значення функції U.

Індивідуальне завдання

1. A(i,j) = 2i-1 (|j-3|-l,3)2j(i-3,4)(j/3-l)

2. Вектор X- скалярний добуток і-го рядку матриці на 1-ий стовпчик який необхідно перетворити так, щоб на початку, були додатні елементи, а далі від'ємні у тому ж порядку, в якому вони розміщувались попередньо

3. Знайти функцію

U=f(x[i])

Видано_
Виконано_
До захисту__
Зміст
Вступ
Постановка завдання
Пояснювальний текст
Блок-схема алгоритму
Лістинг программи
Результат виконання программи
Література
Вступ

З поняттям «масив» доводиться стикатися при вирішенні науково-технічних і економічних завдань обробки сукупностей великої кількості значень.

Масивом називається скінчена послідовність змінних одного типу, які мають однакове ім'я та різняться порядковим номером.

Індексом називається порядковий номер елемента масиву.

В програмуванні масив - одна з найпростіших структур даних, сукупність елементів одного типу даних, впорядкованих за індексами, які зазвичай репрезентовані натуральними числами, що визначають положення елемента в масиві.

Масив може бути одновимірним (вектором), та багатовимірним (наприклад, двовимірною таблицею), тобто таким, де індексом є не одне число, а кортеж (сукупність) з декількох чисел, кількість яких збігається з розмірністю масиву.

У переважній більшості мов програмування масив є стандартною вбудованою структурою даних.

Масиви ефективні при звертанні до довільного елементу, яке відбувається за постійний час (О(1)), однак такі операції як додавання та видалення елементу, потребують часу О(п), де п -- розмір масиву. Тому масиви переважно використовуються для зберігання даних, до елементів яких відбувається довільний доступ без додавання або видалення нових елементів, тоді як для алгоритмів з інтенсивними операціями додавання та видалення, ефективнішими є зв'язані списки. Інша перевага масивів, яка є досить важливою -- це можливість компактного збереження послідовності їх елементів в локальній області пам'яті (що не завжди вдається, наприклад, для зв'язаних списків), що дозволяє ефективно виконувати операції з послідовного обходу елементів таких масивів.

Масиви е дуже економною щодо пам'яті структурою даних. Для збереження 100 І цілях чисел в масиві необхідно рівно в 100 разів більше пам'яті, ніж для збереження І одного числа (плюс, можливо, ше декілька байтів). В той же час, усі структури І даних, які базуються на вказівниках, потребують додаткової пам'яті для збереження [самих вказівників разом з даними. Однак, операції з фіксованими масивами ускладнюються тоді, коли виникає необхідність додавання нових елементів у вже заповнений масив. Тоді його необхідно розширювати, що не завжди можливо і для таких задач слід використовувати зв'язані списки, або динамічні масиви.

У випадках, коли розмір масиву є досить великий та використання звичайного І звертання за індексом стає проблематичним, або великий відсоток його комірок не використовується, слід звертатись до асоціативних масивів, де проблема індексування великих обсягів інформації вирішується більш оптимально.

З тої причини, що масиви мають фіксовану довжину, слід дуже обережно ставитись до процедури звертання до елементів за їхнім індексом, тому що намагання звернутись до елементу, індекс якого перевищує розмір такого масиву (наприклад, до елементу з індексом 6 в масиві з 5 елементів), може призвести до непередбачуваних наслідків.

Слід також бути уважним щодо принципів нумерації елементів масиву, яка в одних мовах програмування може починатись з 0, а в інших -- зі.

Збереження одновимірного масиву в пам'яті є тривіальним, тому що сама пам'ять комп'ютера є одновимірним масивом. Для збереження багатовимірного масиву ситуація ускладнюється. Припустимо, що ми хочемо зберігати двовимірний масив наступного виду:

[]

Найпоширеніші способи його організації в пам'яті такі:

Розташування «рядок за рядком». Це найбільш уживаний на сьогодні спосіб, І який зустрічається у більшості мов програмування.

1

2

3

4

5

6

7

8

9

Розташування «стовпчик за стовпчиком». Такий метод розташування масивів І використовується, зокрема, в мові програмування Fortran

1

4

7

2

5

8

3

6

9

Масив з масивів. Багатовимірні масиви репрезентуються одновимірними 1 масивами вказівників на одновимірні масиви. Розташування може бути як «рядок за рядком» так і «стовпчик за стовпчиком».

Перші два способи дозволяють розмішувати дані компактніше (мають більшу локальність), однак це одночасно і обмеження: такі масиви мають бути «прямокутними», тобто кожний рядок повинен містити однакову кількість елементів. Розташування «масив з масивів», з іншого боку, не дуже ефективне щодо використання пам'яті (необхідно зберігати додатково інформацію про вказівники), але знімає обмеження на «прямокутність» масиву.

Постановка завдання

Загальне завдання для курсової роботи

1. По функції f(i,j) що задана, необхідно сформувати квадратну матрицю A, i,j=l,2,3,4..,..„m.

2. Після цого із цієї матриці відповідно до заданого алгоритму необхідно отримати вектор X.

3. Після отримання компонентів вектора X обчислити значення функції U.

Індивідуальне завдання

1. A(i,j) = 2(|j-3|-l,3)2j(i-3,4)(j/3-l)

2. Вектор X- скалярний добуток і-го рядку матриці на 1-ий стовпчик який необхідно перетворити так, щоб на початку, були додатні елементи, а далі від'ємні у тому ж порядку, в якому вони розміщувались попередньо

3. Знайти функцію

U=f(x[i])

Пояснювальний текст

Опис роботи алгоритму програми

Структура програми складається з імені програми, блоку оголошень, блоку операторів і крапки наприкінці програми. Заголовок прогрими мае вигляд:

Program kursvaia;

Де kursovaia - ім'я програми. Може полягати як з латинських букв так і з цифр і символів без пропусків. Не може бути просто числовим значенням. Заголовок програми є необов'язковим в лістингу програми. Блок оголошення може містити 5 розділів:

1- розділ оголошення міток (label). Мітка - це десяткове число, без знаку відокремлюване від оператора двокрапкою. Мітка може мати числове значення від 1 до 9999.

2- розділ оголошення постійних (const). Вказуються імена констант і їх параметри (наприклад, а=50;).

3- розділ оголошення типів (type). Вказується ім'я типа і в дужках перераховуються всі значення даного типа.

4- розділ оголошення змінних (var). Перераховуються всі змінні що беруть участь в завданні, і через двокрапку визначається їх тип.

5- розділ оголошення підпрограм (функцій і процедур).

У написаній програмі присутні розтйл оголошення змінних і розділ оголошення підпрограм.

Я обрав мову Pascal для реалізації програми курсової роботи тому, що я на даний час вивчаю її та використовую саме її. Для виконання цього завдання можливо використати будь яку високорівневу мову програмування.

елемент масив лістинг алгоритм

Блок-схема алгоритму

Procedure swapper

Procedure move

Function getit

Function summer

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

Program kursovaia;

uses crt;

var

A:array [1..100,1..100] of real;

Xi:array [1..100] of real;

i,j,m,n,Xn,Xz,k,jj,wtf:integer;

u,ir,jr,sclrXi,swap,zero:real;

procedure swaper; //процедура “swap”

begin

repeat

begin

jj:=j-1;

swap:=A[1,j];

A[1,j]:= A[1,jj];

A[1,j]:=swap;

k:=k-1;

end;

until k<=0;

end;

procedure move; //Процедура смещения отрицательных элементо

begin

for j:=1 to m do

if A[1,j]<0 then

swaper

else

k:=k+1;

end;

function getit(var prod:real; zn:integer):real; //Процедура нахождения

begin //произведение i-го ряда

prod:=0; //матрицы на 1-й столбец

for j:=1 to xn do

begin

prod:=prod+(A[zn,j]*A[j,1]);

end;

getit:=prod;

end;

function summer(var it:integer):real; //Процедура нахождения функции U от i

begin

wtf:=(n+1)-it;

summer:=Xi[i]*Xi[wtf];

end;

begin

ClrScr;

zero:=0;

writeln ('введите количество строк n');

readln(n);

writeln('Bведите количество столбцов m');

readln(m);

k:=0;

if n>m then //Оприделение размерности массива X

begin

Xn:=n;

Xz:=m;

endelse

begin

Xn:=m;

Xz:=n;

end;

ClrScr;

Writeln('Maccив');

for i:=1 to n do //Цикл задания 1 (Формирование массива)

Begin

for j:=1 to m do

begin

ir:=i;

jr:=j;

A[i,j]:=(exp((ir-1 )*ln(2)))*(abs(jr-3)-1.3)*(exp(jr*ln(2)))*(ir-3.4)*((jr/3)-1);

Write(A[i,j]:3:4, ' ');

end;

writeln;

end; //Конец формирования масива

writeln;

writeln('масив смешения отрецательных элементов');

move; //Процедура смещения отрицательных элементов

for i:=1 to n do

begin

for j:=1 to m do

begin

write(A[i,j]:3:4,' ');

end;

writeln;

end; //Конец процедуры смещения отрицательных элементов

writeln;

for i:=1 to xn do //Нахождение вектора X

begin

Xi[i]:=getit(zero,i);

writeln('X[',i,']= ',Xi[i]);

end; //Конец нахождения вектора X

u:=0; //Очистка переменной U

for i:=1 to n do //Нахождение функции U

u:=u+summer(i);

writeln;

writeln('U=',u);

end.

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

Література

1. Баженов В.А., Венгерский П.С., Горлач В.М. та ін. Інформатика. Комп'ютерна техніка. Комп'ютерні технології. Підручник для студентів вищих закладів освіти, „Каравела”, 2003 г.

2. Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0. и Delphi. Учебное пособие. - DiaSoft, 2001г.

3. Зеленяк О.П. Практикум на Turbo Pascal. - DiaSoft, 2001г.

4. Руденко В.Д., Макарчик А.М., Патланжоглу М.А. Курс информатики, Киев, 1998г.

5. Симонович С.В. Информатика. Базовый курс. - Питер, 1999г.

6. Симонович С.В., Евсеев Г., Алексеев А. Специальная информатика. Учебное пособие. - ACSTпресс, 1999г.

7. Тринский Я.Н. Turbo Pascal 7.0 и Delphi. Учебное пособие. - Diasoft, 2001г.

8. Фараонов В.В. Турбо Паскаль 7.0. Учебное пособие. - Нолидж, 1997г.

9. Федоренко Ю. Алгоритмы и программы на Турбо Паскаль. - Питер, 2001г.

Размещено на Allbest.ru


Подобные документы

  • Отримання компонентів вектора із квадратної матриці відповідно до заданого алгоритму. Обчислення значення функції. Базова програма реалізації алгоритму. Модуль глобальних описів. Сервісний модуль обслуговування матриці. Результати роботи програми.

    курсовая работа [19,5 K], добавлен 30.01.2013

  • Загальна характеристика програмного продукту Турбо Паскаль 7.0, його структура та функції. Методика та головні етапи формування квадратної матриці по заданій формулі. Розробка та лістинг отриманої програми. Аналіз результатів виконання програми.

    контрольная работа [145,0 K], добавлен 04.11.2013

  • Розробка програми в візуальному середовищі С++. Визначення значення функцій в середовищі Builder мовою програмування С++. Обчислення елементів квадратної матриці згідно заданного алгоритму. Бібліотека візуальних компонентів і середовище програмування.

    курсовая работа [451,5 K], добавлен 15.01.2012

  • Значення функції, типи елементів масиву та їх кількість. Побудова інтерполяційного багаточлена Лагранжа. Апроксимування залежності багаточленом другого ступеня і обчислення коефіцієнту варіації. Обчислення рівняння за методом Рунге-Кути, лістинг програми.

    контрольная работа [222,4 K], добавлен 17.02.2011

  • Сутність та структура квадратної матриці, її основні елементи та зміст. Методика проектування спеціальної комп'ютерної програми, що знаходить суму елементів даної матриці стовпця та рядка, на які вказують індекси елемента, і замінює сумою сам елемент.

    контрольная работа [227,5 K], добавлен 09.11.2009

  • Розробка алгоритму програми для проведення розрахунків аналітичних виразів та обробки структурованих даних з метою вирішення завдань управління військами. Заповнення двовимірного масиву програмних елементів речового типу та генератор випадкових чисел.

    курсовая работа [1,0 M], добавлен 15.05.2019

  • Схема алгоритму програми. Алгоритм процедури введення даних, виведення результатів сортування, побудови дерева, перестановки елементів, "вирішення сімейного конфлікту". Приклад для масиву з 20 елементів. Користувацьке вікно та побудова піраміди.

    курсовая работа [3,0 M], добавлен 21.02.2011

  • Мова Асемблера, її можливості та команди. Розробка алгоритму програми, його реалізація в програмі на мові Асемблера. Введення елементів матриці та обчислення cуми елементів, у яких молодший біт дорівнює нулю. Методи створення програми роботи з матрицями.

    контрольная работа [50,3 K], добавлен 12.08.2012

  • Розробка структурної схеми системи управління, головні вимоги до основних елементів. Обґрунтування та вибір елементної бази. Блок-схема алгоритму і програми реалізації закону управління (лістинг програми). Зміст програми керування мікроконтроллером.

    курсовая работа [170,7 K], добавлен 28.08.2012

  • Блок-схема та програма обчислення значення функції y=f(x) у точці x0. Обчислення двох значень поліному з використанням схеми Горнера. Програма табуляції функції Y на проміжку [a,b] з шагом h. Програма визначення нульових елементів квадратної матриці.

    контрольная работа [63,3 K], добавлен 23.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.