# data[].attributes.headline
творчі роботи

# data[].attributes.subject
творчі роботи

# data[].attributes.body
https://urok.osvita.ua/materials/informat/69103/

# data[].attributes.headline
алгоритми та програми

# data[].attributes.subject
алгоритми та програми

# data[].attributes.body
http://janna-teacher2.com.ua/sites/default/files/metod_scratch2017.pdf

# data[].attributes.headline
тести лазарус 8 кл

# data[].attributes.subject
тести лазарус 8 кл

# data[].attributes.body
https://naurok.com.ua/test/algoritmi-ta-programi-lazarus-8-klas-1392270.html

# data[].attributes.attachment_link.authors[].name
Осіпчук Тетяна 

# data[].attributes.attachment_link.title
Алгоритми та програми Lazarus 8 клас | Тест з інформатики - "На Урок"

# data[].attributes.attachment_link.description
Виконайте тест, щоб перевірити знання з інформатики (8 клас). Оператор (команда) присвоювання:

# data[].attributes.headline
побудова трикутника за 3  сторонами.

# data[].attributes.subject
побудова трикутника за 3  сторонами.

# data[].attributes.headline
8 клас .Працюємо в середовищі Лазарус.

# data[].attributes.subject
8 клас .Працюємо в середовищі Лазарус.

# data[].attributes.body
Алгоритм — це запис скінченої послідовності вказівок, виконання яких призводить до розв'язання певної задачі.

Вказівка (алгоритму) — це спонукальне речення, що вказує, яку дію має виконати виконавець алгоритму.

Виконавець (алгоритму) — це жива істота (людина або тварина) або автоматичний пристрій (робот, електронна обчислювальна машина тощо), спроможна діяти відповідно з алгоритмом.

Система вказівок виконавця — це множина (сукупність) всіх вказівок, які може виконувати даний виконавець.

Середовище виконання алгоритму — об'єкти, з якими працює виконавець у процесі виконання алгоритму.

