DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи № 3 з курсу “Алгоритмічні мови і програмування” на тему: “Робота з масивами. Використання функцій”

Оригінальна назва роботи

РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Комп’ютерні науки
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2007
Тип роботи:
Завдання
Предмет:
Алгоритмічні мови та програмування
Група:
ІБ
Коротко про документ

Про що ця робота

У звіті з лабораторної роботи № 3 досліджено роботу з двовимірними масивами та використання функцій мовою Сі. Реалізовано алгоритм сортування елементів стовпців матриці за спаданням та обчислено середнє геометричне елементів над головною діагоналлю.

У роботі розглядаються

  • Двовимірні масиви
  • Функції в мові Сі
  • Сортування матриці
  • Метод обміну
  • Середнє геометричне
  • Обробка числових матриць

Зміст і розділи

  1. Завдання
  2. Блок-схема алгоритму головної програми
  3. Таблиця ідентифікаторів
  4. Текст програми мовою Сі
  5. Результати роботи програми
  6. Висновок
Для кого:Студенти технічних спеціальностей, викладачі дисципліни “Алгоритмічні мови і програмування”.
Викладачі:Викладач кафедри захисту інформації

Ключові поняття

двовимірний масивфункціяматрицясортуванняметод обмінуголовна діагональсереднє геометричнеблок-схемамова Сі

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” ІКТА, кафедра “Захист інформації” ЗВІТ З ЛАБОРАТОРНОЇ РОБОТИ № 3 З КУРСУ “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ” НА ТЕМУ: “ РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ “ Варіант 12 ЗАВДАННЯ Скласти блок-схему алгоритму та програму мовою Cі згідно з завданням, отриманим від викладача за табл.: задану прямокутну матрицю A={aij} відсортувати за вказаним алгоритмом; для відсортованої матриці знайти значення функції F(fi(aij)); алгоритм сортування і обчислення fi(aij) оформити у вигляді функції; елементи матриці вводити з клавіатури; програма повинна вивести на екран відсортовану матрицю, всі значення fi(aij) та значення функції F(fi(aij)). Алгоритм впорядкування матриці Алгоритм для розрахунку fi(aij) та F(fi(aij)) Матриця  Впорядкувати елементи стовпців матриці за спаданням їх значень методом обміну fi(aij)-середнє геометричне значення елементів в кожному рядку над головною діагоналлю матриці; F(fi(aij))-сума fi(aij)  0 2 -2 89 21 -1 -4 36 41 71 56 93 51 -2 -51 1 3 -8 0 9 23 41 5 8 -2   Блок-схема алгоритму головної програми: Блок-схема процедури сортування - + Блок-схема алгоритму функції ++ Таблиця ідентифікаторів констант, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення: a[n][n] Змінна для двовимірного масиву  i,j Змінні для визначення позицій елементів матриці  suma[n-1] Змінна для одновимірного масиву, що містить в собі суму кожного елемента рядка над головною діагоналлю  t,x Тимчасові змінні для сортування матриці  suma Тимчасова змінна для обчислення суми елементів рядка  gm Тимчасова змінна для обчислення середнього геометричного сум  main() Головна функція  sorting() Функція сортування матриці  sum() Функція для обчислення суми елементів рядка над головною діагоналлю  gmean() Функція для обчислення середнього геометричного сум  printf() Функція виведення даних  scanf() Функція введення даних  pow(x,y) Функція для обчислення числа x в степені y   Текст програми мовою C #include<stdio.h> #include<stdlib.h> #define n 5 void bul(int a[n][n]); void geom (int a[n][n]); void main(void) { int i,j,k; int a[n][n]; system("cls"); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { printf("a[%d][%d] =", i+1, j+1); scanf("%d", &a[i][j]); } } printf("old array\n"); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) printf ("%5d", a[i][j]); printf("\n"); } bul(a); printf("\nnew array\n"); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { printf ("%5d", a[i][j]); } printf("\n"); } geomkal (a); } void bul(int a[n][n]) { int i, k, j, c; for(j = 0; j < n; j++) { for(k = n-1; k>=0; k--) { for(i = 0; i< k; i++){ if(a[i][j] < a[i+1][j]){ c = a[i][j]; a[i][j] = a[i+1][j]; a[i+1][j] =c; } } } } } void geom (int a[n][n]) { int i,j,g; double k; for (i=0; i<n-1; i++){ g=1; { for (j=i+1; j<n; j++) g=g*a[i][j]; k=pow(abs(g),1/(n-1-i)); printf("g[%d]=%d\n" ,i,k); } } For (i=0; i<n-1; i++) gg=g*g[i]; printf(‘’gg=%d’’ ,gg); } Результати роботи програми: a[1][1]=0 a[1][2]=2 a[1][3]=-2 a[1][4]=89 a[1][5]=21 a[2][1]=-1 a[2][2]=-4 a[2][3]=36 a[2][4]=41 a[2][5]=71 a[3][1]=56 a[3][2]=93 a[3][3]=51 a[3][4]=-2 a[3][5]=-51 a[4][1]=1 a[4][2]=3 a[4][3]=-8 a[4][4]=0 a[4][5]=9 a[5][1]=23 a[5][2]=41 a[5][3]=5 a[5][4]=8 a[5][5]=-2 old array 0 2 -2 89 21 -1 -4 36 41 71 56 93 51 -2 -51 1 3 -8 0 9 23 41 5 8 -2 new array 56 93 51 89 71 23 41 36 41 21 1 3 5 8 9 -1 2 -2 0 -2 0 -4 -8 -2 -51 g[0]=73.9 g[1]=52.3 g [2]=8.5 g[3]=1.4 gg=12.4 Висновок: На цій лабораторній роботі я вивчив синтаксис опису і використання у програмах змінних типу масивів, навчився використовувати масиви для оброблення матриць, вивчив основні алгоритми сортування масивів; навчився описувати та застосувати у програмах функції для виконання логічно закінчених алгоритмів.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!