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

Дисциплины:






Домашня пiдготовка до роботи. Усі константи з плаваючою крапкою мають тип double



15.75

Е1

Е-2

-0.0025

-.175Е-2

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

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

'<символ> '

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

 

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

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

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

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

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

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

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

a

Temp1

Top_of_page

 

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

a+b

Temp

Top of page

 

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

Add

ADD

ADD

 

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

Перелік ключових слів:

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

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

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

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

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

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

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

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

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

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

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

1.2. Базові типи даних.

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

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



Таблиця 1

Базові типи Назва Довжина, байт Діапазон значень  
Цілі знакові типи  
Символьний Цілий Короткий цілий Довгий цілий сhar int shortабо short int longабоlong int 2 або 4 –128...127   – 32768...32767 – 231....231 –1  
Цілі беззнакові типи  
Символьний Цілий Коротк. цілий Довгий цілий unsigned char unsignedабоunsigned int unsigned short unsigned long 2 або 4 0...255   0...65535 – 232….232 –1  
Типи з плаваючою комою  
Плаваючий Плаваючий довгий float doubleабоlong float – 231....231 –1 10-38...1038  

 

1.3. Операції.

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

Операція Назва Операція Назва  
! Логічне НІ && Логічне І  
~ Зворотний код || Логічне АБО  
+ Додавання; унарний плюс , Послідовне виконання  
Віднімання; унарний мінус ? : Умовна операція  
* Множення; значення за адресою + + Інкремент  
/ Ділення – – Декремент  
% Остача від ділення = Просте присвоювання  
<< Зсув вліво + = Присвоювання з додаванням  
>> Зсув вправо – = Присвоювання з відніманням  
< Менше * = Присвоювання з перемноженням  
<= Менше чи рівне / = Присвоювання з діленням  
> Більше % = Присвоювання з залишком від ділення  
>= Більше чи рівне >> = Присвоювання з зсувом вправо  
= = Рівне << = Присвоювання з зсувом вліво  
! = Не рівне & = Присвоювання з порозрядним І  
& Порозрядне І; адресація | = Присвоювання з пороз-рядним АБО  
| Порозрядне АБО ^ = Присвоювання з пороз-рядним АБО з виключенням (Присвоювання з порозрядним додаванням за модулем 2)  
^ Порозрядне АБО з виключенням (порозрядне додавання за модулем 2) sizeof Розмір об’єкту  

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

 

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

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

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

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

 

1.3. Заголовочні файли.*

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

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

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

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

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

Таблиця 3

Функція Короткий опис  
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) Знаходження найбільшого цілого, меншого чи рівного х  
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) Обчислення гіперболічного тангенсу  

1.5. Функція введення даних scanf.

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

Приклади:

int x;

. . . . .

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

int x;

doubley;

. . . . .

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

 

 

1.6. Функція виводу даних 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

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

Специфікація формату Тип аргумента  
%і або %d цілий знаковий  
символьний  
%s текстовий рядок  
%e з плаваючою крапкою (eкспоненціальний запис)  
%f з плаваючою крапкою (десятковий запис)  
%lf з плаваючою крапкою подвійної точності (десятковий запис).  
%u цілий беззнаковий  

 

1.7. Структура типової програми .

#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.9. Побудова блок-схем алгоритмів програм.

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

 

Таблиця 5

Умовне графічне позначення Правила використання  
Початок програми (підпрограми)  
Кінець програми (підпрограми)  
Введення/виведення даних для стандартних пристроїв введення-виведення (клавіатура, дисплей); у межах блока вказуються ідентифікатори змінних для введдення даних або вирази, значення яких виводяться  
Виконання дій; у межах блока вказуються дії, які необхідно виконати. У даному випадку обчислюється значення виразу і обчислене значення присвоюється змінній  
  Розгалуження алгоритму програми залежно від виконання умови; у межах блока вказується вираз, результат якого визначає подальший хід виконання алгоритму програми  