Мова програмування — це система позначень для опису алгоритмів та структур даних, певна штучна формальна система, засобами якої можна виражати алгоритми. Мову програмування визначає набір лексичних, синтаксичних і семантичних правил, що задають зовнішній вигляд програми і дії, які виконує виконавець (комп'ютер) під її керуванням.

Перші мови програмування з'явилися задовго до появи перших комп'ютерів. Ще в 19-му столітті існували «програмовані» ткацькі верстати та піаніно-програвачі. На початку 20-го століття починають використовувати перфокарти та механічне опрацювання даних.

Першою широковживаною компільованою мовою став розроблений групою Джона Бекуса Фортран, анонсований у 1954 році і випущений у 1957 для IBM 704.

У 1958 році у Масачусетському Технологічному Інституті розробили LISP — мову, яка понад чверть століття домінувала у програмуванні задач штучного інтелекту.

У 1964 році було створено спрощену мову BASIC — Beginners All-purpose Symbolic Instruction Code — для навчання програмуванню студентів, які переважно спеціалізувалися у вільних мистецтвах, а не технічних науках.

У 1965 році було розроблено мову PL/I, яка поєднувала можливості Фортран, ALGOL і COBOL, і виявилась заскладною, хоча і була у широкому вжитку у 1970-их у наукових і бізнес задачах.

У 1971 році Вірт опублікував опис мови Pascal, яка у 70-их стала загальновживаною для навчання студентів.

У 1972 році Деніс Річі розробив у Bell Labs мову C. Тоді ж у Марселі створено інтерпретатор мови Пролог — першої і найвідомішої мови логічного програмування.

У 1984 році з метою об'єднання різних діалектів мови LISP створено Common LISP. Випущено MATLAB.

У 1985 році Б'ярн Страуструп опублікував реалізацію мови C++.

У 1986 році Borland і Apple незалежно створили об'єктно-орієнтоване розширення мови Pascal — Object Pascal.

У 1991 році створено Visual Basic і опубліковано Python.

У 1995 році Sun Microsystems випустила Java, Netscape— JavaScript, тоді ж створено PHP і Ruby.

У 2001 році створено C#.

В основі середовища програмування Lazarus лежить мова програмування Object Pascal, яка бере свій початок від класичної мови Pascal. Одне з поширених середовищ програмування Delphi теж ґрунтується на цій мові. Мова програмування Pascal була розроблена в 1971 році професором Інституту інформатики швейцарської вищої політехнічної школи Ніклаусом Віртом і названа на честь французького математика, фізика й філософа Блеза Паскаля (1623–1662).

Середовище програмування Lazarus — це комплекс програмних засобів, до якого входять: текстовий редактор, компілятор, налагоджувач. Середовище програмування має графічний інтерфейс, який містить набір меню, панелей і вікон для розробки програм.

Абетка мови Pascal (Паскаль):

літери латиниці (великі і малі): A–Z, a–z;

арабські цифри: 0–9;

cпеціальні символи: + — * / = < > [ ] ( ) { } $ ^ # ; , .

Примітка. Компілятор Pascal не враховує регістр літер.

За допомогою цих символів записують таке.

Операції:
– — віднімання;
+ — додавання;
* — множення;
/ — ділення (з дійсним результатом).

Відношення:
< — менше;
> — більше;
<= — не більше;
>= — не менше;
= — дорівнює;
<> — не дорівнює.

Елементи синтаксису —
використання розділових знаків для відокремлення чи вказання:

; — вказівок;
, — елементів списків;
. — цілої частини числа від дробової;
.. — меж неперервного діапазону;
' ' — символів або рядків тексту;
( ) — виразів і списків;
[ ] — індексу чи діапазону індексів масиву;
(* *) або { } — коментарів;
: — міток;
$ — шістнадцяткового коду;
^ — символ керування.

Зарезервованіслова, змістякихфіксованомовоюіякінеможнавикористовуватиякназвисталих, змінних, процедур, функційчиміток:
and, asm, array, begin, case, const, constructor, destructor, div, do, downto, else, end, exports, file, for, function, goto, if, implementation, in, inherited, inline, interface, label, library, mod, nil, not, object, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor, absolute, assembler, export, external, far, forward, index, interrupt, near, private, public, resident, virtual.

Використання імен псевдомасивів Port, PortW, Mem, MemW, MemL не викликає помилки, але унеможливлює їх подальше застосування.

В описі мови традиційно використовують такі умовні позначення:
< > — обов'язковий параметр;
[ ] — не обов'язковий параметр.

Описова частина містить опис всього, що буде надалі використано у програмі:

uses <назва1>,<назва2> ...; — приєднання бібліотек та модулів;

label <назва1>,<назва2> ...;— оголошення (перелік) міток;

type
<назва1>=<опис1 через наявні типи>;
<назва2>=<опис2 через наявні типи>...; — опис типів даних;

const
<назва1>[:тип]=<значення1>;
<назва2>[:тип]=<значення2> ...; — оголошення сталих (величин), значення яких не буде змінено протягом виконання програми. При спробі змінити сталу буде вказано на помилку на етапі компіляції;

var <назва1>, <назва2>... :<тип> — оголошення змінних;

procedure <назва>
[параметри];
[опис локальних змінних]
[вказівки] — оголошення процедури;

function <назва>
[параметри] : <тип>
[опис локальних змінних]
[вказівки] — оголошення функцій користувача;

Виконувана частина розпочинається службовим словом begin, а завершується словом end з крапкою. Між цими службовими словами записують вказівки щодо дій з об`єктами програми, оголошеними в розділі описів. Вказівки відокремлюють одну від одної крапкою з комою.

begin <вказівка1>; <вказівка2>... end.

Free Pascal — вільно поширюване середовище програмування, яке використовують при проведенні Міжнародної та Всеукраїнської учнівських олімпіад з інформатики. Ядром середовища є мова Pascal. Перший компілятор цієї мови створено Ніклаусом Віртом у 1970-му у Федеральній вищій технічній школі Цюріха (німецькою Eidgenössische Technische Hochschule Zürich).

Поняття величини є одним з найважливіших понять математики та фізики. Більшість з них є числовими. У програмуванні користуються таким визначенням.

Величина — одиниця даних, якими оперує програма. Вона має такі властивості:

назва (ідентифікатор) — послідовність літер латиниці, цифр і нижнього підкреслювання «_», на початку — обов'язково літера;

тип — визначає обсяг відведеної пам'яті, можливі дії, правила тлумачення бітів пам'яті та множину допустимих значень. Мова Pascal не предбачає зміни типу змінної протягом виконання програми. На відміну, наприклад, від мов Javasript чи Reduce.;

розмірність — проста або складена (структурована);

значення — елемент множини допустимих значень величини. Це єдина властивість змінної, яку можливо змінити протягом виконання програми, написаною мовою Pascal.

З кожною величиною (або її складовою для структурованої величини) пов'язана ділянка оперативної пам’яті, куди її під час роботи програми заносять та у якій зберегають. Цю ділянку визначено її адресою. Тут під адресою розуміють адресу першого байту з послідовновних щодо адресації байтів, відведених для збереження величини. Назва змінної слугує назвою цієї послідовності байтів під час виконання програми.

Оператор надання значення має такий вигляд:

<назва змінної>:=<вираз>

Тут типи змінної та виразу мають збігатися або хоча б належати до однієї категорії. Цілі, дійсні, булеві, рядкові (означення див. далі) — це різні категорії типів.

У мові Pascal передбачено використання таких простих типів змінних.

Цілі числові типи

| Назва
типу | Діапазон
зміни | Кількість
відведених
байтів
| byte | 0..255 | 1
| word | 0..65535 | 2
| shortint | – 128..127 | 1
| integer | – 32768..32767 | 2
| longint | – 2147483648..2147483647 | 4
| int64 | – 9 223 372 036 854 775 808
..9 223 372 036 854 775 807 | 8

Примітка. При опрацюванні даних опрацьовують кожен біт. Тому використання того типу даних, на який відведено менший об'єм пам'яті, призводить не лише до економії пам'яті, але й до економії часу роботи процесора. Але потрібно пильнувати, щоб результати всіх обчислень, у тому числі проміжних, лежали у діапазоні зміни обраного типу змінних.

Цілі типи є впорядкованими, тобто до них можна застосовувати операції порівняння. Вони є порядковими, тобто для них означені дії визначення попереднього чи наступного елемента. Крім операцій порівняння до цілих типів даних застосовують такі операції:

додавання +;

віднімання –;

множення *;

(неповна) частка від ділення div;

лишок від ділення mod;

побітна сума (за модулем 2) xor.

Примітка. Для від'ємних аргументів операції div, mod не завжди працюють у повній відповідності до означень чистої математики: можуть виникати від'мні лишки.

Дійсні числові типи

| Назва
типу | Діапазон
зміни | Число
значущих
цифр | Кількість
відведених
байтів
| Real | 2.9·10–39..1.7·10³⁸ | 11–12 | 6
| Single | 1.5·10–45..3.4·10³⁸ | 7–8 | 4
| Double | 5.0·10–324..1.7·10³⁰⁸ | 15–16 | 8
| Extended | 3.4·10–4932..1.1·10⁴⁹³² | 19–20 | 10
| Comp | – 9 223 372 036 854 775 808
..9 223 372 036 854 775 807 | 19 | 8

Дійсні типи є впорядкованими, але не є порядковими. До дійсних типів даних застосовують операції порівняння, додавання, віднімання, множення, ділення (/). На них означені такі фінкції (перелік далеко неповний):

округлення round(x);

дробова частина frac(x);

ціла частина int(x);

квадрат sqr(x);

корінь квадратний sqrt(x);

відкидання цифр після десяткової крапки trunk(x);

модуль (абсолютна величина) abs(x);

арктанґенс arctan(x);

синус sin(x);

косинус cos(x);

експонента exp(x);

логарифм ln(x).

Тут синім кольором подано назви математичних функцій, які вивчають на уроках математики у старших класах і тут подано лише для відносної повноти опису. Зауважимо лише, що a b обчислюють так: exp(b*ln(a)).

Символьний тип char передбачає використання символів всієї кодової таблиці комп'ютера ASCII (літер, цифр, спеціальних символів). Цей тип є впорядкованим і порядковим (порівнюють коди символів). Символьну сталу записують як символ, взятий в апострофи. Наприклад, '$'.

Логічний тип boolean описує величину, що може бути лише хибною (false) або істиною (true), але на збереження якого відводять 1 байт.

Такі величини отримують, наприклад, у результаті обчислення логічних виразів з операціями порівняння (відношення). Для даних логічного типу визначено такі операції:

заперечення not;

логічне «і» and;

логічне «або» or;

побітна сума xor.

| Значення
операндів
(аргументів) | Результат операції
| X | Y | not X | X and Y | X or Y | X xor X |
| false | false | true | false | false | false |
| false | true | true | false | true | true |
| true | false | false | false | true | true |
| true | true | false | true | true | false |

Подамо приклад програми порівняння одного з трьох введених цілих чисел з сумою решти

program example3;

var  a, b, c: integer;

la,lb,lc: boolean;

begin

write('Введіть 3 цілих числа через пропуск ');

readln(a,b,c);

la:=a>b+c;

lb:=b>c+a;

lc:=c>a+b;

writeln('a>b+c b>c+a c>a+b');

writeln(la:5,lb:6,lc:6);

end.

В останній вказівці після двокрапки вказано кількість позицій (символів) для виведення (останню заповнено). Результат роботи при введенні 3 4 5 буде таким.

Введіть 3 цілих числа через пропуск 3 4 5

a>b+c b>c+a c>a+b

False False False

Типлінійного (одновимірного) масиву, що відповідає послідовності елементів:

array[<найменше значення індексу>..<найбільше значення індексу>] of <тип>;

Типдвовимірногомасиву, що відповідає прямокутній таблиці елементів:

array[<найменше значення індексу1>..<найбільше значення індексу1>;

<найменше значення індексу2>..<найбільше значення індексу2>] of <тип>;

Тип множина

set of <тип>

Тут <тип> передбачає наявність лише 256 різних значень. Наприклад, char, byte чи shortint.

Дії з множинами

include(s,e) — долучення елемента e до множини s;

exclude(s,e) — вилучення елемента e з множини s;

[<назва1>,<назва2>...] —
множина з елементами <назва1>, <назва2>…;

<елемент> in <множина> —
висловлювання щодо приналежності елемента до множини;

<множина1> * <множина2> — перетин множин;

<множина1> + <множина2> — об'єднання множин;

<множина1> - <множина2> — різниця множин.

Тип запис — сукупність полів

record

<назва поля1>: <тип поля1>;

<назва поля2>: <тип поля2>; …

end;

Щоб отримати доступ до значення поля, потрібно у тексті програми вказати назву змінної-запису і через крапку вказати назву поля:

<назва змінної (сталої)>.<назва поля>

Тип масиву записів особливо зручний при роботі з послідовністю елементів, що мають кілька характеристик. Якщо використовувати n масивів для опису n характеристик, то при переставленні двох членів послідовності потрібно використовувати 3n вказівок надання значення. При використанні масиву записів для цього достатньо 3 дії. Очевидний виграш у довжині коду і ймовірності припуститися помилки при наборі.

Типи файлів

text — текстовий;

file of <тип> — файл змінних певного типу;

file — нетипізований файл.

Надалі ми обмежимося роботою з лише з текстовими файлами.

Робота з файлами

assign(f,s) — зв'язування файлової змінної f з назвою (шляхом) s;

reset(f) — відкриття файлу f на читання;

rewrite(f) — відкриття файлу f на запис з першої позиції;

append(f) — відкриття файлу f на дописування;

close(f) — закриття файлу f;

eoln(f) — булева функція — результат справдження висловлювання: «рядок файл f закінчився»;

eof(f) — булева функція — результат справдження висловлювання: «файл f закінчився»;

seekeoln(f) — булева функція — результат справдження висловлювання: «до кінця рядка файлу f залишилися лише пропуски»;

seekeof(f) — булева функція — результат справдження висловлювання: «до кінця файлу f залишилися лише пропуски й ознаки кінця рядка».

Тут і в наступних описах замість f можна записати будь-яку іншу назву файлу.

Оператори введення-виведення

read(f,<перелік величин>) — зчитування з файлу f без переходу на наступний рядок;

readln(f,<перелік величин>) — зчитування з файлу f з переходом на наступний рядок;

write(f,<перелік величин>) — запис у файл f без ознаки кінця рядка;

writeln(f,<перелік величин>) — запис у файл f з ознакою кінця рядка.

У разі відсутності назви файлової змінної f (і коми) операцію введення / виведення буде здійснено зі стандартним пристроєм Input / Output. Як усталено — з клавіатурою / екраном.

Розгалуження
if <умова> then <вказівка> else <вказівка>
— повна форма умовного оператора.

if <умова> then <вказівка>
— неповна форма умовного оператора.

goto <мітка> — перехід до мітки.

case <вираз> of

<значення1>: <дія1>;

<значення2>: <дія2>; …

else <дія>

end

— виконання дії залежно від значення виразу. Замість значень можна записувати діапазон у такому вигляді:
<найменше значення>..<найбільше значення>.

begin [<вказівки>] end — об'єднання кількох вказівок в одну.

Цикли

for j:=1     to n do <вказівка>

for j:=n downto 1 do <вказівка>

— цикли з відомим діапазоном зміни індекса. У першому випадку змінна цілого типу j буде зростати від 1 до n, у другому — спадати від n до 1. Замість меж зміни (1 й n) можна записати довільні вирази, що набувають цілих значень, замість j — довільну допустиму назву змінної цілого типу.

while <умова> do <вказівка>
— з попередньою перевіркою умови.

repeat <вказівки> until <умов>>
— до справдження умови.

break — вихід з циклу.

halt [код виходу] — припинення виконання програми.

Тип рядок (тексту)
string — тип рядка до 255 символів включно;
string[1..n] — тип рядка до n символів включно.

Функції рядків

copy(s,k,j) — частина рядка s з позиції k довжини j символів;

length(s) — довжина рядка s;

pos(q,s) — найменший номер символа рядка s, з якої починається q. Якщо послідовність q не є частиною s, функція повертає 0.

Процедури дій з рядками

val(s,x,c) — перетворення рядка s у число x з кодом виходу c;

str(x,s) — перетворення числа x у рядок s;

delete(s,k,j) — вилучення з рядка s підпослідовності j символів, починаючи з позиції k.

Динамічний розподіл пам'яті

^<тип> — тип вказівника на змінну певного типу;

<назва>^ — звертання у тексті програми для доступу до значення. Без дашка ^ сама лише назва даватиме адресу на першу комірку області пам'яті, відведеної для збереження змінної;

new(<назва>) — виділення області оперативної пам'яті для даних певного типу і запам'ятовування адреси першої комірки області у змінній з назвою-аргументом;

dispose(<назва>) — вивільнення оперативної пам'яті для даних певного типу, починаючи з комірки, адресу якої вказано як аргумент.

# data[].attributes.headline
Задачі на ПАЙТОН.

# data[].attributes.subject
Задачі на ПАЙТОН.

# data[].attributes.body
Вивести числа у зворотньому порядку.

a = int(input())

n = 0

while a > 0:

z = a % 10

a //= 10

n *= 10

n += z

print(n)

Середнє значення послідовності

Визначте середнє значення всіх елементів послідовності, яка завершується числом 0.Використовувати масиви в даній задачі можна.

suma = 0

i = 0

while n != 0:

suma += n

i += 1

n = int(input())

print(suma / i)

# data[].attributes.headline
завдання на поділ.

# data[].attributes.subject
завдання на поділ.

# data[].attributes.body
procedure TForm1.Button4Click(Sender: TObject);

var a,b,result:real;

begin

a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

result:=a/b;

edit3.Text:=FloatToStr(result);

end;

# data[].attributes.headline
Задання 2. Побудова фігури.

# data[].attributes.subject
Задання 2. Побудова фігури.

# data[].attributes.body
import turtle

import random

turtle.shape('turtle')

turtle.width(3)

for i in range(10):

turtle.right(36)

color=random.choice(['blue', 'red', 'yellow', 'green', 'gray', 'brown', 'purple'])

turtle.color(color)

for i in range(4):

turtle.forward(100)

turtle.right(90)

# data[].attributes.headline
обчислення площі та периметру прямокутника

# data[].attributes.subject
обчислення площі та периметру прямокутника

# data[].attributes.body
a = float (input())

b = float (input())

S = a * b P = 2(a+b)

print S

print P

# data[].attributes.headline
 Дано двоцифрове число. Визначте кількість десятків та кількість одиниць в даному числі.

# data[].attributes.subject
 Дано двоцифрове число. Визначте кількість десятків та кількість одиниць в даному числі.

# data[].attributes.body
print('Введіть двоцифрове чило ')

x=int(input('x='))

a=x//10

b=x%10

print('Десятків-',a,', одиниць-',b)

# data[].attributes.headline
завдання в  середовищі Лазарус.

# data[].attributes.subject
завдання в  середовищі Лазарус.

# data[].attributes.body
1.для введення з клавіатури двох цілих чисел та виведення на екран їхньої суми:

program sum

var a,b,c: integer;

begin

readln(a,b);

writeln(a+b);

readln; {затримка екрану користувача}

end.

2.порівняння одного з трьох введених цілих чисел з сумою решти

program example3;

var  a, b, c: integer;

la,lb,lc: boolean;

begin

write('Введіть 3 цілих числа через пропуск ');

readln(a,b,c);

la:=a>b+c;

lb:=b>c+a;

lc:=c>a+b;

writeln('a>b+c b>c+a c>a+b');

writeln(la:5,lb:6,lc:6);

end.

# data[].attributes.headline
тести пайтон.

# data[].attributes.subject
тести пайтон.

# data[].attributes.attachment_link.authors[].name
Іванова Марина 

# data[].attributes.attachment_link.title
Підсумковий тест. Мова програмування Python. 7 клас | Тест з інформатики - "На Урок"

# data[].attributes.attachment_link.description
Виконайте тест, щоб перевірити знання з інформатики (7 клас). Хто створює комп'ютерні програми?

# data[].attributes.headline
обчислення значення функції.

# data[].attributes.subject
обчислення значення функції.

# data[].attributes.body
procedure TForm1.Button1Click(Sender: TObject);

var x, y: real;

begin

x : StrToFloat(Edit1.Text);

y : (2*x-5)/(x*x+1);

Label1.Caption : FloatToStr(y);

end;

# data[].attributes.headline
5. Обчислити вартість товарів, якщо один з них коштує A гривень і B копійок, а другий C гривень і D копійок

# data[].attributes.subject
5. Обчислити вартість товарів, якщо один з них коштує A гривень і B копійок, а другий C гривень і D копійок

# data[].attributes.body
A = int(input())                                   # вводимо дані

B = int(input())

C = int(input())

D = int(input()

cost1 = A * 100 + B

cost2 = C * 100 + D

total = cost1 + cost2

print(total // 100, 'грн', total % 100, 'коп')

# data[].attributes.headline
виконати проект

# data[].attributes.subject
виконати проект

# data[].attributes.attachment_link.readable_text
Інструкція до виконання практичного завдання

1. Відкрити Lazarus.

2. В середовищі програмування створити на формі 4 кнопки, 3 поля для введення даних(Edit), 11 написів(Label).

3. Розмістити компоненти Форми в послідовності, наближеній до малюнка.(див. мал.1)

4. Перейменувати елементи згідно зразка.

5. Написи Label3, Label4, Label5, Label6 залишити без назви та в проміжках між кнопкою і відповідним написом.(див. мал.2)

6. Вибрати кнопку "Сума", та створити для неї подію "OnClick".(Інспектор об'єктів  Події  OnClick ).

7. В редакторі програмного коду запрограмувати подію для кнопки з використанням Pascal.(див. мал.3)

8. Не забуваємо про внесення змінних перед текстом самого коду.(var x,y,z,d:real;)

9. Перші три рядки програми пояснюють комп'ютеру, що текст, який вводиться в поля для введення даних, насправді число, тому використовується конструкція "StrToFloat" - String(тип даних "строка") To("в") Float(тип даних "число з плаваючою комою").

10. Четвертий рядок - сама дія, яка описує програмі арифметичний процес.

11. З п'ятої по восьму строчку - виведення результатів виконання дій згідно вибраної кнопки. (5 строка - виведення результату в напис з номером 3 через функцію зміни заголовка та процедури, оберненої до процедури описаної в "9" пункті, тобто перетворення числа на строчку.)

12. 6, 7 та 8 строчки - процес виведення значення "0" в незадіяні в цій операції ділянки.

13. Після введення коду запускаємо програму на виконання(F9) або на панелі значок ‣.

14. Результат виконання повинен бути наступним(див. мал.4).

15. Якщо все виконано правильно - переходимо до наступної кнопки та виконуємо ту саму процедуру(див. пункти 6, 7, 8).

16. В результаті виконання всіх процедур для всіх кнопок у Вас повинен вийти наступний результат(див. мал.5, 6, 7)

1. Після виконання всіх пунктів роботи, налаштування та перевірки робочої програми на 5-ти наборах різних чисел, програму потрібно зберегти в окрему папку(Файл  Зберегти всі(Зберегти як...)  Назва папки("Практичне завдання") ).

2. Папку з готовою роботою додати в архів та надіслати у відповідне завдання на Google Classroom.

# data[].attributes.attachment_link.keywords[]
класу(робота

# data[].attributes.attachment_link.keywords[]
програмування

# data[].attributes.attachment_link.authors[].name
Ходов Олександр Валерійович

# data[].attributes.attachment_link.title
Практичне завдання для 8 класу(робота з елементами середовища програмування Lazarus)

# data[].attributes.attachment_link.description
Складання та виконання лінійних алгоритмів опрацювання величин в навчальному середовищі програмування. Робота з елементами середовища програмування Lazarus...

# data[].attributes.headline
У цій процедурі використано такі змінні:

a, b — вхідні дані, які вводять у поля Edit1 та Edit2;
х — знаменник виразу;
y — чисельник виразу;
z — значення виразу.

# data[].attributes.subject
У цій процедурі використано такі змінні:

a, b — вхідні дані, які вводять у поля Edit1 та Edit2;
х — знаменник виразу;
y — чисельник виразу;
z — значення виразу.

# data[].attributes.body
procedure TForm1.Button1Click(Sender: TObject);
var a,b,x,y,z:real;
begin
  a:=StrToFloat(Edit1.Text);
  b:=StrToFloat(Edit2.Text);
  x:=a-3*b;
  y:=a+2*b;
  if x<>0 then
  begin
    z:=y/x;
    label4.Caption:='z='+FloatToStr(z);
  end
  else
  label4.Caption:='Значення виразу не визначене.';
end;

# data[].attributes.headline
дано 3 цифрове число.Порахуйте кількість одиниць ,десятків,сотень.

# data[].attributes.subject
дано 3 цифрове число.Порахуйте кількість одиниць ,десятків,сотень.

# data[].attributes.body
print('Введіть трицифрове чило ')

x=int(input('x='))

a=x//100#відділяємо розряд сотень

b=(x//10)%10# відділяємо десятки

c=x%10#відділяємо розряд  одиниць

print('сотень-',a,'десятків-',b,', одиниць-',c)

# data[].attributes.headline
перевірити чи є число від"ємне?

# data[].attributes.subject
перевірити чи є число від"ємне?

# data[].attributes.body
#Введіть число. Чи є воно від'ємним?

print('Ведіть число')

n=float(input('n='))

if n<0:

print('Число від`ємне ')

else:

print('Ні')

# data[].attributes.headline
Вправа 1. НСД. Розробіть програму НСД, у якій для двох цілих чисел визначають їх найбільший спільний дільник.

# data[].attributes.subject
Вправа 1. НСД. Розробіть програму НСД, у якій для двох цілих чисел визначають їх найбільший спільний дільник.

# data[].attributes.body
a = int(input('a = '))

b = int(input('b = '))

while a*b != 0:

if a >= b:

a = a % b

else:

b = b % a

nsd=a+b

print (nsd)

# data[].attributes.headline
Завдання .Середнє арифметичне 2 чисел.

# data[].attributes.subject
Завдання .Середнє арифметичне 2 чисел.

# data[].attributes.body
a = float (input()) b = float (input()) c = (a+b)/2

print c

# data[].attributes.headline
тести ЛАЗАРУС

# data[].attributes.subject
тести ЛАЗАРУС

# data[].attributes.attachment_link.provider_name
Тести з інформатики | Онлайн тести з інформатики

# data[].attributes.attachment_link.title
Середовище програмування Lazarus. Тест 18 (Інформатика 8 клас Ривкінд) | Тести з інформатики

# data[].attributes.attachment_link.description
Середовище програмування Lazarus. Тест 18 (Інформатика 8 клас Ривкінд) | Тести з інформатики

# data[].attributes.headline
17 лютого 2025 р.Розміщення відеофайлів в Інтернеті.

# data[].attributes.subject
17 лютого 2025 р.Розміщення відеофайлів в Інтернеті.

# data[].attributes.attachment_link.authors[].name
Зінченко Павло Сергійович

# data[].attributes.attachment_link.title
8 клас Практична робота 7 Розміщення аудіо- та відеоматеріалів в Інтернеті 39 урок

# data[].attributes.headline
26 лютого. Поняття об"єкта в мові програмування.

# data[].attributes.subject
26 лютого. Поняття об"єкта в мові програмування.

# data[].attributes.body
Постановка серйозної задачі практично ніколи не містить опису змінних, які треба використовувати. Навпаки, більшість реальних задач формулюються як опис поведінки об’єктів, наприклад, під час комп’ютерного моделювання складних систем.

Наприкінці 80-х років ХХ ст. програмування опинилося в досить серйозній кризі.

Головна проблема полягала в тому, що складність програм стала перевищувати можливості людського інтелекту. Одній людині стало не під силу охопити розумом усі аспекти складної програми.

Виходом із кризової ситуації став підхід, заснований на понятті об’єкта.

Нова ідея полягала в тому, щоб розбити складну систему на частини – об’єкти, і спробувати зрозуміти й удосконалювати кожну частину окремо, незалежно від інших.

При цьому розробку кожної частини, пов’язаної з окремим об’єктом, можна доручити окремій людині та робити окремо. Такий підхід називають об’єктно-орієнтованим програмуванням.

Об’єкт – це те, на що спрямована певна діяльність.

Ми живемо в оточенні величезної кількості різноманітних об’єктів. Будьяка інформація, яку ми отримуємо, пов’язана з певними об’єктами. Об’єктами є не лише предмети чи явища матеріального світу, а й поняття, які створюють і використовують люди під час спілкування. Наприклад, «освіта», «держава» тощо.

Кожний об’єкт має свою назву. Крім назви, кожний об’єкт має низку властивостей (параметрів), які описують об’єкт. Значення властивостей ми спостерігаємо чи визначаємо і, можливо, змінюємо. Наприклад, властивості об’єкта людина: стать, зріст, вага, колір очей, характер, зачіска тощо.

При цьому кожна властивість може мати різні значення.

Властивості поділяються на:

•      кількісні (такі властивості можна подати числом у певних одиницях виміру);

•      якісні (такі властивості можна лише назвати).

Значення властивостей об’єкта в певний момент часу визначають його стан. Вони можуть змінюватися, але їхня сукупність залишається сталою. Якщо така сукупність зазнає змін, то ми маємо справу вже з іншим об’єктом.

Наприклад, значення властивості зріст об’єкта учениця Ірина може збільшуватися. Але якщо в неї зникла властивість успішність, то Ірина завершила навчання.

Подія – зміна властивостей об’єкта, взаємодія між об’єктами, утворення нового об’єкта або знищення наявного об’єкта.

Дії можуть виконувати власне об’єкти або їх виконують над об’єктами.

Наприклад, об’єкт учень:

•      може виконувати такі дії: читати, грати у волейбол, розв’язувати задачу з хімії.

•      над цим об’єктом можна виконувати певні дії: вимірювати зріст, проводити виховну бесіду тощо.

Проблемне питання учням №1: Чим характеризується об’єкт прямокутник? (Об’єкт прямокутник характеризується такими даними, як довжина сторони a, довжина сторони b.)

Проблемне питання учням №2: Які дії можна визначити для об’єкта прямокутник? (Для об’єкта прямокутник можна визначити такі дії: знаходження периметра; знаходження площі; масштабування (збільшення або зменшення сторін прямокутника в певну кількість разів); порівняння рівності двох прямокутників.)

З об’єктом пов’язане також поняття середовища – місця, в якому об’єкт може перебувати або де з ним можна виконувати деякі дії.

Середовище об’єкта – середовище, у якому перебуває об’єкт, незалежно від того, які дії ним чи над ним (крім знищення об’єкта) виконано. У середовищі об’єкт може виконувати деякі команди – їх називають методами.

Методи – це команди, які об’єкт розуміє і може виконувати.

Наприклад, автомобіль реагує на: натиснення педалей, поворот руля, перемикання швидкостей.

Ми нічого не знаємо про те, що містить об’єкт усередині. Для нас це, як говорять кібернетики, «чорний ящик». Але найголовніше – для того, щоб працювати з об’єктом, нам і не потрібно знати його внутрішній устрій. Достатньо, що ми можемо визначити й змінити його властивості, а також застосувати доступні методи управління.

Властивості й методи є інтерфейсом об’єкта, тобто способом його спілкування із зовнішнім світом.

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

•      програма відкривається у вікні, розмір якого, як правило, можна змінювати;

•      графічний інтерфейс програми, який містить зображення значків, меню, кнопки, текстові поля тощо, дає змогу користувачеві за допомогою миші виконувати потрібні документи, вводити за допомогою клавіатури текстові та числові дані.

У програмному коді, що орієнтований на опрацювання подій, програміст повинен вказати, як слід реагувати на різні події (чи дії користувача). Це можуть бути, наприклад, такі події: вибір вказівки, клацання кнопкою миші, переміщення миші.

Для того щоб створити об’єкти графічного інтерфейсу мовою програмування Python, можна використати модуль підключення команд для створення графічного інтерфейсу: tkinter або easygui.

Створення об’єктів програми, їх розташування та запуск опрацювання подій програми задаються командами мови програмування.

Наприклад, найпростіша програма з графічним інтерфейсом користувача – виведення вікна, складається з таких команд:

import tkinter window=tkinter.Tk() window.mainloop()

Для запуску циклу опрацювання подій у модулі tkitner використовується метод: mainloop( ).

Виклик метода здійснюють конструкцією: Ім’я_об’єкта.Ім’я_методу.

Об’єкт вікно має свої властивості: назва, розмір, розміщення, їх можна змінити у програмі вбудованими методами. Наприклад:

•  title – заголовок вікна;

•  geometry – встановлює геометрію вікна у форматі ширина х висота + х + у. geometry(“600*400+40+80”) означає таке: помістити вікно в точку з координатами (40, 80) і встановити розмір (600,400).  geometry(“600*400”) лише змінити розмір. geometry(“+40+80”) лише перемістити вікно.

import tkinter window=tkinter.Tk()

window.title ('Моя перша програма') window.mainloop()

Для того щоб у вікні розмістити напис, використовують об'єкт: Label.

label1=tkinter.Label(window, text='Привіт! Як справи?', width=30, height=3, bg='blue', fg='yellow', font='windows24')

Розберемо цей      код. Для      створення   напису        використано        змінну label1(напис1). Змінній label1 присвоюють значення, яке викликається з модуля tkitner методом Label – напис. Об’єкт напис має властивості (можна використовувати не всі):

•      window – назва вікна розташування;

•      text – текст напису;

•      width, height – ширина і довжина;

•      bg – колір фону;

•      fg –  колір напису;

•      font – шрифт і його розмір.

Для того щоб розмістити об’єкт у вікні, використовують метод: pack( ).

#вікно з написом import tkinter

#створення вікна програми

window=tkinter.Tk()

window.title ('Моя перша програма')

#створення напису

label1=tkinter.Label(window, text='Привіт! Як тебе звати?', width=45, height=5, bg='blue', fg='yellow', font='windows50')

#розміщення напису label1.pack() #запуск події window.mainloop()

# data[].attributes.headline
24 лютого .Поняття об"єкта в мові програмування.

# data[].attributes.subject
24 лютого .Поняття об"єкта в мові програмування.

# data[].attributes.body
Постановка серйозної задачі практично ніколи не містить опису змінних, які треба використовувати. Навпаки, більшість реальних задач формулюються як опис поведінки об’єктів, наприклад, під час комп’ютерного моделювання складних систем.

Наприкінці 80-х років ХХ ст. програмування опинилося в досить серйозній кризі.

Головна проблема полягала в тому, що складність програм стала перевищувати можливості людського інтелекту. Одній людині стало не під силу охопити розумом усі аспекти складної програми.

Виходом із кризової ситуації став підхід, заснований на понятті об’єкта.

Нова ідея полягала в тому, щоб розбити складну систему на частини – об’єкти, і спробувати зрозуміти й удосконалювати кожну частину окремо, незалежно від інших.

При цьому розробку кожної частини, пов’язаної з окремим об’єктом, можна доручити окремій людині та робити окремо. Такий підхід називають об’єктно-орієнтованим програмуванням.

Об’єкт – це те, на що спрямована певна діяльність.

Ми живемо в оточенні величезної кількості різноманітних об’єктів. Будьяка інформація, яку ми отримуємо, пов’язана з певними об’єктами. Об’єктами є не лише предмети чи явища матеріального світу, а й поняття, які створюють і використовують люди під час спілкування. Наприклад, «освіта», «держава» тощо.

Кожний об’єкт має свою назву. Крім назви, кожний об’єкт має низку властивостей (параметрів), які описують об’єкт. Значення властивостей ми спостерігаємо чи визначаємо і, можливо, змінюємо. Наприклад, властивості об’єкта людина: стать, зріст, вага, колір очей, характер, зачіска тощо.

При цьому кожна властивість може мати різні значення.

Властивості поділяються на:

•      кількісні (такі властивості можна подати числом у певних одиницях виміру);

•      якісні (такі властивості можна лише назвати).

Значення властивостей об’єкта в певний момент часу визначають його стан. Вони можуть змінюватися, але їхня сукупність залишається сталою. Якщо така сукупність зазнає змін, то ми маємо справу вже з іншим об’єктом.

Наприклад, значення властивості зріст об’єкта учениця Ірина може збільшуватися. Але якщо в неї зникла властивість успішність, то Ірина завершила навчання.

Подія – зміна властивостей об’єкта, взаємодія між об’єктами, утворення нового об’єкта або знищення наявного об’єкта.

Дії можуть виконувати власне об’єкти або їх виконують над об’єктами.

Наприклад, об’єкт учень:

•      може виконувати такі дії: читати, грати у волейбол, розв’язувати задачу з хімії.

•      над цим об’єктом можна виконувати певні дії: вимірювати зріст, проводити виховну бесіду тощо.

Проблемне питання учням №1: Чим характеризується об’єкт прямокутник? (Об’єкт прямокутник характеризується такими даними, як довжина сторони a, довжина сторони b.)

Проблемне питання учням №2: Які дії можна визначити для об’єкта прямокутник? (Для об’єкта прямокутник можна визначити такі дії: знаходження периметра; знаходження площі; масштабування (збільшення або зменшення сторін прямокутника в певну кількість разів); порівняння рівності двох прямокутників.)

З об’єктом пов’язане також поняття середовища – місця, в якому об’єкт може перебувати або де з ним можна виконувати деякі дії.

Середовище об’єкта – середовище, у якому перебуває об’єкт, незалежно від того, які дії ним чи над ним (крім знищення об’єкта) виконано. У середовищі об’єкт може виконувати деякі команди – їх називають методами.

Методи – це команди, які об’єкт розуміє і може виконувати.

Наприклад, автомобіль реагує на: натиснення педалей, поворот руля, перемикання швидкостей.

Ми нічого не знаємо про те, що містить об’єкт усередині. Для нас це, як говорять кібернетики, «чорний ящик». Але найголовніше – для того, щоб працювати з об’єктом, нам і не потрібно знати його внутрішній устрій. Достатньо, що ми можемо визначити й змінити його властивості, а також застосувати доступні методи управління.

Властивості й методи є інтерфейсом об’єкта, тобто способом його спілкування із зовнішнім світом.

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

•      програма відкривається у вікні, розмір якого, як правило, можна змінювати;

•      графічний інтерфейс програми, який містить зображення значків, меню, кнопки, текстові поля тощо, дає змогу користувачеві за допомогою миші виконувати потрібні документи, вводити за допомогою клавіатури текстові та числові дані.

У програмному коді, що орієнтований на опрацювання подій, програміст повинен вказати, як слід реагувати на різні події (чи дії користувача). Це можуть бути, наприклад, такі події: вибір вказівки, клацання кнопкою миші, переміщення миші.

Для того щоб створити об’єкти графічного інтерфейсу мовою програмування Python, можна використати модуль підключення команд для створення графічного інтерфейсу: tkinter або easygui.

Створення об’єктів програми, їх розташування та запуск опрацювання подій програми задаються командами мови програмування.

Наприклад, найпростіша програма з графічним інтерфейсом користувача – виведення вікна, складається з таких команд:

import tkinter window=tkinter.Tk() window.mainloop()

Для запуску циклу опрацювання подій у модулі tkitner використовується метод: mainloop( ).

Виклик метода здійснюють конструкцією: Ім’я_об’єкта.Ім’я_методу.

Об’єкт вікно має свої властивості: назва, розмір, розміщення, їх можна змінити у програмі вбудованими методами. Наприклад:

•  title – заголовок вікна;

•  geometry – встановлює геометрію вікна у форматі ширина х висота + х + у. geometry(“600*400+40+80”) означає таке: помістити вікно в точку з координатами (40, 80) і встановити розмір (600,400).  geometry(“600*400”) лише змінити розмір. geometry(“+40+80”) лише перемістити вікно.

import tkinter window=tkinter.Tk()

window.title ('Моя перша програма') window.mainloop()

Для того щоб у вікні розмістити напис, використовують об'єкт: Label.

label1=tkinter.Label(window, text='Привіт! Як справи?', width=30, height=3, bg='blue', fg='yellow', font='windows24')

Розберемо цей      код. Для      створення   напису        використано        змінну label1(напис1). Змінній label1 присвоюють значення, яке викликається з модуля tkitner методом Label – напис. Об’єкт напис має властивості (можна використовувати не всі):

•      window – назва вікна розташування;

•      text – текст напису;

•      width, height – ширина і довжина;

•      bg – колір фону;

•      fg –  колір напису;

•      font – шрифт і його розмір.

Для того щоб розмістити об’єкт у вікні, використовують метод: pack( ).

#вікно з написом import tkinter

#створення вікна програми

window=tkinter.Tk()

window.title ('Моя перша програма')

#створення напису

label1=tkinter.Label(window, text='Привіт! Як тебе звати?', width=45, height=5, bg='blue', fg='yellow', font='windows50')

#розміщення напису label1.pack() #запуск події window.mainloop()

# data[].attributes.headline
19 лютого . Створення запитів у БД.

# data[].attributes.subject
19 лютого . Створення запитів у БД.

# data[].attributes.body
Запити — це спеціальні об’єкти, призначені для вибірки даних з таблиць бази, а також для виконання обчислень та інших операцій з базовими таблицями, включаючи їхнє перетворення.

Запит зберігає опис правила, за яким із бази можна отримати певні дані. При відкритті запиту відбувається пошук даних у таблицях згідно з цим правилом. Результати пошуку виводяться у вигляді таблиці. Однак, на відміну від реальної таблиці, цей набір записів реально не існує в базі даних. Під час кожного нового виконання запиту формуються необхідні дані з тих таблиць, на основі яких його створено.

Запити на вибірку

Запит на вибірку — це засіб відбору даних, що зберігаються в різних таблицях, за заданими умовами.

Запити на вибірку використовуються для відбору потрібної користувачеві інформації, що міститься в таблицях. Якщо вибірка даних здійснюється з кількох таблиць, мають бути встановлені зв’язки між полями цих таблиць. За допомогою таких зв’язків і реалізуються запити, звернені відразу до декількох таблиць бази даних.

Алгоритм створення запиту на вибірку даних

1. Виконати Створити → Конструктор запитів.

2. У вікні Відображення таблиці послідовно вибрати таблиці і ввести їх у запит натисканням кнопки Додати. У верхній частині вікна Конструктора запитів відобразиться Схема даних запиту.

3. Заповнити Бланк запиту (нижня частина вікна Конструктора запитів): у запису Поле слід увести назви полів, які повинна мати підсумкова таблиця.

4. Натиснути кнопку Запуск .

5. Зберегти запит.

Приклад:

Створимо запит про годування тварин за даними таблиць бази даних «Зоопарк».

Виконаємо Створення → Конструктор запитів.

У вікні Відображення таблиці по черзі вибираємо таблиці і натискаємо кнопку Додати (рис.1).

У верхній частині вікна Конструктора запитів відобразиться Схема даних запиту

У нижній частині вікна Конструктора запитів розташований Бланк запитів.

Додаємо до запису Поле назви полів запиту: по черзі у стопцях відкриваємо кнопкою  списки назв полів таблиць БД і вибираємо поля, які повинна мати підсумкова таблиця ).

