Главная страница
Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
qrcode

Методичка_Ч1. Методичні вказівки до лабораторного практикуму та самостійної роботи з дисципліни Програмування для студентів напрямів підготовки


НазваниеМетодичні вказівки до лабораторного практикуму та самостійної роботи з дисципліни Програмування для студентів напрямів підготовки
АнкорМетодичка Ч1.doc
Дата26.10.2016
Размер1.86 Mb.
Формат файлаdoc
Имя файлаMetodichka_Ch1.doc
ТипМетодичні вказівки
#593
страница11 из 11
КаталогОбразовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
1   2   3   4   5   6   7   8   9   10   11

Завдання на лабораторну роботу


Створити проект, який би забезпечив виконання трьох підпрограм з використанням циклу for.

Перша підпрограма має забезпечити табулювання функції відповідно до варіанту з таблиці 3.1 (лабораторна робота №3) і використовувати функцію розрахунку за формулою, що була створена у тій лабораторній роботі.

Друга підпрограма має забезпечити обробку цілих чисел у відповідності з завданням з таблиці 6.1, обраним відповідно до останньої цифри номера залікової книжки.

    Таблиця 6.1 – Варіанти завдань з обробки цілих чисел

    Варіант

    Завдання

    1

    2

    0

    Написати програму, що буде виводити на консоль у зростаючому порядку і підраховувати тризначні цілі числа, в яких немає однакових цифр. Слід попередньо написати функцію, що визначає, чи є однакові цифри в числі.

    1

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

    2

    Написати програму, що буде виводити на консоль тризначні цілі числа, сума цифр яких дорівнює введеному числу N (1

    3

    Написати програму, що буде виводити на консоль всі прості числа, які менші за N, і підраховувати їх кількість. Попередньо написати функцію тестування числа на простоту. Простим називають ціле число, яке без остачі ділиться тільки на 1 і на себе. Ознакою є наявність залишку від ділення числа X на числа від 2 до X / 2.

    4

Написати програму, що буде виводити на консоль цілі числа з інтервалу від n1 до n2 і суми дільників (за винятком 1 і самого числа) для кожного з них. Для знаходження дільників слід перевіряти результат ділення числа N на числа від 2 до N / 2. Попередньо написати функцію підрахунку суми дільників одного числа.

    5

    Написати програму, що буде виводити на консоль цілі числа з інтервалу від n1 до n2 до складу яких входить задана цифра. . Попередньо написати функцію, що визначає, чи є в числі потрібна цифра.

    6

    Написати програму, що буде знаходити мінімальне значення функції f(x)=10x2+215x +100 на інтервалі цілих чисел від n1 до n2. Попередньо написати функцію, що обчислює значення f(x).

    Продовження таблиці 6.1

    1

    2

    7

    Написати програму, що буде виводити на консоль цілі числа з інтервалу від n1 до n2 і перелік їх простих дільників (за винятком 1 і самого числа). Для знаходження дільників слід перевіряти результат ділення числа N на числа від 2 до N / 2. Попередньо написати функцію пошуку дільників одного числа.

    8

    Написати програму, що буде виводити на консоль значення факторіалу цілих чисел з інтервалу від n1 до n2. Попередньо написати функцію, що обчислює факторіал числа.

    9

    Написати програму, що буде виводити на консоль значення числа Фібоначчі з номерами від n1 до n2. Попередньо написати функцію, що обчислює число Фібоначчі із заданим номером.


Третя підпрограма має забезпечити обчислення характеристики послідовності випадкових чисел за модулем 100, відповідно до варіанту з таблиці 6.2. Характеристика має бути обчислена 10 разів поспіль і кожен з результатів слід вивести на консоль. Довжину послідовності випадкових чисел має задавати користувач.

    Таблица 6.2 – Варіанти завдань з обробки послідовностей випадкових чисел

    Варіант

    Характеристика послідовності, що має бути обчислена

    0

    Максимальне та мінімальне число

    1

    Найбільша довжина послідовності, числа якої зменшуються

    2

    Середнє значення

    3

    Дисперсія ( ∑(x2))/n – ((∑(x))/n)2

    4

    Кількість повторень заданого числа

    5

    Кількість парних чисел

    6

    Кількість непарних чисел

    7

    Різниця між максимальним та мінімальним числом (розмах)

    8

    Кількість чисел кратних 5

    9

    Номер заданого числа у послідовності

Приклад Створення проекту «цикл for»


У цій лабораторній роботі ми створимо консольний додаток, який продемонструє можливості циклу для обробки різних даних. До програми додамо такі допоміжні файли, рисунок 6.2.



Рисунок 6.2 – Допоміжні файли застосування

Файл iostream забезпечує реалізацію обміну інформацією з консоллю.

Файл cmath забезпечує доступ до математичних функцій.

Файл windows.h дає доступ до системних утиліт windows.

Файл cmath забезпечує доступ до функцій часу.

6.1.5Головна функція проекту


Головна функція проекту має надати можливість користувачеві викликати потрібну програму з використанням циклу for.

Вигляд основного фрагменту функції main() наведено на рисунку 6.3.



Рисунок 6.3 – Основна частина функції main()

6.1.6Табулювання функції


У якості прикладу розглянемо наведену нижче, на рисунку 6.4, підпрограму табулювання функції y = a*e (-b*x) *sin(w*x). У програмі використано рекомендації пункту 6.1.4.

Результати роботи програми наведено на рисунку 6.5.


Рисунок 6.4 – Програма виведення таблиці значень функції



Рисунок 6.5 – Результати табулювання значень функції

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


Як приклад розглянемо таку задачу: «В послідовності цілих чисел від 1 до N потрібно виділити числа, квадрат яких дорівнює сумі квадратів інших цілих чисел».

Для вирішення цієї задачі спочатку напишемо функцію, що з’ясовує, чи можна представити квадрат одного числа, як суму квадратів інших цілих чисел. Після цього можна буде викликати цю функцію для усіх чисел із потрібного інтервалу.

Розробка допоміжної функції


Функцію, що з’ясовує, чи можна представити квадрат одного числа, як суму квадратів інших цілих чисел назвемо hasSqr. Хай вона повертає тип bool. Якщо буде знайдена пара чисел, сума квадратів яких дорівнює квадрату заданого числу, функція має повертати true, у іншому випадку має повертати false.

Самі числа, квадрати яких утворюють квадрат заданого числа, отримаємо через параметри функції, для чого ці параметри оголосимо такими, що передаються через посилання. А першим параметром функції зробимо число, що підлягає тестуванню. Таким чином прототип функції буде таким:

bool hasSqr(uint x, uint &x1, uint &x2);

Тепер можна перейти до реалізації функції. Задачу будемо вирішувати шляхом аналізу усіх комбінацій чисел х1 та х2. Перше число х1 будемо змінювати від 1 до х-1. А для кожного значення х1 будемо аналізувати значення х2 від х1 до х2-1. Перебір значень х2 починаємо від поточного значення х1 для того, щоб уникнути аналізу дзеркальних комбінацій, наприклад 3 і 5 та 5 і 3.

У тому випадку, якщо комбінація знайдена, робота функції закінчується. Тобто функція не знаходить усі можливі комбінації, а повертає першу ліпшу знайдену. Нижче наведено текст цієї функції.

bool hasSqr(uint x, uint &x1, uint &x2){
for( x1 = 1; x1 < x; x1++) {
for( x2 = x1; x2 < x; x2++)
if( x*x == x1*x1+x2*x2)
return true;
}
return false;
}

Розробка функції для вирішення головної задачі


Маючи функцію hasSqr() можемо перейти до вирішення головної задачі. Для цього достатньо за допомогою циклу for організувати перебір усіх чисел із заданого діапазону і викликати для кожного з них функцію hasSqr(). Якщо функція поверне true, то слід вивести на консоль значення параметрів функції. Нижче наведено текст функції для вирішення головної задачі.

void intChain(){
cout<<"Введiть число n1>1 та число n2>n1 ";
uint x1, x2, a, b;
cin>>x1>>x2;
for(int i=x1; i<=x2; i++){
if(hasSqr(i, a, b)){
cout.width(5);
cout<}
}
}

Нагадаємо, що змінні a та b отримують значення у функції hasSqr, тому що вони передаються у функцію через посилання.

Результат виконання цієї програми маємо на рисунку 6.6.



Рисунок 6.6 – Результат пошуку пар чисел, сума квадратів яких дорівнює квадрату заданого числу

6.1.8Обробка послідовності випадкових чисел


Як приклад обробки послідовності випадкових чисел, розглянемо задачу визначення максимальної довжини зростаючої послідовності чисел у випадковій послідовності чисел, що приймають значення від 0 до 99. Програма повинна забезпечити пошук максимальної довжини послідовності 10 разів поспіль і виводити результати на консоль.

Для отримання випадкової послідовності будемо використовувати функцію qrand() із урахуванням рекомендацій пункту 6.1.3.

У програмі використовується два цикли for. Перший забезпечує десяти разовий повтор обробки послідовності випадкових чисел. Другий, внутрішній цикл забезпечує формування послідовності заданого розміру і пошук найбільшої довжини зростаючої послідовності. Текст програми наведено на рисунку 6.6. Результати виконання програми на рисунку 6.7.



Рисунок 6.6 – Функція для визначення максимальної довжини зростаючої послідовності у послідовності випадкових чисел



Рисунок 6.7 – Результати визначення максимальної довжини зростаючої послідовності у послідовності випадкових чисел

Вимоги до звіту


  • Назва роботи.

  • Мета роботи.

  • Короткий опис оператора for.

  • Особливості використання оператора for.

  • Генерація випадкових чисел.

  • Тексти функцій для індивідуальних завдань з коментарями.

  • Результати тестування проекту у вигляді копій консолі.

  • Висновки.

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


  • Опис оператора for. Приклад використання.

  • Приклад використання оператора for з операцією кома.

  • Особливості використання функції qrand().

  • Написати функцію або програму за вказівкою викладача з використанням циклу for.

  • Написать функцію або програму відповідно до одного із варіантів індивідуальних завдань до лабораторної роботи.

Рекомендована література


  1. Берн Страуструп. Язык программированя С++. Второе дополненное издание. – М: Бином-Пресс, 2008. – 369 с

  2. Прата Стивен. Язык программирования С++. Лекции и упражнения. Учебник: Пер. с англ./Стивен Прата – СПб.:ООО «ДиаСофтЮП», 2003. –1104 с.

  3. Шилдт Герберт. Полный справ очник по С++. Пер. с англ. – М: Вильямс, 2004. 783 с.

  4. Шпак З.Я. Програмування мовою С. – Львів: Оріяна-Нова, 2012. – 432с.


1   2   3   4   5   6   7   8   9   10   11

перейти в каталог файлов

Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей

Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей