SEC 20W5 || Заloopлення з перед та після умовою

Спочатку хороша новина. ШІ Claude 3 Haiku, що у вільному
доступі, трохи оновився й тепер замісь "вірно", таки почав писати слово "правильно", як то має бути в українській мові, бо відповіді можуть бути правильними, а друзі вірними, як і домашні улюбленці.


Оце думаю, а що робить, щоб хоч щось залишалось в голові після контакту із цифрами та різними поняттями. Адже просіявши все що доводилось бачити й вирішувати з допомогою ШІ, і десь трохи своїми силами, то залишаються на денці "булькотливі оператори", котрі тріпочуть там як маленькі карасики. Тож асоціативний метод діє добре. Наприклад, числівник і знаменник у діленні через риску, це конячка (знаменник), а числівник їде верхи й ділиться із конячкою скільки разів стільки вона попросить)) ... чомусь згадався Лесь Подерев'янський "Восток". А джин у пляшці: - "Звізда моїх очей, *** село"...

Тільки на п'ятому тижні дійшло заглянути, щоб ця наука краще засвоювалась, можна поєднувати із базовим курсом C++ "Programming: Basic Skills" на платформі edX, який іде у тандемі із Codio, де все доступно пояснено відразу із прикладами, котрі можна пощупать і побачить, навіть є візуалізатор виконання коду, котрий показує порядок виконання коду. Можна пройти тести та вправи (контрольні питання в кожній темі) й бачити свій об'єктивний результат відносно чітко поставлених завдання. Це якраз для початку вельми добре. Додаткові практичні вправи й сертифікат там платні, десь до $200, тож цю частину можна замінити саме челенджом на STEEM, бо також є й психологічинй фактор колективного навчання.

Домашнє завдання

1. Для чого цикли в програмуванні? Який із видів циклів більше сподобався?

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

Сподобався цикл, то й що простіший, for (;;;), бо трохи було з ним знайомтво за декілька годи до розгляду цією теми. А ще він має один прикол, якщо ввести -- віднімання, то буде якраз заloopлення до безкінечності у мінусові значення.

Це якраз був прикол, коли треба було декілька файлів конвертувати у gif та закциклити по колу, тож ШІ надав інструменти й скрип, але не всі пояснення відразу, тож слово loop там уже було. Питаю не подумавши, як залупить конвертований gif, сміюсть і редагую відповідь. Тепер буде на шо навішувати супутню інфомрацію.

2. В задачі №8 минулого уроку умову визначення чи знаходяться будинки на одній стороні вулиці слід було записати так:

if( n%2 == m%2 ) замість if( n%20 && m%20 || n%21 && m%21) - поясніть словами обидві умови. Яка краща і чим?

Насправід задача була посталвена так, що обидві згадані формули вирішують задачу, саме порівнюють. Що на початку навчання теж хороший результат і варіант !=0 теж, щоб краще засвоїти і познайомитись із логічними операторами. А помилка в розтягуванні могла виникунти саме через незвичність оператора ==, котрий міг сприйматись саме як дорівнює, а він порівнює.

З точки зору ефективності if (a % 2 == b % 2) скорочує шлях. Це якби потрібно було поїхати у Париж, але наземні шляхи не завжди прямі, а звивисті й петляють поворотами, тож це буде довше як у випадку із (a % 2 == 0 && b % 2 == 0 || a % 2 != 0 && b % 2 != 0), а коротенька, це як літаком долетіти - швидко й майже по прямій. Тобто це прямий і найращий шлях для зменшення навантаження, як набору коду так і швидкодіх його виконання, бо будучи у великому масиві якогось програмного забезпечення, ще й зменшує задіяний ресурс CPU.

3. Вивести число 33 аж 33 рази кожним із наведених у прикладах циклів:

for

Без лічильника, бо не вказано, розпочато з нуля u = 0і виводить тільки 33, без зайвих символів.

#include <iostream>
using namespace std;

    int main() {

    for (int u = 0; u < 33; u++) {

    cout << "33"<< endl;
    }
    return 0;
}

З післяумовою

#include <iostream>
using namespace std;

    int main() {

    int u = 0;

    do
    {

    u++;
    cout << "33 "<< endl;

    } while (u < 33);

    return 0;
}

З передумовою

Без лічильника, бо не вказано що він потрібен.

#include <iostream>
using namespace std;

    int main() {

    int u = 0;

    while (u < 33)
    {
    u++;
    cout << "33"<< endl;
    }

    return 0;
}

Щоб був лічильник у кожному із представлених варіантів, рядок cout має бути таким:

  1. 'cout << "33"<< u << endl;' - лічильник покаже від 0 до 32 (33 виводи);
  2. 'cout << "33"<< u + 1 << endl;' - лічба показів почнеться з 1 до 33.

4. Вивести числа від 11 до 111: 11, 21,31....101, 111 - але число 51 не виводьте (одним видом циклу).

#include <iostream>
using namespace std;

int main() {

    int i = 0;
    while (i <= 111) {
        if ( i > 10 &&  i != 51) {
            cout << i << " ";

        }
        i++;

    }

    return 0;
}

5. Вивести таблицю множення на випадкове число, як-то 0:

1 x 0 = 0
2 x 0 = 0
3 x 0 =0
....
10 x 0 = 0

#include <iostream>
using namespace std;

int main() {

    for (int u = 0; u < 10; u++)

    {
    cout << u + 1 << " x 3 = " << (u + 1)  * 3 << endl;
    }


    return 0;
}

6. Вивести квадрати чисел. 1,,4,9,16,25,36,49...400

#include <iostream>
using namespace std;

int main() {

    for (int u = 1; u <= 400; u++)

    {
    cout << u << "^2 = " << u * u << endl;
    }


    return 0;
}

7. Виведіть степені якогось числа: 1 2 4 8 16 32 64 128... менші за 3000.

Мабуть це правильніше:

#include <iostream>
using namespace std;

int main() {
int salo = 11;
for (int i = 0; salo < 3000; i++) {
    cout << salo << endl;
    salo *= 2;
}
return 0;
}

Бо спочатку було таке))

#include <iostream>
using namespace std;

int main() {

    for (int u = 0; u <= 3000; u++)
        if (u == 333)
    {
    cout << u << "^3 = " << u * u * u << endl;
    }


    return 0;

}

8. Скільки парних чотирицифрових чисел не діляться на 3

#include <iostream>
using namespace std;

int main() {
    int count = 0;
    int i = 1000;
    while (i < 10000) {
        if (i % 2 == 0 && i % 3 != 0) {
            cout << i << " ";
            count++;
        }
        i += 2;
    }
    cout << "Кількість парних чотирицифрових чисел, які не діляться на 3: " << count << endl;
    return 0;
}


#ukraine #sec20w5sergeyk #sec20w5 #club5050

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now