Для вилучення поля його достатньо виділити (клацнути над ним після появи стрілки ) і натиснути клавішу Delete.

Для запуску запиту, тобто його відкриття в режимі таблиці, потрібно натиснути кнопку Запуск  або перевести запит у Подання таблиці натисканням кнопки Вигляд . Ми створили запит за даними усіх  таблиць БД «Зоопарк» ):

Для збереження запиту відкриємо контекстне меню на ярлику вкладки Запит1 і виберемо Зберегти як. У вікні Зберегти як (рис.5) задамо ім'я запиту, наприклад, «Годування», і натиснемо кнопку ОК.

Після виконання цих дій назва запиту з'являється в Області переходів :

Зверни увагу!

Запит сформовано із використанням даних із трьох зв’язаних таблиць.

У запитах на вибірку можна задавати умови. Для цього у відповідному стовпці потрібно вказати в рядку Критерій умову відбору. При завданні умови відбору можна використовувати оператори >, <, =, >= (більше або  дорівнює),<= (менше або  дорівнює), <> (не дорівнює).

Якщо потрібно задати кілька умов, то умови для оператора І записуються  в одному рядку, а для оператора АБО в одному стовпці один під одним. Складні умови відбору також можна писати в одну клітинку, використовуючи оператори Or, And.

