Юніт 1: Розв’язування задач за допомогою C — MCA (AKTU)

pic

Вступ

Програмування є основою інформатики, а мова C є однією з найвпливовіших і найбільш використовуваних мов програмування. Перед тим, як зануритися в складніші теми, важливо зрозуміти основи програмування та основи C, які є фундаментом для розв’язування задач в інформатиці. У цьому блозі ми розглянемо теми, описані в Першому розділі курсу "Розв’язування задач за допомогою C" за програмою MCA в AKTU.

1. Основи програмування

1.1 Підходи до розв’язування задач

Розв’язування задач — це систематичний підхід до пошуку рішення для заданої проблеми. Ось основні підходи, які використовуються при розв’язуванні задач:

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

Метою розв’язування задач є розробити чіткий і ефективний план (алгоритм) для вирішення проблеми, а потім реалізувати його за допомогою мови програмування.

1.2 Використання мов програмування високого рівня для систематичної розробки програм

Мова програмування високого рівня розроблена таким чином, щоб бути зручною для користувача і абстрагувати складності апаратного забезпечення. Мови, як C, Python, Java тощо, є мовами високого рівня.

Використання мови програмування високого рівня допомагає в таких аспектах:

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

1.3 Поняття алгоритму та блок-схеми

  • Алгоритм: Алгоритм — це покрокова процедура для вирішення задачі. Це чіткий і точний набір інструкцій, які можуть бути реалізовані на будь-якій мові програмування для вирішення конкретного завдання.

Приклад: для обчислення суми двох чисел алгоритм може виглядати так:

  1. Початок
  2. Ввести два числа
  3. Додати два числа
  4. Показати результат
  5. Кінець
  • Блок-схема: Блок-схема — це візуальне зображення алгоритму. Вона використовує різні фігури (наприклад, прямокутники, ромби та овали) для представлення різних кроків процесу та потоку керування між ними.

1.4 Поняття і роль структурованого програмування

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

У структурованому програмуванні:

  • Програми діляться на маленькі, зручні для керування частини, які називаються функціями.
  • Використання операторів goto не рекомендується, щоб уникнути "павукових вебів" у коді.
  • Конструкції керування, як if, for, while, забезпечують правильний потік виконання програми.

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

2. Основи програмування на C

2.1 Історія C

C — це універсальна мова програмування високого рівня, розроблена Денісом Річі у 1972 році в Bell Labs.
Це спочатку було створено для реалізації операційної системи UNIX, і з того часу стало однією з найбільш використовуваних мов для системного та прикладного програмування.

2.2 Основні характеристики мови C

  • Простота та ефективність: C має простий синтаксис, що робить її легкою для вивчення. Її ефективність робить її підходящою для системного програмування, де продуктивність є критично важливою.
  • Портативність: Програми на C можна компілювати та запускати на різних машинах з мінімальними або жодними змінами.
  • Модульність: Програми на C можна поділяти на менші, повторно використовувані модулі або функції.
  • Доступ до низькорівневих функцій: C надає доступ до низькорівневих функцій програмування, дозволяючи розробникам безпосередньо взаємодіяти з пам’яттю та апаратним забезпеченням.
  • Багата підтримка бібліотек: C має велику стандартну бібліотеку, яка надає функції для звичних завдань, таких як введення/виведення, управління пам’яттю та маніпулювання рядками.

2.3 Структура програми на C

Типова програма на C має таку структуру:

#include   

int main() {  
 // Логіка програми  
 return 0;  
}
  • Директиви препроцесора: Інструкція #include використовується для підключення стандартних бібліотек, таких як stdio.h для функцій введення/виведення.
  • Основна функція: Функція main() є точкою входу в програму на C.
  • Інструкція return: Інструкція return 0; вказує, що програма успішно завершилася.

2.4 Компиляція, лінкування та виконання програми на C

  • Компиляція: Процес перетворення вихідного коду (написаного на C) в машинний код. Компілятор перетворює код на C у об’єктний файл.
  • Лінкування: Процес об’єднання об’єктного файлу з іншими необхідними бібліотеками для створення виконуваного файлу.
  • Виконання: Останній виконуваний файл запускається на системі для виконання бажаного завдання.

2.5 Набір символів і токени

  • Набір символів: Мова C використовує набір символів для написання програм, що включає: Літери (A-Z, a-z), Цифри (0–9), Спеціальні символи (наприклад, +, -, *, /, % тощо)
  • Токени: Токени — це найменші одиниці програми на C. Вони включають:
    • Ключові слова: Зарезервовані слова, як-от int, char, return тощо.
    • Ідентифікатори: Імена, надані змінним, функціям тощо.
    • Константи: Фіксовані значення, такі як 5, 'A' тощо.
    • Оператори: Символи для виконання операцій (+, -, *, /).
    • Пунктуація: Символи, такі як ;, {}, які використовуються для організації коду.

2.6 Ключові слова, ідентифікатори, константи, змінні, інструкції, типи даних

  • Ключові слова: Попередньо визначені зарезервовані слова з особливим значенням (наприклад, int, float, char, if).
  • Ідентифікатори: Імена, надані програмістом різним сутностям, таким як змінні, функції, масиви тощо.
  • Константи: Фіксовані значення, які не можуть бути змінені під час виконання програми (наприклад, const int MAX = 100;).
  • Змінні: Місця збереження в пам’яті з конкретним ім’ям і типом для зберігання значень.
  • Інструкції: Операції в C, які можуть бути:
    • Оголошення типу: Оголошення змінних (наприклад, int a;).
    • Арифметичні: Виконання математичних операцій.
    • Управління: Управління потоком виконання (наприклад, if, else).
    • Типи даних: Визначають тип даних, які змінна може зберігати, такі як:

1. Примітивні типи: int, float, char, double.

2. Похідні типи: Масиви, вказівники, структури тощо.

3. Стандартний ввід/вивід у C

  1. Стандартний ввід: Функція scanf() використовується для отримання вводу від користувача.
int age;  
scanf("%d", &age);

2. Стандартний вивід: Функція printf() використовується для виведення результату.

printf("Ваш вік: %d", age);

4. Оператори та вирази

  • Оператори: C надає різні оператори для виконання операцій над змінними та константами.
    До них відносяться:
  • Арифметичні оператори (Arithmetic Operators): +, -, *, /, %
  • Порівняльні оператори (Relational Operators): >, <, >=, <=, ==, !=
  • Логічні оператори (Logical Operators): &&, ||, !
  • Оператори присвоєння (Assignment Operators): =, +=, -=, тощо.
  • Вирази (Expressions): Вираз — це комбінація операторів і операндів, що дає певне значення.

Приклад:

int result = a + b * c;

Висновок

Юніт 1 закладає основи для розв'язання задач за допомогою мови C. Він знайомить з концепціями програмування, методами вирішення задач, алгоритмами, блок-схемами та основами мови C, включаючи структуру програми, введення/виведення та оператори. Ці основи будуть необхідні для вирішення складніших задач і написання ефективних програм на C в процесі навчання.

pic

Перекладено з: Unit 1: Problem Solving Using C — MCA (AKTU)

Leave a Reply

Your email address will not be published. Required fields are marked *