Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Введення-виведення статичного масиву

Алфавіт мови

великі та малі літери латинської абетки;

• арабські цифри;

• пробільні символи: пробіл, символи табуляції, символ переходу на наступний рядок тощо;

• спеціальні символи,.;:? ‘ ”! | / \ ~ () [ ] { } < > # % ^ & - + * =

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

Приклади:

auto continue float interrupt short unsigned

asm default for long signed void

break do far near sizeof volatile

case double goto pascal static while

cdecl else huge switch struct

char enum if register typedef

const extern int return union

Структурні однинці інформації: прості і складні

До простих одиниць відносять такі елементи, які не можна поділити на частини. Складні одиниці інформації утворюються з інших інформаційних одиниць — як простих, так і складних.

2. Загальна структура програми(приклад з коментаріями):

01 #include <iostream.h>

02 #include <conio.h>

03 int main(void)

04 {

05 int a,b,max;

06 cout << "a="; //приглашение ввести значение a

07 cin >> a; //ввод значения переменной а

08 cout << "b="; //приглашение ввести значение b

09 cin >> b; //ввод значения переменной b

10 if(a>b) max=a; //если a>b то max=a

11 else max=b; //иначе max=b

12 cout << "max="<<max; //вывод максимального значения

13 getch(); //останов до нажатия клавиши

14 return 0; //выход из функции

15 }

Перепроцесор - це програма, яка опрацьовує директиви.

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

Директиви мови С розпочинаються символом #

#include – директива підключення файлу, бібліотеки

Директива #define

# define –має два значення:

1 – оголошення константи

#define N 25

2- описати макроси (короткі команди, функції тощо.)

#define D(a,b,c) ((b*b)-4*(a)*(c))

#undef D

#define D(a,b,c) ((a)*(a)*(a))

3. КОМЕНТАР - Текст на С, записаний в дужках /* і */, компілятором ігнорується. У C++, текст в межах одного рядка, який починається // теж є коментарем. Коментар служить для двох цілей: документування коду і полегшення відлагодження. Якщо програма працює не так, як потрібно, то іноді корисно закоментувати частину коду (тобто винести її в коментар), наново скомпілювати програму і виконати її. Якщо після цього програма почне працювати правильно, тоді закоментований код містить помилку і повинен бути відлагоджений.

 

змінна – це ділянка оперативної пам’яті, куди комп’ютер записує або звідки читає дане. Змінна характеризується іменем, значенням і обсягом в байтах. Значення змінній надають командою присвоєння чи командою введення даних. Кількість потрібних змінних та їхні імена визначає користувач під час складання алгоритму і програми розв’язування задачі.

 

4. Типи даних: цілий,дійсний,символьний та логічний

Типи даних. Усі дані, які беруть участь у розв'язуванні задачі, ретельно класифікують за типами. Тип визначає допус­тимі значення даного, операції, які можна над ним виконувати, й обсяг оперативної пам'яті, який резервується для нього.

 

Цілі типи: int, short int, unsigned short int, long int, unsigned long int

Дійсні типи: float, double, long double

Символьний тип (char). Символний тип – це множина символів кодової таблиці ASCII. Символьна стала – це один символ (1 байт), узятий у лапки на зразок апострофа, або число у 8-, 10-, 16-й системі счислення, яка ї коом символу в таблиці ASCII.

Логічний тип (bооl). Логічний тип характеризується двома значеннями даних: false (хибність) і true (істина). Наприклад, boоl b = true. Змінні цього типу займають 1 байт у пам'яті ком­п'ютера. У С++ значення змінних типу int можна асоціювати з логічними значеннями: нулю відповідає значення false, усім ін­шим числам - true.

Типи користувача. Крім вище описаних стандартних типів даних, можна створювати типи користувача:

typedef<опис типу ><назва нового типу >;

