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

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

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

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

Звіт про виконання лабораторної роботи №2 з курсу «Паралельні та розподілені обчислення» на тему «Паралельне представлення алгоритмів»

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

Паралельне представлення алгоритмів

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

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

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

Рік:
2005
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Паралельні та розподілені обчислення
Група:
КІ
Коротко про документ

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

У звіті наведено результати виконання лабораторної роботи з паралельних і розподілених обчислень. Досліджено паралельне представлення алгоритмів на прикладі програмної реалізації на мові C.

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

  • Паралельні обчислення
  • Паралельне представлення алгоритмів
  • Програмна реалізація на C
  • Генерація матриць
  • Множення матриць
  • Граф залежностей

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

  1. Мета роботи
  2. Текст програмної реалізації
  3. Граф залежностей
  4. Приклад виконання програми
  5. Висновок
Для кого:Студенти технічних спеціальностей, викладачі та дослідники у галузі комп'ютерних наук і паралельного програмування.
Викладачі:Не вказано

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

паралельні обчисленняалгоритмматрицяпрограмна реалізаціяграф залежностейфункціярозподілені обчисленняпам'ятьвиконання програми

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра ЕОМ Звіт про виконання лабораторної роботи №2 з курсу: «Паралельні та розподілені обчислення», на тему: «Паралельне представлення алгоритмів» Львів 2005 рік Мета: вивчити можливості паралельного представлення алгоритму. Набути навиків такого представлення. Текст програмної реалізації #include <stdio.h> #include <conio.h> #include <alloc.h> #include <stdlib.h> #include <string.h> int **A, **B, **Y ; //--------------------------------------------- void genA(int n) { int i, j ; A = (int**)calloc(n,sizeof(int*)) ; for(i=0;i<n;i++) A[i] = (int*)calloc(n,sizeof(int)) ; for(i=0;i<n;i++) for(j=0;j<n;j++) if (j<=n-i) A[i][j] = (i+1); else A[i][j] = 0 ; } //------------------------------------------- void genB(int n) { int i, j, k, s; B = (int**)calloc(n,sizeof(int*)) ; for(i=0;i<n;i++) B[i] = (int*)calloc(n,sizeof(int)) ; for(i=0;i<n;i++) for(j=0;j<n;j++) B[i][j] = rand()%10 ; k=0; s=1; for(i=0;i<n;i++) { for(j=0;j<n;j++) if ((j<k)||(j>=(n-k))) B[i][j] =0; if (k==(n/2)) s=-1; k+=s; } } //---------------------------------------------------------- int** mulmat(int n,int **a,int **b) { int **c ; int i, j, k, s ; c = (int**)calloc(n,sizeof(int*)) ; for(i=0;i<n;i++) c[i] = (int*)calloc(n,sizeof(int)) ; for(i=0;i<n;i++) for(j=0;j<n;j++) { c[i][j] = a[i][i]*b[i][j] ; } return c ; } //-------------------------------------- void printmatrix(int **A, int n) { int i, j ; char *a ; for (i=0; i<n; i++) { for (j=0; j<n; j++) printf(" %5d ",A[i][j]) ; printf("\n") ; } printf("----------------------------------------\n") ; } //----------------------------------------------- void readmatrix(int **AA, int n) { int i, j ; char *s ; AA = (int**)calloc(n,sizeof(int*)) ; for(i=0;i<n;i++) AA[i] = (int*)calloc(n,sizeof(int)) ; for(i=0; i<n; i++) for(j=0; j<n ;j++) { printf("\nEnter B[%d][%d] = ",i,j) ; gets(s); //scanf("%d",&s) ; AA[i][j] = atoi(s) ; } } //---------------------------------------------- void main() { int i, j, n ; char str[25] ; clrscr() ; printf("Enter size matrix n: ") ; gets(str) ; n = atoi(str) ; printf("\nEnter matrix B from the keyboard (y/n)?") ; gets(str) ; if (strcmp(str,"y")==0) readmatrix(B,n) ; else genB(n) ; genA(n) ; Y = (int**)calloc(n,sizeof(int*)) ; for(i=0;i<n;i++) Y[i] = (int*)calloc(n,sizeof(int)) ; Y = mulmat(n,A,B) ; printf("Matrix A: \n") ; printmatrix(A,n) ; printf("Matrix B: \n") ; printmatrix(B,n) ; printf("Matrix Y: \n") ; printmatrix(Y,n) ; getch() ; } Граф залежностей Приклад виконання програми Enter size matrix n: 5 Enter matrix B from the keyboard (y/n)? n Matrix A: 1 1 1 1 1 2 2 2 2 2 3 3 3 3 0 4 4 4 0 0 5 5 0 0 0 ---------------------------------------- Matrix B: 6 0 2 0 6 0 5 5 8 0 0 0 1 0 0 0 2 1 3 0 9 1 0 5 4 ---------------------------------------- Matrix Y: 6 0 2 0 6 0 10 10 16 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 ----------------------------------------
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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