Название: Оператори й основні типи даних мови С++
Вид работы: контрольная работа
Рубрика: Информатика и программирование
Размер файла: 47.39 Kb
Скачать файл: referat.me-139535.docx
Краткое описание работы: Базові типи змінних. Елементарний ввід-вивід. Умовні оператори та оператори множинного вибору. Основні функції вводу даних із клавіатури scanf, gets, getchar. Визначення основних (базових) типів даних. Вивід повідомлення при невірно заданому ключі.
Оператори й основні типи даних мови С++
КОНТРОЛЬНА РОБОТА
«Базові мови програмування»
Зміст
Завдання 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 (+):%*.20ldn",0,i1);
printf("Vache chislo (-):%*.20ldn",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.7Lfn",ld1);
printf("Vache chislo (-):%15.7Lfn",ld2); getch();
}
Результати работи програми.

Мал. 1. Результат работи програми А1
б) введіть перший символ Вашого призвіща з клавіатури та визначте код цього символу у кодовій таблиці ASCII в десятковому, 8-ому та 16-ому кодах.
Програма Б1.
#include <stdio.h>
#include <conio.h>
void main( )
{char ch; // оголошення змінної типу char
printf("Vvedite simvol i najmite Entern");
scanf("%c", &ch);
printf("Kod simvola %c v ASCII (10):%dn", ch, ch); // вивід у 10-й с/с
printf("Kod simvola %c v ASCII (8):%on", ch, ch); // вивід у 8-й с/с
printf("Kod simvola %c v ASCII 16):%xn", 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.3lfn",x);
y = (asin(x)+(x*x)); // розрахунок функції y(x)
printf("Znachenie y(x) = %Lfn",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.5fn",y);
}
if (x>(pi/4)) {
y = -x; // розрахунок функціі у
cout << endl << "Znachenie x: x > pi/4"<< endl;
printf("Znachenie y = %4.5fn",y);
}
else {
y = tanl(x); // розрахунок функціі у
cout << endl << "Znachenie x: -pi/4 <= x <= pi/4"<< endl;
printf("Znachenie y = %4.5fn",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.
Похожие работы
-
Проектування ітераційних алгоритмів
Використання ітерацій для обчислення приблизних значень величин. Розробка ітераційних алгоритмів з перевіркою правильності введення даних. Побудова блок-схеми і програмування мовою Turbo Pascal обчислення значення функції, розкладеної в степеневий ряд.
-
Графічна бібліотека OpenGl
Програма створення графіки OpenGl. Алгоритми зафарбовування від внутрішньої точки до границь довільного контуру. Алгоритм обчислення координати точки кривої Без'є за заданними параметрами. Створення програм OpenGL мовою С, C++ у середовищі Windows.
-
Технологія складу програм. Базові засоби мови C++
Мова C++ є як одна з найпоширеніших сучасних мов програмування. Базові засоби мови С++, її специфічні риси. Технологія складу програм, специфіка організації процесу програмування. Модульне програмування. Особливості об’єктно-орієнтованого програмування.
-
Середовище програмування Borland Delphi
Середовище розробки програм Borland Delphi, робота компонентів. Створення нових компонентів та використання компонентів Delphi для роботи з базами даних. Системи керування базами даних InterBase та Firebird. Компоненти Delphi для роботи з СКБД FireBird.
-
Складання сценаріїв в операційній системі LINUX
Знайомство із текстовою операційною оболонкою bash, вивчення мови програмування оболонки bash та практичне складання найпростіших сценаріїв за допомогою редактора vi (vim). Створення файла сценарію. Змінні середовища, оператор-перемикач та оператор циклу.
-
Мова програмування С++
Характеристика методів та етапів створення простих програм на мові програмування С++. Особливості структури та порядку запуску програми. Функції вводу і виводу та маніпулятори мови С++. Робота з одновимірними масивами. Символьна інформація та рядки.
-
VHDL - мова опису апаратних засобів комп'ютера
Загальні відомості про мову VHDL, яка використовуються для проектування цифрових електронних систем та створення програмного продукту, її елементи. Способи структуризації програми, принципи об’єктно-орієнтованого програмування, засоби налагоджування.
-
Форматування даних в програмах C++
Правила відтворення даних при введенні. Введення-виведення даних та їх формування. Буферизований вихідний потік для повідомлення про помилки. Управління форматами за допомогою компонентних функцій класу ios. Визначення користувальницьких маніпуляторів.
-
Загальні системи комп’ютерної графіки
Класифікація систем комп’ютерної графіки, її різновиди та сфери використання. Міні-комп’ютери як зменшена версія магістральних. Загальна структура і функції комп’ютерної графіки. Растрова графіка, класифікація, призначення і функції її прикладних систем.
-
Використання інтерфейсу Centronics для керування зовнішніми пристроями
Порядок обміну даними через порт принтера (інтерфейсу Centronics). Розряди паралельного порту. Особливості протоколів та типів паралельного порту. Фізичні характеристики передавачів і приймачів сигналів. Проектування апаратури для спряження з Centronics.