Название: Оператори й основні типи даних мови С++
Вид работы: контрольная работа
Рубрика: Информатика и программирование
Размер файла: 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.