Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
M1_3spCP.doc
Скачиваний:
4
Добавлен:
18.09.2019
Размер:
161.28 Кб
Скачать

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

Для доступу до даних та їх адрес в командах вставки на мові Асемблера використовуються імена простих даних та даних покажчиків. Транслятор вставок на мові Асемблера перетворює їх на адреси або безпосередні операнди у відповідних форматах машинних команд.

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

Доступ до полів записів таблиць здійснюється через імена окремих полів так само як і в базовій мові С/C++ та у відповідній мові Асемблера.

Системні програми в процесі свого виконання використовують власну вбудовану інформаційну базу (IБ), а також будують ІБ задачі про текст на заданій вхідній мові.

Структура програмного шаблона виконання роботи

Для спрощення розв’язання задачі слід використовувати прототип проекту spLb1.dsp, який зберігається в робочому просторі spLb1.dsw в папці spLb1, яка зберігає шаблони прототипів для всіх практичних занять циклу «Системне програмування і операційні сис­теми». До складу проекту консольної прикладної програми, орі­єн­тованої на можливість використання в числі інших бібліотек стандартних функцій та об’єктів MFC (Microsoft Foundation Classes) входять модулі з наступними вхідними файлами заголовків і реалізацій:

  • StdAfx.h і StdAfx.cpp – модуль для організації використання об’єктів класів MFC;

  • tables.h і tables.cpp – модуль для опису і організації вико­ри­стан­ня структур або класів таблиць;

  • vistab.h і vistab.cpp – модуль для відображення рядків або пов­них таблиць;

  • spLb1.cpp – модуль контрольних прикладів для тестування функцій обробки таблиць.

При побудові проектів без функцій MFC та в інших системах, що дозволяють побудову проектів, файли StdAfx.h і StdAfx.cpp можуть бути опущені, а посилання на них в операторах #include “StdAfx.h” повинні бути виключені.

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

Рекомендації з використання функції відображення

Головним для коректного відображення є додержання правил звертання до функції виведення printf, яка виконує в мові C фор­мат­не виведення на пристрій відображення (в стандартний файл виве­дення stdout) в формі

printf(рядок формату, список аргументів виведення);

Рядок формату задається або у вигляді константи-рядка, який включає символи коду КОІ-8 (в більш загальному випадку коду ASCII з відповідною національною таблицею кодування), замкнені в лапки, або вка­зівник на масив знаків або символів. Кількість аргументів визначається кількістю специфікаторів перетворення даних виведення, наве­дених в таблиці 2, а тип даних, що виводиться, повинен відповідати типу специфікатора. При цьому відповідальність за відповідність і кількість об’єктів виведення покладається на програміста і діагностика не видається, через що потрібно бути дуже уважним при написанні і модифікації подібних викликів функції.

В рядку формату спеціальні символи можуть задаватися після знака "\", а власне специфікатори перетворення починаються зі знака "%". Для включення в текст рядка результату одного знака "%" його необхідно повторити в рядку формату. Специфікатор перетворення в загальному випадку має синтаксис.

%[вирівнювання][ширина][префікс формату]

специфікатор формату

Таблиця 3.1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]