У вас вопросы?
У нас ответы:) SamZan.net

Програмування частина перша для студентів денної та заочної форм навчання спеціальностей 091501 ~

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 14.1.2025

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

СХІДНОУКРАЇНСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

ІМЕНІ ВОЛОДИМИРА ДАЛЯ

МЕТОДИЧНІ ВКАЗІВКИ

до виконання лабораторних робіт

з дисципліни «Програмування»

(частина перша)

(для студентів денної та заочної форм навчання спеціальностей 091501 – «Комп’ютерні системи та мережі», 091502 – «Системне програмування», 170101 - «Безпека інформаційних і комунікаційних систем»)

ЗАТВЕРДЖЕНО

на засіданні методичної ради кафедри комп’ютерних систем та мереж

Протокол №10 від 28.10.2009р.

Луганськ 2009


УДК 681.3

Методичні вказівки до лабораторних робіт з дисципліни «Програмування» (частина перша) для студентів денної та заочної форм навчання спеціальностей 091501 – «Комп’ютерні системи та мережі», 091502 – «Системне програмування», 170101 - «Безпека інформаційних і комунікаційних систем»/ Укл. Петров О. С., Дубовіков Є. Ю. – Луганськ: вид-во СНУ ім. В. Даля, 2009 – 42 с.

Дані методичні вказівки призначені для використання студентами при виконанні та оформленні лабораторних робіт з дисципліни «Програмування». Методичні вказівки містять короткі теоретичні відомості з основних розділів курсу. При розгляді кожної теми наводяться приклади вирішення типових задач з використанням середи Microsoft Visual C++. Виклад матеріалу супроводжується контрольними питаннями по кожній темі та варіантами завдань для самостійного опрацювання.

Укладачі:

Петров О. С., проф.

Дубовіков Є. Ю. викл. – стаж.

Відпов. за випуск

Петров О.С., професор

Рецензент

Петрущенко Т.В., доцент


В
СТУП

У 1972 році 31-річний фахівець з системного програмування з фірми Bell Labs Денис Рітчи розробив мову програмування C.

У 1984 році французький математик і саксофоніст Філіп Кан засновує фірму Borland International.

Далі з'явився діалект мови C фірми Borland.

Початковий C був розроблений як мова для програмування в операційній системі Unix.

Незабаром він почав розповсюджуватися для програмістів-практиків. В кінці 70-х були розроблені транслятори C для Мікро ЕОМ для операційної системою Ср/m.

Після появи IBM РС почали з'являтися і компілятори C (для цього комп'ютера їх зараз більше 20).

У 1983 р. Американський Інститут Стандартів (ANSI) сформував Технічний Комітет X3J11, для створення стандарту мови C. Мова C++ корпорації Borland, що з'явився на ринку, підкоряється більшості вимог стандарту.

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

Серед безлічі достоїнств мови C потрібно відзначити основні:

  •  універсальність (використовується майже на всіх існуючих ЕОМ);
  •  компактність та універсальність коди;
  •  швидкість виконання програм;
  •  гнучкість мови;
  •  високу структурованість.


ПОНЯТТЯ АЛГОРИТМУ. БАЗОВІ СТРУКТУРИ ПРОГРАМИ
.

Алгоритм – зрозуміле та точне розпорядження (інструкція) виконавцеві виконати кінцеву послідовність дій (команд), що приводять від початкових даних до бажаного результату.

Технологічний ланцюжок рішення задачі на ЕОМ:

  1.  Постановка задачі;
  2.  Математична модель;
  3.  Вибір або розробка алгоритму рішення задачі;
  4.  Складання програми на язиці програмування;
  5.  Відладка і тестування програми;
  6.  Проведення розрахунків і аналіз результатів

Основні умовні графічні позначення для побудови блок-схем алгоритмів програм та правила їх використання наведені в табл. 1.

Таблиця 1

Умовне графічне позначення

Правила використання

Початок програми (підпрограми)

Кінець програми (підпрограми)

Введення/виведення даних для стандартних пристроїв введення-виведення (клавіатура, дисплей); у межах блока вказуються ідентифікатори змінних для введдення даних або вирази, значення яких виводяться

Виконання дій; у межах блока вказуються дії, які необхідно виконати. У даному випадку обчислюється значення виразу і обчислене значення присвоюється змінній


Продовження таблиці 1

Розгалуження алгоритму програми залежно від виконання умови; у межах блока вказується вираз, результат якого визначає подальший хід виконання алгоритму програми

Виконання циклу; у межах блока вказуються межі діапазону значень параметру циклу та алгоритм (вираз), за яким змінюється параметр циклу

Виконання підпрограми (процедури чи функції); у межах блока вказується заголовок (ім’я та параметри) підпрограми(процедури чи функції)

Виведення даних на папір (принтер); у межах блока вказується список виразів, значення яких виводяться

Лінії з’єднань між блоками

Переходи на іншу сторінку; використовуються, якщо блок-схема розташована на кількох сторінках; N – номер сторінки, M – номер блоку

Перехід у межах сторінки


ЕЛЕМЕНТИ МОВИ C

Під елементами мови C розуміють наступні базові конструкції, які використовуються при написанні програм:

  •  алфавіт;
  •  константи;
  •  індентифікатори;
  •  ключові слова;
  •  коментарі.

