Рефетека.ру / Информатика и програм-ие

Контрольная работа: Оператори й основні типи даних мови С++

КОНТРОЛЬНА РОБОТА


«Базові мови програмування»


Зміст


Завдання 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 <stdio.h>

#include <iostream.h>

#include <conio.h>

void main( )

{

long int i1 = 0; // оголошення змінних цілого типу

long int i2 = 0;

long double ld1 = 0; // оголошення змінних з плаваючою точкою

long double ld2 = 0;

cout << "Vvedite 8-mi znachnoe 10-oe chislo (+): ";

cin >> i1;

cout << endl;

cout << "Vvedite 8-mi znachnoe 10-oe chislo (-): ";

cin >> i2;

cout << endl;

// вивід результату у форматі цілого типу

printf("Vache chislo (+):%*.20ld\n",0,i1);

printf("Vache chislo (-):%*.20ld\n",0,i2);

cout << "\nVvedite 9-i znachnoe vewestvennoe chislo (+): ";

cin >> ld1;

cout << endl;

cout << "Vvedite 9-i znachnoe vewestvennoe chislo (-): ";

cin >> ld2;

cout << endl;

// вивід результату у форматі з плаваючою точкою

printf("Vache chislo (+):%15.7Lf\n",ld1);

printf("Vache chislo (-):%15.7Lf\n",ld2); getch();

}


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


Оператори й основні типи даних мови С++

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


б) введіть перший символ Вашого призвіща з клавіатури та визначте код цього символу у кодовій таблиці ASCII в десятковому, 8-ому та 16-ому кодах.

Програма Б1.

#include <stdio.h>

#include <conio.h>

void main( )

{char ch; // оголошення змінної типу char

printf("Vvedite simvol i najmite Enter\n");

scanf("%c", &ch);

printf("Kod simvola %c v ASCII (10):%d\n", ch, ch); // вивід у 10-й с/с

printf("Kod simvola %c v ASCII (8):%o\n", ch, ch); // вивід у 8-й с/с

printf("Kod simvola %c v ASCII 16):%x\n", ch, ch); // вивід у 16-й с/с

getch();


}

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


Оператори й основні типи даних мови С++

Мал. 2. Результат работи програми Б1.


в) знайдіть значення функції y (x) при заданому значенні х, використовуючи стандартні функції. Для цього включить в текст програми заголовний файл <math.h>.


№вар. y (x) х
3 у=arcsin(x)+x2 х=0.412

Програма В1.

#include <stdio.h>

#include <conio.h>

#include <math.h>

void main( )

{

double x = 0.412;

long double y = 0.0; // оголошенни змінної з плаваючою точкою

printf("Znachenie x = %4.3lf\n",x);

y = (asin(x)+(x*x)); // розрахунок функції y(x)

printf("Znachenie y(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 <stdio.h>

#include <conio.h>

#include <math.h>

#include <iostream.h>

#define pi 3.1415926 // асоціація pi з значенням 3.1415926

void main( )

{

double x = 0.0; //оголошення змінних з плаваючою точкою

double y = 0.0;

cout << "Vvedite vewestvennoe chislo x = ";

cin >> x;

if (x<(-pi/4)) {

y = x; // розрахунок функціі у

cout << endl << "Znachenie x: x < -pi/4"<< endl;

printf("Znachenie y = %4.5f\n",y);

}

if (x>(pi/4)) {

y = -x; // розрахунок функціі у

cout << endl << "Znachenie x: x > pi/4"<< endl;

printf("Znachenie y = %4.5f\n",y);

}

else {

y = tanl(x); // розрахунок функціі у

cout << endl << "Znachenie x: -pi/4 <= x <= pi/4"<< endl;

printf("Znachenie y = %4.5f\n",y);

}

getch();

}


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


Оператори й основні типи даних мови С++

Мал. 4. Результат работи програми А2


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


Ключ Необхідна інформація
3 а-z назви 6 книжок

Програма А2.

#include <conio.h>

#include <iostream.h>

#include <stdio.h>

void main( )

{

char ch; //оголошення змінних

int ich;

cout << "Vvedite cluch (a-z):";

scanf("%c", &ch); //ввод букви

printf("Kod simvola '%c' raven %d", ch, ch);

ich = int(ch); //операція приведення типу

if ((ich>=97)&&(ich<=122)) { //перевірка інтервалу

switch (ich) {

case 97:{

cout<< endl <<"1. Slovar";

cout<< endl <<"2. Bukvar";

cout<< endl <<"3. Algebra";

cout<< endl <<"4. Istoriya";

cout<< endl <<"5. Literatura";

cout<< endl <<"6. Pravo";

break;};

…………………………………………..

case 122:{

cout<< endl <<"1. Slovar";

cout<< endl <<"2. Bukvar";

cout<< endl <<"3. Algebra";

cout<< endl <<"4. Istoriya";

cout<< endl <<"5. Literatura";

cout<< endl <<"6. Pravo";

break;};

}

}

else cout<< endl <<"Neverno zadan cluch!!!";

getch();

}


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


Оператори й основні типи даних мови С++

Мал. 5. Результат работи програми Б2


Завдання 3. «Оператори циклу»


Короткі теоретичні відомості.

Мова С++ має три оператори, за допомогою яких можна організувати цикли: for, while, do…while.

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

for (ініціалізація_циклу; умова; список виразів) тіло_циклу

Цикл з оператором do…while використовується в тих випадках, коли невідомо точна кількість повторів, але тіло циклу повинно бути виконано, принаймні, один раз. Синтаксис оператору наступний:

do тіло_циклу while (умова);

Цикл з оператором while використовується в тому випадку, коли невідомо точне число повторів і при цьому немає необхідності, щоб тіло циклу було виконано хоча б один раз. Синтаксис оператору наступний: while (умова) тіло_циклу.

Постановка завдання.

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


Кіл-ть чисел Тип чисел
3 9 кратні 5

Програма А3.

#include <conio.h>

#include <iostream.h>

#include <stdio.h>

void main( )

{

clrscr;

int sum = 0; //оголошення змінних цілого типу

int n = 0;

int i;

cout << "Ryad chisel = ";

for (i=0; i<=8; i++) { //цикл знаходження чисел кратних 5

n = i*5;

gotoxy((3*i)+15,1); cout << n;

sum = sum + n;

}

cout << endl <<"Summa chisel = "<< sum ;

cout << endl <<"Poslednee chislo = "<< n ;

getch();

}

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

Оператори й основні типи даних мови С++

Мал. 6. Результат работи програми А3.


б) використовуючи оператор циклу while, знайдіть суму ряду чисел згідно варіанту. Виведіть на екран суму, останній член суми та кількість ітерацій циклу.


Тип чисел Умова
3 цілі, кратні 4 числа від 8 до 100

Програма Б3.

#include <conio.h>

#include <iostream.h>

#include <stdio.h>

void main( )

{

clrscr;

int sum = 0;

int end = 0;

int n = 0;

int i = 0;

cout << " Programma summirovaniya chisel kratnih '4' " << endl;

cout << endl;

n = 8;

while (n<=100) {

if ((n % 4) == 0) {

sum = sum + n;

end = n;

}

i++;

n++;

}

cout << "Summa: " << sum << endl;

cout << "Posledniy chlen summi: " << end << endl;

cout << "Kolichestvo iteraciy : " << i << endl;

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.

Рефетека ру refoteka@gmail.com