Лабораторна робота 2 на тему Використання керуючих конструкцій
« НазадЛабораторна робота №2Використання керуючих конструкційМета роботи: Отримання навичок роботи з основними керуючими конструкціями С. 2.1. Теоретичні відомостіВ мові програмування С використовуються наступні керуючі конструкції: 1) Цикл for for (вираз1; вираз2; вираз3) {оператор} Вираз1 описує ініціалізацію циклу; вираз2 — перевіряє умову завершення цикла, якщо він істинний то виконується оператор; вираз3 — обчислюється після кожної ітерації. Цикл повторюється до тих пір, поки вираз не стане хибним. Наприклад: for(x=1; x<=7; x++) printf("%d\n", power(x, 2)); 2) Цикл while: while (вираз) оператор Якщо вираз є істинним, то оператор виконується до тих пір, поки вираз не стане хибним. Якщо вираз хибний з самого початку, то керування передається наступному оператору. При цьому цикл не виконується зовсім. Значення виразу визначається до виконання оператора. Наприклад: while (k<n) { y=y*x; k++; } 3) Цикл do-while. Його синтаксис: do оператор while(вираз); Якщо вираз істинний, то оператор виконується та знову обчислюється значення виразу. Це повторюється, поки вираз не стане хибним. Оператор виконується не менше одного разу. Наприклад: x=1; do printf("%d\n", power(x, 2)); while(++x<=7); Оператор do-while перевіряє умову після виконання операторів циклу. Оператор while перевіряє умову перед виконанням операторів циклу. 4) Перемикач switch має синтаксис: switch (вираз) { case константа1: оператор case константа2: оператор case константа3: оператор ... default: оператор } Порівнює значення виразу з константами у всіх варіантах case та передає керування оператору, що відповідає значенню виразу. Якщо жодна з констант не відповідає значенню виразу, тоді керування передається оператору з міткою default. Якщо мітка default відсутня, не виконується ніяких дій. Наприклад: switch(x) case 2: case: y=3; 5) Оператор break перериває виконання найближчого вкладеного зовнішнього оператора switch, while, do або for. Керування передається наступному оператору. Наприклад: for(i=0; i<n; i++) if((a[i] = b[i])==0) break; 6) Оператор продовження continue передає керування на початок найближчого зовнішнього оператора циклу switch, while, do або for, та викликає початок наступної ітерації. 7) Оператор повернення return. Перериває виконання поточної функції та повертає керування програмі, що її викликала. 2.2. ПрикладЗнайти усі прості неспрощувані дроби між 0 та 1, знаменники яких не перевищують 7 (дріб задається двома натуральними числами — чисельником та знамінником). #include <stdio.h> #include <math.h> main() { int i, j, l, k, i1, j1, k2; printf("Початок програми\n\n"); /*Завдання циклів*/ for(i1=2;i1<8;++i1) for(j1=1;j1<i1;++j1) { /*Вивід дробу вигляду 1/n*/ if(j1==1) printf("%d%d\n", j1,i1); l=0; i=i1; j=j1; /*Цикл для визначення НОД*/ do { k=i-j; k2=i1%j1; if(((k==0)&&(j!=1)) || (k2==0)) l=1; i=j; j=k; } while(k>0); /*Вивід дробу, якщо флаг не встановлений*/ if(l!=1) printf("%d%d\n", j1, i1); } return 0; } 2.3. Порядок виконання роботи2.3.1. Проаналізувати умову задачі.2.3.2. Розробити алгоритм та створити програму розв’язання задачі згідно з номером варіанту.2.3.3. Результати роботи оформити протоколом.2.4. Варіанти завдань1) Дано натуральне число n (). Знайти всі прості числа, що не переищують число n, використовуючи решето Ератосфена. Решетом Ератосфена називається наступний метод. Випишемо підряд всі цілі числа від 2 до n. Першим простим чилом є число 2. Підкреслимо його, а всі більші за нього числа, кратні числу 2, викреслимо. Першим числом в ряду чисел, що залишились, є число 3. Підкреслимо його як просте число, а всі більші за нього числа, кратні числу 3, викреслимо. Першим числом серед тих, що залишились, є число 5, оскільки 4 вже закреслено. Підкреслимо його як просте число, а всі більші за нього числа, кратні числу 5, викреслимо і т.д. 2) Дано натуральне число n. Знайти всі числа Мерсена, що не перевищують число n. Просте число називається числом Мерсена, якщо його можна представити у вигляді , де – теж просте число. 3) Два натуральних числа називаються дружніми, якщо кожне з них дорівнює сумі всіх дільників іншого, крім самого цього числа. Знайти всі пари дружніх чисел, що містяться у діапазоні від 200 до 300. 4) Дано натуральне число n. Серед чисел 1, ..., n знайти такі числа, запис яких співпадає з останніми цифрами запису їх квадрату. Наприклад, 6 (), 25 () і т.д. 5) Натуральне число називається паліндромом, якщо його запис читається однаково з початку та з кінця (наприклад, 4884, 393, 1). Знайти всі числа-паліндроми, що не перевищують 100, та при піднесенні до квадрату також дають паліндроми. 6) Натуральне число називається паліндромом, якщо його запис читається однаково з початку та з кінця (наприклад, 4884, 393, 1). Знайти всі числа, що не перевищують 100. 7) Дано натуральне число n. Перевірити, чи можна подати n! у вигляді добутку трьох послідовних цілих чисел. 8) Дано матрицю розміром n на m з дійсними елементами. Побудувати послідовність , де – це кількість від’ємних елементів k-го рядка матриці. 9) Дано матрицю розміром n на m з дійсними елементами. Побудувати послідовність , де — це добуток квадратів тих елементів k-го рядка, модулі яких належать до відрізку [1, 1.5]. 10) Дано натуральне число n та цілочислена матриця порядку n. Побудувати послідовність , де — це найменше із значень елементів, що розташовані на початку k-го рядка матриці, включаючи елемент, що належить головній діагоналі. 11) Дано натуральне число n та цілочислена квадратна матриця порядку n. Побудувати послідовність , де — це сума елементів, що передують останньому від’ємному елементу k-го рядка матриці (якщо всі елементи рядка невід’ємні, то вважати =-1). 12) Натуральне число, що складається з n цифр є числом Армстронга, якщо сума його цифр, піднесених до n-го ступеня, дорівнює самому числу (наприклад, ). Знайти всі числа Армстронга, що складаються з 2, 3 або 4 цифр. 13) Дано натуральне число n. Отримати всі прості дільники цього числа. 14) Дано натуральні числа . Знайти члени послідовності , що мають таку властивість: корені рівняння є дійсними та додатніми. 15) Дано натуральне число та дійсні числа . Обчислити зворотну величину для добутку тих чисел послідовності , для яких виконується умова . 16) Дано натуральне число . Обчислити суму тих чисел вигляду , (), що являють собою потроєні непарні числа. 17) Дано цілочислену квадратну матрицю порядку n. Знайти номери тих рядків, елементи котрих утворюють симетричні послідовності (паліндроми). 18) Дано натуральні числа ,. Знайти ті члени послідовності , що при діленні на 7 дають залишок 1, 2 або 5. 19) Дано натуральні числа . Знайти члени послідовності , що є потроєнними непарними числами. 20) Дано натуральні числа . Знайти кількість членів послідовності , що мають парні порядкові номери, та є непарними числами. 21) Дано натуральні числа . Знайти члени послідовності , що є подвоєнними непарними числами. 22) Дано квадратну матрицю порядку n з дійсними елементами. Обчислити суму тих її елементів, що розташовані на головній діагоналі та вище від неї, та не перевищують по величині суму елементів, розташованих нижче головної діагоналі. Якщо на головній діагоналі та вище від неї елементів з такою властивістю немає, то відповіддю повинно бути відповідне повідомлення. 23) Дано квадратну матрицю порядку n з цілими елементами. Знайти найменше із значень елементів стовбчика, сума модулів елементів котрого є найбільшою. Якщо таких стовбчиків існує декілька, то взяти перший із них. 24) Дано натуральне число n. Отримати всі його натуральні дільники. 25) Дано натуральне число n. Отримати всі натуральні числа q, такі, що n ділиться на та не ділиться на . 2.5. Контрольні запитання
З повагою ІЦ "KURSOVIKS"! |