Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KURSAK.docx
Скачиваний:
10
Добавлен:
23.03.2015
Размер:
648.16 Кб
Скачать

ЗМІСТ

ВСТУП 4

1 ОСНОВНА ЧАСТИНА

1.1. Середовище програмування Visual Stidio 2010

1.1.1 Загальні відомості 5

1.1.2. Проект та його елементи 6

1.1.3. Параметри компілятора С++ 9

1.1.4.Типи даних 12

1.1.5. Функції стандартного введеня-виведення 12

1.1.6. Логічні операції 14

1.2. Робота з побітовими операціями

1.2.1.Умова завдання 16

1.2.2. Опис методу рішення 16

1.2.3.Опис алгоритму програми 17

1.2.4. Тестування роботи програми 18

1.3. Робота з функцією заміни символів

1.3.1.Умова завдання 19

1.3.2. Опис методу рішення 19

1.3.3.Опис алгоритму програми 20

1.3.4. Тестування роботи програми 21

1.4. Робота з масивами

1.4.1.Умова завдання 23

1.4.2. Опис методу рішення 23

1.4.3.Опис алгоритму програми 26

1.4.4. Тестування роботи програми 27

ВИСНОВКИ 28

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 29

ДОДАТОК А: АЛГОРИТМ РОБОТИ ПОБІТОВИХ ОПЕРАЦІЙ 30

ДОДАТОК Б.1: АЛГОРИТМ РОБОТИ ФУНКЦІЇ ЗАМІНИ

СИМВОЛІВ 31

ДОДАТОК Б.1: АЛГОРИТМ РОБОТИ ФУНКЦІЇ ЗАМІНИ

СИМВОЛІВ 32

ДОДАТОК В.1: АЛГОРИТМ РОБОТИ З МАСИВАМИ 33

ДОДАТОК В.2: АЛГОРИТМ РОБОТИ З МАСИВАМИ 34

ДОДАТОК Г: ЛІСТИНГ ПРОГРАМИ РОБОТИ 35

ПОБІТОВИХ ОПЕРАЦІЙ

ДОДАТОК Д: ЛІСТИНГ ПРОГРАМИ РОБОТИ ФУНКЦІЇ

ЗАМІНИ СИМВОЛІВ 36

ДОДАТОК Е: ЛІСТИНГ ПРОГРАМИ РОБОТИ З МАСИВАМИ 37

ВСТУП

Метою цієї курсової роботи являється придбання практичних навичок в роботі з порозрядними логічними операціями та операціями зсуву; створення функції заміни у рядку символів та роботі з одномірними та двомірними масивами.

Завданням на курсову роботу є розробка трьох програм на мові програмування Сі, у середовищі MS Visual C++.

В завданні 1 передбачається використання порозрядних логічних операцій та операцій зсуву. Вхідними даними в програмі є цілі числа заданого масиву. Вихідними даними в програмі є біти негативних чисел, що зрушуються вправо на два розряди, а біти 0 і 4 позитивних чисел скидаються та елементи отриманого масиву, представлені в десятковому і шістнадцятирічному форматі, які виводиться на екран за запитом користувача.

В завданні 2 передбачається використання функції, яка замінює в рядку символів першу букву кожного слова великою літерою, якщо вона є рядковою. Вхідними даними в програмі є дані, що вводяться користувачем з клавіатури за запитом програми, в припущенні що всі ключі – літерні символи латиниці. Вихідними даними становляться усі дані, введені користувачем з заміною кожного слова на велику літеру, а також відображення кількості зроблених змін на екран.

В завданні 3 задана квадратна матриця A розміром 4 x 4, що складається з дійсних елементів. Вхідними даними є дійсні числа, що вводяться користувачем з клавіатури за запитом програми. Вихідними даними становиться сума найбільших елементів кожного стовпця матриці та їх координати, виведені на екран для перегляду користувачеві.

  1. ОСНОВНА ЧАСТИНА

    1. Середовище програмування Visual Studio 2010

      1. Загальні відомості

Visual Studio 2010 - це набір інструментів розробки, заснованих на використанні компонентів, і інших технологій для створення потужних, продуктивних додатків. Крім того, середа Visual Studio 2010 оптимізована для спільного проектування, розробки та розгортання корпоративних рішень.