Оператор LIKE (Схоже на) дозволяє робити відбір по фрагменту рядка.

Приклад:

Якщо при створенні запиту Годування в рядку Критерій у стовпці Ряд записати Хижі, то в запиті будуть відображатися лише записи, у яких значення поля Ряд дорівнює «Хижі».

Дещо складніше задати умову відбору за значенням поля, яке має тип Поле підстановки.  В такому випадку слід:

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

зняти для цього поля прапорець Відображення;

в рядку Критерій цього поля записати умову відбору.

Приклад:

Нехай у нас є заповнена база даних «Успішність», що складається з трьох зв'язаних таблиць:

Створимо запит, який містить прізвища учнів, що мають оцінки з алгебри не нижчі за 9. Сформуємо бланк запиту таким чином ):

Створюємо в бланку запиту поля Прізвище з таблиці Учні, Предмет і Оцінка з таблиці Оцінки.

При створенні полів таблиці Оцінки поле Предмет пов'язано з полем КодПредмета таблиці Предмети, і значення вибираються зі списку значень поля НазваПредмета. Тому в бланку запиту додаємо поле НазваПредмета з таблиці Предмети. В цьому стовпці знімаємо прапорець в рядку Відображення, в рядку Критерій пишемо   Алгебра (пишемо рядок без лапок: Access автоматично додасть лапки, щоб показати, до якого типу належить дана умова відбору).

В стовпці Оцінка задамо критерій > 8.

Після натискання кнопки Запуск переглядаємо створений запит :

Запит із параметрами

Можна створити запит, задавши додаткові умови відбору даних за параметром, що буде задавати користувач при відкритті запиту.

Запит з параметрами — це засіб відбору даних з таблиць БД, який дозволяє користувачеві самому ввести критерій відбору на етапі запуску запиту.

Приклад:

Щоб додати параметр до запиту Годування, слід виконати дії:

відкрити наявний запит у режимі Конструктора;

у Бланк запиту в потрібному полі в записі Критерії ввести текст у квадратних дужках;

відкрити запит, натиснувши кнопку Запуск;

у діалоговому вікні увести значення параметра і натиснути кнопку ОК (рис.11).

Підсумкова таблиця міститиме записи, які відповідають заданим параметрам:

# data[].attributes.headline
19 лютого.Створення запитів у БД.

# data[].attributes.subject
19 лютого.Створення запитів у БД.

# data[].attributes.body
Запити — це спеціальні об’єкти, призначені для вибірки даних з таблиць бази, а також для виконання обчислень та інших операцій з базовими таблицями, включаючи їхнє перетворення.

Запит зберігає опис правила, за яким із бази можна отримати певні дані. При відкритті запиту відбувається пошук даних у таблицях згідно з цим правилом. Результати пошуку виводяться у вигляді таблиці. Однак, на відміну від реальної таблиці, цей набір записів реально не існує в базі даних. Під час кожного нового виконання запиту формуються необхідні дані з тих таблиць, на основі яких його створено.

Запити на вибірку

Запит на вибірку — це засіб відбору даних, що зберігаються в різних таблицях, за заданими умовами.

Запити на вибірку використовуються для відбору потрібної користувачеві інформації, що міститься в таблицях. Якщо вибірка даних здійснюється з кількох таблиць, мають бути встановлені зв’язки між полями цих таблиць. За допомогою таких зв’язків і реалізуються запити, звернені відразу до декількох таблиць бази даних.

Алгоритм створення запиту на вибірку даних

1. Виконати Створити → Конструктор запитів.

2. У вікні Відображення таблиці послідовно вибрати таблиці і ввести їх у запит натисканням кнопки Додати. У верхній частині вікна Конструктора запитів відобразиться Схема даних запиту.

3. Заповнити Бланк запиту (нижня частина вікна Конструктора запитів): у запису Поле слід увести назви полів, які повинна мати підсумкова таблиця.

4. Натиснути кнопку Запуск .

5. Зберегти запит.

Приклад:

Створимо запит про годування тварин за даними таблиць бази даних «Зоопарк».

Виконаємо Створення → Конструктор запитів.

У вікні Відображення таблиці по черзі вибираємо таблиці і натискаємо кнопку Додати (рис.1).

Рис.1

У верхній частині вікна Конструктора запитів відобразиться Схема даних запиту (рис.2):

Рис.2

У нижній частині вікна Конструктора запитів розташований Бланк запитів.

Додаємо до запису Поле назви полів запиту: по черзі у стопцях відкриваємо кнопкою  списки назв полів таблиць БД і вибираємо поля, які повинна мати підсумкова таблиця (рис.3).

Рис.3

Для вилучення поля його достатньо виділити (клацнути над ним після появи стрілки ) і натиснути клавішу Delete.

Для запуску запиту, тобто його відкриття в режимі таблиці, потрібно натиснути кнопку Запуск  або перевести запит у Подання таблиці натисканням кнопки Вигляд . Ми створили запит за даними усіх  таблиць БД «Зоопарк» (рис.4):

Рис.4

Для збереження запиту відкриємо контекстне меню на ярлику вкладки Запит1 і виберемо Зберегти як. У вікні Зберегти як (рис.5) задамо ім'я запиту, наприклад, «Годування», і натиснемо кнопку ОК.

Рис.5

Після виконання цих дій назва запиту з'являється в Області переходів (рис.6):

Рис.6

Зверни увагу!

Запит сформовано із використанням даних із трьох зв’язаних таблиць.

У запитах на вибірку можна задавати умови. Для цього у відповідному стовпці потрібно вказати в рядку Критерій умову відбору. При завданні умови відбору можна використовувати оператори >, <, =, >= (більше або  дорівнює),<= (менше або  дорівнює), <> (не дорівнює).

Якщо потрібно задати кілька умов, то умови для оператора І записуються  в одному рядку, а для оператора АБО в одному стовпці один під одним. Складні умови відбору також можна писати в одну клітинку, використовуючи оператори Or, And.

Оператор LIKE (Схоже на) дозволяє робити відбір по фрагменту рядка.

Приклад:

Якщо при створенні запиту Годування в рядку Критерій у стовпці Ряд записати Хижі, то в запиті будуть відображатися лише записи, у яких значення поля Ряд дорівнює «Хижі».

Дещо складніше задати умову відбору за значенням поля, яке має тип Поле підстановки.  В такому випадку слід:

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

зняти для цього поля прапорець Відображення;

в рядку Критерій цього поля записати умову відбору.

Приклад:

Нехай у нас є заповнена база даних «Успішність», що складається з трьох зв'язаних таблиць:

Рис.7

Створимо запит, який містить прізвища учнів, що мають оцінки з алгебри не нижчі за 9. Сформуємо бланк запиту таким чином (рис.8):

Рис.8

Створюємо в бланку запиту поля Прізвище з таблиці Учні, Предмет і Оцінка з таблиці Оцінки.