Виконання циклу; у межах блока вказуються межі діапазону значень параметру циклу та алгоритм (вираз), за яким змінюється параметр циклу  
Виконання підпрограми (процедури чи функції); у межах блока вказується заголовок (ім’я та параметри) підпрограми(процедури чи функції)  
Виведення даних; у межах блока вказується список виразів, значення яких виводяться  
Лінії з’єднань між блоками  
    Переходи на іншу сторінку; використовуються, якщо блок-схема розташована на кількох сторінках; N – номер сторінки, M – номер блоку  
  Перехід у межах сторінки  

ЗАВДАННЯ

Домашня пiдготовка до роботи

1. Ознайомитися із структурою програми написаною мовою Cі.

2. Ознайомитися з типами даних мови Cі.

3. Ознайомитися з операціями та функціями мови Cі.

4. Вивчити правила побудови ідентифікаторів, виразів та присвоєння значень змінним мови Cі.

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

6. Скласти програму мовою Cі для розрахунку значення виразу. Дані для роботи беруться з табл. 5 за вказівкою викладача.

Таблиця 5

№ п/п Вираз Значення аргументів  
x=2.632, y=0.731  
x=3.142, z=0.543  
x=4.112, y=1.628  
x=2.361, y=1.149  
x=2.735, z=7.218  
y=6.153, z=1.001  
x=12.394, y=7.139  
z=9.761  
x=2.14, y=0.578  
x=1.155, y=3.981  
x=15.241, y=7.118  
x=0.067, y=3.017  
x=5.168, z=1.569, y=3.022  
x=2.134, y=0.129  
x=0.013, z=1.245  
y=7.315, z=3.127  
x=1.839, y=3.821, z=0.349  
x=1.549, y=7.317  
x=4.123, y=2.395  
x=0.712, y=3.161  
x=166.124, z=15.839  
x=2.531, y=0.193  
x=4.597, y=7.954  
x=1.413, y=0.057  
x=0.357, y=2.031  
x=1.769, y=1,235  
x=12.689, y=0.593, z=1.842  
x=0.894, y=13.464  
x=12.603, y=11.591, z=0.588  
x=5.678, y=8.942, z=0.588  
x=10.894, y=6.445  
x=8.499, y=0.586, z=1.941  
x=0.894, y=10.456  
x=10.541, z=8.991  
x=0.489, y=5.441, z=0.291  

2.2. Робота в лабораторії

1. Ввести в комп'ютер програму, написану мовою Cі згідно з отриманим завданням.

2. Відлагодити програму. При необхідності скоригувати блок-схему алгоритму та програму у відповідності з виявленими логічними та синтаксичними помилками.

3. Остаточні версії блок-схеми, програми та отримані результати занести у звіт з лабораторної роботи.

4. Підготувати та захистити звіт з лабораторної роботи.

ЗМIСТ ЗВIТУ

1. Номер і назва лабораторної роботи.

2. Мета роботи.

3. Повний текст завдання.

4. Остаточна версія блок-схеми алгоритму.

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

6. Остаточна версія програми.

7. Результати роботи програми.

* Зразок оформлення звіту наведений в додатку А (повний варіант оформлення звіту див. файл).

 

Додаток А

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

 

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

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

 

ІКТА

кафедра ЗІ

 

З В І Т

до лабораторної роботи №1

 

з курсу: «Алгоритмічні мови та програмування»

на тему: «Прості програми лінійної структури»

 

Варіант № 36

 

Виконав: ст. гр. ІБ-11

Коваль А.В.

Прийняв: Будз Б.Д.

 

Львів 2008

ЗАВДАННЯ

Скласти програму мовою Cі для розрахунку значення виразу при x=4.597, y=7.954. Забезпечити ввід аргументів з клавіатури та вивід результату на дисплей.





sdamzavas.net - 2020 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...