5. Присвоєння (англ. assignment) — механізм в програмуванні, що дозволяє динамічно змінювати зв'язки об'єктів даних (зазвичай, змінних) з їхніми значеннями. Строго кажучи, зміна значень є побічним ефектом операції присвоєння, і в багатьох сучасних мовах програмування сама операція також повертає певний результат (як правило, копію присвоєного значення). На фізичному рівні результат операції присвоєння полягає в проведенні запису і перезапису фрагментів пам'яті або регістрів процесора.

Присвоєння — одна з центральних конструкцій в імперативних мовах програмування, ефективно і просто реалізується на фон-Нейманівській архітектурі, яка лежить в основі сучасних комп'ютерів.

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

7.

Пріоритет Операції Зміст
  +,- Присвоєння знака
  *,/,% Множення,ділення,остача від ділення
  +,- Додавання,віднімання
  ==,!=,<,<=,>,>= Порівняння (відношення)

Операції інкременту (++) та декременту (--). Операції інкременту і декременту існують у двох формах - префіксній та постфіксній. Якщо символи ++ (--) записані перед змін­ною - то це інкремент (декремент) у префіксній формі, а якщо після змінної - у постфіксній.

 

Операція інкременту має такий вигляд:

++<змінна> або <змінна>++

Операція декременту має такий вигляд:

--<змінна> або <змінна>--

 

Команда присвоєння, суміщена з арифметичною опера­цією. Щоб надати значення змінній, можна скористатися командою присвоєння, суміщено з деякою арифметичною операцією, а саме +=, -=, *=, /=, %=. Загальний вигляд команди присвоєння, суміщеної з арифметичною операцією, такий:

<змінна><символ арифметичної операції>=<вираз>

8.

10. Під потоком розуміють процес уведення-виведення інфор­мації у файл. Периферійні пристрої введення-виведення, такі як клавіатура, монітор, принтер, розглядаються як текстові файли (див. далі). Під час виконання будь-якої програми ав­томатично підключаються стандартні потоки для введення даних з клавіатури (cin), виведення на екран (cout), виведення повідомлення про помилки (cerr) і допоміжний потік (clog).

Стандартні потоки використовують команди введення (») та виведення («) даних. За замовчуванням стандартним пристроєм потоків виведення даних і повідомлень про помидки є монітор користувача, а для потоку введення даних - клавіатура. Однак потоки можна перенаправляти, наприклад, можна зчитувати вхідну інформацію для програми не з клавіатури, її з деякого текстового файлу на диску

Керуючі послідовності — це комбінації спеціальних символів, які використовуються для введення чи виведення даних. Керуюча послідовність складається із символу слеш "\" і спеціально означеного символу. Вони призначені для форматованого виведення результатів обчислень. на екран, наприклад, для переходу на новий рядок, подання звукового сигналу, а також для виведення на екран деяких спеціальних символів: апострофа, лапок тощо. Основні керуючі послідовності наведені у табл. 5.

 

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

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

Розглянемо два типи команди повторення.

Команда повторення з передумовою записується на псевдокоді в наступному

виді:

 

поки <умова>

 

повторювати <дія>

 

Під дією розуміється проста або складена команда.

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

цього необхідно, щоб команда, виконувана в циклі, впливала на умову.

Кому як команду можна використовувати не лише для інтерпритації декількох команд як однієї цілої, а і для інтерпритації декількох виразів як одного цілого.

Це можна використовувати при записі логічних виразів

Наприклад

If (k+=2, k<7) …

Тут спочатку значення змінної k буде збільшено на 2, а потім це значення порівнюватиметься із числом 7. Результат команди – true, якщо k < 7; false, якщо k >= 7

 

13. Побітові операції

Нагадаємо, що одиницею виміру пам’яті є байт. Кожен байт складається із вісьми біт. У кожному біті може міститися одне з двох чисел: 0 або 1. Будь-які дані при компіляції автоматично перетворюються у двійковий код (у біти). Однак іноді на практиці, наприклад, під час створення графічних зображень чи в задачах архівування даних, виникає потреба порівнювати не значення двох даних, а їхні біти. Для цього в мові С++ є побітові логічні операції:

1) & – «І» 2) | – «АБО» 3) ~ –«НЕ»

Наприклад