При створенні полів таблиці Оцінки поле Предмет пов'язано з полем КодПредмета таблиці Предмети, і значення вибираються зі списку значень поля НазваПредмета. Тому в бланку запиту додаємо поле НазваПредмета з таблиці Предмети. В цьому стовпці знімаємо прапорець в рядку Відображення, в рядку Критерій пишемо   Алгебра (пишемо рядок без лапок: Access автоматично додасть лапки, щоб показати, до якого типу належить дана умова відбору).

В стовпці Оцінка задамо критерій > 8.

Після натискання кнопки Запуск переглядаємо створений запит (рис.9):

Рис.9

Запит із параметрами

Можна створити запит, задавши додаткові умови відбору даних за параметром, що буде задавати користувач при відкритті запиту.

Запит з параметрами — це засіб відбору даних з таблиць БД, який дозволяє користувачеві самому ввести критерій відбору на етапі запуску запиту.

Приклад:

Щоб додати параметр до запиту Годування, слід виконати дії:

відкрити наявний запит у режимі Конструктора;

у Бланк запиту в потрібному полі в записі Критерії ввести текст у квадратних дужках;

Рис.10

відкрити запит, натиснувши кнопку Запуск;

у діалоговому вікні увести значення параметра і натиснути кнопку ОК (рис.11).

Рис.11

Підсумкова таблиця міститиме записи, які відповідають заданим параметрам:

Рис.12

# data[].attributes.headline
19 лютого. Розміщення аудіо та відеофайлів в Інтернеті.

# data[].attributes.subject
19 лютого. Розміщення аудіо та відеофайлів в Інтернеті.

# data[].attributes.body
Використання Кіностудії Windows для розміщення відео в Інтернеті

Після розробки проєкту відеофільму в програмі Кіностудія Windows можна відразу розмістити його в Інтернеті.

Для цього слід відкрити проєкт створеного відеофільму та виконати такий алгоритм:
1. Виконати Файл —> Опублікувати фільм.
2. Вибрати зі списку сервісів (рис.1) сервіс, на сайті якого будете розміщувати відеофайл, наприклад YouTube.
3. Увести в поля діалогового вікна логін і пароль доступу до вашого відеоканалу на YouTube.
4. Увести в поля діалогового вікна значення властивостей відеофільму: назву, опис, теги, вид дозволу на використання, категорію відеофільму.
5. Вибрати кнопку Опублікувати.
6. Дочекатися завершення збереження та опублікування фільму.

За подібним алгоритмом відбувається й опублікування фільму на інших сайтах.

Зверни увагу!

Обов’язковою умовою розміщення мультимедійних даних є створення облікового запису на сайті відповідного сервісу.

Мультимедійні файли, призначені для розміщення в Інтернеті, називаються подкастами, а особи, що створюють такі файли, — подкастерами.

Подкаст (англ. ipod — медіаплеєр корпорації Apple; broadcasting — ефірне мовлення) — медіафайл або серія таких файлів, що створюються користувачами (подкастерами) і розповсюджуються з використанням Інтернету.

Розміщення аудіофайлів в Інтернеті

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

Зазначені аудіофайли називають подкастами. У подальшому термін «подкаст» поширився і на відеофайли, що розміщують користувачі в Інтернеті.

Приклад:

