Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Laboratorna_robota_14

.doc
Скачиваний:
10
Добавлен:
16.05.2015
Размер:
78.34 Кб
Скачать

7

Міністерство освіти і науки, молоді та спорту України

Вінницький національний технічний університет

Інститут автоматики, електроніки та комп’ютерних систем управління

Кафедра КСУ

Лабораторна робота №14

з дисципліни «Комп’ютерні технології та програмування»

Тема: «Розробка програм з інтегрованими типами даних (структури даних)»

Варіант №10

Виконав: ст. гр. 1АВ-12б

Кудлаєнко М.І.

Перевірив: к.т.н., доц. кафедри КСУ

Грищук Т.В.

Вінниця 2013

Лабораторна робота №14

Тема: Вивчення особливостей програмування на мові С з використанням методів структурного програмування.

Мета: Набуття навичок розробки програм з використанням функций на алгоритмічної мові С.

Порядок виконання роботи

  1. Ознайомитись з теоретичними відомостями.

  2. Розробити схему алгоритму та програму для обробки одномірного масиву , яка використовує функцію з завдання 1.

  3. Розробити схему алгоритму та програму для обробки двомірного масиву , яка використовує функцію з завдання 2.

  4. Скласти звіт за результатами лабораторної роботи

  5. Зробити висновки.

Варіант 10.

Завдання 1

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

Завдання 2

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

Хід роботи:

Завдання 1.

Пишемо програму:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

void parni(int *A,const int n, int *PtrS, int *PtrK);

int main()

{

const int n=8;

int *A;

int i;

A=(int*)calloc(n, sizeof(int));

int *PtrS = new int(0);

int *PtrK = new int(0);

if(A==NULL)

{

exit(0);

}

for (i=0; i<n; i++)

{A[i]=rand()%10;}

for (i=0; i<n; i++)

{printf("[%d]", A[i]);}

parni(A, n, PtrS, PtrK);

float serar=float(*PtrS)/float(*PtrK);

printf("\nSuma = %d\n", *PtrS);

printf("K-st el-tiv = %d\n", *PtrK);

printf("Seredne znachennya = %.1f\n", serar);

delete PtrS, PtrK;

delete []A;

getch();

return 0;

}

void parni(int*A, const int n, int *PtrS, int *PtrK)

{

for (int i=0; i<n; i++)

{

if(A[i]%2==0 && A[i]!=0)

{

*PtrS+=A[i];

*PtrK+=1;

}

}

}

Результати роботи програми та тести представлені на рисунку 1:

Рисунок 1 – Тести до завдання 1

Завдання 2.

Пишемо програму:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

int polindrom(char *A, const int n);

int main()

{ const int n=8;

char A[n];

int i;

printf("\n Vvedit' masyv: \n");

for(i=0;i<n;i++)

{scanf("%c",&A[i]);}

polindrom(A,n);

getch();

return 0;

}

int polindrom(char *A, const int n)

{

int i;

for(i=0; i<n/2; i++)

{

if(A[i]!=A[n-i-1])

{

printf("Ryadok ne polindromnuy");

return 0;

}

}

for(i=0; i<n/2; i++)

{

if(A[i]=A[n-i-1])

{

printf("Ryadok polindromnuy");

return 1;

}

}

}

Результати роботи програми та тести представлені на рисунку 2, 3, 4, 5:

Рисунок 2 – тести до завдання 2

Рисунок 3 – тести до завдання 2

Рисунок 4 – тести до завдання 2

Рисунок 5 – тести до завдання 2

Висновки: Виконавши лабораторну роботу я здобула навичок розробки програм з використанням функций на алгоритмічної мові С.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]