Нехай дано b1 = 00110011 b2 = 11110101. Тоді

b1 & b2 = 00110001

b1 | b2 = 11110111

~ b1 = 11001100

Операції зсуву

Вони дають можливість зсунути деяку послідовність бітів в байті вправо чи вліво на деяку фіксовану кількість:

· Зсув вліво – операція <<

· Зсув вправо – операція >>

Наприклад

Нехай b = 00100101, c = 10110010, тоді після виконання команд:

b = b<<2

c = c>>1

змінна b = 10010100, a c = 01011001

14. Команда розгалуження if (умовна команда) має два різновиди.

1. Повна команда розгалуження має вигляд:

 

if <логічний вираз> then <команда 1> else <команда 2>;

 

Дія команди. Якщо логічний вираз істинний, то виконується команда 1, в протилежному випадку — команда 2. Команди 1 та 2 можуть бути простими або складеними.

Приклад. Нехай х=9. У результаті виконання команд if x>7 then y:=x*x else y:=sin(x); if x<5 then z:=exp(x) else z:=sqrt(x); отримаємо y=81,z=3.

2. Коротка команда розгалуження має вигляд:

 

i f <лог і чний вираз> then <команда>

 

Дія команди. Якщо логічний вираз істинний, то виконується їоманда 1, інакше виконується команда, яка знаходиться за даною конструкцією.

Приклад. Нехай х=25. Тоді у результаті виконання команд if x>12 then у:=2*х; z:=10; if x<5 then z:=exp(x); гримаємо y=50,z=10.

 

 

Команда? є аналогом команди розгалуження if.

Загальний вигляд команди такий:

 

 

<Команда 1> виконується у тому випадку, якщо логічний вираз істиний.

<Команда 2> виконується у тому випадку, якщо логічний вираз хибний.

16. Команда вибору switch. Команда вибору має вигляд:

Вираз та ознаки мають бути цілочисельні.

На місці команд 1…N може бути одна команда, декілька або не бути жодної.

Команда break слугує для виходу з команди switch (break – необов’язкова)

Default: <Команда N+1> також може бути відсутня – це коротка форма вибору.

Дія команди: Якщо значення виразу збігається зі значенням ознаки N, то виконується команда з номером N. Якщо в кінці команди, що виконалася є слово break, то відбувається вихід з switch. Якщо ж break відсутній, то розглядається наступний рядок case. Команда після слова default виконується лише тоді, коли жодна з ознак не збігається з виразом.

17. Перерахований тип enum.

Тип enum утворюють із перерахування констант цілого типу:

При оголошення перерахованого типу enum значення можна не вказувати (не ініціалізувати сталих). В цьому випадку першій сталій автоматично буде присвоєно значення 0 (перша константа утотожнюється з нулем, кожна наступна – зі значенням на 1 більшим).

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

19. ЦИКЛ З ПАРАМЕТРОМ FOR

Вираз1 призначений для підготовки циклу і виконується один раз. Переважно у виразі1 задаються початкові значення змінних циклу (підготовлюють цикл). У логічному виразі2 записують умову виходу із циклу. У виразі3 – команди зміни параметрів циклу. Якщо за допомогою одного із виразів необхідно виконати декілька дій, то використовують команду «кома». Вирази 1 і 3 або один із них у команді for можуть бути відсутні. Але символ «;» в цьому випадку опускати неможна. <Команду1> ще називають тілом циклу

20. Виведення даних на екран дисплея виконуються оператором Printf. Після оператора в дужках вказується спочатку „рядок формату”, що задає форму виведення інформації, а потім можуть розташовуватись вирази арифметичних типів або рядки. Наведемо ряд прикладів.

Вивід на екран цілого числа

Printf(“/%d/\n”, 123);

Printf(“/%2d/\n”, 123);

Printf(“/%10d/\n”, 123);

Printf(“/%-10d/\n”, 123);

Результат виконання операторів:

/123/

/123/

/˜˜˜˜˜˜˜123/

/123˜˜˜˜˜˜˜/

Вивід на екран дійсного числа