Visual C++ 2010 надає потужне і гнучке середовище розробки, що дозволяє створювати застосування для Microsoft Windows і застосування, засновані на Microsoft .NET. Це середовище можна використовувати як інтегроване середовище розробки, так і в якості окремих засобів. Visual C++ складається з наступних компонентів:

  • Засоби компілятора Visual C++ 2010. Компілятор підтримує як традиційну розробку з використанням машинного коду, так і розробку з використанням платформ віртуальних машин, таких як середовище CLR. Visual C++ 2010 містить компілятори для цільового об'єкту x64 і Itanium. Компілятор продовжує безпосередньо підтримувати архітектуру x86 і оптимізує продуктивність коду для обох платформ.

  • Бібліотеки Visual C++. Містять загальновизнану бібліотеку шаблонних класів (ATL), бібліотеки Microsoft Foundation Class (MFC) і стандартні бібліотеки, такі як стандартна бібліотека C++, яка складається з бібліотеки iostreams, бібліотеки стандартних шаблонів (STL) і бібліотеки часу виконання мови C (CRT). Бібліотека CRT включає альтернативні функції з поліпшеною безпекою для функцій з відомими проблемами безпеки. Бібліотека STL/CLR дозволяє розробникам, що використовують керований код, використовувати також і можливості бібліотеки STL. Бібліотека підтримки C++ надає нові можливості для маршалінгу даних і спрощує написання програм, що використовують середовище CLR.

  • Середовище розробки Visual C++. Середовище розробки надає усебічну підтримку при управлінні проектами і їх налаштуванні (включаючи поліпшену підтримку великих проектів), редагуванні початкового коду, перегляді початкового коду, а також потужні засоби відладки. Середовище розробки також підтримує технологію IntelliSense, яка надає при написанні коду детальні підказки, що враховують контекст.

Окрім традиційних застосувань з призначеним для користувача інтерфейсом Visual C++ дозволяє розробляти веб-застосування, застосування інтелектуальних клієнтів для Windows, рішення для мобільних пристроїв, що використовують тонкі клієнти і інтелектуальні клієнти. Мова C++, що є найпопулярнішою у світі мовою рівня системи, і Visual C++ разом надають розробникові висококласний засіб світового рівня для побудови програмного забезпечення.

      1. Проект та його елементи

Властивості проекту визначають спосіб компіляції та відлагодження проекту, бібліотеки, спосіб і місце публікації проекту, а також будь-які інші параметри безпеки. Конструктор проектів призначений для завдання властивостей проекту. Для отримання доступу до властивостей окремого файлу, використовується вікно «Свойства».

За допомогою Конструктора проектів можна централізовано керувати властивостями проекту, настройками і ресурсами. Конструктор проектів відображається в середовищі Visual Studio в окремому вікні, так само як інші конструктори, такі як конструктор форм або класів. Він містить кілька сторінок, доступних через вкладки ліворуч. Відомості, введені в Конструктор проектів, зберігаються при переході від однієї сторінки на іншу, при побудові проекту, або при закритті конструктора. Команда «Отменить», доступна в меню «Правка», дозволяє виконати відкат змін.

Доступ до конструктора проектів і завдання властивостей проекту

  1. Виберіть проект в оглядачі рішень. Відкрити Конструктор проектів для неіснуючого проекту неможливо.

  2. У меню Проект виберіть пункт Свойства:имя_проэкта.

  3. Виберіть сторінку властивостей для зміни або перегляду, клацнувши її вкладку, або використовуйте поєднання клавіш CTRL+PAGE DOWN і CTRL+PAGE UP для переміщення між сторінками.

  4. Завдання властивостей.

У конструкторі проектів відсутні кнопки ОК або Відміна. Усі зміни властивостей для активного проекту набувають чинності негайно. Проте параметри набувають чинності у файлі проекту тільки при виборі одного з варіантів збереження або при закритті конструктора. Якщо елемент управління недоступний, він непридатний до типу активного проекту, або не може використовуватися в поточній конфігурації проекту. Для рішень з декількох проектів можна використовувати декілька екземплярів конструктора проектів одночасно. Сторінки і параметри, доступні в Конструкторі проектів, розрізняються за типом проекту і мовою. Доступні сторінки, перераховані в наступній таблиці.

Таблиця 1.1 – «Сторінки у конструкторі проектів»

Сторінка

Опис

Застосування

Містить параметри, які описують застосування і його поведінку, такі як тип застосування, об'єкт, що автоматично запускається, і відомості про зборку.

