Поділіться своєю думкою про онлайн уроки інформатики. Пройдіть анонімне опитування на головній сторінці сайту
Вітаю, шановні учні 9-го класу! Сьогодні на уроці інформатики ми поговоримо про одну з важливих тем, яка допоможе вам глибше розуміти світ програмування. Мова йде про структуровані типи даних.
Структуровані типи даних в програмуванні — це важливий інструмент, що дозволяє об'єднувати дані різних типів в одну структуру, яка спрощує роботу з ними. Це відкриває безмежні можливості для зберігання і обробки інформації в програмах.
Типи даних
Давайте спочнемо з основ. В програмуванні існують різні типи даних, і кожен з них використовується для зберігання певного роду інформації. Ось декілька поширених типів даних:
Цілі числа (int): Використовуються для зберігання цілих чисел. Наприклад, кількість студентів в класі, рік народження тощо.
Дійсні числа (float або double): Для представлення дійсних чисел, таких як десяткові дроби або числа з плаваючою комою, як вага або зріст.
Рядки (string): Використовуються для зберігання текстової інформації. Це може бути ім'я, адреса, повідомлення тощо.
Логічні значення (bool): Вони можуть бути лише істинними (true) або хибними (false). Використовуються для обробки умов в програмах.
Списки (arrays): Це набори даних одного типу, такі як масив студентів чи список оцінок.
Структури (structs): Ось тут ми і доходимо до нашої теми — структурованих типів даних. Структури дозволяють об'єднувати дані різних типів в одну структуру.
Структури в програмуванні
Структура в програмуванні — це спеціальний тип даних, що дозволяє об'єднувати дані різних типів в один об'єкт. В інших словах, структура дозволяє створювати новий тип даних, який містить в собі різні поля різних типів даних.
Давайте розглянемо приклад. Припустимо, ви пишете програму для обліку студентів, і вам потрібно зберігати інформацію про кожного студента: ім'я, прізвище, вік та середній бал. Один із способів це зробити — використати структуру.
У цьому прикладі ми створили структуру з ім'ям "Student," яка має чотири поля: "firstName" (ім'я), "lastName" (прізвище), "age" (вік) та "averageGrade" (середній бал). Тепер ви можете створювати змінні типу "Student" і заповнювати їх інформацією про студентів:
Використання структур в програмах
Структури дозволяють створювати складні об'єкти, які мають в собі різні дані. Це особливо корисно в програмах, які обробляють велику кількість інформації. Завдяки структурам, ви можете легко створювати, зберігати та опрацьовувати дані в програмах.
На практиці структури використовуються для різних завдань: від зберігання даних про користувачів в програмах соціальних мереж до обліку товарів у складі. Вони є потужним інструментом для створення логічно структурованих програм.
Загальні правила використання структур
Оголошення структури: Перед використанням структури, ви повинні її оголосити. Це робиться поза будь-якою функцією в вашій програмі.
Створення змінних структури: Ви можете створити змінні типу вашої структури та працювати з ними, надавши їм певні значення.
Доступ до полів: Для доступу до полів структури використовуйте оператор "крапка."
Оператор "крапка": Цей оператор дозволяє отримувати доступ до полів структури та змінювати їх значення.
Приклад використання
Ось приклад простої програми, яка використовує структуру для обліку студентів:
#include <iostream>
using namespace std;
// Оголошення структури
struct Student {
string firstName;
string lastName;
int age;
double averageGrade;
};
int main() {
// Створення змінних структури
Student student1;
Student student2;
// Заповнення даними
student1.firstName = "Іван";
student1.lastName = "Петров";
student1.age = 17;
student1.averageGrade = 4.5;
student2.firstName = "Марія";
student2.lastName = "Сидоренко";
student2.age = 16;
student2.averageGrade = 5.0;
// Виведення інформації
cout << "Студент 1: " << student1.firstName << " " << student1.lastName << endl;
cout << "Вік: " << student1.age << ", Середній бал: " << student1.averageGrade << endl;
cout << "Студент 2: " << student2.firstName << " " << student2.lastName << endl;
cout << "Вік: " << student2.age << ", Середній бал: " << student2.averageGrade << endl;
return 0;
}
Цей приклад демонструє створення структури "Student," створення змінних цього типу, заповнення їх даними та виведення цих даних на екран.
На завершення, структуровані типи даних є важливим елементом програмування, оскільки вони дозволяють створювати складні об'єкти, які містять в собі різні дані. Вони дають можливість логічно організовувати і обробляти інформацію в програмах, і їх використання стає необхідною умовою для розробки складних програм.
Структуровані типи даних є важливою частиною програмування, оскільки вони дозволяють створювати складні об'єкти, які містять різні дані. Використання структурованих типів даних допомагає логічно організувати і обробляти інформацію в програмах. Давайте розглянемо, як працювати зі структурами в Lazarus і Python на прикладах.
Робота зі структурами в Lazarus (Pascal)
Використання структур в Pascal (Lazarus) відбувається за допомогою типу запису (record). Ось приклад створення структури, яка представляє інформацію про студента:
program StructExample;
type
Student = record
firstName: string;
lastName: string;
age: integer;
averageGrade: real;
end;
var
student1: Student;
student2: Student;
begin
student1.firstName := 'Іван';
student1.lastName := 'Петров';
student1.age := 17;
student1.averageGrade := 4.5;
student2.firstName := 'Марія';
student2.lastName := 'Сидоренко';
student2.age := 16;
student2.averageGrade := 5.0;
writeln('Студент 1: ', student1.firstName, ' ', student1.lastName);
writeln('Вік: ', student1.age, ', Середній бал: ', student1.averageGrade);
writeln('Студент 2: ', student2.firstName, ' ', student2.lastName);
writeln('Вік: ', student2.age, ', Середній бал: ', student2.averageGrade);
end.
class Student:
def __init__(self, first_name, last_name, age, average_grade):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.average_grade = average_grade
student1 = Student('Іван', 'Петров', 17, 4.5)
student2 = Student('Марія', 'Сидоренко', 16, 5.0)
print('Студент 1:', student1.first_name, student1.last_name)
print('Вік:', student1.age, ', Середній бал:', student1.average_grade)
print('Студент 2:', student2.first_name, student2.last_name)
print('Вік:', student2.age, ', Середній бал:', student2.average_grade)
У цьому прикладі ми визначили клас "Student" і створили два об'єкти цього класу, заповнили їх даними та вивели інформацію на екран.
Загалом, структуровані типи даних є важливим елементом програмування, оскільки вони дозволяють створювати складні об'єкти, які містять в собі різні дані. Вони допомагають логічно організовувати і обробляти інформацію в програмах, і їх використання стає необхідною умовою для розробки складних програм в різних мовах програмування, включаючи Lazarus і Python.
Сподіваюсь, що ця вступна інформація допомогла вам краще зрозуміти структуровані типи даних і їх важливість в програмуванні. В майбутніх уроках ми докладніше розглянемо, як працювати зі структурами та як їх використовувати для вирішення різних завдань.
тест на тему "Робота зі структурованими типами даних в Lazarus і Python":
Питання 1: Яким чином в Lazarus оголошуються структури?
а) За допомогою ключового слова "structure". b) За допомогою ключового слова "record". c) За допомогою ключового слова "class". d) За допомогою ключового слова "data".
Правильна відповідь: b) За допомогою ключового слова "record".
Питання 2: Які основні поля містить структура "Student" в Pascal (Lazarus) з прикладу?
a) Ім'я та прізвище. b) Ім'я, вік, середній бал. c) Ім'я, вік, стать. d) Прізвище, середній бал, адреса.
Правильна відповідь: b) Ім'я, вік, середній бал.
Питання 3: Яким чином визначаються об'єкти класу "Student" в Python?
a) За допомогою ключового слова "instance". b) За допомогою ключового слова "new". c) За допомогою ключового слова "create". d) За допомогою ключового слова "class".
Правильна відповідь: a) За допомогою ключового слова "instance".
Питання 4: Яка основна перевага використання структур в програмуванні?
a) Зменшення обсягу програми. b) Можливість зберігати дані різних типів в одному об'єкті. c) Збільшення швидкості виконання програм. d) Можливість створення великої кількості об'єктів.
Правильна відповідь: b) Можливість зберігати дані різних типів в одному об'єкті.
Питання 5: Що є основним типом даних для структур в Python?
a) int. b) string. c) record. d) class.
Правильна відповідь: d) class.
Питання 6: Як можна оголосити структуру у мові програмування Python?
a) За допомогою ключового слова "structure". b) За допомогою ключового слова "record". c) За допомогою ключового слова "type". d) За допомогою ключового слова "struct".
Правильна відповідь: c) За допомогою ключового слова "type".
Питання 7: Яким чином створюються об'єкти структури "Student" в Pascal (Lazarus)?
a) student1 := Student.Create(); b) student1 = new Student(); c) student1 := Student(); d) student1 := Student;
Правильна відповідь: c) student1 := Student();
Питання 8: Які основні поля містить структура "Student" в Python з прикладу?
a) Ім'я та прізвище. b) Ім'я, вік, стать. c) Ім'я, вік, середній бал. d) Прізвище, адреса, телефон.
Правильна відповідь: b) Ім'я, вік, стать.
Питання 9: Яка основна різниця між класами та структурами в Python?
a) Класи не можуть містити методів. b) Структури не можуть містити поля даних. c) Структури не підтримують спадкування (наслідування). d) Класи можуть містити методи та спадкування, тоді як структури - ні.
Правильна відповідь: d) Класи можуть містити методи та спадкування, тоді як структури - ні.
Питання 10: Для чого можна використовувати структури в програмуванні?
a) Виключно для організації великих об'ємів текстових даних. b) Для оголошення констант. c) Для огорнення декількох змінних в один об'єкт. d) Для визначення циклів в програмах.
Правильна відповідь: c) Для огорнення декількох змінних в один об'єкт.
У курсі 8 класу ви працювали з простими типами даних: дійсним, цілим, логічним, символьним у середовищі програмування Lazarus мовою Object Pascal.
Тип — це властивість величини, що визначає множину значень, які величина може приймати, і множину операцій, які над даною величиною можна виконувати.
Для збереження змінної простого типу в пам’яті виділяється окрема комірка.
У житті ми постійно стикаємося з безліччю об'єктів, об'єднаних за певними ознаками, наприклад: футбольна команда, лісовий масив, таблиця температур за тиждень. В житті ми зазвичай об‘єднуємо такі дані в таблиці. Для опрацювання табличних даних у програмуванні існує структурований тип даних масив.
Масив — це структурований тип даних, який складається з фіксованого числа однотипних елементів, що мають спільне ім’я.
Тип елементів називають базовим типом масиву.
Одновимірний масив — це пронумерована послідовність значень одного типу.
Кількість значень називають розміром масиву. Завдяки нумерації можна отримати доступ до будь—якого елемента масиву як до простого значення базового типу.
Для зберігання значень температури протягом року замість створення окремих змінних t1, t2, …, t365 можна створити один масив з іменем t, де кожному значенню буде відповідати порядковий номер елемента масиву. Спільне ім’я t означає, що ці дані належать до одного масиву, а розрізнити їх можна за номером (індексом).
Ім'я елементу масиву складається з імені масиву та порядкового номера елемента в масиві (індекса) елемента, узятого в квадратні дужки.
Наприклад, елемент масиву t[1] дорівнюватиме значенню середньодобової температури за 1 січня, t[365] — за 31 грудня.
Описати змінну типу Одновимірний масив можна двома способами:
1) у розділі type інтерфейсного блоку програмного коду описати новий тип даних, і в розділі var описати змінну нового типу:
type <ім’я типу> = array[діапазон індексів] of <тип елементів>;
var <список змінних>: <ім’я типу>;
2) описати змінну типу масив, не вводячи нового типу:
var <список змінних>: array[діапазон індексів] of <тип елементів>;Приклад:Масив Num із 5 цілих чисел можна описати таким чином:
type SimpleIntegerarray = array[1..5] of Integer;
var Num: SimpleIntegerarray;
або
var Num: array[1..5] of Integer;
При описі змінної типу Одновимірний масив в пам'яті виділяється послідовність комірок, розмір яких відповідає базовому типу.
Нумерація елементів масиву може починатися не з одиниці. Масив Num із 5 цілих чисел можна описати таким чином:
var Num: array[–2..2] of Integer;
Кількість елементів описаного таким чином масиву визначається під час його опису й надалі в програмі не змінюється.
Приклад:
Спробуємо вивести значення елемента масиву з неіснуючим індексом.
var Numbers: array[1..10] of Integer;
begin Edit1.Text := IntToStr(Numbers[20]);
Отримаємо повідомлення про помилку:
Варіанд домашнього завдання від вчительки:
Ось вам приклад програми на лазарусі і на пайтоні . Припустимо, ви пишете програму для обліку студентів, і вам потрібно зберігати інформацію про кожного студента: ім'я, прізвище, вік та середній бал. Один із способів це зробити — використати структуру
program StudentRecord;
type
Student = record
Ім'я: string;
Прізвище: string;
Вік: Integer;
СереднійБал: real;
end;
var
студент: Student;
begin
// Введення інформації про студента
Write('Введіть ім\'я студента: ');
ReadLn(студент.Ім'я);
Write('Введіть прізвище студента: ');
ReadLn(студент.Прізвище);
Write('Введіть вік студента: ');
ReadLn(студент.Вік);
Write('Введіть середній бал студента: ');
ReadLn(студент.СереднійБал);
// Виведення інформації про студента
WriteLn('Ім\'я: ', студент.Ім'я);
WriteLn('Прізвище: ', студент.Прізвище);
WriteLn('Вік: ', студент.Вік);
WriteLn('Середній бал: ', студент.СереднійБал);
end.
class Student:
def __init__(self, name, surname, age, average_grade):
self.name = name
self.surname = surname
self.age = age
self.average_grade = average_grade
# Введення інформації про студента
name = input('Введіть ім\'я студента: ')
surname = input('Введіть прізвище студента: ')
age = int(input('Введіть вік студента: '))
average_grade = float(input('Введіть середній бал студента: '))
# Створення об'єкта класу Student
student = Student(name, surname, age, average_grade)
# Виведення інформації про студента
print('Ім\'я:', student.name)
print('Прізвище:', student.surname)
print('Вік:', student.age)
print('Середній бал:', student.average_grade)
Публікація проєкту https://replit.com/@Yuliia-BulovaBu/studienti?v=1
Обидві програми використовують структури (в Pascal) або класи (в Python) для організації та збереження інформації про студента.
Створено виключно для навчальної мети.
З використанням матеріалів Овсянникової К.В., КЗШ І-ІІІ ступенів №52 опублікованих на сайті naurok.com.ua/, та
матеріалів Савка-Ржематорської Оксани Василівни опублікованих на сайті vseosvita.ua