
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Кафедра електронних приладів
Методичні вказівки
до комплексу лабораторних робіт з дисципліни
“ІНФОРМАТИКА ІНФОКОМУНІКАЦІЙНИХ СИСТЕМ”
на тему
“Програмування на мові Сі “
для студентів спеціальності 6.050802 « Електронні прилади та пристрої»
Затверджено на засіданні
кафедри “Електронні прилади”
протокол № від р.
Львів 2009 р.
Програмування на мові Сі: Методичні вказівки до комплексу лабораторних робіт з дисципліни “Інформатика інфокомунікаційних систем” для студентів спеціальності 6.050802 «Електронні прилади та пристрої» Укладачі Сушинський О.Є., Фечан А.В. – Львів: Видавництво НУ “Львівська політехніка”, 2009.– 26 с.
Укладачі:
О.Є. Сушинський, канд. фіз.-мат. наук, доцент
А.В.Фечан, канд. фіз.-мат. наук, доцент
Відповідальний за випуск:
З.Ю. Готра, док. тех. наук, професор
Рецензент:
З.М. Микитюк, док. фіз.-мат. наук, професор
МЕТА ЛАБОРАТОРНОЇ РОБОТИ
Ознайомити з основами програмування на мові Сі, операторами введення і виведення і основними фунціями.
ВИМОГИ ДО ВИКОНАННЯ І ОФОРМЛЕННЯ ЗВІТУ
Оформлення пояснювальної записки до курсової роботи виконується з використанням програми Microsoft© Word. Основний текст: шрифт – Times New Roman, розмір шрифта – 12, міжстрічковий інтервал – 1,1. Вирівнювання абзаців – по ширині, відступ першого рядка – 1 см.
ОСОБЛИВОСТІ ВИКОРИСТАННЯ МАСИВІВ
Основні поняття і визначення
Програмування (programming) – усі технічні операції, які необхідні для створення комплексних програм, включаючи аналіз вимог та усі стадії розробки і реалізації. В більш вузькому змісті – кодування і тестування програм у рамках конкретного проекту.
Мова програмування (programming language або algorіthmic language) – система позначень, яка служить для точного опису програм або алгоритмів для комп'ютера. Мови програмування є штучними мовами, в яких синтаксис і семантика строго визначені. Тому при їх використанні вони не допускають вільного трактування виразу, що є характерним для звичайної (природної) мови.
Основні етапи розв'язку поставлених задач:
розробка математичної моделі задачі, яка вирішується;
розробка методики розв'язку і визначення обмежень, які накладаються на задачу;
розробка алгоритму і запис його на мові програмування;
програмування розв'язку задачі на одній з мов програмування;
тестування і відладка програми.
Пояснення:
Перший і самий суттєвий етап. Якщо немає моделі, то вирішувати задачу є беззмістовним.
Виходячи з математичної моделі, складається методика вирішення задачі на комп'ютері. Особливістю методики є те, що вона є більш прив'язаною до вирішення задач для комп'ютера: вона передбачає можливість використання оперативної пам'яті (ОП) або запам'ятовування частини інформації на диску, враховує швидкість процесора і можливість спрощення математичної моделі.
Алгоритм залежить від методики. Алгоритм – це набір правил, який визначає процес перетворення вхідних даних у вихідний результат. Алгоритм може бути записаний природною мовою або за допомогою блок-схеми.
Запис алгоритму на мові програмування (Pasсal, Cobol, Foсal, Java).
Сучасні системи, на відміну від старих систем програмування, дозволяють зручно переходити від одного етапу до іншого. Це здійснюється з допомогою інтегрованого середовища програмування, яке містить текстовий редактор, компілятор, компоновник, вбудований відладчик і надає програмісту додаткові засоби написання і відладки програми.
Екран інтегрованого середовища програмування містить головне меню, стрічку стану, вікно редагування, вікно повідомлень. Більша частина того, що ви виконуєте, відбувається в вікнах. Вікно представляє собою прямокутну область екрану, яку можна переміщати по екрану, змінювати її розміри, перекривати іншими вікнами, закривати і відкривати.
Активним може бути тільки одне вікно. Всі команди, які ми виконуємо, відносяться до активного вікна. Існує кілька типів вікон, але майже всі з них мають наступні елементи: стрічку заголовку, маркер закриття вікна, полоси прокрутки, кут зміни розміру вікна, номер вікна.
Головне меню. Вихід в меню – F10.
– системне
меню;
File (Файл) – завантаження і створення файлів, збереження внесених змін, управління каталогами, вихід з системи;
Edit (Правка) – реалізація різних режимів редагування;
Search (Пошук) – пошук фрагменту тексту, оголошення функцій, місце-знаходження помилок;
Run (Виконати) – компіляція, компоновка, запуск на виконання;
Compile (Відкомпілювати) – компіляція програми з активного вікна;
Debug (Відладка) – управління можливостями відладчика програм;
Project (Проект) – організація проектів (багатофайлових програм);
Options (Параметри) – встановлення опцій, а саме параметрів компіляції, компоновки і т.д.;
Window (Вікно) – управління вікнами;
Help (Допомога) – звертання до системи оперативної підказки.
Меню File (Файл)
Пункти меню: New (Новий) – створити новий файл, Open (Відкрити) – завантажити існуючу програму в текстовий редактор (таку саму операцію виконує функціональна клавіша F3), Save (Зберегти) – записати редаговану програму (F2), Save as (Зберегти як) – записати редаговану програму з новим іменем, Save all (Записати всі) – зберегти всі завантажені програми, Change Dir (Змінити каталог) – змінити робочий каталог, Print (Друк) – видрукувати на принтері текст програми з активного вікна, Quit (Вихід) – вийти з інтегрованого середовища програмування.
Меню Edit (Правка)
Пункти меню: Undo (Відновити) – відміняє дію останньої команди редагування, Redo (Повторити) – повторяє остання команду редагування, Cut (Вирізати) – видаляє виділений фрагмент тексту і заносить в текстовий буфер обміну (clipboard), Copy (Скопіювати) – залишає виділений фрагмент тексту незмінним, але заносить його в текстовий буфер обміну, Paste (Вставити) – вставляє фрагмент з буферу обміну в місцезнаходження курсору, Clear (Очистити) – видаляє фрагмент без занесення в буфер обміну, Show Clipboard (Показати буфер обміну) – відкриває нове вікно і показує в ньому текст, який був попередньо поміщений в буфер обміну.
Меню Search (Пошук) – пошук фрагментів тексту, оголошення функцій, помилок Фрагментом тексту може бути назва змінної, назва функції, набір символів.
Пункти меню: Find (Знайти) – дозволяє ввести зразок для пошуку фрагменту тексту і задати параметри: Direction (Напрям пошуку) – Forward (Вперед) Backward (Назад), Scope (Область пошуку) – Global (Весь текст програми), Selected Text (Відмічений текст), Origin (Початок пошуку) – From Cursor (Починаючи від місцезнаходження курсору), Entire Scope (Вся область пошуку); Replace (Замінити) – дозволяє замінити фрагмент тексту на інший; Goto Line Number (Перейти на стрічку з номером) – курсор переміщається на стрічку з заданим номером; Previous Error (Попередня помилка) – курсор переходить на стрічку з попередньою за текстом помилкою, виявленою при компіляції; Next Error (Наступна помилка) – курсор переходить на стрічку з наступною за текстом помилкою, виявленою при компіляції.
Меню Run (Виконати)
Пункти меню: Run (Виконати) – здійснює виконання програми; Goto Cursor (Перейти до курсору) – виконання програми здійснюється від початку програми до місцезнаходження курсору, використовується при відладці програми; Trace Into (Входження при трасуванні) – здійснює пооператорне виконання програми, використовується при відладці.
Меню Window (Вікно)
Пункти меню: Size/Move (Розмір/Переміщення) – змінює розмір або місцезнаходження активного вікна; Zoom (Масштаб) – збільшує активне вікно до розмірів екрану або повертає його до початкових розмірів; Tile (Мозаїка) – розташовує всі вікна на екрані таким чином, що одночасно видно всі відкриті вікна і вони не перекривають одне одне, зручно при невеликій кількості відкритих вікон (до чотирьох); Cascade (Каскад) – розташовує всі вікна каскадом, так, щоб край наступного вікна виступав з-під попереднього; Next (Наступне) – активізує наступне за номером вікно; Previous (Попереднє) – активізує попереднє за номером вікно; Close (Закрити) – закриває активне вікно; Close All (Закрити всі) – закриває всі відкриті вікна; Message (Повідомлення) – відкриває вікно повідомлень, в якому появляється інформація про помилки і попередження, які знайдені при компіляції; Output (Дані, що виводяться) – активізує вікно якому виведені результати виконання програми, оскільки після виконання програми автоматично активізується вікно редагування тексту програми; User Screen (Екран користувача) – здійснює повноекранний вивід результатів виконання програми.
Стрічка стану. Остання стрічка екрану. Вона нагадує про основні клавіші, які можуть бути використані для активного вікна. Вона повідомляє, яку дію виконує команда в даний момент часу. Стрічка стану змінюється при переході від одного вікна до іншого і при переході до різних дій.
Редагування файлів здійснюється наступними групами команд: команди курсору, операцій вставки і видалення тексту, операції над блоками, спеціальні команди редагування.
Команди курсору.
– переміщення курсору на одну позицію вліво;
– переміщення курсору на одну позицію вправо;
– переміщення курсору на один рядок вверх;
– переміщення курсору на один рядок вниз;
Ctrl / – переміщення курсору на одне слово вліво/вправо;
PgUp / PgDown – переміщення курсору на один екран вверх/вниз по тексту;
Home / End – переміщення курсору до початку/кінця рядка;
Ctrl PgUp / PgDown – переміщення курсору на початок/кінець тексту;
Backspace або – стерти символ зліва від курсору;
Delete – стерти символ на якому знаходиться курсор;
Ctrl Y – витерти рядок;
Enter – вставити рядок.
Операції над текстовими блоками
Shift / / / – відмітити блок;
Ctrl Insert – скопіювати блок;
Shift Insert – вставити блок;
Shift Delete – вирізати блок;
Ctrl Delete – видалити блок.
Мова Сі оперує такими поняттями як змінні – імена величин, значення яких змінюється в процесі виконання програми, оператори, які виконують операції над змінними і константами, функції, які об'єднують кілька операторів і які переважно кількаразово використовуються в одній програмі.
До основних понять мови Сі відносяться: алфавіт, ідентифікатори, ключові слова, константи і коментарі.
Алфавітом називається сукупність символів, які використовує мова – a ... z, A ... Z, 0 ... 9, ( ) [ ] { } ! # $ % ^ & * + - / , . ; : < > = _.
Мова Сі розрізняє великі і малі букви, тобто є case sensitive (чутливою до регістру), тобто імена змінних roman, Roman i ROMAN визначають три різні змінні.
Ідентифікатори. У мові Сі імена, які використовуються для позначення змінних, констант, функцій, міток та інших об'єктів, визначених користувачем, називаються ідентифікаторами (identifiers). Ідентифікатором може бути довільна послідовність латинських букв (великих і малих), цифр і символу підкреслювання, яка починається з букви або символу підкреслювання. В мові Сі ідентифікатор може складатися з довільної кількості символів, однак два ідентифікатори вважаються різними, якщо в них відрізняються хоча б один з перших 32 символів, в мові Сі++ це обмеження зняте.
З символу підкреслювання переважно починаються імена бібліотечних зарезервованих змінних або функцій. Намагайтеся не використовувати імена, які починаються з символу підкреслювання і вам вдасться уникнути можливих конфліктів з великою кількістю бібліотечних імен.
Ключові слова. В мові Сі деякі ідентифікатори використовуються як службові слова (keywords), які мають спеціальне значення для компілятора, наприклад, оператори або типи даних. Їх застосування суворо визначене і ці слова не можуть бути використані інакше. В мові Сі це:
auto |
double |
int |
struct |
break |
else |
long |
switch |
case |
enum |
register |
typedef |
char |
extern |
return |
union |
const |
float |
short |
unsigned |
continue |
for |
signed |
void |
default |
goto |
sizeof |
volatile |
do |
if |
static |
while |
В мові Сі++ додалися такі ключові слова:
asm |
friend |
operator |
public |
throw |
catch |
inline |
private |
template |
try |
class |
new |
protected |
this |
virtual |
В кожному трансляторі додається кілька своїх ключових слів, зокрема для роботи з пам'яттю і регістрами процесорів, а також для використання переривань і фрагментів програм на інших мовах програмування.
Константи. У мові С константи представляють фіксовану величину, яка не може змінюватись в програмі. Детальніше розглянемо це питання при розгляді базових типів даних.
Коментарі – це частина програми, яка ігнорується компілятором і служить для зручного читання програми. В процесі компіляції коментарі замінюються пробілом. Відповідно, коментар може знаходитися в будь-якому місці програми, де допустимим є використання пробілу. Коментарем в мові програмування Сі є послідовність символів, між символами /* і */ або всі символи, які знаходяться після пари символів // і до кінця рядка.
Оператори здійснюють операції над змінними; оператор закінчується ; і на відміну від текстових редакторів Enter можна ставити в будь-якому місці програми, де є допустимим пробіл.
Блок (складений оператор) – набір логічно пов'язаних операторів, які знаходяться між двома фігурними дужками (braces).