Побудова

Містить інструкції побудови, включаючи конфігурацію побудови, умовні символи, рівні попереджень і зведення про вивід. Застосовується тільки до проектів Visual C#.

Події побудови

Містить інструкції командного рядка, які виконує компілятор до побудови і після побудови. На цій сторінці також можна вказати умови, при яких виконуватимуться які-небудь події після побудови. Застосовується тільки до проектів Visual C#.

Компіляція

Містить параметри, які управляють процесом компіляції застосування. Застосовується тільки до проектів Visual Basic. Додаткові відомості см в наступних розділах.

Відладка

Містить параметри, які управляють процесом відладки застосування.

Посилання

Містить список компонентів, на які посилається проект. Сюди входять зборки, компоненти COM, посилання на проекти і веб-посилання.

Шляхи для посилань

У цьому вікні міститься список каталогів для пошуку складок при завантаженні, на які посилається проект. Цей параметр залежить від проекту, комп'ютера і користувача.

Ресурси

Дозволяє управляти ресурсами застосування. Включає рядки, малюнки, значки і інші ресурси.

Служби

Дозволяє включити і настроїти служби клієнтського застосування. Ці служби дозволяють Windows -приложениям діставати доступ до служб застосувань Microsoft Ajax.

Параметри

Дозволяє управляти параметрами застосування, такими як динамічні властивості і параметри користувача.

Підпис

Містить параметри, що відносяться до підписки зборки, такі як ім'я файлу ключа або зведення про постачальника ключа.

Безпека

Містить параметри для рівнів безпеки; застосовується тільки до застосувань, розгорнутих за допомогою публікації ClickOnce.

Публікація

Містить параметри для розгортання застосування за допомогою технології ClickOnce.

Аналіз коду

Містить засіб аналізу коду, який можна виконати для коду застосування. Засіб повідомляє відомості про складки, наприклад порушення правил програмування і проектування застосувань Microsoft .NET Framework.

Створювати проекти Visual C++ можна декількома способами :

  • Використовувати шаблони проектів, такі як Шаблон консольного застосування CLR (C++), що допомагають швидко створювати прості проекти.

  • Можна також використовувати майстри застосувань, що допомагають в створенні рішень. Рішення може містити безліч проектів і може бути написане на будь-якій мові, що входить до складу Visual Studio. Середовище розробки Visual Studio може обробляти залежності між проектами, конфігурації окремих проектів, розгортання проектів, і управління початковим кодом. Цей метод добре працює для великомасштабних застосувань.

  • Можна створити простий текстовий файл і зберегти його з розширенням CPP. Використовуючи майстер застосувань Win32, створіть порожній проект. Додайте знову створений CPP -файл в середу розробки Visual Studio. Цей метод добре працює у разі дуже простого консольного застосування. Конкретними параметрами створеного проекту можна управляти за допомогою майстрів коду і сторінок властивостей.

Елементи проекту

У Visual Studio рішення є найвищим рівнем організації, після якого слідує проект. Рішення може містити один або декілька проектів. Проект, у свою чергу, містить елементи. Те, які з безлічі існуючих типів елементів доступні в конкретному проекті, залежить від його типу. Елементи, окрім іншого, включають файли, класи, набори даних, форми і звіти (рис. 1.1).

Рис.1.1 – Елементи проекту

Рішення містять проекти і елементи, що входять в них. Рішення можуть також включати елементи, що не належать жодному проекту, т. е. незалежні елементи. У Visual Studio існує два типи незалежних елементів : елементи рішення і інші файли. Елементи рішення пов'язані з рішенням і управляються через теку "Елементи рішення" в оглядачі рішень. При необхідності роботи з файлами поза контекстом рішення або проекту створюються інші файли, управління якими відбувається через теку "Інші файли". Додаткові відомості про інші файли містяться в розділі Інші файли.

Рис. 1.2 - Незалежні елементи

Елементи рішень є внутрішніми елементами. Проекти можуть утримувати посилання на них, але вони ніколи не включаються в побудови рішень або проектів. У цьому розділі описується процес додавання і виключення елементів в теці "Елементи рішення". Вилучення прибирає зв'язок елементу з рішенням. При цьому файл, що надає цей елемент, залишається на диску.

      1. Параметри компілятора С++

