АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Варіанти задач

Читайте также:
  1. I СИТУАЦИОННЫЕ ЗАДАЧИ ПО ПРОФИЛЬНЫМ РАЗДЕЛАМ
  2. I. МЕТА І ЗАДАЧІ ВИВЧЕННЯ НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
  3. I. ОСНОВНЫЕ ЦЕЛИ, ЗАДАЧИ И ПРИНЦИПЫ ДЕЯТЕЛЬНОСТИ КПРФ, ПРАВА И ОБЯЗАННОСТИ ПАРТИИ
  4. I. Постановка организационных задач предприятия.
  5. I. Цель и задачи изучения дисциплины
  6. II. Розв’язати задачу № 1, 2 (3, 4).
  7. II. ЦЕЛИ И ЗАДАЧИ
  8. II. Цели и задачи Конкурса
  9. II. Цели и задачи учебно-ознакомительной практики
  10. II. ЦЕЛИ, ЗАДАЧИ И НАПРАВЛЕНИЯ ДЕЯТЕЛЬНОСТИ КЛУБА
  11. II. ЦЕЛИ, ЗАДАЧИ, ПРЕДМЕТ И ВИДЫ ДЕЯТЕЛЬНОСТИ ОРГАНИЗАЦИИ
  12. III. Задачи ОЦП

1. Дано натуральне число () і послідовність дійсних чисел , , …, . Отримати нову послідовність, вилучивши з первинної всі члени зі значеннями, що відрізняються від середнього арифметичного не більш ніж на 10%. Для доступу до елементів масиву скористатися вказівниками.

2. Дано натуральне число () і цілі числа , , …, . Якщо в по­слідовності прості й непрості числа чергуються між собою, то результатом повинна бути сама послідовність. У противному випадку видалити з послі­довності прості числа, розмістивши елементи, що залишаться, в порядку, протилежному початковому. Для доступу до елементів масиву скористатися вказівниками.

3. Дано натуральне число () і послідовність дійсних чисел , , …, . Якщо в результаті заміни від’ємних членів послідовності , , …, їхніми квадратами члени нової послідовності будуть утворювати незрос­тальну послідовність, то одержати добуток членів первинної послі­довності; у противному випадку одержати їхню суму. Для доступу до елементів масиву скористатися вказівниками.

4. Дано натуральне число () і послідовність дійсних чисел , , …, . Розвернути найкоротшу підпослідовність, яка містить тільки додатні числа. Для доступу до елементів масиву скористатися вказівниками.

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

6. Дано натуральне число () і послідовність дійсних чисел , , …, , серед яких обов’язково є як від’ємні, так і невід’ємні. Отримати де , , …, - від’ємні члени послідовності , , …, , розгля­нуті в порядку їх проходження, , , …, - невід’ємні члени, взяті в зворот­ному порядку, Для доступу до елементів масиву скористатися вказівниками.

7. Дано натуральне парне число () і послідовність цілих чисел , , …, . Отримати нову послідовність, вставивши в первинну після кож­ного парного числа його квадрат. Для доступу до елементів масиву скорис­татися вказівниками.

8. Дано натуральне число (). Одержати всі прос­ті числа, що не пере­вищують це значення. Для прискорення обчислень при перевірці поточного числа на його простоту можна використати раніше знайдені прості числа. Для доступу до елементів масиву скористатися вказівниками.

9. Дано натуральне число () і дійсні числа , , …, . Знай­ти номер найменшого додатного числа в заданій послідовності. Якщо в по­слідовності , , …, відсутні додатні числа, результатом повинен бути вказівник зі значенням NULL. Для доступу до елементів масиву скориста­тися вказівниками.

10. Дано натуральне числа () і послідовність цілих чисел , , …, . Поміняти місцями в цій послідовності найбільший і найменший чле­ни. Якщо в послідовності декілька найбільших або найменших елементів, то розглядати останні з таких. Для доступу до елементів масиву скористатися вказівниками.

