Практична робота № 12. Проєкти із циклами (Python) | 8 клас | Ривкінд

Поділитися
Вставка
  • Опубліковано 26 кві 2022
  • 8 клас. Практичні завдання з інформатики за підручником Й.Я.Ривкінда 2021 року.
    Практична робота № 12. Проєкти із циклами.
    Виконано в Python.
    1. Побудуйте математичну модель і створіть проект для розв’язування задачі: Перед початком повені рівень води в річці становив Н см. Під час повені кожну годину рівень води зростав на Р см. Яким буде рівень води через N год після початку повені? Через скільки годин після початку повені рівень води буде не менший від К см?
    2. Використайте в проекті поля для введення вхідних даних, поле для виведення відповіді на перше запитання задачі й дві кнопки. Біля кожного поля розмістіть написи для пояснювальних коментарів.
    3. Складіть обробник події Click для першої кнопки, виконання якого приведе до виведення в поле відповіді на перше запитання задачі.
    4. Складіть обробник події Click для другої кнопки, виконання якого приведе до знаходження відповіді на друге запитання задачі й виведення його у вікно повідомлень.
    5. Збережіть проект у папці з іменем Практична 12, створеній у вашій папці.
    Підтримати мою роботу: donatello.to/TaskInformatics
    Підтримати мою роботу на Patreon: / taskinformatics

