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

2016-07-29СтудИзба

Описание файла

Документ из архива "Оператори й основні типи даних мови С++", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47823"

Текст из документа "47823"

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

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

Зміст

Завдання 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 << "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

#include

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) при заданому значенні х, використовуючи стандартні функції. Для цього включить в текст програми заголовний файл .

№вар.

y (x)

х

3

у=arcsin(x)+x2

х=0.412

Програма В1.

#include

#include

#include

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

#include

#include

#include

#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 < 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

#include

#include

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

#include

#include

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

#include

#include

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.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее