Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



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

ОДНОВИМІРНІ МАСИВИ

Мета роботи

 

Дослідити роботу операторів циклу мови програмуваня С++, засвоїти ме-тодику складання, налагодження та розрахунку програм циклічних обчислювальних процесів для обробки векторів на ПЕОМ.

Постановка завдання

 

Скласти схему алгоритму, таблицю символічних імен та програму мовою С++ відповідно до заданого варіанта. Налагодити та розв’язати задачу на ПЕОМ.

Теоретичні відомості

Масив являє собою набір однотипних елементів. До всього масиву можна звертатися за ім’ям, а до окремого елемента масиву - за ім’ям з індексом елемента у квадратних дужках. Індекс свідчить про його відносну позицію у структурі масиву. Число елементів масиву встановлюється під час його визначення і надалі не змінюється. Масиви визначаються так само, як і змінні:

int a[100]; char b[20]; float d[50];

У першому рядку визначається масив а з 100 елементів цілого типу: а[0], а[1], ..., а[99] (індексація завжди починається з нуля), у другому елементи масиву b мають тип char, а в третьому - float.

Мова С++ дозволяє ініціалізувати масив при його визначенні. Для цього використовується така форма:

тип <ім’я_масиву>[...] ... [...]= {список значень};

Приклади.

int a[5] = {0, 1, 2, 3, 4}; char ch[3] = {'d', 'e', '9'}; Якщо масив не був ініціалізованим зазначеним вище чином, призначити значення його елементам можна і безпосередньо у функціях за допомогою циклу. Цикл надає також можливість обробляти та змінювати дані масиву.

Приклад.

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

{ cout << "Введіть елемент ";

cin >> c[ i ]; // уведення значень елементів з програми

}

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

c[ i ]=abs(c[i]) //зміна первинного значення

елемента на його модуль


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

cout << c[ i ] << " "; // виведення елементів на екран дисплея.

Програма роботи

3.1. Записати запропанований викладачем варіант завдання з п. 5.

Ознайомитись з рекомендованою літературою та конспектом лекцій.

3.2. Програмування задачі:

– скласти таблицю символічних імен;

– скласти схему алгоритму або псевдокод (за вказіквою викладача);

– скласти програму розв’язання задачі мовою С++.

3.3. Розв’язання задачі на ПЕОМ.

На ПЕОМ набрати, відлагодити та розв’язати складену програму.

3.4. Оформлення звіту.

Звіт повинен містити:

– номер лабораторної роботи та її назву;

– умову задачі та дані свого варіанта;

– таблицю символічних імен;

– схему алгоритму (або псевдокод);

– лістинг (або рукопис) програми;

– результати розрахунку задачі;

– висновки.

Приклад

 

У масиві С= (с1, с2, …,с16) визначити середнє арифметичне sr негативних елементів першої половини масиву та добуток p позитивних елементів другої половини масиву.

Розв’язання.

Таблиця символічних імен

Математичне ім’я Ім’я у програмі Смислове значення Змінна
Тип Значення
p p Добуток додатних елементів другої половини масиву int Результат
i i Індекс елементів масиву int Початкові дані
s s Сума від’ємних елементів int Результат
k k Кількість від’ємних елементів першої половини масиву int Результат
l l Кількість додатних елементів другої половини масиву int Результат
sr sr Середнє арифметичне від’ємних елементів першої половини масиву float Результат
m m Половина масиву int Результат
N N Кількість елементів у масиві int
c c Масив з кількістю елементів N int Початкові дані

Текст програми мовою C++

для компіляторів Visual C++

# include <iostream.h>

#include <iomanip.h>

const int N = 16;

int main()

{

int c[ N ] = { 2, -6, 3, -8, 2, 3, 5, -5, -2, 5, 8,

6, -4, -9, 2, 5 }; // визначення масиву С

int p,i,m,k,l,s;

float sr;

cout << "Вхідний масив:" << endl;

for ( i = 0; i < N; i++ ) // ввід значень масиву

cout << c[ i ] << " ";

cout << endl;

cout << setprecision(3) << setiosflags(ios::fixed |

ios::showpoint);

k = 0; // початкове значення кількості від’ємних елементів

// першої половини масиву

s = 0; // початкове значення суми від’ємних елементів масиву

m = N/2; // половина масиву

for (i = 0; i < m; i++) //опрацьовується перша половина масиву

if ( c[ i ] < 0 ) // пошук від’ємних елементів

{

s += c[ i ]; // накопичення суми від’ємних елементів

k++; // накопичення кількості від’ємних елементів

}

p = 1; // початкове значення добутку додатних елементів

// другої половини масиву

l = 0; // початкове значення кількості додатних елементів масиву

for (i = m; i < N; i++) //опрацьовується друга половина масиву

if ( c[ i ] > 0 ) // пошук додатних елементів

{ p *= c[i]; // накопичення добутку додатних елементів

l++; // накопичення кількості додатних елементів

}

if ( k == 0 ) // перевірка на наявність від’ємних елементів

cout << "Немає від’ємних елементів у першій по

ловині масиву!" << endl;

else

{

sr = static_cast< float >( s )/k; // підрахунок середньо

// арифметичного значення

// вивід результатів

cout <<"Сума від’ємних елементів першої половини

масиву = "<< s << endl;

cout << "Кількість від’ємних елементів першої

половини масиву = "<< k << endl;

cout << "Середнє арифметичне. від’ємних елементів

першої половини масиву = "<< sr <<endl;

}

if ( l == 0 ) // перевірка на наявність додатних елементів

cout << "Немає додатних елементів у другій половині

масиву!" << endl;

else

{

// вивід результатів

cout << "Кількість додатних елементів у другій

половині масиву= " << l << endl;

cout << "Добуток додатних елементів у другій

половині масиву= " << p << endl;

}

return 0;

}


Читайте також:

  1. II. Будова доменної печі (ДП) і її робота
  2. IV. ІНДИВІДУАЛЬНА РОБОТА СТУДЕНТІВ.
  3. IV. Практична робота.
  4. VI. Домашня робота.
  5. VI. Практична робота .
  6. VI. Практична робота .
  7. VI. Практична робота.
  8. VI. Практична робота.
  9. VI. Практична робота.
  10. VI. Практична робота.
  11. VI. Практична робота.
  12. VI. Практична робота.




Переглядів: 425

<== попередня сторінка | наступна сторінка ==>
Варіанти завдань | Варіанти завдань

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.