cl.exe - це інструмент управління компіляторами і компонувальником Microsoft C і C++. cl.exe може виконуватися тільки в операційних системах, підтримувальних Microsoft Visual Studio.

Примітка: Цей засіб можна запустити тільки з командного рядка Visual Studio. Його не можна запустити з системного командного рядка або з провідника Windows.

Компілятори створюють об'єктні OBJ -файлы у форматі COFF. Компонувальник створює виконувані файли (EXE) або бібліотеки динамічного компонування (DLL). Слід зазначити, що усі параметри компілятора чутливі до регістра символів. Для компіляції без компонування слід використовувати параметр /c.

Параметри, задані в змінній середовища компілятора CL, використовуються при кожному виклику компілятора. Якщо командному файлу присвоєно ім'я в змінній середовища компілятора CL або в командному рядку, використовуються параметри, задані в командному файлі. На відміну від командного рядка або змінного середовища компілятора CL, командний файл дозволяє використовувати декілька рядків для параметрів або імен файлів.

Параметри компілятора обробляються "зліва направо", і при виявленні конфлікту пріоритет має останній (крайній справа) параметр. Змінна середовища компілятора CL обробляється до виконання обробки командного рядка, тому у разі виникнення конфліктів між компілятором CL і командним рядком пріоритет має командний рядок.

Графічне середовище Windows сприяло тому, що розроблювачі створили компілятори з більш дружнім інтерфейсом, що дозволяють використовувати файли проектів, що генерують всіма стадіями побудови програми. Фірми Borland та Microsoft випустили компілятори С++, цілком інтегровані в середовище графічного інтерфейсу Windows. Компілятори С/С++ дозволяють, знаходячись в цьому середовищі, написати, побудувати (скомпілювати і скомпонувати), налагодити та виконати програму.

Ключем до успіху при роботі в інтегрованому середовищі є правильна розробка і створення файлу проекту. Компілятор Microsoft Visual C ++ використовує файли проекту з розширенням .dsp, а компілятор Borland С++ - із розширенням .ide.Наладчик доступний з меню Build (створення). Вбудований наладчик дозволить виконувати програму в покроковому режимі, зчитувати і змінювати вміст перемінних.

Перед запуском вбудованого наладчика необхідно повідомити компілятору про необхідність включити в виконуючий код додаткову інформацію, необхідну для наладчика. Це можна зробити за допомогою комбінованого поля панелі інструментів Стандартна (Debug Mode – наладочний варіант генерації коду, Relese Mode – варіант без включення інформації для наладчика).

Якщо програма містить синтаксичні помилки, при виконанні команд Build чи Rebuild автоматично відкривається вікно повідомлень, які видаються компілятором. Кожне повідомлення починається з імені вихідного файлу. Це ім'я – істотне, оскільки в звичайному режимі Windows- додатку міститься багато вихідних файлів.

Відразу за ім'ям вихідного файлу випливає номер рядка, де виявлена помилка або попередження. Слідом за номером рядка йде двокрапка, потім слово error (помилка) або warning (попередження) і відповідний номер помилки.

Програму з одним попередженням можна запустити, але при наявності повідомлень, що немає помилок. У кожному рядку повідомлень міститься короткий опис виявленої синтаксичної помилки.

Попередження можуть свідчити про автоматичне виконання правил перетворення С/С++.

Багато попереджень можна уникнути обійшовши діючі за замовчуванням автоматичні перетворення мови. Це можна зробити вказуючи в програмі явне перетворення типів.

Після перегляду списку повідомлень про помилки і попереджень потрібно повернутися у вікно редагування для виконання необхідних змін у програмі.

Вибрати вікно редагування можна або клацнувши мишею всередині цього вікна, або перейшовши в меню Windows і клацнувши на імені необхідного файлу. Найбільш простий і доступний шлях – двічі клацнути лівою кнопкою миші на тому повідомленні про помилку компілятора, яку необхідно правити. При цьому середовище саме знайде помилковий рядок вихідної програми. Натискання на клавішу <Enter> на виділеному повідомленні про помилку, попередженні приведе до аналогічного результату. При використанні будь-якого способу вікно редагування стає самим верхнім.

