Урок 21 (windows forms). Условия и множественный выбор

Работа с windows forms

Для создания приложения Windows Forms в Visual Studio 2019:
Лабораторная работа 21_1.
Элемент управления TextBox (текстовое поле)

Выполнить: Разработайте приложение, которое вычисляет сумму трех любых чисел при нажатии на кнопку.

Целью работы является знакомство с элементами управления visual c# textbox и button — текстовое поле и кнопка.

Пример выполнения:

[Название проекта: Lesson_4Lab4, название файла формы frmSumma.cs]

✍ Алгоритм:

    Инструментарий:

    объект свойство name свойство text
    форма Вычисление суммы
    кнопка (button) btnExit Выход
    текстовое поле (textbox) txtA 0
    текстовое поле (textbox) txtB 0
    текстовое поле (textbox) txtC 0
    текстовое поле (textbox) txtSumma 0
    кнопка (button) btnCount Вычислить
  1. Внимание! Называйте все объекты согласно правилам именования объектов, принятых в C#. В скобках будет указан возможный вариант для имени создаваемого объекта.
  2. Создайте новый проект (File → New → Project →Windows Forms Application ), назовите проект Урок 4 Лаб 4, а его форму — frmSumma (окно Свойства → свойство (Name)).
  3. Создайте и запрограммируйте на форме кнопку Выход (btnExit). Для этого в окне Toolbox разверните свиток All Windows Forms и дважды щелкните по элементу button. На форме появилась кнопка. Для того, чтобы запрограммировать кнопку, дважды щелкните по ней на форме — открылась новая вкладка с кодом для кнопки. Введите код:
  4.  private void btnExit_Click(object sender, EventArgs e)
            {
                this.Close(); // эта строка - ваш введенный код
            }
  5. Запустите приложение и убедитесь, что кнопка работает.
  6. Верните во вкладку с дизайном формы. Создайте три элемента управления Textbox (txtA, txtB, txtC) для слагаемых. Задайте свойство Text для этих элементов управления, равное 0 (в окне PropertiesText).
  7. Создайте еще один элемент управления TextBox (txtSumma) (размеры и расположение кнопок см. выше рис «форма Вычисление_суммы»).
  8. Создайте кнопку Вычислить (btnCount).
  9. Запрограммируйте событие Click для кнопки Вычислить следующим образом (дважды щелкните по кнопке на форме, чтобы запрограммировать событие):
  10. private void btnCount_Click(object sender, EventArgs e)
            {
           // здесь начинается ваш код
                int summa = Int32.Parse(txtA.Text) + 
                   Int32.Parse(txtB.Text) + Int32.Parse(txtC.Text);
                txtSumma.Text = summa.ToString();
           // здесь ваш код закончился
            }
    где Parse – функция преобразования строкового значение в целое число;
  11. Задайте надписи для кнопок («Вычислить» и «Выход»), изменив их свойство Text.
  12. Запустите приложение, введите значения для слагаемых и посмотрите, что произойдет, если Вы нажмете на кнопку Вычислить.
  13. Сохраните проект. Найдите на компьютере папку с проектом. Загрузите в moodle два файла: 1) файл frmSumma.cs 2) В папке bin → Debug файл с расширением .exe. Либо загрузите архив всей папки с проектом.

Контрольное задание. Разработайте приложение, которое вычисляет:

  • площадь треугольника по трем сторонам;
  • площадь прямоугольника по двум сторонам;
  • площадь треугольника по двум сторонам и углу между ними;
  • процент от числа.

[Название проекта: Lesson_4ExTask0, название формы L4ExTask0.cs]

Лабораторная работа 21_2.
Элемент управления ListBox (список), свойства и методы списка, программирование с ветвлением

Измените свойство Backcolor (Задний фон) текстового поля при помощи элемента управления ListBox – список

Целью работы является ознакомление с элементом управления в visual c# Listbox. Изучаются свойства добавления и удаления пунктов списка listbox. Вводится понятие программирования с ветвлением.

Пример выполнения:

[Название проекта: Lesson_4Lab5, название файла формы lesson4Lab5.cs]

✍ Алгоритм:

Инструментарий:

