Цель:Развить навыки обработки строковых данных. Уметь использовать различные методы обработки строк. Получить навыки в организации работы со строковыми переменными: удалением, вставкой, копированием, заменой одной строки на другую и т.д.
Оборудование и материалы:Методическое пособие, ПЭВМ, ручка, карандаш, линейка, ластик, шаблон А4.
Ход работы
Методические рекомендации.
Необходимая информация содержится в лекциях № 19-22.
Решение задач представить в следующем порядке: постановка задачи, построение математической модели, блок-схемы, программный код, тестирование.
Задание для лабораторной работы выбрать согласно варианту по приведённой таблице. Вариант определяется порядковым номером в журнале группы.
Для работы с символьной информацией используют новый тип данных - строковый, именуемый ключевым словом string (или просто строка). Этот тип данных во многом похож на одномерный массив символов (Array[0..N] of char), но длина строки (максимальное количество символов N ограничивается числом 255). Значение N определяется при объявлении типа string (N) и может быть любой константой порядкового типа, но не больше 255. Значение N при объявлении типа string можно не указывать: в этом случае длина строки принимается равной 255 символам.
Строка трактуется как цепочка символов и к любому символу в строке можно обратиться по адресу (индексу), подобно одномерным массивам типа Array[0..N] of char. Самый первый байт в строке, имеющий адрес 0 (ноль), содержит код, равный числу символов в строке (длине строки).
Например, дана строка, имеющая следующее описание:
Var St: string;
Тогда длину строки St можно определить как значение функции
Відповідь:
Як описати алгоритмічну структуру розгалуження мовами програмування Free Pascal та Python?
Як описати алгоритмічну структуру повторення мовами програмування Free Pascal та Python?
Як описати операції над величинами різних типів мовами програмування Free Pascal та Python?
Для чого на електронних формах використовують елементи управління перемикач, прапорець, список?
Виконуємо самостійно
З
Проаналізуйте програмний код, де враховується пільговий обсяг електроенергії:
procedure TForm1.Button1Click(Sender: TObject);
var result, outgo, privilege, price1, price2, price3: real;
begin
privilege:=30;
price1:=0.71;
price2:=1.29;
price3:=1.64;
outgo:=StrToFloat(Edit1.Text);
if CheckBox1.Checked = True then outgo:=outgo-privilege;
if outgo < 100 then
result:=price1*outgo
else if (outgo >= 100) and (outgo < 600) then
result:=price2*outgo
else
result:=price3*outgo;
MessageDlg('Сума для оплати за електроенергію:' + #13#10 + FloatToStr(result) + ' грн.', mtInformation, [mbOk], 0);
end;
Завдання 2. У магазині на деякі товари (молоко, фрукти, овочі, печиво) прийняли систему знижок: товар, який не проданий за тиждень, наступного тижня дешевшає на 10%, ще через тиждень – на 20% і т.д. Розробіть у середовищі Lazarus проект Знижки, у якому користувач обирає товар й у текстове поле вносить номер тижня покупки
Після натиснення кнопки Розрахувати у вікні повідомлення – отримує ціну товару на дату покупки
Візьміть до уваги, що відсотки знижки розраховуються, починаючи із другого тижня за формулою:
Проаналізуйте рядки програмного коду, де вибираються товари, і як обчислюється ціна товару зі знижкою, в залежності від порядкового номера тижня:
procedure TForm1.Button1Click(Sender: TObject);
var n, i: integer;
price, p_milk, p_fruits, p_vegetables, p_cookies:real;
result: string;
begin
n:=StrToInt(Edit1.Text);
p_milk:=30;
p_fruits:=55;
p_vegetables:=25;
p_cookies:=15;
if ComboBox1.ItemIndex = 0 then
price:=p_milk
else if ComboBox1.ItemIndex = 1 then
price:=p_fruits
else if ComboBox1.ItemIndex = 2 then
price:=p_vegetables
else
price:=p_cookies;
if n >= 2 then
begin
i:=2;
while i <= n do
begin
price:=price*(100-i*10)/100;
i:=i+1;
end;
result:='Ціна товару зі знижкою: ' + FloatToStr(price) + ' грн.' + #13#10 + 'на ' + IntToStr(n) + ' тижні.';
end
else
result:='Ціна товару: ' + FloatToStr(price) + ' грн.' + #13#10 + 'Знижка відсутня.';
MessageDlg(result, mtInformation, [mbOk], 0);
end;
Завдання 3. Один дідусь у селі вирішив розводити кроликів. Він знає, що ще в ХІІІ ст. Леонардо Пізанський вивів формулу закону розмноження кроликів, яка визначає ряд чисел, що отримали назву чисел Фібоначчі: 1, 1, 2, 3, 5, 8… Можна помітити, що починаючи з третього числа, кожне наступне дорівнює сумі двох попередніх, тобто має місце формула:
Розробіть проект у середовищі програмування мовою Python, за яким після натиснення кнопки Розрахувати за введеним у текстове поле порядковим номером, що визначає послідовність етапу розмноження кроликів, у вікні повідомлення буде відображено відповідне число Фібоначчі. Наприклад, програма може мати такий вигляд екранної форми і відповідний результат:
Скористуйтеся програмним кодом, поданим нижче, для аналізу роботи алгоритму повторення:
import tkinter
from tkinter import ttk
from tkinter import messagebox
main = tkinter.Tk()
main.title('Кролеферма')
# створення об'єкта для отримання значення з текстового поля: Етап розведення кроликів
n_var = tkinter.StringVar()
# опрацювання події натиснення кнопки
def button_click():
# отримання значення введеного рядка Етап розведення кроликів і присвоєння змінній n
n = int(n_var.get())
fibonacci = 0
fib1 = 1
for i in range(n):
fib2 = fib1
fib1 = fibonacci
fibonacci = fib1 + fib2
# виведення повідомлення кількість кроликів на вибраному етапі розведення
tkinter.messagebox.showinfo('Число кроликів', str(fibonacci))
#створення текстового напису Введіть номер тижня та його розміщення на головній формі
label = tkinter.Label(text='Етап розведення кроликів')
label.pack()
#створення текстового поля Етап розведення кроликів та його розміщення на головній формі
edit = tkinter.Entry(main, textvariable=n_var)
edit.pack()
#створення кнопки та розміщення об'єкта на головній формі
button = tkinter.Button(main, text='Отримати число кроликів', command=button_click)
button.pack()
#запуск опрацювання подій програми
main.mainloop()
Завдання 4. Члени математичного гуртка ознайомились із поняттям факторіала числа – добутку натуральних чисел від 1 до даного числа:
Розробіть проект у середовищ
Пояснення:
Поделитесь своими знаниями, ответьте на вопрос:
Модель базы данных ориентированная на организацию данных в виде таблиц