Алфавіт мови C утворюють:

  •  великі та малі букви латинського алфавіту (А...Z, a...z);
  •  арабські цифри (0...9);
  •  символи (. " , [ ] ( ) { } + – / % \ ; : ? < = > | ~ ^ & * # символ пропуску , спеціальні символи тощо).

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

Наприклад:

\n – символ нового рядка;

\r – символ повернення каретки;

\t – символ горизонтальної табуляції;

 \v – символ вертикальної табуляції;

\b – символ повернення на крок;

 \f – символ переведення формату;

\\ зворотний слеш;

 \ – апостроф;

\  – лапки;

 \0 – нуль-символ;

\dddбайтове значення у вісімковому представленні;

 \xddбайтове значення у шістнадцятковому представленні;

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

Ціла константа – це десяткове, вісімкове чи шістнадцяткове число, яке представляє ціле значення. Десяткова константа має наступний формат представлення:

<цифри>

де <цифри> – послідовність з однієї або декількох десяткових цифр від 0 до 9.

Кожна ціла константа має тип, що визначає її представлення у пам’яті (див. 1.2) Десяткові константи можуть мати тип int (цілий знаковий тип) або long (довгий цілий знаковий тип). Якщо значення десяткової константи більше максимального значення, яке може бути представлено типом int, то дана константа представляється типом long.

Можна явно визначити для любої цілої константи тип long, дописавши до неї суфікс l або L. Наприклад, константа із значенням 10 буде мати тип long тільки у тому випадку, якщо її записати як 10L

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

[<цифри>] [ . <цифри>] [<e>[ - ]<цифри>]

де <цифри> – одна чи більше десяткових цифр (від 0 до 9);

 < е > – ознака експоненти, яка задається як Е або е.

Зауваження: а) або ціла або дробова частина константи може бути відсутня, але не обидві одночасно. б) або десяткова крапка з дробовою частиною або експонента може бути відсутня, але не обидві одночасно.

Константи з плаваючою крапкою завжди специфікують додатні значення. Для формування від’ємного значення застосовується операція “унарний мінус”. Приклади констант з плаваючою крапкою:

15.75

1.575Е1

1575е-2

-0.0025

-.175Е-2

Усі константи з плаваючою крапкою мають тип double.

Символьна константа – це літера, цифра, знак пунктуації чи спеціальний символ, обрамлений апострофами. Символьна константа має наступну форму представлення:

' <символ> '