объект свойство name свойство text
форма
кнопка (button) btnExit Выход
текстовое поле (textbox) txt
список (ListBox) lst
  1. Поместите на новую форму текстовое поле TextBox c именем txt и элемент управления Список ListBox . Назовите его lst (свойство Name).
  2. На панели свойств элемента управления ListBox выберите свойство (атрибут) Items и задайте для него четыре пункта списка (нажимая на Enter после каждого пункта): черный, красный, синий, зеленый.
  3. Теперь запрограммируйте событие SelectedIndexChanged (изменение пункта списка) для списка, таким образом, чтобы при нажатии на определенный пункт c цветом, цвет текстового поля менялся бы на соответствующий. Используйте при этом оператор Visual c# If:
  4. private void lst_SelectedIndexChanged(object sender, EventArgs e)
            {
               // ваш код:
                if (lst.SelectedItem == "black")
                {
                    txt.BackColor = System.Drawing.Color.Black;
                }
                else if (lst.SelectedItem == "red")
                {
                    txt.BackColor = System.Drawing.Color.Red;
                }
                else if (lst.SelectedItem == "blue")
                {
                    txt.BackColor = System.Drawing.Color.Blue;
                }
                else if (lst.SelectedItem == "green")
                {
                    txt.BackColor = System.Drawing.Color.Green;
                }
            // здесь ваш код закончился
            }
      
    System – пространство имен;
    Drawing — пространство имен, обеспечивающее доступ к функциональным возможностям графического интерфейса
    Событие SelectedIndexChanged происходит при выделении различных пунктов в элементе управления списка данных между отправками к серверу.
  5. Все работает, но теперь мы рассмотрим второй способ задания пунктов списка: с помощью программного кода.
  6. Удалите все цвета из атрибута Items элемента управления lst. Теперь необходимо добавить в обработку события Load формы (загрузка формы) следующий код (дважды щелкните на пустом месте дизайна формы, чтобы открыть код):
  7. private void Form1_Load(object sender, EventArgs e)
            {
                // ваш код:
                lst.Items.Add("black");
                // ... добавьте другие цвета
            }
  8. Запустите и отладьте программу.

Контрольное задание.
Добавьте ListBox для изменения ширины (атрибут Width) текстового поля: минимальная — 20, средняя – 50, максимальная — 100.

Примечание: использовать свойство текстового поля Size, и System.Drawing.Size(значение ширины, значение высоты)

[Название проекта: Lesson_4ExTaskLab5, название формы L4ExTaskLab5.cs]

(необязательно для выполнения) Лабораторная работа 21_3.
Разработайте приложение, которое изменяет задний фон текстового поля из предыдущего занятия, реализовав эту функцию с помощью меню формы
Целью данного урока является ознакомление с элементом управления MenuStrip при работе в visual c++ с формами.

Пример выполнения:
c++ меню menuStrip

[Название проекта: Lesson_4Lab6, название файла формы lesson4Lab6.cs]

✍ Алгоритм:

Инструментарий:

объект свойство name
форма
меню формы (MenuStrip) MenuStrip1
  1. Запустите проект из предыдущего занятия. Удалите ListBox (Список).
  2. Для создания меню на панели инструментов выберите MenuStrip . Дважды кликните на появившемся в нижней области окна объекте, а затем перейдите на форму и в области (Вводить здесь) введите меню верхнего уровня с текстом Цвет.
  3. Переместитесь на нижнюю область и введите текст Черный. Заполните элемент MenuStrip следующим образом:
Цвет
Черный
Красный
Синий
Зеленый
  1. Запустите программу и поэкспериментируйте: выбирайте разные элементы созданного объекта.
  2. Запрограммируйте событие Click для каждого пункта; например, для элемента Черный необходимо написать следующий код (дважды щелкнув на пункте, чтобы открыть код):
private void ЧерныйToolStripMenuItem_Click(object sender, EventArgs e)
{
  this.txt.BackColor=System.Drawing.Color.Black;
}
  1. Запрограммируйте аналогично остальные пункты Цвет.
  2. Запустите и отладьте приложение. Сохраните проект.
Дополнительное задание:

  1. При выборе какого-либо пункта сделайте его недоступным для повторного выбора (свойство Enabled=false).
  2. Выполните дополнительное задание из занятия № 5, реализовав функцию с помощью MenuStrip.
Вопросы для самоконтроля:

  1. Каково основное назначение объекта MenuStrip?
  2. Как запрограммировать необходимый пункт меню формы в Visual c++?
  3. Какое свойство служит для изменения фона объекта?
  4. С помощью какого свойства menu можно сделать недоступным какой-либо пункт?

Тренировка решения задания 5 ЕГЭ (5.18)