КОМЕНТАРІ • 68

  • @asdasdalfjldsfsdajak
    @asdasdalfjldsfsdajak 2 роки тому +15

    Дякую за ваші відео! Дуже цікаво поясняєте такі нелегкі теми, та допомогаєте в навчанні!

  • @user-lz1uu6ok4u
    @user-lz1uu6ok4u 28 днів тому +2

    Дуже дякую за ваші відео !Ви допомагайте мені в інформатиці не перший раз .Але прикро що ви не робите відео уроки по темам.

  • @smeha-net
    @smeha-net 2 роки тому +3

    Добрий день, допоможіть будь ласка з задачею: Піраміда складена з ретельно оброблених і щільно пригнаних вапнякових блоків вагою від 7 до 30 тон. Причому кожна наступна була легше попередньої на х тон. Скільки блоків треба було для спорудження цієї піраміди? Це у пайтоні

    • @TaskInformatics
      @TaskInformatics  2 роки тому

      Будемо вважати, що 30 та 7 включно
      Алгоритм виконання може бути таким:
      1. Присвоюєте змінній (наприклад m) початкову масу блока 30
      2. Оголошуєте змінну в якій буде зберігатися кількість днів і присвоюєте їй значення 0
      3. З клавіатури за допомогою функції input вводите значення для змінної x (не забудьте перетворити в цілий тип за допомогою функції int)
      4. Далі буде цикл з передумовою while
      while m>=7:
      5. В тілі циклу while
      1) зменшуєте m на x
      m = m-x
      2) Збільшуєте кількість днів на одиницю
      5. Виводите результат за допомогою функції print

    • @smeha-net
      @smeha-net 2 роки тому

      @@TaskInformatics Дуже дякую вам, ви сильно допомогли!:)

  • @alinahavlishyna2389
    @alinahavlishyna2389 25 днів тому +1

    Lux

  • @vitalshark8850
    @vitalshark8850 2 роки тому +4

    Дякую!!

  • @user-ty5gj7oj3g
    @user-ty5gj7oj3g 2 роки тому +4

    Дякую!

  • @user-sd2rf6wz2v
    @user-sd2rf6wz2v 2 роки тому

    А є виконана вправа 6.10.9 або 6.10.8?

    • @TaskInformatics
      @TaskInformatics  2 роки тому

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

  • @user-eg7jb1it2s
    @user-eg7jb1it2s 2 роки тому +1

    Добрий ранок, Задача:Створити проєкт для побудови будь якого n-кутника, де n вводиться з клавіатури.Допоможіть будь ласка з написання програми у середовищі Python

    • @TaskInformatics
      @TaskInformatics  2 роки тому

      Малювати на полотні Canvas чи за допомогою черепашки turtle?
      Багатокутник має бути правильний?
      Вам потрібно буде визначити кут многокутника. Для цього використайте формулу 180*(n-2)

    • @user-eg7jb1it2s
      @user-eg7jb1it2s 2 роки тому

      @@TaskInformatics за допомогою черепашки,має бути правильним

    • @TaskInformatics
      @TaskInformatics  2 роки тому +1

      1. Підключаєте модуль черепашки
      2. За допомогою функції input вводите кількість кутів і присвоюєте змінній n ( не забудьте перетворити в цілий тип за допомогою int)
      3. Опускаєте перо
      4. Далі буде цикл з лічильником for в якому буде малюватися многокутник
      for i in range (1,n+1):
      # малюєте одну сторону (рух вперед черепашки)
      # повертаєте черепашку на кут 180*(i-2)

  • @secb4012
    @secb4012 2 роки тому

    Добрий день, а можна завдання 2 сторінка 208? Бо дуже треба

    • @TaskInformatics
      @TaskInformatics  2 роки тому

      Завдання 6.6.2 вам не вдасться виконати. Потрібно відкрити Проєкт 6.6.2, але автори підручника на своєму сайті його не розмістили. Хіба що можете тестові набори придумати без відкриття проєкту. Схоже там потрібно вводити швидкості поїздів та час їх руху.
      Без проєкту вже потрібно знати не інформатику, а фізику. Формула для визначення відстані між поїздами s =(v1+v2)/t, v1, v2 - швидкості поїздів, t - час руху поїздів. Підбираєте швидкості і час - це і будуть тестові значення

  • @holiukk8807
    @holiukk8807 2 роки тому

    Можете будь ласка допомогти з 2, 3 і 4 завданнями практичної 12

  • @user-ze4kc7zy1p
    @user-ze4kc7zy1p 2 роки тому

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

    • @TaskInformatics
      @TaskInformatics  2 роки тому

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

  • @user-cq5vy8nm4b
    @user-cq5vy8nm4b Рік тому

    А можна будь ласка код цієї програми

    • @TaskInformatics
      @TaskInformatics  Рік тому

      Вибачте, але даний канал створений для допомоги при розв'язуванні завдань з шкільної інформатики. Тобто є відео і залишається виконати завдання. Поки сам не зробиш, не навчишся :)

  • @linxelka
    @linxelka Рік тому

    Добрий день, чи можете, будь ласка, допомогти з 9 завданням на сторінці 242, а саме з пунктом б), пункт а) і в) я зрозуміла як робити, а ось з б) виникли проблеми. Буду вдячна!

    • @linxelka
      @linxelka Рік тому

      у середовищі Пайтон

    • @TaskInformatics
      @TaskInformatics  Рік тому +1

      Як саме вишукали дистанцію, яку подолає за n-ий день?
      Якщо в циклі for, то ви шукали дистанцію, яку подолає кожного дня. Тепер залишилося все додати в тому самому циклі. Можливо потрібно буде створити для цього нову змінну

    • @linxelka
      @linxelka Рік тому

      @@TaskInformatics v=int(entry1.get())
      p=int(entry2.get())
      n=int(entry3.get())
      s=v
      for i in range(n-1):
      s+=s*(p/100)
      s=round(s, 2) lab4['text']
      = ' Спортсмен-паралімпієць пройшов на+str(n)+'-ий день тренувань:
      lab5['text']=str(s)
      lab5['text']+= ' км'
      ось так я шукала дистанцію на n-ий день

    • @TaskInformatics
      @TaskInformatics  Рік тому +1

      @@linxelka Тепер залишилося додати в тому самому циклі дистанцію яку подолано за кожний день.
      Потрібно буде перед циклом створити нову змінну в якій буде зберігатися сумарна дистанція (наприклад sum_s).
      Кількість ітерацій цикл n-1, тому щоб врахувати відстань в перший день 20 км можна зразу надати змінній sum_s значення 20. А можна надати значення 0 і коли виводити результат, то тоді додати 20
      В самому циклі додати рядок для обчислення сумарної дистанції
      sum_s =sum_s+s

    • @linxelka
      @linxelka Рік тому

      @@TaskInformatics велике Вам дякую! Усе вийшло!

  • @user-yq8zf9yf7l
    @user-yq8zf9yf7l 2 роки тому

    Доброго дня! Можете будь ласка допомогти. Задача: Спортсменка, готуючись до участі в марафоні, у перший день тренувань подолала дистанцію в s км. Кожного наступного дня її денна дистанція збільшувалася на р % від дистанції попереднього дня. Побудуйте математичну модель і створіть проект для визначення:
    а) у який день тренувань спортсменка подолала дистанцію в s1 км;
    б) у який день тренувань дистанція збільшиться на s2 км порівняно з попереднім днем.
    у середовищі Python

    • @TaskInformatics
      @TaskInformatics  2 роки тому +1

      Алгоритм виконання може бути таким:
      1. З клавіатури за допомогою функції input вводите значення і присвоюєте змінним s, p, s1 та s2(не забудьте перетворити в цілий тип за допомогою функції int)
      2. Оголошуєте змінні для кількості днів day1, day2 і присвоюєте початкові значення 1
      3. Для того щоб визначити у який день спортсменка подолала відстань s1 має бути цикл з передумовою while
      while s

    • @user-yq8zf9yf7l
      @user-yq8zf9yf7l 2 роки тому

      @@TaskInformatics дуже дякую,допомогли!

  • @user-bv9qn2xw2n
    @user-bv9qn2xw2n 2 роки тому

    А коли буде 13?

  • @talant6802
    @talant6802 2 роки тому

    Добрий день допоможіть зі завданням 3 на сторінці 241

    • @TaskInformatics
      @TaskInformatics  2 роки тому

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

  • @wjftdrudu
    @wjftdrudu Рік тому

    Допоможіть створити в Lazarus за допомогою while,за підручником Інформатика 8 клас Ривкінд 2021.
    Створіть проєкт для обчислення середнього арифметичного додатних чисел, перше з яких дорівнює 100, а кожне наступне менше від попереднього на задане додатне число. Збережіть проєкт у папці з іменем Завдання 6.11.8, створеній у вашій папці.

    • @TaskInformatics
      @TaskInformatics  Рік тому +1

      Відео до завдань в кінці параграфа не створюю.
      На скільки менше число вводите в тестове поле Edit. Як додавати компоненти на форму (текстове поле та кнопку) можете подивитися у відео ua-cam.com/video/1DbHEhBjSh4/v-deo.html
      Тут потрібно цикл використовувати. Скільки чисел потрібно не вказано, тому використати цикл з передумовою while.
      З циклу виходимо коли число стане не додатне
      while number_next > 0 do // додатні числа
      Begin
      number_next := number_next-number; // кожне наступне число менше від попереднього на number_next
      sum := sum+number_next; // сумуємо всі числа
      counter :=counter+1; // збільшуємо лічильник на 1
      end;
      Виводите результат також в текстовому полі Edit або текстовому написі Label. Середнє арифметичне це sum/counter
      Не забудьте оголосити всі потрібні змінні і присвоїти їм початкових значень.

    • @wjftdrudu
      @wjftdrudu Рік тому

      @@TaskInformatics Дякую вам велике!

    • @wjftdrudu
      @wjftdrudu Рік тому

      @@TaskInformatics Можна ще одне запитання?Виходить в Edit1 я уведу якесь число,тоді Edit1 це Number чи Number_next?А number це 100 чи number_next це 100?

    • @TaskInformatics
      @TaskInformatics  Рік тому +1

      Number

    • @TaskInformatics
      @TaskInformatics  Рік тому +1

      number_next задаєте в коді. Рівне 100

  • @user-vx1wn2fd1u
    @user-vx1wn2fd1u 29 днів тому

    Здравствуйте! Извините за беспокойство, но мне срочно нужна помощь. Я в пайтоне создаю калькулятор. Создал надпись, в которую будет выходить результат. Вот в действии "Деление" я хочу сделать так, чтобы при делении на 0 выводился результат: "Ділення на 0 неможливе". Посмотрите что я сделал:
    x=float(entry1.get())
    y=float(entry2.get())
    z=x/y
    label6['text']='Частка = '+ str(z)
    if y==0:
    label6['text']='Ділення на 0 неможливе!'
    Но ничего не получается. Все действия происходят, а вот этот пункт не работает. Оно просто пишет в Python Shell, что происходит ошибка из-за деления на 0. Но мне нужно чтобы это выводилось в окно, там где мне нужно. Помогите пожалуйста.

    • @TaskInformatics
      @TaskInformatics  29 днів тому

      Подивіться відступи на початку. В Python це важливо

    • @user-vx1wn2fd1u
      @user-vx1wn2fd1u 29 днів тому

      @@TaskInformatics Я проверил. Всё правильно. Может там нужно использовать не if, а что-то другое?

    • @TaskInformatics
      @TaskInformatics  29 днів тому

      if поставте перед z=x/y
      І тоді рядки
      z=x/y
      label6['text']='Частка......
      будуть після else:

    • @user-vx1wn2fd1u
      @user-vx1wn2fd1u 29 днів тому

      Спасибо вам большое! Вы меня спасли

  • @user-vx1wn2fd1u
    @user-vx1wn2fd1u 24 дні тому

    Здравствуйте! Мне нужна помощь. Меня просто задрал проэкт потому что я просто не понимаю что он от меня хочет.
    def click():
    d=str(entry1.get)
    S=str(entry2.get)
    f=d
    while d>S:
    d=d+50
    c=d+f
    label3['text']='Плавець за всі дні тренувань проплив: '+str(c)+' км'

    def click2():
    d=str(entry1.get)
    S=str(entry2.get)
    f=d
    while d>S:
    d=d+50
    c=d+f
    m=S/c
    label4['text']='За '+float(m)+' днів'
    Не обращайте внимание на всё остальное. Мне важно только по поводу str и int. Мне выбивает ошибку:" d=d+50
    TypeError: can only concatenate str (not "int") to str". Я так понимаю что число 50 это int, а d - str. Но как мне этого избежать? Мне просто нужно сложить 2 числа, но оно не хочет

    • @TaskInformatics
      @TaskInformatics  24 дні тому

      Добрий день.
      d=int(entry1.get())
      І для S так само

    • @user-vx1wn2fd1u
      @user-vx1wn2fd1u 24 дні тому

      @@TaskInformatics Тогда оно мне пишет:
      d=int(entry1.get)
      TypeError: int() argument must be a string, a bytes-like object or a number, not 'method'

    • @TaskInformatics
      @TaskInformatics  24 дні тому

      Після get мають бути дужки get()
      d=int(entry1.get())
      S=int(entry2.get)

    • @user-vx1wn2fd1u
      @user-vx1wn2fd1u 24 дні тому

      Спасибо большое! А я сразу не допетрил

  • @_musical_skill_1409
    @_musical_skill_1409 2 роки тому

    будь ласка дай готове дуже треба будь ласка прушу(((( дуже треба

    • @TaskInformatics
      @TaskInformatics  2 роки тому +1

      Вибачте, але даний канал створений для допомоги при розв'язуванні завдань з шкільної інформатики. Тобто є відео і залишається виконати завдання. Поки сам не зробиш, не навчишся :)

    • @user-le2cp4hv1d
      @user-le2cp4hv1d 2 роки тому +1

      @@TaskInformaticsпідр)

  • @nikitaserpent5334
    @nikitaserpent5334 Рік тому +3

    👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎👎

    • @_Palzynock_
      @_Palzynock_ Рік тому +1

      Сами друкуйте коды,раз такие умные)

  • @user-nu6zg5ys1e
    @user-nu6zg5ys1e Рік тому

    Добрий день , перевірте чи правильно я написала код для задачі , будь ласка.
    Скільки потрібно взяти доданків, перший з яких дорівнює заданому дійсному числу, а кожний наступний - на 3 більший за попередній, щоб їх сума перевищила 100?
    Побудуємо математичну модель для цієї задачі в python
    • вхідні дані: перший доданок (а), число, на яке наступний доданок більше за попереднє, (3), число, яке має перевищити сума чисел, (100);
    • кінцеві результати: кількість доданків (n);
    • формули: a = a + 3, s = 5 + a, s

    • @TaskInformatics
      @TaskInformatics  Рік тому

      1. В рядку a=int(input("Уведіть перший доданок: ')) у вас відкриваючі подвійні лапки, а закриваюча одинарна. Має бути однаково. Але якщо у вас графічний інтерфейс, то краще вводити перший доданок не в консолі за допомогою print, а в текстове поле input_box.
      Отже, замість рядка a=int(input('Уведіть перший доданок: ')) напишіть a = int(input_box.get())

    • @user-nu6zg5ys1e
      @user-nu6zg5ys1e Рік тому

      @@TaskInformatics
      Я знайшла цю задачу в книжці , сторінка 243,244 , нам просто її не сказали . І там є фрагмент - приклад до цієї задачі. То якщо робити по тому фрагменті ,ось що виходить:
      from tkinter import *
      root = Tk()
      def calculate():
      a=int(input('Уведіть перший доданок: '))
      s = a
      n = 1
      while s

    • @TaskInformatics
      @TaskInformatics  Рік тому

      Правильно. З пунктом 2, що написав в попередньому коментарі, це я помилився. Але я б все-одно краще зробив ввід a не в консолі, а в текстовому полі. Але і так працює

    • @user-nu6zg5ys1e
      @user-nu6zg5ys1e Рік тому

      @@TaskInformatics щось не то виходить , там вискакує вікно, де нічого не разраховує і просто де помилки зазвичай пише

    • @TaskInformatics
      @TaskInformatics  Рік тому +1

      Все вірно. Вводите там з клавіатури перший доданок і натискаєте Enter. Число, яке висвітиться - це буде результат