<символ> може бути довільним символом (у тому числі довільним спеціальним символом), за виключенням символів апострофа ('), зворотного слеша (\) і нового рядка (\n). Символи апострофа, зворотного слеша і нового рядка представляються відповідними спеціальними символами – ' \' ' , ' \\ ' та ' \n '.

Приклади символьних констант:

' а '  - мала літера а;

' ? ' - знак питання;

' \b ' - символ повернення на крок.

Усі символьні константи мають тип int.

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

Приклади правильних ідентифікаторів:

a

temp1

top_of_page

Приклади не правильних ідентифікаторів:

a+b

1temp

top of page

Компілятор мови C розглядає букви верхнього і нижнього регістрів як різні символи. Тому наступні ідентифікатори є різними:

add

ADD

aDD

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

Таблиця 2

auto

do

for

return

switch

break

double

goto

short

typedef

case

else

if

signed

union

char

enum

int

sizeof

unsigned

continue

extern

long

static

void

default

float

register

struct

while

Коментар – це послідовність символів, яка сприймається компілятором мови C як окремий символ пропуску та ігнорується.

Синтаксис коментаря має наступний вигляд:

/* < символи > */

Приклад коментаря:

/* це коментар */

Коментарі можуть займати більше одного рядка програмного тексту:

/* Коментар може займати

декілька рядків */

Коментарі не можуть містити вкладених коментарів, тому наступний приклад буде помилковим:

/* Неприпустимі /* вкладені */ коментарі */

БАЗОВІ ТИПИ ДАНИХ

У мові C реалізовано набір типів даних, які називаються “базовими” типами.

До базових типів відносяться: цілі знакові, цілі беззнакові, з плаваючою крапкою. Типи, їх імена та розмір пам’яті в байтах, яку займають дані цих типів у ІBM РС сумісних персональних комп’ютерах, наведено у табл. 3.


Таблиця 3

Базові типи

Назва

Довжина,

байт

Діапазон значень

Цілі знакові типи

Символьний

Цілий

Короткий цілий

Довгий цілий

сhar

int

short або short int

long або long int

1

2 або 4

2

4

–128...127

– 32768...32767

– 231....231 –1

Цілі беззнакові типи

Символьний

Цілий

Коротк. цілий

Довгий цілий

unsigned char

unsigned або unsigned int

unsigned short

unsigned long

1

2 або 4

2

4

0...255

0...65535

– 232….232 –1

Типи з плаваючою комою

 Плаваючий

Плаваючий довгий

float

double або long float

4

8

– 231....231 –1

10-38...1038


ОПЕРАЦІЇ

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

Таблиця 4

Операція

Назва

Операція

Назва

!

Логічне НІ

&&

Логічне І

~

Зворотний код

||

Логічне АБО

+

Додавання; унарний плюс

,

Послідовне виконання

Віднімання; унарний мінус

? :

Умовна операція

*

Множення; значення за адресою

+ +

Інкремент

/

Ділення

– –

Декремент

%

Остача від ділення

=

Просте присвоювання

<<

Зсув вліво

+ =

Присвоювання з додаванням

>>

Зсув вправо

– =

Присвоювання з відніманням

<

Менше

* =

Присвоювання з перемноженням

<=

Менше чи рівне

/ =

Присвоювання з діленням

>

Більше

% =

Присвоювання з залишком від ділення

>=

Більше чи рівне

>> =

Присвоювання з зсувом вправо

= =

Рівне

<< =

Присвоювання з зсувом

вліво

! =

Не рівне

& =

Присвоювання з порозрядним І

&

Порозрядне І; адресація

| =

Присвоювання з пороз-рядним АБО

|

Порозрядне АБО

^ =

Присвоювання з пороз-рядним АБО з виключенням (Присвоювання з порозрядним додаванням за модулем 2)


Продовження таблиці
4

^

Порозрядне АБО з виключенням (порозрядне додавання за модулем 2)

sizeof1

Розмір об’єкту

Присвоєння змінним деякого значення здійснюється за допомогою операції присвоєння. Синтаксис:

<змінна> = <вираз>

де <змінна> - ім'я змінної (правильний ідентифікатор);

<вираз> – константа (ім'я або значення), вираз, виклик функції, тип яких сумісний з типом змінної.

ЗАГОЛОВОЧНІ ФАЙЛИ2

Cтандартні заголовочні файли включаються у вихідну програму за допомогою директиви препроцесора #include. Наприклад:

#include <stdio.h> /* включення файлу stdio.h у вихідну програму*/

#include <math.h> /* включення файлу math.h у вихідну програму*/

У файлі stdio.h (standart input/output header – заголовний файл вводу/ виводу) містяться оголошення функцій (прототипи) вводу/виводу, зокрема для стандартних бібліотечних функцій printf та scanf.

У файлі math.h знаходяться прототипи стандартних бібліотечних математичних функцій. Перелік цих функцій наведено в табл. 5.

Таблиця 5

Функція

Короткий опис

abs(x)

Знаходження абсолютного значення виразу типу int

atan(x)

Обчислення арктангенса

atan2(x,y)

Обчислення арктангенса від y/x

acos(x)

Обчислення арккосинуса

asin(x)

Обчислення арксинуса

cabs(x)

Знаходження абсолютного значення комплексного числа

ceil(x)

Знаходження найменшого цілого, більшого чи рівного х

cos(x)

Обчислення косинуса

cosh(x)

Обчислення гіперболічного косинуса

exp(x)

Обчислення функції експоненти

fabs(x)

Знаходження абсолютного значення типу double

floor(x)

Знаходження найбільшого цілого, меншого чи рівного х


Продовження таблиці
5

fmod(x/y)

Знаходження залишку від ділення х/y

frexp(x)

Розкладання х як добутку мантиси на експоненту 2n

labs(x)

Знаходження абсолютного значення типу long

ldexp(x)

Обчислення x * 2exp

log(x)

Обчислення натурального логарифма

log10(x)

Обчислення десяткового логарифма

pow(x,y)

Обчислення х в степені у

sin(x)

Обчислення синуса

sinh(x)

Обчислення гіперболічного синуса

sqrt(x)

Знаходження квадратного корня

tan(x)

Обчислення тангенсу

tanh(x)

Обчислення гіперболічного тангенсу


ФУНКЦІЯ ВВЕДЕННЯ ДАНИХ
 SCANF

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

Приклади:

 int x;

. . . . .

scanf(%d”, &x);  /* зчитування із клавіатури та присвоєння змінній x значення цілого типу */

int x;

double y;

. . . . .

scanf(%d %lf ”, &x, &y); /* зчитування із клавіатури та присвоєння змінній x значення цілого типу, а змінній y – значення типу double */

ФУНКЦІЯ ВИВОДУ ДАНИХ PRINTF

За допомогою функції printf здійснюється вивід інформації на дисплей. Синтаксис виклику функції printf має наступний вигляд:

printf (керуючий текстовий рядок, аргумент1, аргумент2,…);

У керуючому текстовому рядку може міститися інформація двох різних видів:

  •  символи що друкуються текстуально;
  •  специфікації формату;

аргумент1, аргумент2… – параметри що виводяться, які можуть бути змінними, константами чи виразами, що обчислюються перед виводом на друк.

У випадку виводу текстового фрагменту на екран дисплея, керуючий текстовий рядок являє собою текстовий фрагмент.

Наприклад:

printf (“ Текстовий рядок ”);

У цьому випадку на екран буде виведено текстовий рядок.

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

Приклад:

printf (Значення змінних а = %d та b = %lf ”, x, y);

де “значення змінних a = та b = ” – текстовий рядок, що містить специфікації формату %d і %lf .

x, y – аргументи.

Інформація, що буде виведена на екран дисплею, матиме вигляд (вважається, що x та y було попередньо присвоєно відповідні значення 5 та 3.14):

Значення змінних а = 5 та b = 3.14

Специфікація формату визначається типом аргумента згідно з табл. 6.

Таблиця 6

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

Тип аргумента

%і або %d

цілий знаковий

символьний

%s

текстовий рядок

%e

з плаваючою крапкою

(eкспоненціальний запис)

%f

з плаваючою крапкою

есятковий запис)

%lf

з плаваючою крапкою подвійної точності

(десятковий запис).

%u

цілий беззнаковий

СТРУКТУРА ТИПОВОЇ ПРОГРАМИ

#include <stdio.h> /* включення файлів stdio.h та math.h */

#include <math.h> /* у вихідну програму*/

void main(void) /* визначення головної функції*/

{

int x = 5; /* визначення змінної х (оголошення з ініціалізацією значення */

double y, z; /* оголошення змінних у та z*/

scanf( “%lf”, &y ); /* зчитування з клавіатури значення типу double та присвоєння його змінній y */

z=x+pow(y,2);

printf(“x = %d, z = %lf ”, x, z ); /* вивід на дисплей значень змінних x та z */

}


ЗАДАЧІ НА ЛІНІЙНІ СТРУКТУРИ

  1.  Дано два числа а та b. Отримати їх суму, різницю та добуток.

  1.  Дано два дійсних числа x та у. Отримати .

  1.  Дана довжина ребра куба. Знайти площу грані, площу повної поверхні та об'єм цього куба.

  1.  Дано два дійсні позитивні числа. Знайти середнє арифметичне та середнє геометричне цих чисел.

  1.  Дані катети прямокутного трикутника. Знайти його гіпотенузу та площу.

  1.  Визначити периметр правильного n-кутника, описаного біля кола радіусу r.

  1.  Дана сторона рівностороннього трикутника. Знайти площу цього трикутника.

  1.  Відома довжина кола. Знайти площу кругу, обмеженого цим колом.

  1.  Знайти площу кільця, внутрішній радіус якого дорівнює 20, а зовнішній – заданому числу r (r>20).

  1.  Знайти площу рівнобічної трапеції з основами a та b та кутом α при більшій основі а.

  1.  Обчислити відстань між двома точками з координатами x1, y1 та x2, y2.

  1.  Трикутник заданий координатами своїх вершин. Знайти його периметр та площу.

  1.  Знайти площу сектора, радіус якого дорівнює 3,7, а дуга містить задане число радіан .

  1.  Дано дійсне число . Не користуючись жодними іншими арифметичними операціями, крім множення, отримати:

  1.   за дві операції;
    1.   за чотири операції;
    2.   за чотири операції;

  1.  Дано дійсне число . Не користуючись жодними іншими арифметичними операціями, крім множення, отримати:
    1.   за три операції;
    2.   за три операції;
    3.  за чотири операції;

  1.  Дано дійсне число . Не користуючись жодними іншими арифметичними операціями, крім множення, отримати:

  1.   та  за чотири операції;
    1.   та  за п'ять операцій;
    2.  , ,  за шість операцій;

  1.  Дано дійсне число . Не користуючись жодними іншими арифметичними операціями, крім множення, отримати:
    1.   та  за п'ять операцій;
    2.   та  за шість операцій;
    3.  , ,  за шість операцій.


ОПЕРАТОР-ВИРАЗ

Синтаксис:

<вираз>;

УМОВНИЙ ОПЕРАТОР IF

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

Синтаксис:

if <вираз>

<оператор1> [else <оператор2>]

де if, else – ключові слова мови C;

<вираз> – вираз логічного типу;

<оператор1> – оператор, який виконується, якщо значення виразу <вираз> є істинне (true); <оператор2> – довільний оператор, який виконується, якщо значення виразу <вираз> не є істинне (false). Частина умовного оператора обмежена квадратними дужками є необов’язковою.

Якщо значення виразу <вираз> є false, однак конструкція else пропущена, то керування передається на оператор, що знаходиться в програмі за оператором if.

Приклад:

if (a < 10)

a = 10;

else 

a = 15;

В даному прикладі показано, що змінній а присвоюється значення 10 тоді, коли значення виразу (a < 10) – true, тобто умова виконується; в іншому випадку, якщо значення виразу false, (тобто (а > = 10) або (а > 10)), змінній а присвоюється значення 15.

В одному операторі можна використовувати стільки конструкцій else if, скільки потрібно, що ілюструється на даному прикладі:

if (a < 10)

a = 10;

else if (a < 15)

a = 15;

else if (a < 20)

a = 20;

else 

a = 25;

Існує правило, яке говорить, що else відповідає найближчому if, крім тих випадків, коли присутні фігурні дужки.

Приклад1:

if (number > 6)

if (number < 12)

printf (“Вивід змінних … ”);

else

printf (“Вивід змінних завершено ! ”);

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

Число    Результат

5    Немає

10    Вивід змінних …

15    Вивід змінних завершено !

Якщо ми хочемо, щоб else відповідав першому if , необхідно даний фрагмент оформити наступним чином:

if (number > 6)

{

if (number < 12)

printf (“Вивід змінних … ”);

}

else

printf (“Вивід змінних завершено !”);

Тепер результат виглядатиме так:

Число    Результат

5    Вивід змінних завершено !

10    Вивід змінних …

15    Немає 

В мові C є короткий спосіб запису одного із видів оператора if else. Він називається “Умовним виразом” і використовує операцію умови ? : . Ця операція складається із двох частин і містить три операнда. Нижче наводиться приклад оператора, за допомогою якого знаходиться абсолютне значення числа:

x = (y < 0 ) ? –y : y;

Cенс оператора полягає у наступному:

Якщо y < 0 то x = -y; в іншому випадку x = y.

В загальному випадку умовний вираз можна записати наступним чином:

<вираз1> ? <вираз2> : <вираз3>;

ОПЕРАТОРИ SWITCH ТА BREAK

Загальна структура оператора switch:

switch(цілий вираз)

{

 case константа1:

<оператори> (необов’язкові)

 case константа2:

<оператори> (необов’язкові)

. . . .

 default:

<оператори> (необов’язкові)

}

  

Управління в програмі передається оператору, у якого в якості міток використовується значення деякого виразу. Потім в процесі проходження програми будуть виконуватись оператори, що залишились, поки не відбудеться новий перехід. Як вирази, так і мітки повинні мати значення цілого типу (включаючи тип char); мітки повинні бути константами чи константними виразами. Якщо деякому значенню виразу не відповідає ніяка мітка, управління передається оператору з міткою default (якщо такий є в програмі). В протилежному випадку управління передається оператору, що знаходиться за оператором switch (приклад ).

Приклад:

switch(number)

{

 case 1: printf(“Номер 1-ший”);

 break;

case 2: printf(“Номер 2-гий”);

 break;

. . . .

 default: printf(“Інші номера…”);

break;

}

Цей приклад слугує ілюстрацією роботи оператора switch. Спочатку обчислюється вираз в дужках, розташованого за ключовим словом switch. В даному випадку значенням цього виразу буде символ, присвоєний змінній number, яким ми ввели перед цим. Далі програма переглядає список “міток” (в цьому прикладі case 1; , case 2: і т.д.) доки не знайде “мітку”, яка відповідає даному значенню, і виконує оператор розташований після “мітки”. Наступний етап – програма переходить до виконання оператора, що розташований в цій стрічці. Якщо такої “мітки” не знаходиться і якщо існує стрічка з “міткою” case default: , то буде виконуватись оператор, що позначений цією “міткою”. В іншому випадку відбудеться перехід до оператора, розташованому за оператором switch.

Виконання оператора break приводить до того, що в програмі відбувається вихід із оператора switch і здійснюється перехід до наступного оператора, що знаходиться за даним.

При відсутності оператора break будуть виконані всі оператори, починаючи з поміченого даною “міткою” і закінчуючи оператором switch.


ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

  1.  Що таке проста умова? Які операції відношення використовуються в ній?
  2.  Що є результатом виконання операції відношення?
  3.  Що таке складна умова? Які логічні операції використовуються в ній? Який пріоритет їх виконання? Як змінити цей пріоритет?
  4.  Які види умовних операторів ви знаєте?
  5.  B яких випадках у програмі використовується повний умовний оператор? Як він оформлюється? Як він працює (що відбувається при його виконанні)? Намалюйте графічну схему виконання.
  6.  B яких випадках у програмі використовується неповний умовний оператор? Як він оформлюється? Як він працює (що відбувається при його виконанні)? Намалюйте графічну схему виконання.
  7.  B яких випадках в програмі використовується вкладений умовний оператор? Як він оформлюється?
  8.  B яких випадках в програмі використовується оператор варіанту (вибору)? Як він оформлюється? Як він працює (що відбувається при його виконанні)? Намалюйте графічну схему виконання.


ЗАДАЧІ НА УМОВНІ ОПЕРАТОРИ

  1.  Напишіть програму що перевіряє чи належить число, введене користувачем, інтервалу .
  2.  Напишіть програму, що виконує переклад буквених оцінок в цифрові.
  3.  Відомо, що 1 дюйм дорівнює 2.54 см. Розробити програму, що переводить дюйми в сантиметри та навпаки. Діалог з користувачем реалізувати через систему меню.
  4.  Якщо ціле число  ділиться без залишку на ціле число , то вивести на екран частку від ділення, інакше вивести повідомлення " на  без залишку не ділиться".
  5.  Напишіть програму, яка перевіряє число на парність.
  6.  Дано два різні дійсні числа визначити найбільше та найменше з них.
  7.  Дано чотири цілі числа. Визначити, скільки з них парних.
  8.  Дано три дійсні числа. Вивести на екран ті з них, які належать інтервалу .
  9.  Дано три дійсні числа. Вивести на екран ті з них, які належать інтервалу .
  10.  Дано три дійсні числа. Вичислити чи більше числа  добуток його цифр.
  11.  Дано три дійсні числа. Вичислити чи кратна п'яти сума його цифр.
  12.  Дано два числа. Якщо квадратний корінь з другого числа менше першого числа, то збільшити друге число в п'ять разів.
  13.  Дано три дійсні числа. Звести в квадрат ті з них, значення яких ненегативні.
  14.  Скласти програму, яка залежно від порядкового номера дня тижня  виводить па екран його назву .
  15.  Скласти програму, яка залежно від порядкового номеру місяцю  виводить на екран його назву .
  16.  Дано тризначне число. Вичислити, чи є сума його цифр двозначним числом.
  17.  Дано тризначне число. Вичислити, чи є добуток його цифр тризначним числом.
  18.  Дані радіус кола та сторона квадрата. Площа якої фігури більша?
  19.  Скласти програму, яка залежно від порядкового номеру місяцю виводить на екран пору року, до якої відноситься місяць.
  20.  Напишіть програму, яка по введеному значенню аргументу обчислює значення функції:

.

  1.  Напишіть програму, яка знаходить корені квадратного рівняння:

.

  1.  Дано двозначне число. Визначити, чи дорівнює квадрат цього числа збільшеній у чотири рази сумі кубів його цифр. Наприклад, для числа 48 відповідь позитивна, для числа 52 — негативна.
  2.  Напишіть програму, яка по введеному значенню аргументу обчислює значення функції:

  1.  Напишіть програму, яка знаходить корені квадратного рівняння:

.

  1.  Дано натуральне число . Напишіть програму, що визначає кількість цифр в цьому числі, суму його цифр, яка виводить на екран першу та останню цифру через два пропуски.
  2.  Напишіть програму, яка запитує у користувача тризначне  число, а потім розбиває це число на окремі цифри та виводить на екран через пропуск. Наприклад, вводимо число 123, отримуємо на екрані: 1 2 3.
  3.  На плоскості нарисоване кільце з центром в точці . Та радіусами меж . Крім того, на цій же плоскості дана точка з координатами . Необхідно визначити, чи належить ця точка кільцю.
  4.  Дано два прямокутники, сторони яких паралельні або перпендикулярні осям координат. Відомі координати лівого нижнього та правого нижнього кутів кожного з них. Знайти координати лівого нижнього та правого верхнього кутів мінімального прямокутника, що містить вказані прямокутники.*


ОПЕРАТОР ЦИКЛУ З ПЕРЕДУМОВОЮ WHILE

Оператор циклу while визначає операції, які циклічно виконуються до тих пір, поки вираз, що перевіряється не стане false або рівним 0. Оператор while – це цикл з передумовою; рішення, чи виконувати в черговий раз тіло циклу, приймається перед початком його проходження.

Оператор, що утворює тіло циклу, може бути або простим або складеним.

Синтаксис простого оператора:

while (вираз)   /*простий оператор*/

<oператор>

Приклад:

while (i < 0)   

printf(“Значення змінної і від’ємне”);

Оператор виконується в тому випадку, коли i < 0. Якщо значення і буде більшим чи рівним 0 ((i > 0) чи (і >= 0)), то тіло оператора while взагалі не буде виконуватись і управління зразу перейде на наступний за тілом циклу оператор програми.

Синтаксис складеного оператора :

while (вираз)   /*складений оператор*/

{

<oператор1>

<oператор2>

}

Приклад:

while (i < 10)

{

i = 0;

i++;  

printf(“Значення змінної і = %d”, i );

}

ОПЕРАТОР ПОКРОКОВОГО ЦИКЛУ FOR

В операторі for використовуються три вирази, що керують роботою циклу; вони розділені символами “ ; ”.

Синтаксис:

for( [<ініціалізація>]; [<умовний вираз>]; [<корекція>])

<oператор>

Тіло оператора циклу for виконується до тих пір, поки <умовний вираз> не стане false або рівним 0. Якщо він із самого початку false, то тіло циклу не буде виконано жодного разу. <Ініціалізація> і <корекція> використовуються для ініціалізації і модифікації параметрів циклу чи інших значень.

Ініціалізуючий вираз (якщо він є) обчислюється тільки один раз до початку виконання якого-небудь із операторів циклу. Потім обчислюється умовний вираз і проводиться його оцінка наступним чином:

  1.  Якщо вираз що перевіряється true (не рівний нулю), то тіло циклу виконується один раз. Потім обчислюється величина виразу що коректується, і значення виразу що перевіряється визначається знову.
  2.  Якщо <умовний вираз> пропущений, то його значення приймається за істину і процес виконання продовжується. В цьому випадку оператор циклу for пердставляє собою безкінечний цикл, який може завершитись тільки при виконанні в його тілі операторів break, goto, return.
  3.  Якщо умовний вираз не істинний, то виконання оператора for завершується і управління передається наступному за ним оператору в програмі.

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

Оператор, що утворює тіло циклу, може бути як простим (приклад 1), так і складеним (приклад2)

Приклад1: 

for( n = 0; n < 10; n++)

printf( “%d”, n);

Приклад2:

for( n = 0; n < 10; n++)

{

k = 5 * b;

printf( “%d”, k);

}

В даних прикладах тіло циклу виконується до тих пір, поки умова що перевіряється (n < 10), не стане false чи рівна нулю.

Операція “,” пов’язує два вирази в один і гарантує, що самий лівий вираз буде обчислюватись першим.

Приклад:

for( а = 1, в = 0; в < 10; a * = 2)

b + = a ;

ОПЕРАТОР ЦИКЛУ З ПІСЛЯУМОВОЮ DO WHILE .

Оператор do while визначає дії, які циклічно виконуються до тих пір, поки вираз не стане false, чи рівним 0. Оператор do while – цикл з післяумовою; рішення, виконувати чи не виконувати в черговий раз тіло циклу, приймається після його проходження. Тому тіло циклу буде виконуватись по крайній мірі один раз. Оператор, що утворює тіло циклу, може бути як простим, так і складеним.

Форма запису:

do

<оператор>

while (вираз)

Виконання оператора повторюється до тих пір, поки вираз не стане false, чи рівним 0.

Наприклад:

do

scanf (“%d”, &number);

while (number ! = 20)

КЛЮЧОВІ СЛОВА: BREAK, CONTINUE, GOTO

Ці три команди викликають перехід від одного оператора програми до іншого, розташованого в іншому місці (в тілі програми).

break

Оператор break можна використовувати з любою із трьох форм циклу і з оператором switch. Вона приводить до того, що управління програмою “ігнорує” залишок циклу чи оператор switch, що містить цей залишок, і поновлює виконання програми з оператора, що знаходиться за циклом чи оператором switch (див. попередній приклад). Якщо оператор break знаходиться в середині деякої сукупності вкладених структур, його дія розповсюджується тільки на саму внутрішню структуру, в якій він безпосередньо знаходиться.

continue

Оператор continue може використовуватись в любій з трьох форм циклів, но не в операторі switch. Його виконання приводить до такої зміни логіки програми, що решту операторів циклу пропускаються. Для циклів while чи for в слід за цим починається новий крок, а для циклу do while перевіряється умова на виході, і потім, якщо вона виявляється істинною, виконується наступна ітерація.

Приклад:

while(number != 0)

{

if(number = = 2)

continue;

printf(“number = %d”, number);

}

goto

Виконання оператора goto викликає передачу управління в програмі оператору, поміченому вказаною міткою. Для відокремлення оператора від відповідної йому мітки використовується двокрапка “ : “ . Імена міток утворюються по тим же правилам, що й імена змінних. Позначений оператор може появитися в програмі текстуально до чи після goto.

Форма запису:

goto мітка;

. . . . .

мітка: оператор;

Приклад:

top : number = 1;

. . . . .

if(number = = 0)

goto top;


ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ

  1.  B яких випадках використовуються оператори циклу з умовою?
  2.  B яких випадках використовується оператор циклу з передумовою? Як він оформлюється? Як він працює (що відбувається при його виконанні)? Намалювати графічну схему виконання.
  3.  Що таке "тіло оператора циклу з передумовою"?
  4.  Чи може тіло оператора циклу з передумовою:
    1.  не виконатися жодного разу?
    2.  виконуватися нескінченне число разів (або до тих пір, поки користувач перерве його виконання)?
  5.  B яких випадках використовується оператор циклу з післяумовою? Як він оформлюється? Як він працює (що відбувається при його виконанні)? Намалювати графічну схему виконання.
  6.  Що таке "тіло оператора циклу з післяумовою "?
  7.  Чи може тіло оператора циклу з післяумовою:
    1.   не виконатися жодного разу?
    2.   виконуватися нескінченне число разів (або до тих пір, коли користувач перерве його виконання)?
  8.  Чи завжди можна замість оператора циклу з параметром використовувати оператора циклу з передумовою? A навпаки?
  9.  Чи завжди можна замість оператора циклу з параметром використовувати оператора циклу з післяумовою? A навпаки?
  10.  Чи можна в тілі оператора циклу використовувати умовний оператор?
  11.  Які ви знаєте оператори для примусового (передчасного) виходу з оператора циклу?
  12.  Чи можна замість такої конструкції використовувати оператора циклу з післяумовою? A оператор циклу з передумовою?


ЗАДАЧІ НА ОПЕРАТОРИ ЦИКЛУ

  1.  Розробити програму, яка виводить на екран 10 разів прізвище, ім'я та по батькові.
  2.  Розробити програму, яка виводить на екран вертикальну лінію із зірочок. Число зірочок вказує користувач.
  3.  Скласти програму, що обчислює , не користуючись операцією множення.  та  будь-яке натуральне число.
  4.  Написати програму друку таблиці переведення відстані з дюймів в сантиметри для значень довжин від 1 до 20 дюймів. (1 дюйм = 2,54 см.)
  5.  Розробити програму, яка виводить на екран горизонтальну лінію із зірочок. Число зірочок вказує користувач.
  6.  Розробити програму, яка виводить на екран всі літери англійського алфавіту.
  7.  Знайти суму всіх цілих чисел в діапазоні, вказаному користувачем.
  8.  Скласти програму, що обчислює суму квадратів всіх чисел в діапазоні від 1 до .
  9.  Написати програму, що визначає суму всіх непарних чисел в діапазоні від 1 до 99.
  10.  В ЕОМ вводяться по черзі дані про зріст  учнів. Визначити середній зріст учнів в класі.
  11.  Розробіть програму, яка виводить на екран таблицю множення.
  12.  Дано натуральне число . Написати програму, яка обчислює факторіал невід’ємних цілих чисел  (тобто число ціле та більше 0).
  13.  Створити програму, яка виводить на екран прості числа в діапазоні від 2 до 1000. (Число називається простим, якщо воно ділиться лише на 1 та на само себе без залишку; причому числа 1 та 2 за прості не вважаються).
  14.  Дано довільне ціле число . Написати програму, яка розбива число  на цифри та виводить їх на екран, підраховує скільки цифр в числі , знаходить суму цифр числа , змінює порядок цифр числа  на зворотний.
  15.  Скласти програму, що визначає максимальне зі всіх чисел, що вводяться Вами. Кінцем вводу чисел  вважати число 0.
  16.  Розробити програму, яка виводить на екран шість членів послідовності , задану формулою  - члена: .
  17.  Знайти найбільше та найменше значення функції , якщо на заданому інтервалі   змінюється з кроком 0,1.
  18.  Квиток називають «щасливим», якщо в його номері сума перших трьох цифр дорівнює сумі останніх трьох. Підрахувати число тих «щасливих» квитків, в яких сума трьох цифр дорівнює 13. Номер квитка може бути від 000000 до 999999.
  19.  Скласти програму, що підсумовує штрафний час команд при грі в хокей та виводить на екран сумарний штрафний час обох команд після будь-якої його зміни. Після закінчення гри вивести підсумкове повідомлення.
  20.  Для заданого числа  Скласти програму підрахунку суми , де – натуральне число.
  21.  В ЕОМ вводяться по черзі координати  точок. Визначити, скільки з них попадає в коло радіусом  з центром в точці .
  22.  Послідовність  задана формулою:, ,. Знайти суму перших  - чисел.
  23.  У бригаді, що працює на збиранні сіна, є  косарок. Перша з них працювала  годин, а кожна наступна на 10 хвилин більше, ніж попередня. Скільки годин пропрацювала вся бригада?
  24.  Кожна бактерія ділиться на дві протягом однієї хвилини. У початковий момент є одна бактерія. Скласти програму, яка розраховує кількість бактерій на заданий Вами моменту часу (15 хвилин, 7 хвилин та тому подібне).
  25.  Скласти програму виводу на екран всіх простих чисел, що не перевершує заданого . (Простим називається натуральне число більше одиниці, що має тільки двох дільників: одиницю та само це число.)


ЗАВДАННЯ ДЛЯ САМОСТІЙНОЇ РОБОТИ

  1.  Вивчити синтаксис, призначення, принцип роботи і використання операторів мови C та основних функцій введення-виведення.
  2.  Скласти блок-схеми алгоритмів та програми мовою C для розрахунку значення виразу. Дані для роботи беруться з табл. 1,2 та 3 за вказівкою викладача. Забезпечити ввід значень інтервалу, кроку і похибки з клавіатури і вивід результатів на дисплей.
  3.  Оформити звіт:
    1.  Титульний лист (Додаток А);
    2.  Зміст(Додаток Б);
    3.  Текст завдання;
    4.  Опис вхідних та вихідних даних;
    5.  Блок-схему алгоритму роботи програми(Додаток Д);
    6.  Програмний код;
    7.  Тестові приклади(Додаток Г);
    8.  Список використаних джерел(Додаток В).

Усі матеріали подаються у друкованому та електронному вигляді!!!

Таблиця 7

№ п/п

Вираз

Значення аргументів

1

x=2.632, y=0.731

2

x=3.142, z=0.543

3

x=4.112, y=1.628

4

x=2.361, y=1.149

5

x=2.735, z=7.218

6

y=6.153, z=1.001

7

x=12.394, y=7.139

8

z=9.761

9

x=2.14, y=0.578

10

x=1.155, y=3.981

11

x=15.241, y=7.118

12

x=0.067, y=3.017

13

x=5.168, z=1.569, y=3.022

14

 

x=2.134, y=0.129

15

x=0.013, z=1.245

16

y=7.315, z=3.127

17

x=1.839, y=3.821, z=0.349

18

x=1.549, y=7.317

19

x=4.123, y=2.395

20

x=0.712, y=3.161

21

x=166.124, z=15.839

22

x=2.531, y=0.193

23

x=4.597, y=7.954

24

x=1.413, y=0.057

25

x=0.357, y=2.031


Таблиця 8

№ п/п

Функції

Умови для вибору функцій

Крок, h

Інтервал, [a,b]

1

0.02

[0.5, 0.9]

2

0.2

[2, 4]

3

0.2

[4, 6]

4

0.2

[2, 4]

5

0.05

[0.1, 0.7]

6

0.02

[0.5, 0.8]

7

0.2

[3, 6]

8

0.2

[1.5, 3.5]


Продовження таблиці 8

9

0.2

[4, 7]

10

0.1

[2, 3]

11

0.2

[3, 6]

12

0.2

[0.5, 2]

13

0.01

[0.2, 0.5]

14

0.02

[0.4, 0.8]

15

0.2

[7.5, 10]

16

0.2

[2, 5]

17

0.05

[0.3, 0.9]


Продовження таблиці 8

18

0.05

[-0.9, -0.4]

19

0.05

[0.3, 0.9]

20

0.3

[0.3, 3.5]

21

0.3

[3, 6]

22

0.2

[2, 5]

23

0.2

[3, 8]

24

0.2

[2, 5]

25

0.2

[6, 9]


Таблиця 9

№ п/п

Функція

Інтервал, [a, b]

Крок, h

Похибка, d

1

[0.5, 0.7]

0.05

0.001

2

[0.1, 0.6]

0.05

0.001

3

[3, 4]

0.1

0.001

4

[0.2, 0.3]

0.01

10-6

5

[1.1, 2]

0.1

0.001

6

[-1, 1]

0.5

0.001

7

[-1, 1]

0.2

0.001

8

[-1, -0.9]

0.01

0.001

9

[-1, 1]

0.1

0.001

10

[0.1, 1]

0.1

0.001

11

[0, 1]

0.1

0.0001

12

[1, 2]

0.1

0.001

13

[3, 4]

0.1

0.001

14

, m=20

[0.1, 0.5]

0.05

0.001

15

, m=3

[0.1, 0.5]

0.05

0.001

16

[1, 1.2]

0.02

10-6


Продовження таблиці 9

17

[1, 1.5]

0.05

10-5

18

[1, 1.5]

0.05

10-5

19

[0, 0.5]

0.05

0.001

20

[-0.5, 0]

0.05

0.001

21

[0.5, 0.9]

0.05

0.001

22

[0.5, 0.9]

0.05

0.001

23

[0, 0.2]

0.02

0.001

24

, m=20

[0, 0.5]

0.05

0.001

25

, m=9

[0, 0.5]

0.05

0.001


ДОДАТОК А

Зразок титульного листа

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

СХІДНОУКРАЇНСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

імені ВОЛОДИМИРА ДАЛЯ

КАФЕДРА КОМП’ЮТЕРНИХ СИСТЕМ ТА МЕРЕЖ

ІНДИВІДУАЛЬНА КОНТРОЛЬНА РОБОТА

з дисципліни: “Програмування ”

Тема: “Програмування на мові C”

Виконав:

студент гр.____________

(індекс)

_____________________

(прізвище, ініціали)

Керівник:

_____________________

(посада, прізвище, ініціали)

ЛУГАНСЬК 20__


ДОДАТОК Б

Зразок змісту


ДОДАТОК В

Зразок списку використаних джерел

Список використаних джерел

1. Організаційно-технічне забезпечення інформаційної безпеки. Навчальний посібник/ За ред. Проф. В.О. Хорошка/ Уклад.:А.Г. Габович, С.Б. Гордієнко, В.О. Хорошко, Д.В. Чирков. – К.: ДУІКТ, Полиграфконсалтинг, 2005, -116с.

2. Петров А.С., Петров А.А. Основы безопасности информационных систем: Учебное пособие - Луганск: Изд-во ВНУ им. В.Даля, 2004. – 148с.3.

3. Герасименко В.А. Защита информации в автоматизированных системах обработки данных. В 2-х книгах. - М.: Энергоатомиздат, 1994.

4. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях / Под ред. В.Ф. Шаньгина. - 2-е изд., перераб. и доп. — М.: Радио и связь, 2001. - 376 с.

5. Стеклов В.К., Беркман Л.Н. Телекоммунікаціонні мережі.-Київ.,-2000,-396с.

6. Сучасні телекомунікації./ За ред. Довгого С.А.-М.: Экотрендз,2003-320с.

7. Коханович Г.Ф., Климчук В.П., Паук С.М., Потапов В.Г. Защита информации в телекоммуникационных системах. – К.: „МК-Пресс”, 2005. -288с., ил.

8. Максименко Г.А., Хорошко В.А. Методы выявления, обработки и идентификации сигналов радиозакладных устройств. – К.: ООО „ПолиграфКонсалтинг”, 2004. – с.317. ил.


ДОДАТОК Г

Зразок прикладу роботи програми


ДОДАТОК Д

Зразок блок-схеми алгоритму роботи програми

1Операція sizeof на відміну від інших представляється ключовим словом.

2 Розглядаються лише ті заголовочні файли, які є необхідними для виконання лабораторних робіт.


2

2

В




1. КУРСОВА РОБОТА Виконала студентка 5 курсу 1 медичного факультету 11 групи Оветчина Ольга Пет
2. Тютчев Федор
3. ЗАТВЕРДЖЕНО _____________________В
4.  Общие положения 11
5. наука виробництво споживання структурні ланки ланцюга від наукової діяльності до техніковиробничо
6. Тема Исследования системы подготовки переподготовки и повышения квалификации персонала
7. Скріпт мова управління віконним інтерфейсом на С++
8. Завещание как основание наследования
9. Обсуждается все
10. Теоретические нормативные и практические аспекты учетной политики на предприятии
11. а Какие термины используются для обозначения поли и анеуплоидов Полиплоидия ~ изменение числа наборо
12. то положил руку мне на плечё
13.  Деньги их необходимость и происхождение
14. независимыми если они не лежат в одной плоскости
15. Реферат- Архитектура Москвы
16. Ахмадулина Белла (Изабелла) Ахатовна
17. Задание 1 ~ выберите один вариант ответа
18. Федерация футбола
19.  Уголовное право предмет метод функции
20. Об утверждении Положения о Министерстве образования и науки Российской Федерации