6.11. Цикл з передумовою (Python) | 8 клас | Ривкінд

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 เม.ย. 2022
  • 8 клас. Практичні завдання з інформатики за підручником Й.Я.Ривкінда 2021 року.
    6.11. Цикл з передумовою.
    Виконано в Python.
    Задача Побудуйте математичну модель і створіть проект для визначення, на скільки років вкладник має покласти х грн до банку, щоб отримати від банку не менше ніж а грн, якщо банк щорічно збільшує вклад на р %.
    Побудуємо математичну модель для цієї задачі:
    • вхідні дані: сума вкладених грошей (х), щорічне збільшення вкладу (р %), сума грошей, не менше якої потрібно отримати від банку (а);
    • кінцеві результати: кількість років (л);
    • формули: сума грошей через кожний рік: х = х + х*р/100 Відповідний проект мовою програмування наведено на малюнку.
    Перед циклом змінній п для кількості років присвоюється значення 0, тому що вкладник тільки поклав суму х грн у банк. Вклад буде лежати в банку доти, доки він буде менше потрібної суми а грн. Вкладник забере гроші з банку тільки тоді, коли сума грошей стане рівною або перевищить а грн. Тому логічним виразом циклу з передумовою буде нерівність х менше а
    У тілі циклу дві команди: перша для обчислення суми вкладу через рік (х := х + х *р /100), а друга для збільшення кількості років на 1 (n := n * 1).
    Змінна л - кількість років набуває в проекті тільки цілих значень, а всі інші змінні можуть набувати як цілі, так і дробові значення.
    1. Відкрийте вікно середовища розробки.
    2. Уведіть фрагмент проекту, наведений на малюнку.
    3. Збережіть проект у папці з іменем Вправа 6.11. створеній у вашій папці.
    4. Запустіть проект на виконання.
    5. Уведіть для тестування проекту набір вхідних даних, для якого команди тіла циклу не виконуватимуться жодного разу, наприклад, х = 1000. р = 20. а = 500.
    6. Проаналізуйте результат виконання проекту та порівняйте його з очікуваним.
    7. Уведіть для тестування проекту набір вхідних даних, щоб команди тіла циклу виконувалися 1 раз. Запишіть його в зошит.
    8. Проаналізуйте результат виконання проекту та порівняйте його з очікуваним.
    9. Виконайте проект ще для 2-3 наборів вхідних даних. Запишіть у зошит ці набори та відповідні результати виконання проекту.
    10. Закрийте всі відкриті вікна.
    Переглянути та завантажити текст практичного завдання (сайт авторів підручника): drive.google.com/file/d/1BZ9c...
    Підтримати мою роботу: donatello.to/TaskInformatics
    Підтримати мою роботу на Patreon: / taskinformatics