Printf(“/%f/\n”, 1234.67);

Printf(“/%e/\n”, 1234.67);

Printf(“/%4.2f/\n”, 1234.67);

Printf(“/%3.1f/\n”, 1234.67);

Printf(“/%10.3f/\n”, 1234.67);

Printf(“/%10.3e/\n”, 1234.67);

Результат виконання операторів:

/1234.670000/

/1.234670e+03/

/1234.67/

/1234.7/

/˜˜˜˜˜1234.670/

/˜˜˜˜1.235e+03/

Щоб у тілі програми прокоментувати деякі операції, можна у дужках, що задаються символами, /* та */ записати текст коментарю. У середині коментарів не можна використовувати символи дужок коментарів.

22. Для обчислення степеня в алгоритмі накопичування добутку змінна p приймала значення 1, a, a2, a3, …, an. У цій послідовності перший член 1, а кожний наступний дорівнює попередньому, помноженому на a. Позначивши члени послідовності через p0, p1, p2,... pn, маємо рівність: pi=pi-1*a при i=1,2,…,n. Така рівність, що виражає член послідовності через попередні (один або кілька), називається рекурентним співвідношенням.

"Рекурентний" означає "зворотний". Справді, елемент послідовності тут визначається через попередні, і для його обчислення треба повернутися до них. Усім добре відомі рекурентні співвідношення вигляду an=an-1+d або bn=bn-1* q – їм задовольняють члени відповідно арифметичних або геометричних прогресій. Конкретна ж прогресія, тобто послідовність чисел, задається першим членом a1 і різницею d (або знаменником q). Власне, послідовність степенів у прикладі p0, p1, p2, … – геометрична прогресія: вона визначається першим членом p0=1 і рекурентним співвідношенням pi=pi-1*a при будь-якому i>0. Послідовність, члени якої задовольняють деяке рекурентне співвідношення, також називається рекурентною.

 

24. Дія циклу While:

1) Спочатку обчислюється значення логічного виразу

2) Якщо його значання істине, то виконується тіло циклу і повторно обчислюється значення логічного виразу
Якщо значення логічного виразу хибне, то здійснюється вихід з циклу.

3) Процес виконується доти, доки логічний вираз істиний.

 

Команда DO-WHILE, як і команда WHILE, використовується в програмі, якщо треба провести деякі обчислення (цикл), що повторюються, і як для WHILE число повторів наперед не відоме і визначається самим ходом обчислення.

В загальному вигляді команда циклу з післяумовою DO-WHILE має вигляд:

Do

{

< Команда 1 >

}

while ( <логічний вираз> );

 

25. Числов a послідовність — це функція, облaстю визнaчення якої є множинa нaтурaльних чисел, a облaстю знaчень ― множинa дійсних чисел.

 

26. Умовний оператор використовуються у випадках коли виконання певних дій залежить від деякої умови.

If (умова)

оператор 1;

else

оператор 2;

Якщо в середині оператора потрібно використати більше ніж один оператор, то їх необхідно взяти в операторні дужки.

If (age >21)

{ cout << ‘ Всі на вибори’<<endl;

cin >> ‘Це нам потрібно ’ >>endl;

}

35. Оголошення функцій користувача. Кожну функцію ко­ристувача перед першим викликом передусім необхідно оголосити (задекларувати, створити прототип, сигнатуру). За стандартом ISO/ ANSI прототипи функцій оголошують у спеціальних файлах заголовків. У програму ці файли приймають за допомогою директиви #inciude, наприклад:

#include <conio.h>

#include "MyHeader.h"

Опис функцій користувача. Опис функції складається із заголовка без крапки з комою і тіла функції, записаного у фі­гурних дужках, а саме:

<тип функції> <назва функції>(<список формальних параметрів>)

