Паскаль в задачах. Урок 3. Запис алгоритмів з використанням вказівки розгалуження мовою програмування.
- Деталі
- Автор: Teacher
- Категорія: Уроки Pascal
- Перегляди: 8882
.jpg)
Задача 1.
Умова: Дано трикутник зі сторонами a, b, c. Визначити, який це трикутник: гострокутний, тупокутний чи прямокутний.
Для розв'язання цієї задачі необхідно нагадати дітям наступне:
1) з відрізків заданої довжини можна утворити трикутник тільки в тому випадку, якщо сума довжин будь-яких двох відрізків більше довжини третього відрізка;
2) якщо з трьох відрізків можна побудувати трикутник, то він буде прямокутним тоді й тільки тоді, коли виконується теорема Піфагора, тобто, коли сума квадратів двох сторін дорівнює квадрату третьої (це співвідношення може виконуватися для однієї пари сторін);
3) для гострокутного та тупокутного трикутників теорема Піфагора перетворюється на нерівність, причому для гострокутного повинні виконуватись всі три нерівності, а для тупокутного хоча б одна (дійсно в гострокутному трикутникові всі кути менші за 90 градусів, а в прямокутному та тупокутному хоча б один дорівнює або більше 90 градусів відповідно).
Крім того, очевидно, що довжини всіх сторін не можуть бути від'ємними або нульовими.
Отже, програма для розв'язання цієї задачі має наступний вигляд:
Паскаль в задачах. Урок 2. Запис алгоритмів з використанням вказівки розгалуження мовою програмування.
- Деталі
- Автор: Teacher
- Категорія: Уроки Pascal
- Перегляди: 6739
.jpg)
Задача 1.
Умова: Чебурашка вирішив купити килими, щоб застелити кімнату, в якій він мешкав разом з Геною. Їхня прямокутна кімната виявилася розмірами a x b, де a та b - цілі числа. Коли Чебурашка запитав у магазині, які килими є у продажу, то продавець повідомив, що є квадратні килими зі стороною с, де с - ціле число. Яку кількість килимів необхідно придбати Чебурашці, щоб накрити максимальну площу кімнати. Килими не можна накладати та підгинати. Визначити, яка площа кімнати буде ненакритою килимами. Передбачити ситуацію, коли розміри килиму перевищують розміри кімнати.
Очевидно, що якщо довжина сторони килима більша за будь-яку зі сторін кімнати, то застелити її цими килимами неможливо. Крім того, для знаходження кількості килимів, що вміщуються по одній зі сторін кімнати без їх підгинання, необхідно поділити націло довжину кімнати на довжину килима. Загальна кількість килимів знаходиться за наступною формулою:
K = K1 * K2,
де К1 та К2 - кількості килимів, що вміщуються вздовж двох суміжних сторін кімнати.
Площа, що незакрита килимами, визначається як різниця між площею кімнати та площею всіх куплених килимів.
Програма, що реалізує алгоритм розв'язку даної задачі, має наступний вигляд:
Паскаль в задачах. Урок 1. Розв'язування задач з лінійними алгоритмами
- Деталі
- Автор: Teacher
- Категорія: Уроки Pascal
- Перегляди: 21642
.jpg)
В цьому блоці уроків будемо розглядати приклади програм написаних на мові Pascal. Задачі будуть з різних предметів та галузей застосування. Уроки будуть подаватися в логічній послідовності від найпростіших - лінійних програм і до складніших. Даний блок уроків буде корисним для учнів шкіл, студентів технікумів, коледжів, а також студентам перших курсів технічних спеціальностей. Код програм будемо писати для середовища Turbo Pascal 7. Звичайно код легко змінити для іншого середовища.
Урок 27.Регулярні вирази в Сі-Шарп. Клас Regex
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 5527

На цьому уроці ми розглянемо з вами дуже потужний, широко використовуваний інструмент для обробки тексту - регулярні вирази.
Регулярний вираз - це якийсь шаблон, складений з символів і спецсимволов, який дозволяє знаходити підрядки відповідні цим шаблоном в інших рядках. Спецсимволов і різних правил їх комбінування є дуже багато, тому регулярні вирази можна навіть назвати таким собі окремою мовою програмування. Ті, хто користувався пошуком по файлах в Windows можуть знати, що для того щоб знайти файли тільки заданого розширення, задається шаблон типу «* .txt». Тут «*» - спецсимвол, який означає будь-які імена файлів. Так ось регулярні вирази надають подібний механізм.
Урок26. Перевизначення методів Equals і GetHashCode в Сі-Шарп. Різниця між Equals і «==»
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 3137

Як відомо, в Сі-Шарп всі класи є спадкоємцями базового класу object. У ньому є три віртуальних методи - ToString, Equals і GetHashCode. На цьому уроці ми поговоримо з вами про останні два методи, а також про оператор «==».
Скажу відразу, що питання різниці між оператором рівності «==» і методом Equals є класичним питанням на співбесіді на вакансію програміста Сі-Шарп.
Урок 25. Перевантаження операторів в Сі-шарп
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 4361