11. Дано натуральне число () і масив з дійсних чисел. Кожен еле­мент цього масиву замінити середнім арифметичним всіх передуючих йому елементів, включаючи його самого. Для доступу до елементів масиву ско­ристатися вказівниками.

12. Дано натуральне число () і послідовність з дійсних чисел. Ви­вести всі члени послідовності, починаючи з максимального члена і за­кін­чуючи мінімальним, поза залежністю від їх взаємного розташування (завжди першим повинен виводитись максимальний член, а останнім – мі­німальний). Для доступу до елементів масиву скористатися вказівниками.

13. Дано натуральне число () і цілі числа , , …, . З’ясу­вати, чи є серед чисел , , …, співпадаючі. Для доступу до елементів масиву скористатися вказівниками.

14. Дано масив з n цілих чисел, де n – задане натуральне число (). Сформувати новий масив, що містить тільки ті елементи первинного ма­си­ву, які є простими числами. Для доступу до елементів масиву скористатися вказівниками

15. Дано натуральне число () і цілі числа , , …, . З’ясу­вати, чи правда, що для всіх , , …, є рівні серед , , …, . Для досту­пу до елементів масиву скористатися вказівниками.

16. Дано натуральне число () і послідовність відмінних від нуля ці­лих чисел , , …, . Якщо в послідовності числа з різними знаками чер­гуються, вивести початкову послідовність. У противно­му ви­­падку виклю­чити з послідовності всі додатні члени. Для доступу до еле­ментів масиву скористатися вказівниками.

17. Дано натуральне число () і послідовність цілих чи­сел , , …, . Одержати нову послідовність, вилучивши з первинної послідов­но­сті всі члени зі значенням . Для доступу до елементів масиву ско­ристатися вказівниками.

18. Дано натуральне число () і масив з цілих чисел. Знайти най­менше натуральне число, відсутнє в масиві. Для доступу до елементів масиву скористатися вказівниками.

19. Дано натуральне число () і послідовність дійсних чисел , , …, . Залишити без зміни послідовність , , …, , якщо вона впо­­рядко­вана за неубуванням або незростанням; у противному випадку ви­­да­лити з неї ті члени, порядкові номери яких кратні шести, зберігши поря­­док членів, що залишилися. Для доступу до елементів масиву скористатися вказів­ни­ками.

20. Дано натуральне число () і масив дійсних чисел , , …, . Упорядкувати цей масив за неубуванням. Скористатися таким ме­то­дом. Знайти найменший елемент масиву і переставити його місцями з першим еле­ментом, потім серед елементів масиву, починаючи з другого, знайти най­­менший і переставити його з другим і т. д. Для доступу до елементів масиву скорис­татися вказівниками.

21. Дано натуральне число () і цілі числа , , …, . Якщо в по­слі­довності , , …, жодне парне число не розташоване після непар­­ного, то одержати нову послідовність з усіх від’ємних членів вихідної по­слі­довності. У противному випадку в нову послідовність вмістити всі дода­тні числа з послідовності , , …, . В обох ви­пад­ках порядок проход­ження чисел замінити на зворотний. Для доступу до елементів ма­сиву ско­ристатися вказівниками.

22. Дано натуральне число (), ціле число і масив з цілих чи­сел. Чи міститься число у масиві? Відповіддю повинен бути вказівник на знайдений елемент при позитивній відповіді і значення NULL – при нега­тивній. Для доступу до елементів масиву скористатися вказівниками. Для доступу до елементів масиву ско­ристатися вказівниками.

23. Дано натуральне число (), ціле число k і послідовність ці­лих чи­сел , , …, . ціле число k () і послідовність ці­лих чи­сел , , …, . Здійснити циклічний зсув елементів послідов­ності на 1 позицію вправо (при ) або вліво (при ). Для доступу до елементів масиву ско­рис­татися вказів­ни­ками.

