Перейти до основного контенту

Як правильно заповнити масив в фортрані: корисні поради та приклади

10 хв читання
2211 переглядів

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

Перший спосіб заповнення масиву в фортрані-це використання оператора DATA. Це дозволяє ініціалізувати елементи масиву за допомогою списку значень. Для цього потрібно вказати ім'я масиву, потім оператор DATA і список значень, розділених комами. Наприклад:

INTEGER :: array(5)DATA array /1, 2, 3, 4, 5/

Ще один спосіб заповнити масив у Fortran-це використання циклу DO. Цикл DO дозволяє виконувати блок коду кілька разів, змінюючи значення змінної-лічильника. Для заповнення масиву за допомогою циклу DO необхідно визначити масив, вказати межі циклу (початкове і кінцеве значення змінної-лічильника) і задати крок. Усередині циклу вказується блок коду, який буде виконуватися для кожного значення змінної-лічильника. Наприклад:

INTEGER :: array(5)DO i = 1, 5array(i) = iEND DO

Також можна заповнити масив у фортрані за допомогою оператора ASSIGN. Він дозволяє присвоїти значення елементам масиву, використовуючи арифметичний вираз або функцію. Наприклад:

INTEGER :: array(5)array = (/ (i**2, i=1, 5) /)

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

Як заповнити масив у фортрані: поради та приклади

1. Заповнення масиву значеннями за замовчуванням:

program fill_arrayimplicit noneinteger, dimension(10) :: arrinteger :: iarr = 0 ! заполняем массив нулямиdo i = 1, 10print *, arr(i)end doend program fill_array

2. Заповнення масиву випадковими значеннями:

program fill_arrayimplicit noneinteger, dimension(10) :: arrinteger :: icall random_seed()call random_number(arr)do i = 1, 10print *, arr(i)end doend program fill_array

3. Заповнення масиву користувацькими значеннями:

program fill_arrayimplicit noneinteger, dimension(10) :: arrinteger :: ido i = 1, 10write(*, *) "Введите значение для элемента ", iread(*, *) arr(i)end doend program fill_array

4. Заповнення масиву елементами іншого масиву:

program fill_arrayimplicit noneinteger, dimension(5) :: arr1integer, dimension(5) :: arr2integer :: iarr1 = [1, 2, 3, 4, 5]arr2 = arr1do i = 1, 5print *, arr2(i)end doend program fill_array

Тепер, коли ви знаєте кілька способів заповнення масиву в Fortran, ви можете вибрати найбільш підходящий для вашого конкретного завдання. Пам'ятайте про особливості роботи з масивами в фортрані і застосовуйте правильні підходи до заповнення масивів в своїх програмах.

Вкажіть тип даних і розмір масиву

Перед заповненням масиву в фортрані, необхідно визначити тип даних елементів масиву і їх кількість.

Тип даних визначається ключовим словом, яке вказується перед ім'ям масиву. Наприклад, для цілочисельного масиву використовується ключове слово "integer", для дробових чисел - "real", для символьних даних - "character" і т. д.

Після вказівки типу даних слід вказати розмірність масиву. Розмірність масиву визначається за допомогою вказівки кількості елементів в кожному вимірі. Наприклад, для одновимірного масиву розмірність вказується в квадратних дужках після імені масиву: array(10), де 10 - Кількість елементів масиву.

Для багатовимірних масивів вказується розмірність для кожного вимірювання. Наприклад, для двовимірного масиву розмірність може бути вказана так: array (10, 5), де 10 - Кількість елементів у першому вимірі, а 5 - кількість елементів у другому вимірі.

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

Використовуйте цикли для заповнення масиву

Найпростішим способом використання циклів для заповнення масиву є використання циклу do. Наприклад, щоб заповнити масив A з 10 елементів значеннями від 1 до 10, можна використовувати наступний код:

integer, dimension(10) :: Ainteger :: ido i = 1, 10A(i) = iend do

В даному прикладі змінна i приймає значення від 1 до 10, а кожен елемент масиву a присвоюється відповідне значення i. Таким чином, на виході виходить масив A з елементами від 1 до 10.

Якщо потрібно заповнити масив більш складним способом, можна використовувати більш складні цикли. Наприклад, можна використовувати вкладені цикли для заповнення двовимірного масиву наступним чином:

integer, dimension(10, 10) :: Binteger :: i, jdo i = 1, 10do j = 1, 10B(i, j) = i + jend doend do

В даному прикладі зовнішній цикл по змінній i проходить значення від 1 до 10, а внутрішній цикл по змінній j проходить значення від 1 до 10 для кожного значення i. кожному елементу масиву b присвоюється сума відповідних значень i і j. Таким чином, на виході виходить двовимірний масив B з елементами від 2 до 20.

Використання циклів для заповнення масиву дозволяє заощадити час і спростити код, особливо при роботі з масивами великого розміру або при використанні складних шаблонів заповнення.

Заповніть масив за допомогою генератора випадкових чисел

Для заповнення масиву в фортрані за допомогою генератора випадкових чисел можна використовувати функцію RANDOM_NUMBER . Ця функція генерує випадкове дійсне число в діапазоні від 0 до 1.

Приклад заповнення одновимірного масиву випадковими числами:

program random_array_exampleimplicit noneinteger :: i, nreal :: random_numreal, dimension(10) :: arrcall random_seed() ! Инициализация генератора случайных чиселdo i = 1, 10call random_number(random_num)arr(i) = random_numend doprint *, "Массив случайных чисел:"do i = 1, 10print *, arr(i)end doend program random_array_example

Приклад заповнення двовимірного масиву випадковими числами:

program random_2d_array_exampleimplicit noneinteger :: i, j, nrows, ncolsreal :: random_numreal, dimension(3, 4) :: arrcall random_seed() ! Инициализация генератора случайных чиселnrows = 3ncols = 4do i = 1, nrowsdo j = 1, ncolscall random_number(random_num)arr(i, j) = random_numend doend doprint *, "Двумерный массив случайных чисел:"do i = 1, nrowsdo j = 1, ncolsprint *, arr(i, j)end doend doend program random_2d_array_example

Ви можете змінити розміри масивів n , nrows та ncols відповідно до ваших потреб. Також не забудьте підключити модуль ISO_FORTRAN_ENV для роботи з функцією RANDOM_NUMBER .

Тепер ви знаєте, як правильно заповнити масив за допомогою генератора випадкових чисел у фортрані. Успіхів у вашому програмуванні!