Відомо, що в Сі-шарп існує ряд операторів для роботи з вбудованими типами даних. Це оператори «+», «-», «!», «==», «! =» І т.д. Наприклад, бінарний оператор «+» виконує операцію додавання над чисельними типами даних. Цей же самий оператор над рядками виконує конкатенацію (склеювання двох рядків). Це відбувається тому, що оператор «+» перевантажений в класі String.
Простими словами, перевантаження оператора - це реалізація свого власного функціоналу цього оператора для конкретного класу.
Перевантаження оператора реалізується схожим способом на перевантаження методів. Тут використовується ключове слово operator. Загальна структура перевантаження операторів має наступний вигляд:
Перевантаження унарного * оператора:
public static [повернений тип] operator [оператор] ([тип_операнда] [операнд])
{
// функціонал оператора
}
Перевантаження бінарного * оператора:
public static [повернений тип] operator [оператор] ([тип_операнда1] [операнд1], [тип_операнда2] [операнд2])
{
// функціонал оператора
}
Проектування бази даних СКБД MS Access 2010
- Деталі
- Автор: Teacher
- Категорія: Олімпіади з ІТ
- Перегляди: 3350
.jpg)
Проектування БД складається з декількох етапів:
- аналіз предметної області,
- концептуальне проектування,
- логічне проектування,
- фізичне проектування.
Аналіз предметної області потрібно здійснювати в залежності від технічних умов завдання або від наданих множин даних.
Для прикладу, розглянемо предметну область "Бібліотека".
Для спрощення завдання, розглянемо перехід від паперового обліку бібліотечної літератури та читання її читачами до електронної форми. Тобто, переведемо бібліотеку на електронний варіант ведення документації.
«100 тисяч нових ІТ-спеціалістів до 2020 року» - Володимир Люлька про «Технологічну націю»
- Деталі
- Автор: Teacher
- Категорія: Основи
- Перегляди: 2183

1 березня 2016 р. у 22 українських містах стартує проект «Технологічна нація». Його мета – безкоштовно навчити українців основам програмування. Ініціював проект фонд «BrainBasket». Організація має амбітну мету – до 2020 року підготувати 100 000 нових it-спеціалістів.
Заняття проходитимуть у форматі «blended learning» (змішане навчання), що передбачає самостійну роботу з лекційним матеріалом, викладеним в онлайн, і аудиторну практику під керівництвом досвідчених менторів. Практичні заняття проходитимуть у 100 бібліотеках по всій Україні. Участь в програмі не потребує попередніх технічних навичок. Подати заявку на участь можуть всі охочі. Єдиними критеріями відбору є володіння комп’ютером на рівні впевненого користувача та знання англійської мови на рівні upper-intermediate або вище. Журналісти «Громадського ТБ: Черкаси» поспілкувалися з директором «BrainBasket Foundation» Володимиром Люлькою про проект і про те, як живе ІТ-галузь в Україні.
Як самому навчитися програмувати і знайти круту роботу: 6 історій з життя
- Деталі
- Автор: Teacher
- Категорія: Основи
- Перегляди: 3347

Професія розробника в Україні зараз — одна з найпрестижніших, а технічні вузи виходять в топи рейтингів популярності серед абітурієнтів. Але не секрет, що навіть у великих компаніях працює безліч фахівців, які навчилися самостійно програмувати. AIN.UA зібрав кілька історій про те, як майбутні розробники самотужки опановували професію (отримували при цьому непрофільне освіту або ж кидали вуз, не довчившись). В основному ми спілкувалися з програмістами, але також не обійшли увагою веб-верстку.
Урок 24.Інкапсуляція в Сі-шарп. Модифікатори доступу.
- Деталі
- Автор: Teacher
- Категорія: Програмування на CSharp
- Перегляди: 3780

На цьому уроці ми поговоримо про ще один з базових принципів ООП - інкапсуляції.
Скажу відразу, що ця тема складна для розуміння новачкові, і для гарного освоєння теми, прочитати цей урок або будь-який інший недостатньо. Розуміння інкапсуляції прийде з практикою. На цьому уроці я постараюся направити вас на правильне мислення.
Інкапсуляція - це приховування реалізації об'єкта від кінцевого користувача, яке в Сі-шарп здійснюється за допомогою модифікаторів доступу (private, public ...). Кінцевим користувачем об'єкта тут виступає або об'єкт спадкоємець, або програміст.
Коли ми оголошуємо якийсь член класу приватним, і створюємо об'єкт такого класу, доступ до цього члену закритий для програміста, це і є прихованням реалізації.
А тепер давайте будемо розбиратися, навіщо потрібна інкапсуляція, навіщо щось приховувати. Уявімо що об'єкт це яка-небудь річ (телефон, автомобіль ...), так ось інкапсуляція дозволяє створити корпус цієї речі. Візьмемо для прикладу мобільний телефон. У нього є різні кнопки, інші елементи інтерфейсу, і те, що всередині (схеми, з'єднання ...). Якщо порівнювати з об'єктом в програмуванні, то елементи інтерфейсу це публічні методи, а те що всередині - приватні члени об'єкта. Коли ми натискаємо яку-небудь кнопку на телефоні, нам немає необхідності знати, які при цьому процеси відбуваються всередині телефону, ми чекаємо тільки результату. У програмуванні ми викликаємо якийсь метод, цей метод може викликати інший, внутрішній, допоміжний метод, і в результаті ми отримуємо результат. Цей допоміжний метод немає сенсу викликати безпосередньо, це може зініціювати якийсь збій в програмі, тому доступ до нього варто обмежити.