Для розміщення аудіофайлів в Інтернеті існують різні сервіси, такі як Канал громадського подкастингу  (http://cpod.co/), Український подкаст-термінал (http://podcaster.org.ua), Громадське радіо (https://soundcloud.com/hromadske-radio), сторінка медіакомпанії BBC (https://www.bbc.com/ukrainian/learning-english) тощо.

Для обміну аудіофайлами з друзями та знайомими можна використати сервіс Google Диск.

Авторське право

Об’єктами авторського права є літературні та художні твори, статті та інші письмові твори, лекції, аудіовізуальні твори, фотографічні твори, ілюстрації, карти, плани, ескізи, інші твори.

Виконуючи записи аудіо- та відеоматеріалів, слід ураховувати вимоги законодавства до захисту авторських прав. Значна частина матеріалів, розміщених на інтернет-сервісах, таких як YouTube, уже передбачає, що автор/авторка надає доступ до їх перегляду. Однак ці матеріали зазвичай не передбачають розповсюдження в комерційних цілях або розповсюдження без посилання на канал автора/ авторки.

# data[].attributes.headline
28 лютого.Введення та виведення елементів масиву.

# data[].attributes.subject
28 лютого.Введення та виведення елементів масиву.

# data[].attributes.body
В обчислювальних програмах виникає потреба зберігати набори чисел: значення середньодобових температур за тиждень, відстаней між об’єктами, кількісних показників певного процесу тощо. Як вам вже відомо, для збереження сукупностей даних в програмуванні існують структуровані типи, або контейнери. Контейнер можна порівняти з картотекою — він зберігає набір значень у певному порядку.

Складені або структуровані типи — це типи даних, які мають внутрішню структуру та можуть бути сконструйовані з простих типів даних. Змінна або константа структурованого типу має декілька компонент, об’єднаних спільним ім’ям.

Поняття одновимірного масиву

У таблицю занесено значення температури повітря протягом тижня. Кожному значенню відповідає порядковий номер дня тижня.

Одновимірний масив — це пронумерована послідовність значень одного типу, що мають спільне ім’я.

Спільне ім’я t послідовності значень температури означає, що ці дані належать до одного масиву, а розрізнити їх можна за номером (індексом).

У мові Python для зберігання масивів даних використовуються списки.

Список (list) — це упорядкований набір об’єктів різних типів (чисел, рядків, списків тощо), який можна змінювати.

Зверни увагу!

Хоча Python дозволяє зберігати у списку елементи різних типів, наша мета — навчитися опрацьовувати масиви даних, тобто сукупності однотипних значень, об’єднаних за певною ознакою.

Створення списку

Створити порожній список можна двома способами:

за допомогою функції list(): а = list()

використовуючи квадратні дужки: а = [ ]

Значення списку вкладаються у квадратні дужки [ ] та відокремлюються одне від одного за допомогою коми.

Приклад:

Створимо об’єкт аnimal типу список і надамо йому значення:
аnimal = ["Кіт", "Собака", "Миша", "Хом’як"]

Функція len() повертає довжину списку (кількість елементів у списку).

Приклад:

Визначити довжину списку lst=['a','b','c','d','e','f']:

>>> lst =['a','b','c','d','e','f']

>>> len(lst)

6

Перевірити, чи є в списку певний елемент, допоможе ключове слово in.

Приклад:

Визначимо, чи є в списку letters елемент 'a':
if 'a' in letters: print('так')
else: print("символу 'a' в списку немає")

Додавання елемента до списку

Зверни увагу!

Додати елемент можна тільки у вже створений список (неважливо, порожній або ні).

Заповнення списку з клавіатури a = []
for i in range(5):
n = int(input(str(i)+'? '))
a.append(n)
print(a)
Заповнення списку випадковими числамиfrom random import randint
a = []
for i in range(5):
a = a+[randint(1, 10)]
print(a)

Результат роботи програми може бути таким:

[9, 1, 6, 3, 8]

Доступ до елементів списку

Доступ до елемента списку можна отримати за його індексом (номером у списку).

Зверни увагу!

Нумерація елементів починається з нуля.

Елементи одновимірного масиву занесені до списку а. Отримаємо значення елемента з індексом 2.

Замінимо значення елемента з індексом 0 числом 5:

Значення індексів можуть бути як від’ємними, так і додатними. Якщо значення індексів від’ємні, то зміщення індексів відбувається справа наліво. Якщо значення індексів додатні, то зміщення індексів відбувається зліва направо.

Приклад:

а = [1, 2, 3, 4, 5, 6, 7, 8, 9]  # виклик операції присвоєння

t1 = а[-1]  # t=9 — від'ємні індекси переглядаються справа наліво

t2 = а[3]  # t=4 — додатні індекси переглядаються зліва направо

t3 = а[0]  # t3=1

Завдяки нумерації можна визначати довжину списку (кількість елементів у списку), робити зрізи.

# data[].attributes.headline
28 лютого.Введення та виведення значень масиву.

# data[].attributes.subject
28 лютого.Введення та виведення значень масиву.

# data[].attributes.body
В обчислювальних програмах виникає потреба зберігати набори чисел: значення середньодобових температур за тиждень, відстаней між об’єктами, кількісних показників певного процесу тощо. Як вам вже відомо, для збереження сукупностей даних в програмуванні існують структуровані типи, або контейнери. Контейнер можна порівняти з картотекою — він зберігає набір значень у певному порядку.

Складені або структуровані типи — це типи даних, які мають внутрішню структуру та можуть бути сконструйовані з простих типів даних. Змінна або константа структурованого типу має декілька компонент, об’єднаних спільним ім’ям.

Поняття одновимірного масиву

У таблицю занесено значення температури повітря протягом тижня. Кожному значенню відповідає порядковий номер дня тижня.

Одновимірний масив — це пронумерована послідовність значень одного типу, що мають спільне ім’я.

Спільне ім’я t послідовності значень температури означає, що ці дані належать до одного масиву, а розрізнити їх можна за номером (індексом).

У мові Python для зберігання масивів даних використовуються списки.

Список (list) — це упорядкований набір об’єктів різних типів (чисел, рядків, списків тощо), який можна змінювати.

Зверни увагу!

Хоча Python дозволяє зберігати у списку елементи різних типів, наша мета — навчитися опрацьовувати масиви даних, тобто сукупності однотипних значень, об’єднаних за певною ознакою.

Створення списку

Створити порожній список можна двома способами:

за допомогою функції list(): а = list()

використовуючи квадратні дужки: а = [ ]

Значення списку вкладаються у квадратні дужки [ ] та відокремлюються одне від одного за допомогою коми.

Приклад:

Створимо об’єкт аnimal типу список і надамо йому значення:
аnimal = ["Кіт", "Собака", "Миша", "Хом’як"]

Функція len() повертає довжину списку (кількість елементів у списку).

Приклад:

Визначити довжину списку lst=['a','b','c','d','e','f']:

>>> lst =['a','b','c','d','e','f']

>>> len(lst)

6

Перевірити, чи є в списку певний елемент, допоможе ключове слово in.

Приклад:

Визначимо, чи є в списку letters елемент 'a':
if 'a' in letters: print('так')
else: print("символу 'a' в списку немає")

Додавання елемента до списку

Зверни увагу!

Додати елемент можна тільки у вже створений список (неважливо, порожній або ні).

Заповнення списку з клавіатури a = []
for i in range(5):
n = int(input(str(i)+'? '))
a.append(n)
print(a)
Заповнення списку випадковими числамиfrom random import randint
a = []
for i in range(5):
a = a+[randint(1, 10)]
print(a)

Результат роботи програми може бути таким:

[9, 1, 6, 3, 8]

Доступ до елементів списку

Доступ до елемента списку можна отримати за його індексом (номером у списку).

Зверни увагу!

Нумерація елементів починається з нуля.

Елементи одновимірного масиву занесені до списку а. Отримаємо значення елемента з індексом 2.

Замінимо значення елемента з індексом 0 числом 5:

Значення індексів можуть бути як від’ємними, так і додатними. Якщо значення індексів від’ємні, то зміщення індексів відбувається справа наліво. Якщо значення індексів додатні, то зміщення індексів відбувається зліва направо.

Приклад:

а = [1, 2, 3, 4, 5, 6, 7, 8, 9]  # виклик операції присвоєння

t1 = а[-1]  # t=9 — від'ємні індекси переглядаються справа наліво

t2 = а[3]  # t=4 — додатні індекси переглядаються зліва направо

t3 = а[0]  # t3=1

Завдяки нумерації можна визначати довжину списку (кількість елементів у списку), робити зрізи.

# data[].attributes.headline
28 лютого.Обробники подій пов"язаних з елементами керування.

# data[].attributes.subject
28 лютого.Обробники подій пов"язаних з елементами керування.

# data[].attributes.body
Події та їхні обробники

Форма має набір подій, які можуть з нею відбутися під час виконання проєкту, наприклад:

Click (англ. click — клацання) — вибір будь-якої точки об’єкта;

Close (англ. close — закривати) — закривання форми (вікна) під час завершення виконання проекту;

Create (англ. create — створення) — створення (відкриття) форми (вікна) на початку виконання проекту;

KeyPress (англ. key press — натиснення клавіші) — натиснення будь-якої клавіші на клавіатурі;

MouseMove (англ. mouse move — переміщення миші) — переміщення вказівника по вікні та інші.

Обробник події — це фрагмент програми, який буде виконуватися одразу після настання цієї події. Обробник події, пов’язаний з певним  об’єктом, називають методом цього об’єкта.

Середовище Lazarus за замовчуванням створює обробник події як процедуру.

Процедура — це окремо виділена частина програми, яка має своє ім’я і яку можна за цим іменем запустити на виконання.

Виконання процедури також є подією. Якщо процедура виконується в результаті настання певної події з формою, наприклад події Click, то подію самого виконання цієї процедури називають onclick (англ. on — на).

Щоб пов’язати деяку процедуру з подією Click для форми, слід:

1. Вибрати форму.

2. Відкрити вкладку Події у вікні Інспектор об’єктів.

3. Вибрати подію onclick. Поле праворуч від тексту onclick стане поточним і в ньому з’явиться курсор.

4. Клацнути двічі у цьому поточному полі.

У результаті виконання цього алгоритму в полі onclick на вкладці Події з’являється текст FormClick, а у вікні редактора тексту проекту на вкладці Unit1 з’являється заготовка для тексту процедури з іменем TForm1.FormClick, команди якої й будуть виконуватися при настанні події Click з формою (рис.1).

Рис.1

Команди процедури записуються між двома словами begin і end. Слова begin і end називають операторними дужками.

Після слова end у кінці процедури повинна стояти крапка з комою (;). Кожна команда процедури також має закінчуватися крапкою з комою (;).

Якщо потрібно, щоб у результаті виконання процедури змінилося значення певної властивості форми, процедура повинна містити команду присвоювання:

<ім’я об’єкта>.<назва властивості>:=< значення або вираз>;

Приклад:

Встановити зеленим колір фону форми:

Form1.Color :=clGreen;

Встановити вказаний у лапках текст у рядку заголовка форми:

Form1.Caption := ’Змінення значень властивостей форми’;

Збільшити поточний відступ верхньої межі вікна від верхньої межі екрана на 50 пікселів:

Form1.Top := Form1.Top + 50;

Після запуску проєкту на виконання потрібно дочекатися відкриття вікна його виконання і вибрати будь-яку його точку. Таким чином відбудеться подія Click для форми і як наслідок відбудеться подія onclick, яка полягатиме у виконанні процедури TForm1.FormClick — обробника події Click для форми.

Засоби створення та редагування проєкту

Середовище Lazarus має зручні засоби допомоги під час написання тексту проекту:

після введення першої або кількох перших літер імені об’єкта можна натиснути сполучення клавіш Ctrl + Пропуск і відкриється список, з якого можна вибрати потрібне ім’я об’єкта (рис.2);

після введення крапки, що розділяє ім’я об’єкта і назву його властивості, автоматично відкривається вікно зі списком, який містить назви властивостей даного об’єкта (рис.3). Далі назву властивості можна не вводити з клавіатури, а знайти у списку і натиснути клавішу Enter.

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

Система не розрізняє великі і малі літери. Однак якщо слово утворено з кількох слів, прийнято для кращого розуміння писати першу літеру кожного слова великою.

На початку виконання проєкту програма-компілятор перевіряє текст проєкту на наявність синтаксичних помилок. Якщо такі помилки є, то виконання проєкту переривається і у вікні повідомлень, яке відкривається під вікном Редактора тексту, з’являються повідомлення про номери рядків і номери позицій у них, де допущені помилки, а також коментарі до кожної із цих помилок. Крім того, кольором виділяється фон першого з тих рядків тексту проєкту, що містить помилку, або колір фону рядка, наступного за рядком з помилкою. Потрібно виправити в тексті проєкту всі синтаксичні помилки і знову запустити проект на виконання.

Типова помилка Syntax error, ";" expected (Синтаксична помилка, ";" очікувалось) — після інструкції не поставлено крапку з комою (рис.4).

# data[].attributes.headline
28 лютого. Обробники подій пов"язані з елементами керування.

# data[].attributes.subject
28 лютого. Обробники подій пов"язані з елементами керування.

# data[].attributes.body
Події та їхні обробники

Форма має набір подій, які можуть з нею відбутися під час виконання проєкту, наприклад:

Click (англ. click — клацання) — вибір будь-якої точки об’єкта;

Close (англ. close — закривати) — закривання форми (вікна) під час завершення виконання проекту;

Create (англ. create — створення) — створення (відкриття) форми (вікна) на початку виконання проекту;

KeyPress (англ. key press — натиснення клавіші) — натиснення будь-якої клавіші на клавіатурі;

MouseMove (англ. mouse move — переміщення миші) — переміщення вказівника по вікні та інші.

Обробник події — це фрагмент програми, який буде виконуватися одразу після настання цієї події. Обробник події, пов’язаний з певним  об’єктом, називають методом цього об’єкта.

Середовище Lazarus за замовчуванням створює обробник події як процедуру.

Процедура — це окремо виділена частина програми, яка має своє ім’я і яку можна за цим іменем запустити на виконання.

Виконання процедури також є подією. Якщо процедура виконується в результаті настання певної події з формою, наприклад події Click, то подію самого виконання цієї процедури називають onclick (англ. on — на).

Щоб пов’язати деяку процедуру з подією Click для форми, слід:

1. Вибрати форму.

2. Відкрити вкладку Події у вікні Інспектор об’єктів.

3. Вибрати подію onclick. Поле праворуч від тексту onclick стане поточним і в ньому з’явиться курсор.

4. Клацнути двічі у цьому поточному полі.

У результаті виконання цього алгоритму в полі onclick на вкладці Події з’являється текст FormClick, а у вікні редактора тексту проекту на вкладці Unit1 з’являється заготовка для тексту процедури з іменем TForm1.FormClick, команди якої й будуть виконуватися при настанні події Click з формою (рис.1).

Команди процедури записуються між двома словами begin і end. Слова begin і end називають операторними дужками.

Після слова end у кінці процедури повинна стояти крапка з комою (;). Кожна команда процедури також має закінчуватися крапкою з комою (;).

Якщо потрібно, щоб у результаті виконання процедури змінилося значення певної властивості форми, процедура повинна містити команду присвоювання:

<ім’я об’єкта>.<назва властивості>:=< значення або вираз>;

Приклад:

Встановити зеленим колір фону форми:

Form1.Color :=clGreen;

Встановити вказаний у лапках текст у рядку заголовка форми:

Form1.Caption := ’Змінення значень властивостей форми’;

Збільшити поточний відступ верхньої межі вікна від верхньої межі екрана на 50 пікселів:

Form1.Top := Form1.Top + 50;

Після запуску проєкту на виконання потрібно дочекатися відкриття вікна його виконання і вибрати будь-яку його точку. Таким чином відбудеться подія Click для форми і як наслідок відбудеться подія onclick, яка полягатиме у виконанні процедури TForm1.FormClick — обробника події Click для форми.

Засоби створення та редагування проєкту

Середовище Lazarus має зручні засоби допомоги під час написання тексту проекту:

після введення першої або кількох перших літер імені об’єкта можна натиснути сполучення клавіш Ctrl + Пропуск і відкриється список, з якого можна вибрати потрібне ім’я об’єкта (рис.2);

після введення крапки, що розділяє ім’я об’єкта і назву його властивості, автоматично відкривається вікно зі списком, який містить назви властивостей даного об’єкта (рис.3). Далі назву властивості можна не вводити з клавіатури, а знайти у списку і натиснути клавішу Enter.

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

Система не розрізняє великі і малі літери. Однак якщо слово утворено з кількох слів, прийнято для кращого розуміння писати першу літеру кожного слова великою.

На початку виконання проєкту програма-компілятор перевіряє текст проєкту на наявність синтаксичних помилок. Якщо такі помилки є, то виконання проєкту переривається і у вікні повідомлень, яке відкривається під вікном Редактора тексту, з’являються повідомлення про номери рядків і номери позицій у них, де допущені помилки, а також коментарі до кожної із цих помилок. Крім того, кольором виділяється фон першого з тих рядків тексту проєкту, що містить помилку, або колір фону рядка, наступного за рядком з помилкою. Потрібно виправити в тексті проєкту всі синтаксичні помилки і знову запустити проект на виконання.

Типова помилка Syntax error, ";" expected (Синтаксична помилка, ";" очікувалось) — після інструкції не поставлено крапку з комою .

# data[].attributes.headline
28 лютого .Введення та виведення елементів масиву.

# data[].attributes.subject
28 лютого .Введення та виведення елементів масиву.

# data[].attributes.body
Потреба запровадження табличних величин випливає з необхідності запам'ятовувати й однотипно (за одним алгоритмом) опрацьовувати великий набір можливо однотипних даних. Наприклад, при знаходженні середнього балу кожного учня класу з інформатики за чверть потрібно знаходити суму великої кількості оцінок. Як зберігати всі ці оцінки? Зарезервувати для цього 40 чи більше змінних? Це дуже незручно.

У мові Python відповідні зручні структури даних називають послідовностями. Це рядки (символів), списки, масиви, значення функції range і ще деякі інші об'єкти.

Списку (у мові програмування) відповідає (у математиці) послідовність, члени якої занумеровано невід'ємними цілими числами, починаючи з 0, з нефіксованими довжиною та типом елементів.

Оператори й функції для роботи зі списками (s і t у позначеннях нижче)

len(s) — довжина послідовності s;

x in s — результат перевірка приналежності значення x послідовності s — True або False. У останніх версіях Python можна перевіряти приналежність підрядка рядку;

x not in s — not (x in s) — результат заперечення x in s;

s[j] — повертає значення j-го елемента списку s або (len(s)+j)-й при j < 0;

s[j]= x — надання елементу з номером j списку s значення x;

s[i:j:d] — зріз зі списку s від елементів i-го до j-го з кроком d;

min(s) — найменший елемент s;

max(s) — найбільший елемент s;

s + t — результат «дописуванням» до списку s списку t;

s*n або n*s — результат n-кратного повторення списку s. При n ≤ 0 — порожня послідовність.

Наприклад,

[1, 2, 3] + [4, 5] == [1, 2, 3, 4, 5]
[4, 5]*3 = [4, 5, 4, 5, 4, 5]

Методи списків

append(x) — додає елемент зі значенням x в кінець послідовності;

clear — очищує список;

copy — створює копію списку;

count(x) — повертає кількість елементів зі значенням x;

extend(s) — розширює список, додаючи до кінця поточного списку список s;

index(x[,j0[,j1]]) — повертає найменший iндекс елемента зі значенням x [для номерів елементів від j ₀ [до j ₁]]. Породжує виключення ValueError, якщо елемента з таким значенням не знайдено;

insert(j,x) — вставляє на місце з номером j елемент зі значенням x;

pop(j) — повертає значення елемента з номером j, видаляючи його з послідовності;

remove(x) — вилучає елемент з найменшим iндексом серед тих, що мають значення x. Породжує виключення ValueError, якщо елемента з таким значенням не знайдено;

reverse() — зміняює порядок елементів на зворотний;

sort([f]) — упорядковує елементи з можливістю використання власної функції порівняння f;

Способи виведення елементів списку

Вказівка print(a) виводить елементи списку a у квадратних дужках через кому.

Цикл for можна організувати двома способами:

змінюючи індекс j, виводити елемент списку з індексом j.

for i in range(len(A)):
    print(A[i], end = ' ')

(тут і далі запис end = ' ' означає вставлення пробілу);

змінюючи не індекс елемента списку, а його значення.

for elem in A:
    print(elem, end = ' ')

В останньому прикладі бачимо істотну відмінність мови Pytnon від мов-попередників: цикл for надає зручний спосіб перебрати саме елементи послідовності, а не індекси елементів.

Розглянемо приклад створення списку d цілих чисел з цифри рядка s

s = 'ab12c59p7dq'
d = []
for с in s:
    if '1234567890'.find(с) != -1:
            d.append(int(с))
print(d)

з таким результатом виведення: [1, 2, 5, 9, 7].

Способи створення й наповнення списків

Використати багатократне повтороення списку для заповнення списку одними й тими самими значеннями. Наприклад,

n = 999
a = [0] * n

Перелічити елементи списку у квадратних дужках. Наприклад,

Primes  = [2, 3, 5, 7, 11, 13]
Rainbow = ['червоний','оранжевий','жовтий','зелений','блакитний','синій','фіолетовий']

Заповнити список згідно з формулою

[вираз for змінна in послідовність]

де послідовність містить усі значення, яких набуває змінна, від якої залежить вираз. Наприклад, список квадратів усіх цифр [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] можна створити таким чином:

a = [j**2 for j in range(0,10)]
print(a)

Cтворити порожній список і в кінець списку додавати елементи (по одному) за допомогою методу append, значення яких зчитувати, наприклад, з клавіатури.

a = []            # створено порожній список
n = int(input())  # зчитино кількість елементів списку
for i in range(n):
    a.append(int(input()))

Змінну n використано лише для зручності сприйняття — див. змінений приклад.

A = []
for i in range(int(input())):
      A.append(int(input()))

Можна по-іншому організувати процес прочитування списків, спочатку створивши список з потрібного числа елементів.

A = [0] * int(input())
for i in range(len(A)):
    A[i] = int(input())

Зчитати з файлу

f=open('input.txt','r')
a=[]
for i in range(int(f.readline())): # зчитати кількість елементів
    a.append(int(f.readline()))    # зчитати по 1 числу у рядку й заповнити масив
print(a)                           # вивести масив а
b=f.readline().split()             # зчитати рядок тексту і утворити масив b з його слів
print(b)                           # вивести масив b

Заповнити випадковими числами з використанням функциї randrange з модуля random:

from random import randrange
n = 10
a = [randrange(1, 10) for i in range(n)]

Обчислення суми елементів масиву, що задовольняють певним умовам
(приклад подано для знаходження суми парних елементів лінійного масиву a, заповненого випадковими числами)

import random
n=9
amax=99
a=[]
for j in range(n):
    a.append(random.randint(1,amax))
print(a)
print('Сума парних чисел з поданих дорівнює')
s=0
for j in range(n):
    if a[j]%2==0:
        s+=a[j]
print(s)

Алгоритм двійкового (бінарного) пошуку використовують для пошуку (індекса) елемента масиву з певним значенням. Цей алгоритм застосовують до попередньо упорядкованого лінійного масиву при розташуванні заданого значення елемента між найбільшим та найменшим значеннями елементів масиву. За рахунок упорядкованості масиву досягають великої швидкості пошуку — кількість операцій пропорційна log₂ N, що позначають таким чином: O(log₂ N).

Головна ідея двійкового пошуку — з кожним наближенням поділяти множину значень (приблизно) навпіл.

Для стислого опису алгоритму запровадимо такі позначення для змінних, початкові значення яких задають на початку виконання алгоритму:

aj — значення елемента масиву з номером j;

b — задане значення;

j min — найменше зі значень номерів елементів масиву, серед яких здійснюють пошук;

j max — найбільше зі значень номерів елементів масиву, серед яких здійснюють пошук.

Алгоритм бінарного пошуку:

1. Поки j min ≤ j max робити таке:

1. Обчислити значення j = [( j min + j max) / 2].

2. Якщо b = aj, то припинити виконання алгоритму з отриманим значенням j.

3. Якщо b < aj, то надати змінній j max значення j – 1.

4. Якщо aj < b, то надати змінній j min значення j + 1.

2. Повернути від'ємне значення – 1 як ознаку того, що шуканого індексу немає.

import random
import math
a=[0]
n=10
for j in range(1, n):
  a.append(a[j-1]+1+random.randint(1,4))
b=random.randint(1,a[n-1]+1)
print("Масив ",a,"\nЗначення ",b)
j_min=0
j_max=n-1
c=-1
while (j_min <= j_max):
  j=math.ceil((j_min+j_max)/2)
  if b==a[j]:
     c=j
     break
  elif b<a[j]: j_max=j-1
  else:        j_min=j+1
if (c<0): print("немає серед елементів масиву")
else:     print("має індекс ",j)

Якщо розмір і тип елементів послідовності не знінні протягом виконання програми, то використовують модуль роботи з масивами array.

# data[].attributes.headline
28 лютого .Введення та виведення елементів масиву.

# data[].attributes.subject
28 лютого .Введення та виведення елементів масиву.

# data[].attributes.body
Потреба запровадження табличних величин випливає з необхідності запам'ятовувати й однотипно (за одним алгоритмом) опрацьовувати великий набір можливо однотипних даних. Наприклад, при знаходженні середнього балу кожного учня класу з інформатики за чверть потрібно знаходити суму великої кількості оцінок. Як зберігати всі ці оцінки? Зарезервувати для цього 40 чи більше змінних? Це дуже незручно.

У мові Python відповідні зручні структури даних називають послідовностями. Це рядки (символів), списки, масиви, значення функції range і ще деякі інші об'єкти.

Списку (у мові програмування) відповідає (у математиці) послідовність, члени якої занумеровано невід'ємними цілими числами, починаючи з 0, з нефіксованими довжиною та типом елементів.

Оператори й функції для роботи зі списками (s і t у позначеннях нижче)

len(s) — довжина послідовності s;

x in s — результат перевірка приналежності значення x послідовності s — True або False. У останніх версіях Python можна перевіряти приналежність підрядка рядку;

x not in s — not (x in s) — результат заперечення x in s;

s[j] — повертає значення j-го елемента списку s або (len(s)+j)-й при j < 0;

s[j]= x — надання елементу з номером j списку s значення x;

s[i:j:d] — зріз зі списку s від елементів i-го до j-го з кроком d;

min(s) — найменший елемент s;

max(s) — найбільший елемент s;

s + t — результат «дописуванням» до списку s списку t;

s*n або n*s — результат n-кратного повторення списку s. При n ≤ 0 — порожня послідовність.

Наприклад,

[1, 2, 3] + [4, 5] == [1, 2, 3, 4, 5]
[4, 5]*3 = [4, 5, 4, 5, 4, 5]

Методи списків

append(x) — додає елемент зі значенням x в кінець послідовності;

clear — очищує список;

copy — створює копію списку;

count(x) — повертає кількість елементів зі значенням x;

extend(s) — розширює список, додаючи до кінця поточного списку список s;

index(x[,j0[,j1]]) — повертає найменший iндекс елемента зі значенням x [для номерів елементів від j ₀ [до j ₁]]. Породжує виключення ValueError, якщо елемента з таким значенням не знайдено;

insert(j,x) — вставляє на місце з номером j елемент зі значенням x;

pop(j) — повертає значення елемента з номером j, видаляючи його з послідовності;

remove(x) — вилучає елемент з найменшим iндексом серед тих, що мають значення x. Породжує виключення ValueError, якщо елемента з таким значенням не знайдено;

reverse() — зміняює порядок елементів на зворотний;

sort([f]) — упорядковує елементи з можливістю використання власної функції порівняння f;

Способи виведення елементів списку

Вказівка print(a) виводить елементи списку a у квадратних дужках через кому.

Цикл for можна організувати двома способами:

змінюючи індекс j, виводити елемент списку з індексом j.

for i in range(len(A)):
    print(A[i], end = ' ')

(тут і далі запис end = ' ' означає вставлення пробілу);

змінюючи не індекс елемента списку, а його значення.

for elem in A:
    print(elem, end = ' ')

В останньому прикладі бачимо істотну відмінність мови Pytnon від мов-попередників: цикл for надає зручний спосіб перебрати саме елементи послідовності, а не індекси елементів.

Розглянемо приклад створення списку d цілих чисел з цифри рядка s

s = 'ab12c59p7dq'
d = []
for с in s:
    if '1234567890'.find(с) != -1:
            d.append(int(с))
print(d)

з таким результатом виведення: [1, 2, 5, 9, 7].

Способи створення й наповнення списків

Використати багатократне повтороення списку для заповнення списку одними й тими самими значеннями. Наприклад,

n = 999
a = [0] * n

Перелічити елементи списку у квадратних дужках. Наприклад,

Primes  = [2, 3, 5, 7, 11, 13]
Rainbow = ['червоний','оранжевий','жовтий','зелений','блакитний','синій','фіолетовий']

Заповнити список згідно з формулою

[вираз for змінна in послідовність]

де послідовність містить усі значення, яких набуває змінна, від якої залежить вираз. Наприклад, список квадратів усіх цифр [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] можна створити таким чином:

a = [j**2 for j in range(0,10)]
print(a)

Обчислення суми елементів масиву, що задовольняють певним умовам
(приклад подано для знаходження суми парних елементів лінійного масиву a, заповненого випадковими числами)

import random
n=9
amax=99
a=[]
for j in range(n):
    a.append(random.randint(1,amax))
print(a)
print('Сума парних чисел з поданих дорівнює')
s=0
for j in range(n):
    if a[j]%2==0:
        s+=a[j]

Впорядкування елементів масиву вибором найменшого елемента
(опис подано для лінійного масиву з діапазоном індексу 1..n)

Змінюючи j від 1 — найменшого значення індексу — до (n – 1) — найбільшого значення індексу, зменшеного на 1, — робимо таке:

визначаємо номер l найменшого елемента для індексів у межах від j до n включно;

міняємо місцями значення елементів з індексами j та l. У результаті такої заміни на місце з номером (індексом) j стане те значення, що потрібно.

Подамо для наочності ілюстрацію такого впорядкування 10-елементного масиву, запозичену зі сторінки Вікіпедії.

Тут червоним тлом виділено те значення, яке серед елементів з номером від j до n вважають найменшим у поточний момент виконання алгоритму, блакитним — значення поточного елемента масиву, яке порівнюють з тим, що наразі вважають найменшим, жовтим — ті значення, які вже стоять на потрібному місці.

Код програми мовою Python має такий вигляд.

import random
n=9
amax=99
a=[]
for j in range(n):
  a.append(random.randint(1,amax))
print(a)
for j in range(n-1):
  for k in range(j+1,n):
    if a[j]>a[k]:
       a[j],a[k]=a[k],a[j]
print('Результат впорядкування цього масиву такий')
print(a)

Рекурсивність алгоритму означає виклик цього алгоритму в ньому самому — див. кроки 3–4. На малюнку нижче подано частину схеми впорядкування.

Тут кольоровими кругами позначено вибрані значення елементів масиву. Після переставлянь навколо них ці значення надалі залишаються нерухомими у масиві. Спочатку буде впорядковано елементи, менші від значення, позначеного зеленим кольором, потім — менші від значення, позначеного червоним кольором, ще пізніше — менші від значення, позначеного синім кольором.

Проаналізуйте на відповідність опису ілюстрацію для вибору правого краю (елемента з найбільшим номером), запозичену із сайту http://uk.wikipedia.org/wiki

і код програми.

import random
n=9
amax=99
a=[]
for j in range(n):
    a.append(random.randint(1,amax))
print(a)
def qsort(L):
    if L: return qsort([x for x in L if x<L[0]]) + [x for x in L if x==L[0]] + qsort([x for x in L if x>L[0]])
    return []
print('Результат впорядкування цього масиву такий')
print(qsort(a))

Якщо елементи списку самі є списками, то сортування відбуватиметься за першими елементам вкладених списків:

>>>a=[[2,1],[3,2],[1,3]]
>>>print(sorted(a))
[[1, 3], [2, 1], [3, 2]]

При потребі упорядкувати за іншим елементом використовують необов'язковий аргумент key, якому надають значення — назву функції, що повертає критерій упорядкування. Все це можна побачити у наступному прикладі програми опрацювання бази даних, кожний елемент якої містить дані про юного спортсмена: ім'я, вік (у роках), зріст (у см) і вагу (у кілограмах).

a = [['Петро',10,130,35], ['Василина',11,135,39],['Христина',9,140,33],['Тарас',10,128,30]]
n = input('Упорядкувати за іменем (1), віком (2), зростом (3) чи вагою (4): ')
n = int(n)-1

def sort_col(i):
   return i[n]

a.sort(key=sort_col)
for i in a:
  print(i[0],' ', i[1],' ', i[2],' ',i[3])

Алгоритм двійкового (бінарного) пошуку використовують для пошуку (індекса) елемента масиву з певним значенням. Цей алгоритм застосовують до попередньо упорядкованого лінійного масиву при розташуванні заданого значення елемента між найбільшим та найменшим значеннями елементів масиву. За рахунок упорядкованості масиву досягають великої швидкості пошуку — кількість операцій пропорційна log₂ N, що позначають таким чином: O(log₂ N).

# data[].attributes.headline
4 березня.GIF -анімація. Програми анімації.

# data[].attributes.subject
4 березня.GIF -анімація. Програми анімації.

# data[].attributes.body
Напевно, кожен користувачі в інтернеті стикався з картинками, які змінюються (або краще сказати програються, як відео файл). Такі картинки називають анімацією. Представляють вони з себе файл gif, в якому стиснуті по черзі програються кадри картинки (з певним інтервалом у часі).

Графічні файли формату GIF зазвичай використовуються в Інтернеті для відображення графіки та логотипів. Вони також підтримують базову анімацію, що робить їх популярним форматом файлів для мемів у соціальних мережах.

Gif анімація - це формат зображень, який підтримує анімацію картинок. Анімація - створення ілюзії руху на екрані монітора.

Щоб зробити гіфку в Telegram, ви можете вибрати будь-який відеофайл будь-якої тривалості. Це суттєва перевага! Зліва внизу необхідно натиснути на значок гучності, у вас відобразиться «GIF». Виберіть цей формат, щоб відео було без звуку.

Що таке GIF-файл?

Кожного разу переглядаючи стрічку в соціальних мережах, ви напевно бачите GIF-файли. Але що означає GIF і як працюють файли цього формату?

GIF – це формат обміну графічними даними (скорочено від англ. Graphics Interchange Format). GIF є форматом растрового файлу, який призначений для відносно простих зображень переважно для Інтернету. Кожен файл може підтримувати глибину кольору до 8 біт на піксель і містити 256 індексованих кольорів. Формат GIF також дає змогу об’єднувати зображення або кадри, створюючи просту анімацію.

Файли цього формату мають розширення .gif і відкриваються в багатьох програмах.

Історія виникнення GIF-файлу.

Формат файлу GIF створив у червні 1987 року спеціаліст у сфері обчислюваних систем Стів Вілхайт (Steve Wilhite) і його команда, які працювали в американській технологічній компанії CompuServe.

Метою розробки було прискорити завантаження великих зображень, але поступово цей кольоровий формат замінив собою чорно-білий, створений компанією CompuServe для завантаження файлів.

Ранні версії файлів CompuServe формату GIF мали назви 87a і 89a. Поряд із чорно-білими файлами XBM, GIF став першим форматом зображень, поширеним на веб-сайтах.

GIF-файли вдосконалювалися, щоб надавати ще більше функцій анімації. Наприклад, розробники отримали можливість зациклювати GIF-анімацію в 1995 році, після роботи над браузером Netscape Navigator. У 2015 році файли GIF почала підтримувати мережа Facebook, а у 2018 – Instagram.

Для чого використовуються GIF-файли?

Формат обміну графічними даними призначений для відображення простих зображень і анімації. Але яке основне призначення GIF-файлів?

Вебграфіка та логотипи.

Формат GIF не призначений для високоякісних фотографій, оскільки він може відображати лише обмежену кількість кольорів. Натомість GIF-файли чудово підходять для графіки та логотипів із чіткими лініями та краями, а також відносно невеликою кількістю кольорів.

Меми та онлайн-анімації.

На веб-сайтах і платформах соціальних мереж можна побачити безліч анімованих GIF-файлів. GIF-файл складається з кількох пов’язаних зображень, що створює ефект кінеографа й відеофрагмента, але вони беззвучні та зазвичай мають низьку роздільну здатність. GIF-файли також є популярним форматом онлайн-мемів і гумористичних кліпів, які поширюються в соціальних мережах.

# data[].attributes.headline
5 березня.Програми введення та виведення даних.

# data[].attributes.subject
5 березня.Програми введення та виведення даних.

# data[].attributes.body
Більшість задач із програмування передбачають введення даних користувачем, над даними виконуються деякі операції., після чого виводиться результат опрацювання:

введення → опрацювання → виведення.

Введення та виведення даних у консольному режимі

У програмі з графічним інтерфейсом ми також можемо використовувати функції input() і print(). Введення та виведення відбуватиметься в панелі виведення головного вікна PyCharm. Функція input() призначена для введення даних із клавіатури. Згадаємо схему виконання вказівки введення на прикладі уведення цілого значення для змінної х (рис.1):

1 — програма призупиняє роботу й очікує введення;

2 — виводиться підказка щодо очікуваного значення;

3 — уведене значення перетворюється на ціле число;

4 — отримане значенння присвоюється змінній x.

При використанні функції input() Python інтерпретує введені дані як рядок. Тому при уведенні числових значень слід до результату введення застосовувати функції int() і float(), які перетворюють рядкове подання числа на ціле або дійсне число.

Якщо потрібно ввести декілька значень в одному рядку, можна скористатися функцією map().

Ввести значення для змінних a, b, c одним рядком:
a, b, c = map(float, input('a, b, c? ').split())

Проаналізуємо виконання цього оператора:

функція split() перетворює рядок, який повернула функція input('a, b, c? '), на список, використовуючи пропуск як роздільник;

функція map() застосовує функцію float() до кожного елемента списку й повертає послідовність дійсних чисел.

Для виведення значень використовують команду ргіnt(<список значень>).

У списку виведення можуть бути константи, змінні, вирази. Наприклад, команда:

print(z) виведе значення змінної z;

ргіnt(‘Сума дорівнює’) виведе текст Сума дорівнює;

ргіnt(Сума дорівнює’, z) виведе текст Сума дорівнює, а після нього через пропуск значення змінної z.

Компоненти Тkinter для введення та виведення даних

Результати обчислень, повідомлення програми про стан об’єктів тощо можна вивести за допомогою віджетів класу Label. Для введення даних можна використати відомі вам віджети класу Entry.

Компонент Entry — це поле для введення і виведення тексту.

Приклад:

Створити об’єкт en1 у вікні програми з графічним інтерфейсом (рис.2).

Рис.2

Вигляд вікна зображено на рис.3:

Рис.3

Які дії може виконувати елемент Entry у відповідь на певні події?

Згадаємо основні методи Entry на прикладі об’єкта entry1. Розглянемо таблицю:

Метод

Призначення

Приклад виклику

get()Отримати значення, що міститься в текстовому поліЗмінній а цілого типу присвоїти значення, що міститься в полі entry1:
a = int(entry1.get())insert(index, str) Вивести в текстове поле рядок, починаючи зі знакомісця з номером indexВивести до поля еntry1 значення змінної х:
entry1.insert(0, х)delete(first, last) Вилучити символи, починаючи зі знакомісця з номером first до знакомісця з номером last (нумерація символів з 0)Очистити текстове поле перед виведенням. Щоб вилучити весь текст, як другий параметр потрібно указати END:
entry1.delete(0, END)

Приклад:

Увести число до поля об’єкта entry1 і вивести квадрат числа до поля об’єкта entry2. Зчитування значення з текстового поля, піднесення до квадрата і виведення результату в поле entrу2 виконує функція kvadrat() — обробник події Натискання клавіші Enter.

# data[].attributes.headline
5  березня.Програми введення та виведення даних.

# data[].attributes.subject
5  березня.Програми введення та виведення даних.

# data[].attributes.body
Більшість задач із програмування передбачають введення даних користувачем, над даними виконуються деякі операції., після чого виводиться результат опрацювання:

введення → опрацювання → виведення.

Введення та виведення даних у консольному режимі

У програмі з графічним інтерфейсом ми також можемо використовувати функції input() і print(). Введення та виведення відбуватиметься в панелі виведення головного вікна PyCharm. Функція input() призначена для введення даних із клавіатури. Згадаємо схему виконання вказівки введення на прикладі уведення цілого значення для змінної х (рис.1):

1 — програма призупиняє роботу й очікує введення;

2 — виводиться підказка щодо очікуваного значення;

3 — уведене значення перетворюється на ціле число;

4 — отримане значенння присвоюється змінній x.

При використанні функції input() Python інтерпретує введені дані як рядок. Тому при уведенні числових значень слід до результату введення застосовувати функції int() і float(), які перетворюють рядкове подання числа на ціле або дійсне число.

Якщо потрібно ввести декілька значень в одному рядку, можна скористатися функцією map().

Ввести значення для змінних a, b, c одним рядком:
a, b, c = map(float, input('a, b, c? ').split())

Проаналізуємо виконання цього оператора:

функція split() перетворює рядок, який повернула функція input('a, b, c? '), на список, використовуючи пропуск як роздільник;

функція map() застосовує функцію float() до кожного елемента списку й повертає послідовність дійсних чисел.

Для виведення значень використовують команду ргіnt(<список значень>).

У списку виведення можуть бути константи, змінні, вирази. Наприклад, команда:

print(z) виведе значення змінної z;

ргіnt(‘Сума дорівнює’) виведе текст Сума дорівнює;

ргіnt(Сума дорівнює’, z) виведе текст Сума дорівнює, а після нього через пропуск значення змінної z.

Компоненти Тkinter для введення та виведення даних

Результати обчислень, повідомлення програми про стан об’єктів тощо можна вивести за допомогою віджетів класу Label. Для введення даних можна використати відомі вам віджети класу Entry.

Компонент Entry — це поле для введення і виведення тексту.

Приклад:

Створити об’єкт en1 у вікні програми з графічним інтерфейсом (рис.2).

Рис.2

Вигляд вікна зображено на рис.3:

Рис.3

Які дії може виконувати елемент Entry у відповідь на певні події?

Згадаємо основні методи Entry на прикладі об’єкта entry1. Розглянемо таблицю:

Метод

Призначення

Приклад виклику

get()Отримати значення, що міститься в текстовому поліЗмінній а цілого типу присвоїти значення, що міститься в полі entry1:
a = int(entry1.get())insert(index, str) Вивести в текстове поле рядок, починаючи зі знакомісця з номером indexВивести до поля еntry1 значення змінної х:
entry1.insert(0, х)delete(first, last) Вилучити символи, починаючи зі знакомісця з номером first до знакомісця з номером last (нумерація символів з 0)Очистити текстове поле перед виведенням. Щоб вилучити весь текст, як другий параметр потрібно указати END:
entry1.delete(0, END)

Приклад:

Увести число до поля об’єкта entry1 і вивести квадрат числа до поля об’єкта entry2. Зчитування значення з текстового поля, піднесення до квадрата і виведення результату в поле entrу2 виконує функція kvadrat() — обробник події Натискання клавіші Enter.

# data[].attributes.body
Створіть масив, елементами якого є 15 випадкових чисел у діапазоні від 2 до 18.
- Вивести масив на екран.
- Порахувати середнє значення елементів масиву.
- Вивести добуток його додатних елементів та їх кількість.
- Знайти кількість парних елементів масиву.

Відповідь:

import random

list = [random.randint(2, 18) for i in range(15)]

print("Масив:", list)

average = sum(list) // len(list)

print("Середнє значення:", average)

product = 1

for i in range(len(list)):

product *= list[i]

print("Добуток ціх {} чисел: {}".format(len(list), product))

pairs = 0

for num in list:

if list.count(num) > 1:

pairs += 1

print("Кількість парних елементів масиву:", pairs)

# data[].attributes.body
Створіть масив, елементами якого є 15 випадкових чисел у діапазоні від 2 до 18.
- Вивести масив на екран.
- Порахувати середнє значення елементів масиву.
- Вивести добуток його додатних елементів та їх кількість.
- Знайти кількість парних елементів масиву.

Відповідь:

import random

list = [random.randint(2, 18) for i in range(15)]

print("Масив:", list)

average = sum(list) // len(list)

print("Середнє значення:", average)

product = 1

for i in range(len(list)):

product *= list[i]

print("Добуток ціх {} чисел: {}".format(len(list), product))

pairs = 0

for num in list:

if list.count(num) > 1:

pairs += 1

print("Кількість парних елементів масиву:", pairs)

# data[].attributes.headline
14   березня Дано одновимірний масив а, який складається з  n  довільних елементів і заповнений випадковими числами від -100 до 100. Обчислити і надрукувати суму елементів масиву.

# data[].attributes.subject
14   березня Дано одновимірний масив а, який складається з  n  довільних елементів і заповнений випадковими числами від -100 до 100. Обчислити і надрукувати суму елементів масиву.

# data[].attributes.body
from random import randrange

n=int(input("Введіть кількість елементів масиву"))

a = [randrange(-100, 100) for i in range(n)]

print(a)

s=0

for i in range(n):

s+=a[i]

print(s)

# data[].attributes.headline
 14 березня Дано одновимірний масив а, який складається з  n  довільних елементів і заповнений випадковими числами від -100 до 100. Обчислити і надрукувати суму елементів масиву.

# data[].attributes.subject
 14 березня Дано одновимірний масив а, який складається з  n  довільних елементів і заповнений випадковими числами від -100 до 100. Обчислити і надрукувати суму елементів масиву.

# data[].attributes.body
from random import randrange

n=int(input("Введіть кількість елементів масиву"))

a = [randrange(-100, 100) for i in range(n)]

print(a)

s=0

for i in range(n):

s+=a[i]

print(s)

# data[].attributes.headline
21 березня Знайти  суму парних елементів лінійного масиву a, заповненого випадковими числами 

# data[].attributes.subject
21 березня Знайти  суму парних елементів лінійного масиву a, заповненого випадковими числами 

# data[].attributes.body
from random import randrange

import random

n=int(input("Введіть кількість елементів масиву "))

a=[]

for j in range(n):

a.append(random.randint(1,n))

print(a)

print('Сума парних чисел з поданих дорівнює')

s=0

for j in range(n):

if a[j]%2==0:

s+=a[j]

print(s)

# data[].attributes.headline
21 березня Знайти  суму парних елементів лінійного масиву a, заповненого випадковими числами 

# data[].attributes.subject
21 березня Знайти  суму парних елементів лінійного масиву a, заповненого випадковими числами 

# data[].attributes.body
from random import randrange

import random

n=int(input("Введіть кількість елементів масиву "))

a=[]

for j in range(n):

a.append(random.randint(1,n))

print(a)

print('Сума парних чисел з поданих дорівнює')

s=0

for j in range(n):

if a[j]%2==0:

s+=a[j]

print(s)

# data[].attributes.headline
28 березня завдання; створіть програму для знаходження мінімального і максимального серед непарних елементів масиву.

# data[].attributes.subject
28 березня завдання; створіть програму для знаходження мінімального і максимального серед непарних елементів масиву.

# data[].attributes.body
numbers = []

for i in range(10):

number = int(input("Enter a number: "))

numbers.append(number)

even_numbers = list(filter(lambda x: x % 2 == 0, numbers))

odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))

