Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratorna_robota_5.docx
Скачиваний:
1
Добавлен:
18.07.2019
Размер:
44.3 Кб
Скачать

Приклад виконання завдання Завдання 5.1

Представити математичний запис фрагменту програми

int n=4; int x=A[0];

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

if (fabs(A[i]<x)) x=fabs A[i]);

і обчислити значення змінної Х після її виконання, якщо

A[0]=3, A[1]=-5, A[2]=4, A[3]=-3.

Розв'язання

даний фрагмент програми знаходить мінімальний по модулю елемент одномірного масиву (вектору).

a={3;-5;4;-3}, x=min|ai|, (i=0;,2,3,4)

Після виконання фрагменту x=5.

Завдання 5.2

Просумувати усі від'ємні елементи масиву

a={2, -5, -10, 4, 6, 7, -13, -11, -9, 5},

які мають непарні індекси.

1. Постановка задачі.

Дано масив А, елементами якого є десять цілих чисел (А(10)).

Скласти програму підсумовування від'ємних елементів, які мають непарні індекси (і=1,3,5,…,9)

2. Алгоритм розв'язання задачі

На алгоритмічній мові даний алгоритм може бути представлений в такому вигляді:

Алг СУМА ВІД'ЄМ НЕПАРНИХ(ціл n,ціл таб A[1:n],ціл S)

Арг n,A

Рез S

Поч ціл і

i=0; S=0

Поки i<n

Пц

Якщо A[i]<0

То S=S+A[i]

Все

i=i+2

Кц

Кін

Блок-схема

Блоком 2 передбачається ввід елементів масиву А, а блоком 3 – їх перегляд на екрані після вводу.

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

В блоці 5 задається початкове значення індексу.

В блоці 6 здійснюється перевірка його на досягнення кінцевого значення.

Якщо кінцевого значення не досягнуто (так), здійснюється перевірка, чи є чергове число A[i] від'ємним (Блок 7).

Якщо черговий елемент від'ємний (відповідь так), то він додається до значення змінної S (Блок 8).

В блоці 9 встановлюється чергове значення індексу.

В блоці 10 здійснюється виведення результату.

Програма.

//Лабораторна робота №5

//Обробка лінійних масивів

//Виконав студент гр ХХХХХХХХХ

//ХХХХХХХХ ХХХХХХХ

#include <stdio.h>

#include <conio.h>

int main(){

const int n=10;//Розмірність масиву

int A[n];

int i,S=0;

//

printf("\n Input elements array\n\n");

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

printf("A[%i] -->\t",i+1);

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

}

printf("\n Sourse array:");

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

printf("%4i",A[i]);

printf("\n");

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

if (A[i]<0)

S+=A[i];

}

printf("\n Suma negative elements: %7i",S);

getch();

return 0;

}

Протокол роботи програми :

Контрольні запитання

  1. Який тип можуть мати елементи масиву?

  2. Як описуються масиви?

  3. Які операції можна виконувати над елементами масивами?

  4. Даний масив A[6] з початковими значеннями елементів: A[0]= 7; A[1]= -1; A[2]= 0; A[3]= 4; A[4]= 15; A[5]= 3; Якими стануть ці значення після виконання кожного з нижче наведених фрагментів програми: int A[6]; int i,j,q; а) q=A[4]+A[1]; A[5]=q; б) A[4]=A[2]+A[2+1]; A[1]=A[6-1]+A[5-2]; в) i=1; j=i+3; A[i]=A[j]+A[j+1]; г) for (int i=0;i<5;i++) A[i]=A[i+1];

  5. Які значення буде містити в собі масив х після виконання наступного фрагменту програми? Що буде виведено на друк? int х[5]; int y; ... x[0]=2; x[1]=2; x[2]=1; x[3]=3; x[4]=1; y=x[2]+1; printf(“\n%i”,y); x[5]=4; printf(“\n%i”, x[x[5]])); y=y+2; printf(“\n y=%i x[y]=%i”,y,x[y]); ...

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