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

Лабораторная №6 Вириант 15

.docx
Скачиваний:
21
Добавлен:
14.12.2018
Размер:
19.55 Кб
Скачать

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

Інститут комп’ютерних систем

Кафедра інформаційних систем

Варіант №1

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

По дисципліні “Алгоритмізація і програмування”

Тема:“ Програмування алгоритмів циклічної структури.”

Виконав:

Студент гр. АІ-171

Анищенко М.О.

Перевірили:

Шпиньковський О.А.

Одеса 2017

Мета роботи:

Набуття практичних навичок у створенні програм з циклами while, do…while.

Завдання 6.1:

Дано послідовність чисел

x, x2 , x3,…, xi;

i=1, 2, 3, …

1. Дано дійсне число а (x <a)

1.1. Надрукуйте в стовпчик числа поки ni<a;

1.2. Знайти суму всіх роздрукованих чисел ;

1.3. Визначити, чи є серед цих чисел задане число а.

2. Дано дійсне число е (х<= e<= 1000)

2.1. Роздрукувати всі числа, для яких виконується умова: ni-ni-1 <=e

2.2. Знайдіть перше число ni і його номер і, якщо ni-ni-1>e

ТУТ БЛОК-СХЕМА

Код програми:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#define L 9

int main()

{

int arr[L];

int x;

printf("Enter x\n");

scanf("%d", &x);

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

arr[i] = pow(x, i+1);

int a;

printf("\nEnter a\n");

scanf("%d", &a);

int i = 0;

printf("ni > a\n");

while(arr[i] < a)

printf("%d\n", arr[i++]);

int sum = 0;

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

sum += arr[j];

printf("Sum = %d\n", sum);

printf("a not belong [%d...%d]\n", arr[0], arr[i-1]);

int e;

printf("\nEnter e, e >= x and e <= 1000\n");

scanf("%d", &e);

for(i = 0; i < L-1; i++)

if((arr[i+1] - arr[i]) <= e)

printf("%d\n", arr[i+1]);

for(i = 0; i < L-1; i++)

if((arr[i+1] - arr[i]) > e)

{

printf("ni - ni-1 > e\nN = %d, i = %d", arr[i+1], i+2);

break;

}

return 0;

}

Приклад виконання:

x

a

e

2

16

5

Enter x

2

Enter a

16

ni > a

2

4

8

Sum = 14

a not belong [2...8]

Enter e, e >= x and e <= 1000

5

4

8

ni - ni-1 > e

N = 16, i = 4

Process returned 0 (0x0) execution time : 14.694 s

Press any key to continue.

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

  1. Цикли з передумовою(WHILE), цикли з післяумовою(DO WHILE), цикли з лічильником(FOR)

  2. Цикл з передумовою — цикл, що виконується доки істинна деяка умова, вказана перед його початком. Ця умова перевіряється до початку виконання тіла циклу, тому тіло може бути не виконане жодного разу (якщо умова з початку хибна). У більшості процедурних мов програмування здійснюється за допомогою інструкції while, звідси його друга назва — while-цикл.

  3. Цикл з умовою while(true) буде виконуватизя нескінченно, якщо у його тілі відсутня точка виходу. Це може призведе до нескінченного виконання програми.

Висновки:

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

Під час написання програми не виникло помилок.