Решение 5 задания (Вариант 243, с сайта К. Полякова):
Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом:
1. Строится двоичная запись числа N.
2. Подсчитывается количество нулей и единиц в полученной записи. Если их количество одинаково, в конец записи добавляется её последняя цифра. В противном случае в конец записи добавляется цифра, которая встречается реже.
3. Шаг 2 повторяется ещё два раза.
4. Результат переводится в десятичную систему счисления.

При каком наименьшем исходном числе N > 80 в результате работы алгоритма получится число, кратное 4?

Ответ: 87


Тренировка решения задания 9 ЕГЭ (9.0)

Решение 9 задания (Вариант 93, с сайта К. Полякова):

Откройте файл электронной таблицы 9-0.xls, содержащей вещественные числа – результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев.
Найдите разность между максимальным и минимальным среднемесячными значениями для имеющихся данных.
В ответе запишите целую часть получившегося числа?

Ответ: 11


Тренировка решения задания 6 ЕГЭ (6.3)

Решение 6 задания (Вариант 114, с сайта К. Полякова):

Сколько существует различных значений d, оканчивающихся на 8, при вводе которых эта приведенная программа выведет число 1247?

Паскаль:

1
2
3
4
5
6
7
8
9
10
11
var S, N, d: integer;
begin
  readln(d);
  S := 5;
  N := 7;
  while S <= 3011 do begin
    S := S + d;
    N := N + 124;
  end;
  writeln(N);
end.
Бейсик:

 
Python:

d = int(input())
S = 5
N = 7
while S <= 3011:
  S = S + d
  N = N + 124
print(N)
С++:

 

Ответ: 699


Тренировка решения задания 6 ЕГЭ (6.2)

Решение 6 задания (Вариант 80, К. Поляков):

Определите, при каком наибольшем введённом значении переменной s программа выведет число 15.

Паскаль:

1
2
3
4
5
6
7
8
9
10
var s, n: integer;
begin
  readln(s);
  n := 5;
  while s < 110 do begin
    s := s + n;
    n := n + 1
  end;
  writeln(n)
end.
Бейсик:

 
Python:

s = int(input())
n = 5
while s < 110:
  s = s + n
  n = n + 1
print( n )
С++:

 

Ответ: 28


Тренировка решения задания 6 ЕГЭ (6.1)

Решение 6 задания (Вариант 67, К. Поляков):

Определите, при каком наименьшем введённом значении переменной s программа выведет число 96.

Паскаль:

1
2
3
4
5
6
7
8
9
10
var s, n: integer;
begin
  readln (s);
  n := 3;
  while s <= 51 do begin
    s := s + 7;
    n := n * 2
  end;
  writeln(n)
end.
Бейсик:

 
Python:

s = int(input())
n = 3
while s <= 51:
  s = s + 7
  n = n * 2
print( n )
С++:

 

Ответ: 17


Pascal: Занятие. Срезы, списки, последовательности (pascalabc.NET)

На занятии происходит знакомство со срезами и списками в pascalabc net. Последовательности в Паскале. Рассматриваются алгоритмы для работы со срезами и списками

Дальше — больше… Pascal: Занятие. Срезы, списки, последовательности (pascalabc.NET)

Тренировка решения задания 15 ЕГЭ (15.14)

Решение 15 задания (Вариант 295, К. Поляков):

Укажите наименьшее целое значение А при котором выражение

(y + 4x < A) ∨ (x + 4y > 120) ∨ (5x – 2y > 50)

истинно для любых целых положительных значений x и y.

Ответ: 106


Тренировка решения задания 15 ЕГЭ (15.8)

Решение 15 задания (Вариант 213, К. Поляков):

Определите наименьшее натуральное число A из интервала [50, 100] такое, что выражение:

(((x & 56 ≠ 0) → (x & 18 ≠ 0)) ∨ (x & A ≠ 0)) → ((x & 18 = 0) ∧ (x & A = 0) ∧ (x & 43 ≠ 0))

тождественно ложно (то есть принимает значение 0 при любом натуральном значении переменной x)?

Ответ: 57


Тренировка задания 4 ЕГЭ (4.9)

Решение 4 задания (Вариант 153, К. Поляков):

По каналу связи передаются сообщения, содержащие только семь букв: А, И, К, Л, Р, Ц, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны:

А – 01
Я – 11

Какое наименьшее количество двоичных знаков потребуется для кодирования слова КИРИЛЛИЦА?

Ответ: 28


Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить