МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ
«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
Факультет електроніки
Кафедра звукотехніки та реєстрації інформації
Лабораторна робота №5
з курсу “Інформатика. ПК та основи програмування”
з теми: ” Обробка одновимірних масивів.“
Варіант 6
1.Завдання
Тема: Обробка одновимірних масивів.
Мета: Оволодіти практичними навиками роботи з масивами, особливостями їх вводу та виводу, набуття подальших навиків з організації програм циклічної структури з використанням прийомів програмування.
Завдання:
Обробити у відповідності до варіанту завдання, вказані у таблиці.
Заповнюючи масив, робити це таким чином щоб у масиві знаходилися елементи які задовольняють умову з стовпчика „Умови і обмеження” а також за цими межами.
Виконуючи завдання з колонки „Дії” враховувати тільки ті елементи які підходять до умови з колонки „Умови і обмеження”.
Перевірити правильність виконання програми за допомогою тестового варіанту.
5. D(80) Знайти максимальний і мінімальний елемент масиву D і поміняти їх місцями
2.Теоретичні відомості
Масив – один з найбільш простих і відомих структур даних. Під масивом в мові С розуміють набір даних одного і того ж типу, зібраних під одним ім'ям. Кожний елемент масиву визначається ім'ям масиву і порядковим номером елемента, який називається індексом. Індекс в мові С завжди ціле число.
Основна форма оголошення масиву розмірності N така:
тип <ім'я масиву>[розмір 1][розмір 2]...[розмірN]
Частіше за все використовуються одновимірні масиви:
тип <ім'я масиву> [розмір] ;
Тип – базовий тип елементів масиву, розмір – кількість елементів одновимірного масиву. Розмір масиву в мові С може задаватися константою або константним виразом. Не можна задати масив змінного розміру. Для цього існує окремий механізм, званий динамічним виділенням пам'яті.
У мові С індекс завжди починається з нуля. Коли ми говоримо про перший елемент масиву, то маємо на увазі елемент з індексом 0. Якщо ми оголосили масив
int a[100] ;
це означає, що масив містить 100 елементів від а[0] до а[99]. Для одновимірного масиву легко підрахувати, скільки байт в пам'яті буде займати цей масив:
кільк. байтів = <розмір базового типу> * <кільк. елементів>.
У мові С під масив завжди виділяється безперервне місце в оперативній пам'яті.
У мові С не перевіряється вихід індексу за межі масиву. Якщо масив а[100] описаний як цілочисельний масив, що має 100 елементів, а ви в програмі вкажете а[200], то повідомлення про помилку не буде видане, а як значення елемента а[200] буде видано деяке число, що займає відповідні 2 байти. Можна визначити масив будь-якого визначеного раніше типу, наприклад:
unsignedarr[40], longdoubleal[1000], charch[80].
Приклад виконання роботи
Як приклад виконання операцій над масивами розробимо алгоритм для підрахунку кількості ненульових значень масиву А[10]. Приклад на рис 3.1
Рисунок 3.1
Код програми:
#include<stdio.h>
#include<conio.h>
intmain()
{
clrscr();
const int N = 10;
int p = 0;
int A[N] = {5, -3, 0, 3, 9, -2, 0, 2, 1, 4};
for (int i = 0; i < N; i++)
if (A[i] == 0) p++;
printf("%d", p);
return 0;
}
3. БЛОК-СХЕМА АЛГОРИТМУ
/
4.ЛІСТИНГ ПРОГРАМИ
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
const int N=80;
int a[N], i=0, temp, i_max=0, i_min=0;
srand(time(NULL));
for (i=0; i<N; i++)
{
a[i]=rand()%100 +1;
printf("%d ",a[i]);
}
for (i=1; i<N; i++)
{
if (a[i]>a[i_max])
i_max=i;
if (a[i]<a[i_min])
i_min=i;
}
temp=a[i_max]; a[i_max]=a[i_min]; a[i_min]=temp;
printf("\n\n");
for (i=0; i<N; i++)
{
printf("%d ",a[i]);
}
system(“PAUSE”);
return 0;
}
5.РЕЗУЛЬТАТИ РОБОТИ ТА ЇХ АНАЛІЗ
Після запуску програми отримано результат відображений на Рисунку 5.1
/
Рисунок 5.1 - Результати роботи програми
У результаті роботи програми мінімальні та максимальні в масиві міняються місцями.
6.ВИСНОВКИ
Результатом даної роботи є оволодіння практичними навичками з одновимірними масивами та вкладеними циклами,набуття навиків з організації програм циклічної структури з використанням прийомів програмування.
В результаті проведеної роботи було виявлено,що розроблений алгоритм дозволяе знаходити максимальний і мінімальний елементи масиву D(80) і міняти їх місцями.
7.ПЕРЕЛІК ПОСИЛАНЬ
ДСТУ-3008-95-К: Держстандарт України . Документація. Звіти у сфері науки і техніки. Структура і правила оформлення., 1995. - 37с.
Інформатика. Персональні комп’ютери та основи програмування [Текст]: Метод.вказівки до викон. лаборатор. Робіт для студентів напрямів підготов. 6.50903 „Телекомунікації” усіх форм навчання/ Укладач: Д.В. Тітков. – К.: НТУУ „КПІ”, 2012. -42 с
К36 Язык программирования Си.\Пер. с англ., 3-е изд., испр. - СПб.: "Невский Диалект", 2001. - 352 с.: ил.