Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
КАФЕДРА СИСТЕМНОГО ПРОГРАМУВАННЯ
Звіт
З лабораторної роботи №3
з дисципліни Програмування
на тему «СТРУКТУРОВАНІ ТИПИ ДАНИХ. ОБРОБКА МАСИВІВ»
Перевірила: К.т.н, доцент кафедри системного програмування Бабенко В.Г. _________________(оцінка) _________________(підпис) |
Виконав: студент 1 курсу групи КМ-125 Чупрун Едуард Анатолійович ______________________(підпис) |
Черкаси 2012
Зміст
Вступ …………………………………………………………………………...3
Висновки ……………………………………………………………………….10
Вступ
Тема: структуровані типи даних, обробка масивів.
Мета: отримати практичні навички по роботі з масивами та оволодіння навичками алгоритмізації і програмування структур із вкладеними циклами, способами введення та виведення матриць, робота з діапазонним та перерахованим типами даних.
Постановка завдання
Варіант 3
Завдання 1: Написати програму транспонування матриці A=(aij), де і=1,2,...n, j=1,2,...n для довільного значення n. Операція транспонування полягає в заміні рядків матриці стовпчиками(і-й рядок заміняється на j-й стовпчик).
Завдання 2: Дано натуральне n, цілочислова квадратна матриця порядку n. Отримати b1....bn, де bi це сума елементів, які знаходяться після першого від`ємного елемента в і-му рядку(якщо всі елементи рядка невід`ємні, то прийняти bi=100).
Короткі теоретичні відомості
Перерахований тип є ординальним типом, що створюється програмістом. (Ординальність властивість типу. Ординальним є тип з обмеженою кількістю констант. Кожна константа має свій порядковий номер. До ординальних відносяться цілі, символьний, логічний, перерахований, діапазонний типи) Перерахований тип задається перерахуванням усіх своїх значень, які є ідентифікаторами, причому кожне значення може належати лише одному перерахованому типу. Ординальний номер першої константи є 0, а наступних 1,2,... На відміну від даних інших ординальних типів, дані перерахованого типу не можуть бути безпосередньо введені або виведені, їх можна присвоювати, порівнювати, брати наступне, попереднє значення, визначати ординальний номер.
Діапазонний тип є деякою підмножиною вже існуючого ординального типу. Він визначається вказуванням найменшого і найбільшого значень, що входять у діапазон, в той же час, нижня межа не повинна перевищувати верхню. Тип даних діапазонного типу визначається за типом меж. Тип граничних значень називається базовим. Над даними діапазонного типу можливі всі операції, визначені для базового типу.
Тип масив є складеним або структурним типом. Масив складається з фіксованого числа компонент, кожна з яких має один і той самий тип. Компоненти масиву називаються його елементами. Елементи масиву можуть мати стандартний тип або тип, введений користувачем. Тип елементів масиву називається базовим. Елементи масиву розміщені впорядковано, кожен має свій номер, який називається індексом. Доступ до елементів масиву відбувається шляхом вказування порядкового номера (індексації). Індексом може бути будь-який вираз ординального типу. Тип індексу визначає межі зміни значень індексу, кількість елементів у масиві.
Опис одновимірного масиву складається з ключового слова array, за яким в квадратних дужках записано тип індексу, ключового слова of і опис типу елементів.
Загальний вигляд опису масиву:
Type <ім'я типу> = array [<тип індексу >] of <тип елементів>;
Оператор присвоєння можна застосовувати до масиву як до єдиного цілого. Для цього необхідно, щоб масиви були одного й того самого типу. В результаті виконання оператора а:=b усі значення елементів масиву b будуть присвоєні відповідним елементам масиву а.
Блок схеми
Блок схема до завдання №1 Початок N i:=1 to n j:=1 to n a[i,j]:=-25+random(51) i:=1 to n j:=1 to n i:=1 to n j:=1 to n b[i,j]:=a[j,i] i:=1 to n j:=1 to n b[i,j]:5 Кінець |
a[i,j]:5
i:=1 to n
b[i]=0
Так
b[i]:=100
i:=1 to n
b[i]:5
Конец
А
Блок схема до завдання №2
b[i]:5
i:=1 to n
b[i]=0
Так
b[i]:=100
i:=1 to n
Кінець
А
Початок
N
i:=1 to n
j:=1 to n
a[i,j]:=-25+random(51)
i:=1 to n
j:=1 to n
i:=1 to n
j:=1 to n
a[i,j]<0
Так
j:=j+1 to n
S:=S+a[i,j]
break
b[i]:=S
S:=0
А
Ні
a[i,j]:5
Лістинг програм
Лістинг до завдання № 1: |
i:=1 to n b[i]=0 Так b[i]:=100 i:=1 to n b[i]:5 Конец А i:=1 to n b[i]=0 Так b[i]:=100 i:=1 to n b[i]:5 Конец А i:=1 to n b[i]=0 Так b[i]:=100 i:=1 to n b[i]:5 Конец А i:=1 to n b[i]=0 Так b[i]:=100 i:=1 to n b[i]:5 Конец А Лістинг до завдання №2: |
Program lab_3_1; Uses Crt; Var a,b:array[1..100,1..100] of integer; i,j,n:integer; BEGIN clrscr; writeln('Enter N'); readln(n); randomize; for i:=1 to n do begin for j:=1 to n do a[i,j]:=-25+random(51); end; for i:=1 to n do begin for j:=1 to n do begin write(a[i,j]:5); end; writeln; end; readkey; writeln; for i:=1 to n do begin for j:=1 to n do b[i,j]:=a[j,i]; end; for i:=1 to n do begin for j:=1 to n do begin write(b[i,j]:5); end; writeln; end; readkey; END. |
Program lab_3_2; Uses Crt; Var a:array[1..100,1..100] of integer; b:array[1..100] of integer; i,j,n,S:integer; BEGIN clrscr; writeln('Enter N'); readln(n); randomize; for i:=1 to n do begin for j:=1 to n do a[i,j]:=-25+random(51); end; for i:=1 to n do begin for j:=1 to n do begin write(a[i,j]:5); end; writeln; end; readkey; writeln; for i:=1 to n do begin for j:=1 to n do begin if a[i,j]<0 then begin begin for j:=j+1 to n do S:=S+a[i,j]; end; break; end; end; b[i]:=S; S:=0; end; for i:=1 to n do if b[i]=0 then b[i]:=100; for i:=1 to n do write(b[i]:5); readkey;END. |
Результати виконаної роботи
Завдання №1
Завдання №2
Висновки
На даній лабораторній роботі я отримав практичні навички по роботі з масивами та оволодів навичками алгоритмізації і програмування структур із вкладеними циклами, способами введення та виведення матриць, роботи з діапазонним та перерахованим типами даних. Повторив і за закріпив тему про цикли.