ความคิดเห็น • 72

  • @_musical_skill_1409
    @_musical_skill_1409 2 ปีที่แล้ว +4

    дякую тобі ти допоміг мені вчитися кряще)

  • @vitalshark8850
    @vitalshark8850 2 ปีที่แล้ว +2

    Добрий день, коли буде практично роботи 12 пайтон, буду дуже вам вдячний

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      відео ще не опублікував, але можете переглянути за посиланням th-cam.com/video/3DyADRSDqnk/w-d-xo.html

  • @user-pk7bc1qk6w
    @user-pk7bc1qk6w 2 ปีที่แล้ว

    Добрий день! Допоможіть, будь ласка, виконати завдання в scratch
    Завдання. Клієнт банку поклав на депозит певну кількість грошей мопеу і залишив ïх на years років. У банка наступні умови: за кожен рік, що кошти знаходяться в банку, додається 15% до попередньої суми. Причому щороку відсоток за яким обраховується депозитне нарахування також збільшується на 0.5%. Визначити скільки коштів отримає кліент в кінці строку.

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      Спочатку вам потрібно створити змінні money, years і stavka (в ній зберігається відсоток по депозиту). Як створювати змінні можете переглянути тут
      th-cam.com/video/3aS0Ki9Xcvs/w-d-xo.html
      th-cam.com/video/muU6Ni9A_bI/w-d-xo.html
      money та years потрібно вводити з клавіатури
      Алгоритм виконання може бути такий
      ЗАПИТАТИ Початковий вклад? І ЧЕКАТИ
      НАДАТИ money ЗНАЧЕННЯ відповідь
      ЗАПИТАТИ Скільки років? І ЧЕКАТИ
      НАДАТИ years ЗНАЧЕННЯ відповідь
      НАДАТИ stavka ЗНАЧЕННЯ 0.15
      // Далі буде цикл з повторенням
      ПОВТОРИТИ years
      НАДАТИ money ЗНАЧЕННЯ money+money*stavka
      НАДАТИ stavka ЗНАЧЕННЯ stavka+0.005
      // І залишилося вивести результат
      ГОВОРИТИ money

    • @user-pk7bc1qk6w
      @user-pk7bc1qk6w 2 ปีที่แล้ว

      @@TaskInformatics нічого не розумію, можете, будь ласка, записати відео на це завдання чи просто скинути мені на електронну адресу, будь ласка

    • @user-pk7bc1qk6w
      @user-pk7bc1qk6w 2 ปีที่แล้ว

      @@TaskInformatics зробив усе так як Ви написали, але виходить 0

    • @user-pk7bc1qk6w
      @user-pk7bc1qk6w 2 ปีที่แล้ว

      @@TaskInformatics Допоможіть, будь ласка!

    • @user-pk7bc1qk6w
      @user-pk7bc1qk6w 2 ปีที่แล้ว

      Виходить 0

  • @tanyavashchenko4048
    @tanyavashchenko4048 ปีที่แล้ว

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

    • @TaskInformatics
      @TaskInformatics  ปีที่แล้ว

      Для Python?
      Тут потрібно цикл використовувати. Скільки чисел потрібно не вказано, тому використати цикл з передумовою while.
      З циклу виходимо коли число стане не додатне
      while number_next > 0: # додатні числа
      number = int(input('Введіть число: ')) # введення числа
      number_next = number_next-number # кожне наступне число менше від попереднього на number_next
      sum +=number_next # сумуємо всі числа
      counter +=1 # збільшуємо лічильник на 1
      print('Середнє арифметичне -', (sum-number_next)/counter) # виводимо середнє арифметичне (останнє число number_next потрібно забрати)
      Оголошуєте на початку програми всі потрібні змінні і присвоюєте їм початкових значень вже самі

    • @tanyavashchenko4048
      @tanyavashchenko4048 ปีที่แล้ว

      @@TaskInformatics дуже вам дякую

  • @user-ty5gj7oj3g
    @user-ty5gj7oj3g 2 ปีที่แล้ว +1

    Добрий день, а коли буде 12 практична?

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      Вам Lazarus чи Python?

    • @kravchukolesia4849
      @kravchukolesia4849 2 ปีที่แล้ว

      @@TaskInformatics Lazarus будь ласка🙏

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      Відео ще не опублікував, але можете переглянути за посиланням th-cam.com/video/NURF3onXFAU/w-d-xo.html

    • @user-ty5gj7oj3g
      @user-ty5gj7oj3g 2 ปีที่แล้ว +1

      @@TaskInformatics Python

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      @@user-ty5gj7oj3g th-cam.com/video/3DyADRSDqnk/w-d-xo.html

  • @prinsesdaria5292
    @prinsesdaria5292 2 ปีที่แล้ว

    А як до цього завдання додати вікно, поля, написи, кнопки

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      Підключаєте модуль tkinter і створюєте потрібні компоненти. Як тут th-cam.com/video/3DyADRSDqnk/w-d-xo.html

    • @prinsesdaria5292
      @prinsesdaria5292 2 ปีที่แล้ว

      @@TaskInformatics ну задачі різні і не зрозуміло шо в Label писати

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      @@prinsesdaria5292 Задачі різні. але компоненти створюються так само. В Label пишете текст, який буде відображатися у вікні

    • @prinsesdaria5292
      @prinsesdaria5292 2 ปีที่แล้ว

      @@TaskInformatics але для мене всеоднр це незрозуміло

    • @prinsesdaria5292
      @prinsesdaria5292 2 ปีที่แล้ว

      @@TaskInformatics а скільки мені потрібно текстових написів

  • @leopardik2110
    @leopardik2110 2 ปีที่แล้ว +2

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

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว +1

      Мова програмування Python? Можна зробити по різному. наприклад схоже як у таких відео
      th-cam.com/video/t2dH1wjkmTY/w-d-xo.html
      th-cam.com/video/zzFwjWr2Rn0/w-d-xo.html
      th-cam.com/video/Qm5lkSiysm4/w-d-xo.html
      Вам потрібно буде трішки переробити

    • @leopardik2110
      @leopardik2110 2 ปีที่แล้ว +1

      @@TaskInformatics Допоможіть дати відповідь ще на 5 запитань
      1. Вкажи потрібну команду, що пропущена у квадраті. Враховуючи вміст таблиці символів , доповніть команду так , щоб вона вивела значення 68.
      print(int(chr(51)+chr(....))*2)
      Символ 0 1 2 3 4 і так дальше до 9
      Код 48 49 50 51 52
      2. Вкажи потрібну команду, що пропущена у квадраті
      Команда print(sum(a)-max(a)) виводить 0
      Доповніть список а [5,-4....]
      3. Вкажи потрібну команду, що пропущена у квадраті. Доповніть список а так щоб зображена програма вивела значення 2
      а=[5,4,4,3,6....]
      k=0
      for i in range (1,len(a)):
      if a[i]==a[i-1]
      k=k+1
      print(k)
      4. Вкажи потрібні команди, що пропущена у квадраті. Доповніть код який у полі списку L відображає список а
      for i in range (......)
      ,,,,,,, . ,,,,,,,(........... , ..........)
      5. Доповни пропуски в коді що визначає більше та менше з двох чисел
      Більше присвоюємо змінній мах менше міn
      if a>b
      max=
      min=
      else
      max=
      min=
      Допоможіть мені з цим будь ласка !!!!

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      В першому завданні створюєте програму з таким кодом і підбираєте потрібне число. Потрібно від 48 до 57 включно.
      Також у третьому завданні створюєте програму і випробовуєте.
      У другому завданні потрібно в список додати таке число, щоб їх загальна сума 5+(-4)+(ваше число) була рівна максимальному з цих чисел.
      У 5 завданні написано. Якщо а>b , то а буде максимальне, а b - мінімальне. І навпаки.
      А 4 завдання я не зрозумів.

    • @leopardik2110
      @leopardik2110 2 ปีที่แล้ว

      @@TaskInformatics напишіть відповідь до 1, 2 3, 5 завдання

    • @leopardik2110
      @leopardik2110 2 ปีที่แล้ว

      @@TaskInformatics 5 і 2 завдання виконав поясніть ще 1 та 3 точніше скажіть відповідь

  • @galIifrey
    @galIifrey ปีที่แล้ว

    Доброго дня!
    Можете допомогти із завданям 3 на сторінці 247 (лазарус) ?

  • @user-sd2rf6wz2v
    @user-sd2rf6wz2v 2 ปีที่แล้ว +1

    Доброго дня,а можна вправу 6.10.9?

    • @user-sd2rf6wz2v
      @user-sd2rf6wz2v 2 ปีที่แล้ว

      Або 6.10.8

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      Відео до завдань в кінці параграфа не створюю. Я зараз не вдома, тому і який алгоритм розв'язування сказати не зможу

    • @user-sd2rf6wz2v
      @user-sd2rf6wz2v 2 ปีที่แล้ว

      @@TaskInformatics зрозумів,дякую за відповідь

  • @_kariss
    @_kariss ปีที่แล้ว

    Можете будь ласка підказати, як вирішити цю задачу: побудуйте математичну модель і складіть проект для визначення за скільки годин турист подолав відстань 20 км , якщо за першу годину він пройшов 6 км а за кожну наступну годину приходить на 1 км менше ніж за попередню.

    • @TaskInformatics
      @TaskInformatics  ปีที่แล้ว

      Для Python?
      Алгоритм виконання може бути такий:
      1. Присвоюєте змінним відстань, яку має подолати турист і відстань яку подолав турист за 1 год
      s = 20
      s1 = 6
      2. Оголошуєте змінну в якій буде зберігатися загальна відстань (result) і присвоюєте їй значення за першу годину
      result = s1
      3. Оголошуєте змінну t в якій буде зберігатися кількість годин і надаєте їй початкового значення 1
      4. Далі буде цикл з передумовою
      while s

  • @user-sj5yk6ks2k
    @user-sj5yk6ks2k หลายเดือนก่อน

    Добрий вечір! Підкажіть, будь ласка, що мені робити. Я цю задачу виконувала з вікном root і у відповіді мені потрібно, щоб видавало або "Грошей і так вистачає" або "Кількість років...". Я написала
    ...
    if n == 0:
    label2['text'] = ('Грошей і так вистачає')
    else:
    label2['text'] = ('Кількість років', n)
    і у відповіді мені видає {Кількість років} .... Я не розумію чому в мене ставляться фігурні дужки, і я не розумію як мені їх видалити.

    • @TaskInformatics
      @TaskInformatics  หลายเดือนก่อน

      У вас перед else є зайвий відступ. В Python це важливо

    • @user-sj5yk6ks2k
      @user-sj5yk6ks2k หลายเดือนก่อน

      @@TaskInformatics Дякую, але всеодно не допомогло☹️. Може є ще які варіанти?

    • @TaskInformatics
      @TaskInformatics  หลายเดือนก่อน

      Скопіюйте свій код в коментар. Подивлюся

    • @TaskInformatics
      @TaskInformatics  หลายเดือนก่อน

      @@user-sj5yk6ks2k Запишіть таким чином
      label4['text'] = 'Кількість років ' + str(n)

    • @user-sj5yk6ks2k
      @user-sj5yk6ks2k หลายเดือนก่อน

      ​@@TaskInformaticsДуже Вам вдячна! Ви дуже допомогли, все працює.

  • @user-pp9pd2ey6c
    @user-pp9pd2ey6c 2 ปีที่แล้ว

    Доброго вечора. Практична 12 лазарус. Будь ласка 😅

  • @picsel_vnz
    @picsel_vnz 2 ปีที่แล้ว

    Я робити завдання 4 ст 242 підкажіть будь ласка

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      Відео до завдань в кінці підручника не створюю.
      У даному завданні за умовою програми створювати не потрібно.
      Створення математичної моделі так як на ст. 194. Після "Побудуємо математичну модель для цього проєкту".
      Вхідні дані - це змінні які вводите, кінцеві результати - це змінна в якій зберігається результат. Формули:
      s = s+n
      n = n/5
      В блок-схемі буде цикл з лічильником як на мал. 6.77 (ст.236)

    • @picsel_vnz
      @picsel_vnz 2 ปีที่แล้ว

      @@TaskInformatics велике дякую

    • @picsel_vnz
      @picsel_vnz 2 ปีที่แล้ว

      @@TaskInformatics я робити завдання 6 ст 242

    • @TaskInformatics
      @TaskInformatics  2 ปีที่แล้ว

      @@picsel_vnz Алгоритм виконання може бути таким:
      1. Змінним n та x значення потрібно присвоїти з клавіатури
      2. Оголосити змінну в якій буде зберігатися результат суми чисел (наприклад sum) і надати початкового значення 0
      3. Далі має бути цикл з лічильником for. Кількість ітерацій циклу буде n
      В циклі потрібно:
      1) Підрахувати суму чисел
      sum = sum+x
      2) Підрахувати кожне наступне x
      x = x*x
      4. Вивести результат.

    • @picsel_vnz
      @picsel_vnz 2 ปีที่แล้ว

      @@TaskInformatics дякую

  • @turkach3206
    @turkach3206 ปีที่แล้ว

    щорічно збільшує вклад р% хелп

    • @TaskInformatics
      @TaskInformatics  ปีที่แล้ว

      А яке запитання? За умовою задачі саме так збільшує