max_even = max(even_numbers)

max_odd = max(odd_numbers)

print("The maximum even number is:", max_even)

print("The maximum odd number is:", max_odd)

# data[].attributes.headline
28 березня. створіть програму для знаходження мінімального і максимального серед непарних  елементів масиву.

# data[].attributes.subject
28 березня. створіть програму для знаходження мінімального і максимального серед непарних  елементів масиву.

# data[].attributes.body
numbers = []

for i in range(10):

number = int(input("Enter a number: "))

numbers.append(number)

even_numbers = list(filter(lambda x: x % 2 == 0, numbers))

odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))

max_even = max(even_numbers)

max_odd = max(odd_numbers)

print("The maximum even number is:", max_even)

print("The maximum odd number is:", max_odd)

# data[].attributes.headline
 14.04 Створити проект для розв'язання відомої задачі-головоломки «Кролики і числа», описаної у «Книзі Абака» в 1202 році італійським математиком Леонардо Фібоначчі. На початку січня тобі подарували пару новонароджених кроликів. Відомо, що кожна пара кроликів кожні 2 місяці народжує нову пару кроликів. Скільки пар кроликів у тебе буде у грудні?

# data[].attributes.subject
 14.04 Створити проект для розв'язання відомої задачі-головоломки «Кролики і числа», описаної у «Книзі Абака» в 1202 році італійським математиком Леонардо Фібоначчі. На початку січня тобі подарували пару новонароджених кроликів. Відомо, що кожна пара кроликів кожні 2 місяці народжує нову пару кроликів. Скільки пар кроликів у тебе буде у грудні?

# data[].attributes.body
procedure TForm1.Button1Click(Sender: TObject);
var  n,k,k1,k2,i:integer;
begin
  n:=StrToInt(Edit1.Text);
  if n>0 then
  begin
    k1:=1;
    k2:=1;
    k:=0;
    For i:=2 to n do
    begin
      k2:=k1+k;
      k:=k1;
      k1:=k2;
    end;
  Label3.Caption:='Наприкінці цього місяця в тебе буде '+IntToStr(k2)+ ' пар кроликів.';
  end
  else Label3.Caption:='Введено некоректні дані!'
end;