{

<тіло функції>;

return (<назва змінної 1>);

Виклик функцій користувача. До функції користувача звертаються з розділу команд основної програми (функції main()) або з іншої функції. Виклик функцій можна виконати двояко: або командою виклику, або з виразів так:

<назва функції>(<список фактичних параметрів>)

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

Посилання. До даних можна звертатись за допомогою імен або посилань. Посилання слугує для надання ще одного імені (псевдоніма, синоніма, аліасу) даному. Посилання утво­рюють так:

<тип даного> &<назва посилання> = <назва змінної>;

38.

Змінні, які описані поза всіма функціями, тобто на початку програми називаються глобальними (змінна m). До глобальних змінних можна звернутися з будь-якої функції та блока.

Глобальні об’єкти можуть використовуватися для повернення результату підпрограми. Тобто в підпрограмі можна не використовувати команди return: передати значення головній програмі можна відразу в тілі підпрограми, надавши значення глобальній змінній. Але такий підхід не є професійним, так як в цьому випадку підпрограму стає неможливо багаторазово використовувати для зміни значень різним глобальним об’єктам.

Локальні змінні Одна з цілей, що досягається в застосуванні інкапсуляції – це обмежений доступ до конструкції, розташованої в середині під програмної капсули. Це можливість використовувати програмні об’єкти тільки всередині капсули. Такі об’єкти називаються локальними. Вони описуються в тілі підпрограми. Локальні об’єкти – це об’єкти які створюються в момент виклику підпрограми, і існують до тих пір, поки виконується тіло підпрограми. Коли по завершенню роботи підпрограми керування передається головній програмі пам’ять виділена під локальні об’єкти вивільняється, тобто усі локальні об’єкти знищуються. Тому у різних функціях однієї і тієї програми можна використовувати змінні з однаковими іменами. Локальні об’єкти – це об’єкти описані всередині під програмної капсули.

39. У С++ допускається використовувати одне і те саме ім’я функцій для різних наборів аргументів. Це називається перевантаженням функцій, або поліморфізмом. Перевантаження використовуєть, коли необхідно викликати функцію з аргументами різних типів, або коли функція залежить від різної кількості аргументів. У таких випадках необхідно кожну функцію оголосити й описати окремо. Під час її виклику компілятор автоматично вибирає потрібну функцію.

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

Вбудовані функції. Під час виконання програми гене­руються коди для всіх функцій користувача. Коли відбуваєть­ся звертання до тієї чи іншої функції, здійснюється виклик відповідного коду. Якщо до деякої функції звертаються бага­то разів, то робота програми сповільнюється. Щоб цього уник­нути, можна використовувати так звані вбудовані функції. Коди таких функцій вставляються компілятором у кожну точку виклику в основному коді. Це вимагає додаткового об­сягу оперативної пам'яті, проте прискорює процес виконання програми. Щоб створити вбудовану функцію, потрібно до її оголошення додати ключове слово inline.

Класи пам’яті. Для того, щоб безпосередньо вказати комп’ютеру як і де у його пам’яті мають зберігатися значення змінних чи функцій, як можна отримати доступ до цих даних, як визначити область видимості цих даних, використовують специфікатори класу пам’яті. Є п’ять специфікаторів:


· Auto

· Regicter

· Static

· Extern

· Volatile

41. Масив — це структура даних, яку можна розглядати як набір змінних однакового типу, що мають спільне ім'я. Масиви зручно використовувати для зберігання однотипної інформації, наприклад, елементів таблиць, коефіцієнтів громіздких лінійних рівнянь та систем рівнянь, прізвищ працівників деякої великої фірми, назв днів тижня, тощо.

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

Кожна окрема така комірка – це елемент масиву. Для ідентифікації елементів масиву, кожен елемент має свій індекс, за яким його можна знайти в масиві. Кількість індексів, а отже і кількість елементів визначає розмірність масиву.

Розрізняють одномірні, двомірні та багатомірні мавсиви.

Введення-виведення статичного масиву

Вводити та виводити масив можна не лише в циклі з параметром, а і в циклах while, do-while.

 

В програмі ми вводимо дані в статичний масив. Кількість елементів такого масиву зазначається при описі. Тобто визначається на етапі компіляції.

 

<== предыдущая лекция | следующая лекция ==>
 | 


Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных