КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Завдання. Метою даної лабораторної роботи є ознайомлення з алгоритмами сортування масиву та визначення кратних елементів
Мета роботи Метою даної лабораторної роботи є ознайомлення з алгоритмами сортування масиву та визначення кратних елементів, а також придбання навичок програмування з використанням підпрограми-функції. 1. Скласти алгоритм і написати програму обробки одномірного масиву згідно варіанту. Основна програмна одиниця повинна включати введення/вивід даних і задачу сортування масиву. Задачу з визначення кратних елементів виконати в підпрограмі-функції. Варіанти завдань наведені у Додатку 10.Номер варіанту визначається викладачем. 2. Провести налагодження програми та її тестування. 3. Скласти звіт про роботу. Вказівки до виконання завдання Підпрограма – це окрема програмна одиниця, що виконує частину загального алгоритму. Обчислення, які в ній виконуються, можуть повторюватися кілька разів з різними варіантами вихідних даних. Використання підпрограм дозволяє уникнути повторного програмування і додає програмі модульність. Одним з типів підпрограм є підпрограма-функція. Загальна форма її використання складається з двох етапів: 1. Опис – окремий модуль, у якому обчислення записані з використанням формальних параметрів: ТИП FUNCTION ex[*n] (x1, x2, …, xn) { тіло функції } ex=… RETURN END Тут ex – символьне ім'я функції, ТИП – тип результату функції, [*n] – довжина результату функції, (x 1, x 2, …, xn) – список формальних параметрів функції. 2. Виклик підпрограми розміщається в основному модулі і виглядає так: ex (f1, f2, …, fn). Тут f 1, f 2, …, f n – список фактичних параметрів, що заміняють формальні параметри в описі при виклику підпрограми. Списки формальних і фактичних параметрів повинні відповідати один по одному проходження, типам, розмірам операндів. У списку формальних параметрів можуть бути символьні імена змінних, масивів, а в списку фактичних параметрів, крім перерахованих, можуть бути константи, елементи масиву або виразу. Наведемо приклад передачі масиву у функцію. PROGRAM EXAMPLE REAL A DIMENSION A(10) ----------- A=F(A, 10)! Виклик функції ----------- END С Опис функції FUNCTION F(K, L) REAL K INTEGER L С Опис масиву у функції з використанням формальних параметрів DIMENSION K(L) ----------- F=… END Як видно з прикладу, для передачі масиву в підпрограму необхідно передавати у вигляді аргументів його ім'я і розміри, а в підпрограмі – описувати масив, використовуючи формальні параметри. Для виявлення кратних елементів можна скористатись алгоритмом, який зображено на рис. 8. Слід відмітити, що змінна Р повинна бути цілого типу. Якщо число є кратним, то при повторному множенні отримаємо первинний елемент; якщо ні - отримане значення буде менше первинного числа (за рахунок відкидання дробової частини змінної Р).
Приклад 1. Дано масив чисел дійсного типу А (30). Вишикувати елементи масиву за убуванням. PROGRAM EXAMPLE REAL A(30), R INTEGER I, K OPEN(1,FILE=’A.DAT’, STATUS=’OLD’) READ(1,*) (A(I), I=1,30)! Введення елементів масиву DO 10 K=1, 30! Цикл для повторення обробки масиву DO 20 I=1, 29! Цикл для аналізу елементів масиву IF(A(I).LT. A(I+1)) R=A(I)! перестановка A(I) = A(I+1)! елементів A(I+1) = R! місцями ENDIF 20 CONTINUE 10 CONTINUE С Роздруківка елементів масиву в рядок DO 30 I=1, 30 WRITE(*,’(F8.2\)’) A(I) 30 CONTINUE END
Коментарі до програми: у програмі організований цикл, що порівнює елементи масиву, які стоять поруч. Якщо перший елемент менше другого, то він міняє їх місцями, якщо ця умова не виконується, то елементи залишаються на своїх місцях. Якщо цей цикл повторити таку ж кількість разів, скільки елементів у масиві, то в будь-якому випадку на першому місці виявиться максимальний елемент масиву, а інші вишикуються по убуванню. Приклад 2. Дано масив цілих чисел А (20). Вишикувати елементи масиву в зворотному порядку. PROGRAM EXAMPLE REAL A(30), R INTEGER I, K OPEN(1,FILE=’A.DAT’, STATUS=’OLD’) READ(1,*) (A(I), I=1,30)! Введення елементів масиву DO 20 I=1, 10 R=A(I)! перестановка A(I) = A(20 – I+1)! елементів A(20 - I+1) = R! місцями 20 CONTINUE С Роздруківка елементів масиву в рядок DO 30 I=1, 20 WRITE(*,’(F8.2\)’) A(I) 30 CONTINUE END
Звіт про роботу має включати стислий опис роботи, алгоритм виконання індивідуального завдання у вигляді блок-схеми, текст програми і результати її виконання.
Лабораторна робота № 10 РОБОТА З ДВОВИМІРНИМИ МАСИВАМИ. ОБЧИСЛЕННЯ МАКСИМУМУ, МІНІМУМУ,
Дата добавления: 2014-12-07; Просмотров: 371; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |