КОНТРОЛЬНА РОБОТА
«Базові мовипрограмування»
Зміст
Завдання 1. «Базовітипи змінних. Елементарний ввід-вивід»
Завдання 2. «Умовніоператори. Оператори множинного вибору»
Завдання 3. «Операторициклу»
Список використанихджерел
Завдання 1. «Базові типи змінних. Елементарний ввід-вивід»
Короткі теоретичнівідомості.
Програма на мові С++завжди містить одну головну функцію main( ). Ключове слово void означає,що функція main( ) не повертає ніяких параметрів. Тіло функції завждизнаходиться в блоці програми, який обмежений відкриваючою і закриваючою дужками{…}.
Основні типи даних.Визначення основних (базових) типів даних здійснюється за допомогою ключовихслів. Для типів із плаваючою точкою (дійсних) використовуються ключові словаfloat, double, long double, для цілих типів – char, int, short, long зслужбовими словами signed та unsigned, які вказують, що ціла змінна вважаєтьсязнаковою або беззнаковою. Операція sizeof обчислює розмір у байтах ділянкипам'яті, яка зайнята змінною зазначеного типу або типом даних.
Оператори вводу тавиводу даних. Для виводу на екран монітору використовуються функціїprintf( ), puts( ), putchar( ) та ін. Функції putchar( ),puts( ) мають тільки один параметр і виводять відповідно символи та рядки,але не забезпечують вивід числових даних. Функція printf( )використовується для форматованого виводу на екран усіх типів даних задопомогою специфікаторів.
Специфікатор форматупочинається із символу %, після якого стоїть символ, що вказує тип даних: %d –ціле число; %ld — довге ціле число типа long int; %u – беззнакове ціле число;%f – дійсне число типа float; %lf – дійсне число типа doublе; %Lf — довгедійсне число типа long double; %e – дійсне число в експоненціальній формі; %c –символ; %s – рядок; %o – цілі числа у восьмирічній системі числення; %x – цілічисла в 16-тирічній системі числення; %p – адреса змінної в 16-тирічній системічислення.
Основні функціївводу даних із клавіатури scanf( ), gets( ), getchar( ). Функціяgetchar( ) не має параметрів і вводить символи, функція gets( ) маєодин параметр і вводить рядки. Функція scanf( ) здійснює перетворенняформату за допомогою специфікаторів і може мати декілька аргументів, дозволяючитим самим вводити значення числових, символьних змінних та рядків.Специфікатори формату аналогічні (але не цілком) тим, що використовуютьсяфункцією виводу printf( )[1-8].
Постановка завдання.
а) введіть два цілихдесяткових числа з 8-ю значними цифрами (додатне і від'ємне) та два десятковихчисла з плаваючою точкою з 9-ю значними цифрами (додатне і від'ємне) іздійсніть форматований вивід чисел в стандартній та заданій формах.№вар. Цілі числа Дійсні числа Ширина поля Ключі Ширина поля Кіл-ть знаків після точки 3 20 з нулями перед першою цифрою 15 7
Програма A1.
#include
#include
#include
void main( )
{
long int i1 = 0; //оголошення змінних цілого типу
long int i2 = 0;
long double ld1 = 0;// оголошення змінних з плаваючою точкою
long double ld2 = 0;
cout
cin >> i1;
cout
cout
cin >> i2;
cout
// вивід результатуу форматі цілого типу
printf(«Vachechislo (+):%*.20ld\n»,0,i1);
printf(«Vachechislo (-):%*.20ld\n»,0,i2);
cout
cin >> ld1;
cout
cout
cin >> ld2;
cout
// вивід результатуу форматі з плаваючою точкою
printf(«Vachechislo (+):%15.7Lf\n»,ld1);
printf(«Vachechislo (-):%15.7Lf\n»,ld2); getch();
}
Результатиработи програми.
/>
Мал. 1. Результатработи програми А1
б) введіть першийсимвол Вашого призвіща з клавіатури та визначте код цього символу у кодовійтаблиці ASCII в десятковому, 8-ому та 16-ому кодах.
Програма Б1.
#include
#include
void main( )
{char ch; //оголошення змінної типу char
printf(«Vveditesimvol i najmite Enter\n»);
scanf("%c",&ch);
printf(«Kodsimvola %c v ASCII (10):%d\n», ch, ch); // вивід у 10-й с/с
printf(«Kodsimvola %c v ASCII (8):%o\n», ch, ch); // вивід у 8-й с/с
printf(«Kodsimvola %c v ASCII 16):%x\n», ch, ch); // вивід у 16-й с/с
getch();
}
Результатиработи програми.
/>
Мал.2. Результат работи програми Б1.
в) знайдіть значенняфункції y (x) при заданому значенні х, використовуючи стандартні функції.Для цього включить в текст програми заголовний файл .№вар. y (x) х 3
у=arcsin(x)+x2 х=0.412
Програма В1.
#include
#include
#include
void main( )
{
double x = 0.412;
long double y = 0.0;// оголошенни змінної з плаваючою точкою
printf(«Znacheniex = %4.3lf\n»,x);
y = (asin(x)+(x*x));// розрахунок функції y(x)
printf(«Znacheniey(x) = %Lf\n»,y);
getch();
}
Результатиработи програми.
/>
Мал.3. Результат работи програми В1
Завдання 2. «Умовніоператори. Оператори множинного вибору»
Короткі теоретичнівідомості.
Умовний операторif…else вибирає один з двох варіантів послідовності обчислень та має наступнийсинтаксис:
if (вираз_1 )вираз_2 else вираз_3
Якщо вираз_1 недорівнює 0, то виконується вираз_2, інакше (якщо вираз_1 дорівнює 0)виконується вираз_3.
Конструкція if…elseможе містити оператори вводу-виводу значень, виконання математичних операційабо виклики власних функцій, а також і іншу інструкцію if.
Якщо в програмітреба врахувати більш трьох можливих варіантів, доцільно використовуватиоператор множинного вибору switch. Синтаксис цього оператора такий:
switch(перемикаючий_вираз)
{ caseконстантний_вираз_1: оператори_1;break;
caseконстантний_вираз_2: оператори_2;break;
default:оператори_n+1;}
Оператор switchпередає керування тому оператору, константний вираз якого співпадає ззначеннями перемикаючого виразу. Якщо значення змінної не задовольняє умовам жодноїз гілок case, виконується гілка, що позначена міткою default. Якщо випропустили оператор break, комп'ютер виконає всі оператори, які містяться увідповідній гілці case та інших гілках, до першого зустрінутого в тексті break[1-8].Постановказавдання.
а) Введіть різнізначення дійсного числа типу double та знайдіть значення функції у (х) призаданих значеннях х, використовуючи умовні оператори if …else. Виведітьрезультати на екран.
/>
Програма А2.
#include
#include
#include
#include
#define pi 3.1415926// асоціація pi з значенням 3.1415926
void main( )
{
double x = 0.0; //оголошеннязмінних з плаваючою точкою
double y = 0.0;
cout
cin >> x;
if (x
y = x; // розрахунокфункціі у
cout
printf(«Znacheniey = %4.5f\n»,y);
}
if (x>(pi/4)) {
y = -x; //розрахунок функціі у
cout pi/4»
printf(«Znacheniey = %4.5f\n»,y);
}
else {
y = tanl(x); //розрахунок функціі у
cout
printf(«Znacheniey = %4.5f\n»,y);
}
getch();
}
Результати роботипрограми.
/>
Мал.4. Результат работи програми А2
б) введіть цифру абобукву в якості ключа та виведіть на екран потрібні дані, використовуючиоператор множинного вибору switch. В програмі передбачте вивід повідомлення приневірно заданому ключі.№ Ключ Необхідна інформація 3 а-z назви 6 книжок
Програма А2.
#include
#include
#include
void main( )
{
char ch; //оголошеннязмінних
int ich;
cout
scanf("%c",&ch); //ввод букви
printf(«Kodsimvola '%c' raven %d», ch, ch);
ich = int(ch); //операціяприведення типу
if((ich>=97)&&(ich
switch (ich) {
case 97:{
cout
cout
cout
cout
cout
cout
break;};
…………………………………………..
case 122:{
cout
cout
cout
cout
cout
cout
break;};
}
}
else cout
getch();
}
Результати роботипрограми Б2.
/>
Мал.5. Результат работи програми Б2
Завдання 3. «Операторициклу»
Короткі теоретичнівідомості.
Мова С++ має триоператори, за допомогою яких можна організувати цикли: for, while, do…while.
Цикл з операторомfor частіше використовується у випадку, коли відомо точна кількість повторів,що потрібно виконати. Цей оператор має синтаксис:
for(ініціалізація_циклу; умова; список виразів) тіло_циклу
Цикл з операторомdo…while використовується в тих випадках, коли невідомо точна кількістьповторів, але тіло циклу повинно бути виконано, принаймні, один раз. Синтаксисоператору наступний:
do тіло_циклу while(умова);
Цикл з операторомwhile використовується в тому випадку, коли невідомо точне число повторів і прицьому немає необхідності, щоб тіло циклу було виконано хоча б один раз.Синтаксис оператору наступний: while (умова) тіло_циклу.Постановказавдання.
а) використовуючиоператор циклу for, знайдіть суму ряду цілих додатних чисел згідно варіанту.Виведіть результат та останній член суми на екран. Перше число рівно 0.№ Кіл-ть чисел Тип чисел 3 9 кратні 5
Програма А3.
#include
#include
#include
void main( )
{
clrscr;
int sum = 0; //оголошеннязмінних цілого типу
int n = 0;
int i;
cout
for (i=0; i
n = i*5;
gotoxy((3*i)+15,1);cout
sum = sum + n;
}
cout
cout
getch();
}
Результати роботипрограми.
/>
Мал. 6. Результатработи програми А3.
б) використовуючиоператор циклу while, знайдіть суму ряду чисел згідно варіанту. Виведіть наекран суму, останній член суми та кількість ітерацій циклу.№ Тип чисел Умова 3 цілі, кратні 4 числа від 8 до 100
Програма Б3.
#include
#include
#include
void main( )
{
clrscr;
int sum = 0;
int end = 0;
int n = 0;
int i = 0;
cout
cout
n = 8;
while (n
if ((n % 4) == 0) {
sum = sum + n;
end = n;
}
i++;
n++;
}
cout
cout
cout
getch();
}
Результати роботипрограми.
/>
Мал. 7. Результатработи програми Б3
Літературні джерела
1. Абрамов С.А.,Зима Е.В. Начала информатики. —М.: Наука, 1990.
2. Грогоно П.Программирование на языке Паскаль. — М.: Мир, 1982.
3. Йенсен К., ВиртH. Паскаль. Руководство для пользователя и описание языка. -М.: Финансы истатистики, 1982.
4. Перминов О.Н.Программирование на языке Паскаль. — М.: Радио и связь, 1988.
5. Пильщиков В.Н.Сборник упражнений по языку Паскаль. — М.: Наука, 1989.
6. Прайс Д.Программирование на языке Паскаль. Практическое руководство. М.: Мир, 1987.
7. Турбо Паскаль7.0. — К.: Торгово-издательское бюро BHV, 1996.
8. Фаронов В.В.Турбо Паскаль 7.0. Начальный курс. Учебное пособие.-М.: «Нолидж», 1997.