Сторінка 1

субота, 21 січня 2017 р.

Опрацювання величин логічного типу

Увага! Під час роботи з комп'ютером дотримуйтеся правил безпеки і санітарно-гігієнічних норм.
Види навчальної діяльності
Обговорюємо
    1. У чому різниця між описами порівняння величин мовами програмування Free Pascal і Python?
    2. Як визначити значення логічного виразу, що містить логічні операції and, or та not? Як для пошуку відповіді на це запитання можна використати таблиці істинності?
    3. Які засоби для перетворення логічних даних в інші типи передбачені у мові програмування Python?
    4. Чим відрізняються описи оператора повного розгалуження мовами програмування Free Pascal та Python?
    5. Наведіть приклади, коли у програмі варто застосовувати оператор неповного розгалуження.
    Діємо разом
    • Вправа 1. Розробіть проект у середовищі Lazarus, у якому за введеним значенням температури води буде визначатись її агрегатний стан.
    1. Завантажте середовище Lazarus і створіть новий проект. 
    2. Змініть значення властивостей об'єкта Form1, розмістіть на формі об'єкти, як на зразку, та надайте значень їх властивостям.
    3. Задайте значення False для властивості Enabled текстового поля для виведення значення
    4. Створіть процедуру опрацювання події натиснення кнопки Визначити. У вікні редактора коду введіть програмний код і зверніть увагу на структуру команди розгалуження:
      procedure TForm1.Button1Click(Sender: TObject);
      var t: real;
      begin
           t:=StrToFloat(Edit1.Text);
           if t < 0 then Edit2.text:='Вода перебуває в твердому стані'
           else
               if t > 100 then Edit2.Text:='Вода перебуває у газоподібному стані'
               else Edit2.Text:='Вода перебуває у рідкому стані'
      end;
    5. Запустіть проект на виконання. Введіть значення температури, наприклад 25. Перевірте отриманий результат. Установіть, яка умова відповідає отриманому значенню.
    6. Запустіть проект на виконання ще раз для значення -10,5. Поясніть, чому проект не виконується. Внесіть зміни до проекту так, щоб користувач міг задавати температуру води дійсним числом. Зауважте, що дійсне число, яке вводиться в текстове поле, записується із десятковою комою, а в програмному коді використовують число, записане з десятковою крапкою.
    7. Збережіть проект і завершіть роботу із середовищем програмування.
    • Вправа 2У середовищі програмування мовою Python розробіть проект, за допомогою якого можна визначити, чи введений текст складається з одного слова, чи з декількох.
    1. У середовищі програмування мовою Python створіть новий файл з іменем Текст.
    2. В області програмного коду запишіть команди за зразком:
    3. import tkinter
      import tkinter.messagebox
      main = tkinter.Tk()
      
      # створення об'єкта для отримання значення з текстового поля
      str_var = tkinter.StringVar()
      
      # опрацювання події натиснення кнопки
      def button_click():
          # отримання значення введеного рядка і присвоєння змінній s
          s = str_var.get()
          
          # перевірка умови: пропуск входить у рядок s чи ні
          if ' ' in s:
              # виведення повідомлення при істинній умові    
              tkinter.messagebox.showinfo('Результат', 'введено кілька слів')
          else:
              # виведення повідомлення при хибній умові    
              tkinter.messagebox.showinfo('Результат', 'введено одне слово')
      
      #створення текстового напису та його розміщення на головній формі
      label = tkinter.Label(text='Введіть текст')
      label.pack()
      
      #створення текстового поля та його розміщення на головній формі
      edit = tkinter.Entry(main, textvariable=str_var)
      edit.pack()
      
      #створення кнопки та розміщення об'єкта на головній формі
      button = tkinter.Button(main, text='Перевірити', command=button_click)
      button.pack()
      
      #запуск опрацювання подій програми
      main.mainloop()
    4. Запустіть проект на виконання. Доберіть тестові дані та перевірте правильність складеної програми. Збережіть проект. Завершіть роботу із середовищем програмування.
    Працюємо в парах
    • Поміркуйте, чим буде відрізнятись порядок розробки проекту про агрегатний стан води в середовищі програмування мовою Python від його створення в середовищі Lazarus. Реалізуйте цей проект.
    Виконуємо самостійно
    • Завдання 1. У середовищі програмування Lazarus розробіть проект Мішень, у якому за введеними в текстові поля дійсними числами x та y  у вікні повідомлення буде виведено повідомлення «Вітаємо! Влучний постріл!», якщо точка з координатами (x; y) належить заштрихованій області, та повідомлення «Шкода, не влучив!» - в іншому разі.
      Орієнтовний зразок інтерфейсу програми:
    • Завдання 2. У середовищі програмування мовою Python розробіть проект, у якому виконується перевірка, чи дане слово є паліндромом (можна прочитати зліва направо так само, як справа наліво). Наприклад, слово «око» - це паліндром. Передбачте засоби, які слід використати для того, щоб слово «Пилип» теж було визначене як паліндром, ураховуючи різницю між великими та малими літерами. Проаналізуйте програмний код і реалізуйте власну програму:
      import tkinter
      from tkinter import messagebox
      main = tkinter.Tk()
      
      # створення об'єкта для отримання значення з текстового поля: Введіть слово
      word_var = tkinter.StringVar()
      
      # опрацювання події натиснення кнопки
      def button_click():
          # отримання значення введеного рядка і присвоєння змінній word
          word = word_var.get()
          # напишіть програмний код, який враховує різницю між великими та малими літерами
         
          # перевірка чи є слово паліндромом
          if word_edit == word_edit[::-1]:
              # виведення повідомлення про те, що слово є паліндромом    
              tkinter.messagebox.showinfo('Результат', 'Слово '+ word + ' є паліндромом.')
          else:
              # виведення повідомлення про те, що слово не є паліндромом    
              tkinter.messagebox.showinfo('Результат', 'Слово '+ word + ' не є паліндромом.')
      #створення текстового напису та його розміщення на головній формі
      label = tkinter.Label(text='Введіть слово')
      label.pack()
      
      #створення текстового поля та його розміщення на головній формі
      edit = tkinter.Entry(main, textvariable=word_var)
      edit.pack()
      
      #створення кнопки та розміщення об'єкта на головній формі
      button = tkinter.Button(main, text='Перевірити слово', command=button_click)
      button.pack()
      
      #запуск опрацювання подій програми
      main.mainloop()
    Домашнє завдання
    • Опрацювати підручник: §24 с. 157-161