24. Дано натуральне число () і дійсні числа , , …, . Пере­­ста­вити члени послідовності , , …, так, щоб спочатку розташу­­валися всі її невід’ємні члени, а потім всі від’ємні. Зберегти початковий порядок, як серед всіх невід’ємних членів, так і се­ред від’ємних. Для доступу до еле­ментів масиву скористатися вказівниками.

25. Дано натуральне число () і послідовність дійсних чисел , , …, . Якщо послідовність не впорядкована ні за зростанням, ні за убуванням, то впорядкувати її так, щоб спочатку йшли за неубуванням всі додатні еле­менти, потім також за неубуванням все від’ємні елементи, а наприкінці – усі нулі. Для доступу до елементів масиву скористатися вказівниками.

5. Контрольні запитання

1. Яка операція використовується для отримання адреси змінної?

2. Що таке вказівник?

3. Поясніть концепцію вказівників у C++. Урахуйте той факт, що об’єкти різ­них типів займають різний обсяг пам’яті.

4. Яка операція дозволяє отримати значення, записане за адресою, що міс­титься у вказівнику?

5. У чому відмінність між адресою, яка зберігається у вказівнику, і значенням, записаним за цією адресою?

6. У чому різниця між операцією розіменування і операцією отримання ад­реси?

7. У чому різниця між такими оголошеннями: const int *ptrOne й int * const ptrTwo?

8. Поясніть сенс таких оголошень змінних:

int * pOne;
int vTwo;
int * pThree = &vTwo;

9. Вказівники pt1 і pt2 мають той самий базовий тип. Що можна сказати стосовно виразу pt1 + pt2?

10. Опишіть особливості операції віднімання для двох вказівників.

11. Як виконуються операція віднімання числа з вказівника?

12. Що є результатом при виконанні підсумовування вказівника і числа?

13. Як виконуються операції ++ і --, застосовані до вказівників?

14. Опишіть особливості вказівника на тип void.

15. Як виконується операція індексування вказівника?

16. Опишіть особливості вказівників, що описуються з модифікатором const.

17. Опишіть особливості імені масиву як вказівника.

18. Нехай у програмі оголошена змінна yourAge типу unsigned int. Як описати вказівник, який дозволить маніпулювати цією змінною?

19. Поясніть, яка помилка може приховуватися в наведеному нижче оголо­шенні змінних:

int * int_ptr1, int_ptr2;

20. За допомогою вказівника здійсніть присвоювання змінній yourAge зна­чення 17.

21. Напишіть невеличку програму і опишіть у ній змінну типу int і вказівник на цей тип. Збережіть адресу цієї змінної у вказівнику. Використовуючи вказівник, здійсніть присвоювання цій змінній деякого значення.

22. Яким буде виведення при виконанні наведеного нижче фрагменту коду?

int *p1, *p2;
*pInt = 7;
cout << "The value at pInt: " << pInt;

23. Маємо таку програму:

#include <iostream>
using namespace std;
int main()
{
int pInt;
*pInt = 7;
cout << "The value at pInt: " << *pInt << '\n';
system("pause");
return 0;
}

Чи є помилки в цій програмі? У разі позитивної від­повіді зробіть пояснення.

24. Маємо таку програму:

#include <iostream>
using namespace std;
int main()
{
int SomeVariable = 9;
cout << "SomeVariable: " << SomeVariable << '\n';
int *pVar = &SomeVariable;
*pVar = 7;
cout << "SomeVariable: " << *pVar << '\n';
system("pause");
return 0;
}

Чи є помилки в цій програмі? У разі позитивної від­повіді зробіть пояснення.

25. У програмі зустрілась така послідовність операторів:

double a[100];
double i;
for (i = 0; i < 100; i++)
a[i] = i;

Чи є помилки в наведеному вище фрагменті програмного коду? У разі позитивної від­повіді зробіть пояснення.