Команда Debug (налагодження) з Build (створення) запускає інтегрований наладчик. Можливі три варіанти запуску наладчика Go (перейти), Step Into (крок всередину), Run to Cursor (виконати до курсору). При використанні цих команд вікно редагування виглядає інакше, ніж звичайно. При налагодженні програми в режимі Step Into наладчик висвічую рядок програми, що буде виконуватися наступної. Стрілка покрокового виконання розташовується поруч з функцією яка буде викликана поруч з оператором, що буде виконаний наступним.

Як тільки починається налагодження програми, основне меню Build змінюється на меню Debug, що представляє більш широкі можливості налагодження.

      1. Типи даних

Основними типами даних мови С розподілені на дві категорії: цілі і числа з плаваючою точкою.

Основні типи даних задаються за допомогою ключових слів: int, long, short, unsingned, char, float, double and signed.

Цілі числа можуть приймати позитивні і негативні значення.

int – основний тип цілих чисел.

long чи long int - підтримує цілі числа, що не уступають по величині найбільшим числам типу int і навіть більше.

short чи short int – є як мінімум 16-бітовим.

Цілі числа без знака приймають тільки позитивні чи значення нуль.

Числа з плаваючою точкою можуть приймати як позитивні так і негативні значення.

Float – основний тип; використовує 32 біта.

Double – дозволяє використовувати більша кількість значимих цифр, використовує 64 біта.

Long double – велика одиниця пам’яті.

      1. Функції стандартного введення-виведення

Функції стандартного введення - виведення описані у файлі stdio.h.

printf( ) - форматне виведення на екран:

int printf(char *format, <список виводу >);

Перший параметр є символьним рядком, що задає специфікації формату. Інші параметри - перерахування змінних і виразів, значення яких виводяться. Кожна специфікація формату має вид (параметри в квадратних дужках необов'язкові):

%[flags][width][.prec][F|N|h|l]type

де

type -

тип специфікації

d чи i

ціле десяткове число зі знаком

u

десяткове число без знака

x

ціле 16-ричне число без знака

f

число з плаваючою точкою

e

число в E-формі

g

число з плаваючою точкою або в E-формі

c

один символ

s

рядок

%

символ %

flags -

ознака вирівнювання:

+ чи порожньо

вирівнювання по правому краї

-

вирівнювання по лівому краї

width-

ціле число - загальна ширина поля. Якщо це число починається з цифри 0, виведення доповнюється ліворуч нулями до заданої ширини. У задану ширину входять всі символи виведення, включаючи знак, дробову частину і т.п.

prec -

ціле число, кількість знаків після крапки при виведенні чисел з плаваючою точкою

F -

відповідний елемент списку виведення є далеким вказівником

N -

відповідний елемент списку виведення є близьким вказівником

l -

відповідний елемент списку висновку є long int чи double

scanf( ) - форматне введення з клавіатури:

int scanf(char *format, <список введення >);

Перший параметр є символьним рядком, що задає специфікації формату (див. функцію printf()). Інші параметри - перерахування адрес змінних, у які вводяться дані. У цьому списку перед іменами всіх перемінних, крім тих, котрі вводяться по специфікації типу %s, повинний стояти символ &.

1.1.6. Логічні операції Арифметичні операції:

Бінарними арифметичними операціями являються:

+ додавання;

  • вирахування;

* множення;

/ ділення;

% ділення по модулю

++ збільшення на одиницю;

- - зменшення на одиницю

Операція ділення ( / ) цілих супроводжується відкиданням дрібної частини, яка б вона не була.

Операція % - операція взяття модуля використовується в цілочисельні арифметиці. Її результатом являється залишок від ділення цілого числа, яке стоїть зліва від знака операції на число, яке розташоване справа від нього.

Операція % не застосовується к float та double.

Операції відношення та логічні операції:

Операторами відношення являються:

<, < =, >, > =

Всі вони мають однаковий пріоритет. Рівно на одну ступінь нижче пріоритет операторів зрівнювання на рівність: = =, ! =

Оператори відношення мають більш низький пріоритет, ніж арифметичні.

До логічних операцій відносять:

&& логічне “И” – дає результат 1, якщо операнд зліва та справа 1, та 0 в противному випадку.

| | логічне “ИЛИ” – дає результат 1, якщо хоч би один операнд дорівнює 1, дає 1.

! логічне “НЕ” – дає результат 1, якщо операнд справа дорівнює 0 та 0 в противному випадку.

Логічні операції та операції відношення обчислюються зліва направо та обчислюються як тільки стає відомим істинність результату.

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