26. У програмі зустрілась така послідовність операторів:

double a[100];
char i;
for (i = 0; i < 100; i++)
a[i] = i;

Чи є помилки в наведеному вище фрагменті програмного коду? Зро­біть пояснення.

27. У програмі зустрілась така послідовність операторів:

double a[100], *pt = a;
pt = -1.221;

Чи є помилки в наведеному вище фрагменті програмного коду? Зро­біть пояснення.

28. У програмі зустрілась така послідовність операторів:

double a[10], *pt;
for (int i = 9; i > 0; i--)
*(pt + i) = i;

Чи є помилки в цьому коді? Зробіть пояснення.

29. У програмі зустрілась така послідовність операторів:

double a[100], *pt = a;
*pt = true;

Чи є помилки в наведеному вище фрагменті програмного коду? Зро­біть пояснення.

30. У програмі зустрілась така послідовність операторів:

bool a[10], *p_a = a, b[10], *p_b = b;

Для переписування вмісту масиву a в масив b використаний такий оператор:

for (int i = 0; i < 10; i++)
for (int j = i; j < i + 1; j++)
*(p_b + i) = *p_a + j;

Чи є помилки в наведених вище фрагментах програмного коду? Зро­біть пояснення.

31. Маємо ті ж визначення, що й у попередньому запитанні. Нижче наведений оператор подвійного циклу. Що можна сказати про нього?

for (int i = 0; i < 10; i++)
for (int j = 0; j <= i; j++)
*(p_b + i) = *(a + j);

Список літератури

1. Страуструп, Б. Язык программирования Си++: Второе издание / Б. Страуструп. – К.: ДиаСофт, 1993. – Ч. 1. – 264 с.; Ч. 2. – 296 с.

2. Керниган, Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М.: Финансы и статистика, 1992. – 272 с.

3. Либерти, Джесс. Освой самостоятельно С++ за 21 день: учеб. пособ. / Джесс Либерти. – М.: Вильямс, 2001. – 816 с.

4. Подбельский, В. В. Программирование на языке Си / В. В. Подбельский, С. С. Фомин. – М.: Финансы и статистика, 1999. – 600 с.

5. Подбельский, В. В. Язык Си++ / В. В. Подбельский. – М.: Финансы и ста­тистика, 1999. – 560 с.

6. Савитч, Уолтер. Язык C++. Курс объектно-ориентиро­ван­ного програм­мирования / Уолтер Савитч. – М.: Вильямс, 2001. – 704 с.


 

 

Навчальне видання

 

Методичні вказівки

до лабораторної роботи
«Використання вказівників у програмах мовою C++»

з курсу «Програмування» для студентів напряму 6.040302 – Інформатика
і курсу «Програмування та алгоритмічні мови» для студентів напряму
6.040303 – Системний аналіз

 

 

Укладачі: БЕЗМЕНОВ Микола Іванович,

БЕЗМЕНОВА Ольга Миколаївна

 

 

Відповідальний за випуск О. С. Куценко

Роботу до видання рекомендував О. В. Горелий

 

 

За авторською редакцією

 

План 2013 р., поз. 11/41–13

 

Підписано до друку __.__.2013 р. Формат 60´84 1/16. Папір офсетний.

Друк – ризографія. Гарнітура Таймс. Ум. друк. арк. _______.

Обл.-вид. арк. 1,0. Тираж 50 прим. Зам. №___. Ціна договірна.

________________________________________________________________________________________________________________________

Видавничий центр НТУ «ХПІ».

Свідоцтво про державну реєстрацію ДК№ 116 від 10.07.2000 р.

61002, Харків, вул. Фрунзе, 21.

________________________________________________________________________________________________________________________

Друкарня НТУ «ХПІ»

61002, Харків, вул. Фрунзе, 21.


1 | 2 | 3 | 4 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.023 сек.)