Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

З КУРСУ ldquo;ІНФОРМАТИКАrdquo; ХАРКІВ 2011 1

Работа добавлена на сайт samzan.net:


МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ

МЕТОДИЧНІ ВКАЗІВКИ

ДО САМОСТІЙНОЇ РОБОТИ СТУДЕНТІВ  З КУРСУ

 ІНФОРМАТИКА

ХАРКІВ 2011

1. МЕТА І ЗАВДАННЯ ДИСЦИПЛІНИ

  1.  Мета викладання курсу

        Метою викладання дисципліни є формування у студентів знань та практичних навичок по алгоритмізації та програмуванню задач для реалізації  їх на сучасних ПК.

1.2   Програма знань і умінь

За результатом вивчання дисципліни студенти повинні:

ЗНАТИ:  основи алгоритмізації задач, основи організації обчислювального           процесу на ПК, засоби програмування мовою  С++ в системі  VISUAL C++;

ВМІТИ: розробляти алгоритми,  проектувати та відлагоджувати програми мовами С++ в системі  VISUAL C++  .

Розділи курсу, що пропонуються для самостійного вивчення      

1. Перетворення чисел із однієї системи в іншу. 1

2. Бітова арифметика. 2

3. Різноманітності алгоритмів. Засоби розробки алгоритмів. 2

4. Адресна арифметика. 2

5. Структури та об’єднання.  2

6. Механізми взаємодії функцій.  4

7. Керування пам'яттю.  4

8. Черги, списки, стеки. 4

9. Керування розміром області кучі та стека. 4

10. Алгоритми пошуку та сортування. 4

     

Підготовка до лекцій, практичних та лабораторних робіт - 54 год.

 

2/ Самостійна підготовка студентів

2.1 Лабораторні роботи  

зміст. Модул

Теми занять

обсяг, год.

рейт, оцінка.

літер, джер.

1

2

3

4

5

1

Знайомство  з  оболонкою  C++  Рішення  задач  із простими  змінними       Програмування  алгоритмів розгалуження

4

7-13

5.1

5.2 5.3

1

Рішення задач з використанням масивів. Масиви і їх стосунок з покажчиками.

4

7-13

5.1 5.2 5.3

2

Строкові дані. Функції обробки строкових даних.

4

7-13

5.1 5.2 5.3

2

Рішення задач з використанням структур.

4

7-13

5.1

5.2 5.3

2

Функції. Засоби передачі параметрів. Посилання.

4

7-13

5.1 5.2 5.3

Загальна кількість

20

35-65

2/2. Практичні заняття

№ зміст. Модулю

Теми занять

обсяг, год.

рейт, оцінка.

літер, джер.

1

2

3

4

5

1

Типові засоби розробки алгоритмів. Структура простих програм. Операції та вирази в C++, їх пріоритет. Оператори   керування   обчислювальним   процесом Програмування алгоритмів розгалуження

2

0-3

5.1 5.3

1.

Масиви. Покажчики. Адресна арифметика..

2

0-3

5.1 5.3

3.

Загальна кількість

4

0-6


2.3. Самостійна робота студента

№ зміст, мод.

Вид самостійної роботи

обсяг, год

форма СРС

ВИД контр олю

літер, джер.

1,2

Вивчення конспекту лекцій

18

Опрацюван ня лекційного . матеріалу та мет. вказівок

усне опитув ання

5.3

1,2

Підготовка до лабораторних робіт

20

Опрацюван ня лекційного матеріалу та мет. вказівок

усне опитув ання тест

5.1, 5.3

1,2

Підготовка до практичних занять

6

Опрацюван ня лекційного матеріалу та мет. вказівок

Усне опитув ання Тест

5.1, 5.3

1

4

5

Вивчення додаткових тем за літературними джерелами: 1. Перетворення чисел із однієї системи в іншу. Внутрішнє уявлення чисел в ЕОМ. Бітова арифметика. 2. Динамічні змінні. Керування розміру області кучі та стека. 3. Динамічний розподіл пам'яті. Керування пам'яттю. Черги, списки, стеки. 4. Алгоритми пошуку та сортування.

23

1Опрацюван ня додаткових матеріалів та мет. вказівок

Усне опитув ання

5.2

Загальна кількість

67


2.5     Рекомендована  література

         2.5.1 Основна література

  1.  Керниган Б., Ритчи Д. Язык программирования Си: Пер. с англ. —М.: Финансы и статистика, 1992. — 272 с.
  2.  Подбельский В.В.  Язык  Си+:  Учеб. пособие. - М.: БИНОМ, 1995. - 400 с.
  3.  Вирт Н. Алгоритмы и структуры данных. - СПб.:  Невский Диалект, 2001.-352с.

2.5.2 Додаткова література

4. Страуструп Б. Язык программирования Си++. Часть 1,2. — Киев: "ДиаСофт", 1993. —  560 с.

5. Х.М.Дейтел, П.Дж. Дейтел. Как программировать на С++.- М.:ЗАО «Издательство БИНОМ», 2000 г. – 1024 с.

6. Глушаков С.В. и др. Язык программирования С++. - Харьков: Фолио, 2002. - 500с.

7. Ван Тассел Д. Стиль, разработка, отладка и испытание программ.-M.:Мир,1985.

8. Жешке Р. Толковый словарь стандарта языка Си: — С.-Петербург: Питер, 1994. —  221с

9. Холзнер С. Microsoft Visual C++ с самого начала. – СПб. , Питер, 1998.-480с.

 3. Характеристика підручників і навчальних посібників

Найбільш зрозуміло для починаючого програміста основи мови С викладено в книзі  /1/.  Тут приведено багато прикладів поступового освоєння (окремі уроки) по вивченню мови С. Приклади програм дають можливість поглибити свої знання. У книгах  /2,4,6/ приведена докладна  довідкова  інформація  про програмування мовою  С++.

Книга /3/ присвячена викладу фундаментальних принципів побудови ефективних і надійних алгоритмів. Містить опис і аналіз основних алгоритмів пошуку і сортування.

Книга /5/ пропонує повний курс вивчення С++. Містить безліч корисних порад і рекомендацій, включає тематичні питання і завдання для самостійної роботи. Крім основ мови С++, у книзі /6/ описані деякі найважливіші функції мови С. Описана робота зі зв'язними списками, чергами, стеками.

Приклади програм  можна знайти також  у роботах /4,6,8/. В книзі /7/ приведено оригінальні правила, методи та підходи до розробки . Основи програмування в середовищі  Microsoft Visual C++ найкраще приведено в книзі /9/.

        4. Методичні вказівки з вивчення курсу

1. Бритик В.И., Мегель Ю.Е. Программирование на объектно-ориентированном языке С++: Учебное пособие для вузов/ М-во образования Украины.-К.,2001.-425с.

2. Лекцiї  з курсу “Програмування” (електронний варіант).

3. Методичні вказівки до виконання лабораторних робіт з дисципліни “Програмування” для студентів спеціальностей КСМ, СКС, СП. Електронний варіант.  Автори: Руденко Д.О., Долженкова Т.Г., Бєлова Н.В.

  1.  Методичні  вказівки з практичних занять з дисципліни “Програмування” для спец КСМ, ЗІКС, КСД, КСОІУ. Сердюченко В.Я., 1998 р.

5. Методичні  вказівки  з курсового проектування з дисципліни “Програмування” для спеціальностей КСМ, СКС, СП. Електронний варіант.  Автори: Руденко Д.О., Долженкова Т.Г., Бєлова Н.В.

5. Індивідуальні розрахункові завдання, контрольні запитання

5.1  Список запитань до курсу

  1.  Типові засоби розробки алгоритмів.
  2.  Типи даних  в С++ та їх застосування.
  3.  Операції та вирази в С++.
  4.  Пріоритети виконання операцій.  
  5.  Алгоритми розгалуження. Умовні оператори.
  6.  Організація циклів.  
  7.  Масиви в С++.  
  8.  Покажчики. Покажчики та масиви.
  9.  Динамічне виділення пам'яті.
  10.  Структури та об’єднання.
  11.  Функції. Параметри та аргументи функцій.
  12.  Механізми взаємодії функцій.
  13.  Заслання. Передача параметрів за допомогою заслань.
  14.  Масиви і структури як параметри функцій.
  15.  Вбудовані функції.
  16.  Рекурсії та ітерації.
  17.  Перевантаження функцій.
  18.  Шаблони функцій.
  19.  Функція як параметр.
  20.  Строкові дані.
  21.  Алгоритми пошуку.
  22.  Алгоритми сортування.
  23.  Порівняння методів сортування.
  24.  Дані з динамічною структурою.
  25.  Лінійні списки.
  26.  Дерева.
  27.  Препроцесорні директиви.

5.2 Індивідуальні розрахункові завдання.  

Приклади завдань.

 

1. У матриці А(5,5) знайти суми елементів рядків та помістити їх у масив. Відсортувати масив по правилу спадання.

2. У кожному стовпці матриці В(7,7) знайти кількості парних елементів. У отриманому масиві поміняти місцями максимальний та мінімальний елементи.

3. У матриці С(6,6)  серед елементів, які стоять нижче головної діагоналі, підрахувати кількість парних чисел, а серед елементів вище головної діагоналі підрахувати кількість непарних елементів. Знайти максимум серед елементів побічної діагоналі.

4. У  кожному  стовпці матриці D(5,5) знайти кількість елементів, які діляться на 3. Відсортувати по зростанню знайдений масив.

5. У рядках матриці E( 7,7 ) з відємними елементами на головній діагоналі знайти мінімальні елементи, а серед них – максимальний.

6. У матриці F(5,5) в рядкках з від’ємним  елементом в другому стовпці  знайти максимальні елементи , а серед них- мінімальний.

7. В кожному рядку матриці G(4,4) підрахувати кількість елементів більших, ніж задане значення х, та записати їх до масиву. Відсортувати цей масив за правилом спадання.

8. Серед елементів матриці H(5,5), які стоять нижче головної діагоналі, відібрати до масиву елементи, які діляться на 5, та знайти у ньому максимум.

9. Відсортувати елементи головної діагоналі матриці X(6,6) з визначенням номеру рядка з максимальним елементом.

10. У кожному стовпці матриці A(7,7) підрахувати кількість парних елементів та відсортувати отриманий масив.

11. У матриці Z(10,10) номери елементів, що повторюються в кожному стовпці, записати в масив S  і відсортувати його за зростанням.

12. Виділити з тексту слово з найбільшою кількістю голосних звуків.

13. Знайти в тексті найбільше слово, яке складається тільки з цифр.

14. Виділити з тексту слова, які починаються і закінчуються цифрою.

15. Розмістити у реченні слова за зростанням кількості літер у слові.

16. Розмістити у реченні слова за спаданням кількості цифр у слові.

17. До відсортованого за зростанням кількості літер масиву слів речення вставити довільні два слова, не змінюючи встановленого порядку. Сортування  застосовувати не можна.

18. У заданому тексті треба ліквідувати зайві пропуски або добавити деяку кількість пропусків, залишивши між словами задану фіксовану кількість пропусків.

19. Написати функцiю, яка в двох масивах довільного розміру знаходить елементи, які повторюються, і записує їх до третього масиву без повторень.

20. Написати функцiю, яка з  масиву цілих чисел довільного розміру вибирає максимальну за довжиною підпослідовність підряд розташованих квадратів чисел, застосовуючи функцію знаходження квадрата числа.

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

22. Написати функцiю, яка проводить злиття двох різних за розмірами відсортованих за зростанням масивів до третього, зберігаючи співвідношення зростання. Сортування не застосовувати.

23. Написати функцiю, яка до відсортованого за зростанням  кількості літер у словах  текст вставляє довільне слово, не порушуючи встановленого порядку. Сортування не застосовувати.

6. Основні рекомендації з організації самостійної роботи (графік вивчення дисципліни)

Самостійна робота виконується по мірі вивчення основного змісту курсу. Самостійна робота включає: підготовку до лекцій, до практичних та лабораторних робіт, виконання курсової роботи, а також самостійне вивчення матеріалу, наведеного в розділі 2.2. Засвоєння теоретичного та практичного матеріалу,  що вивчений самостійно, перевіряється при виконанні контрольних робіт, індивідуальних завдань, курсової роботи, а також на модульному екзамені. Необхідний теоретичний матеріал можна знайти у літературі, аналіз якої приведено в розділі 3.  

7. Приклади розв’язання типових задач

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

Приклад 1 до виконання індивідуальної роботи. Для заданої матриці  зробити обчислення середнього значення  кожного  її  стовпця  з   використанням функції введення розмірності матриці, функції  введення матриці  і функції одержання середнього значення стовпців.

#include <iostream .h>

const int mincol  = 1;

const int maxcol  = 20;

const int minrow = 2;

const int maxrow = 30;

//Функція  getnum ( )  для введення кількості рядків і стовпців

 int getnum (const char *elemtype ,  int low , int high )

 {    int  n;

           do              {

   cout  << " Введіть кількість  "  <<  elemtype

                     <<  "  N від  [" << low  <<  "] до ["  <<   high  <<  " ] : ";

           cin >> n;

      }

           while (( n<low) ||  (n>high));

          return n;  }

// Функція  inmatr ( )  введення елементів матриці   

 void inmatr ( float matr [ ]  [maxcol], int rows , int cols);

    { for (int i =0; i<rows; i++)

          { cout << "Введіть"<< i <<  "рядок матриці " << endl;

     for ( int j =0; j < cols ; j++)

         cin  >> matr [i][j];     }

         cout  <<  endl;    }

// Функція  srcols ( ) одержання середніх  значень стовпців  

void  srcols ( float  matr [ ] [maxcol] , int  rows , int  cols )

{float sum , sr;

    for ( int j = 0; j < cols; j++ )

      { sum =0.0;

     for ( int i = 0; i < rows; i++)

             sum  +=  matr [i][j];

             sr  =  sum / rows;

cout  <<  "середнє значення стовпця" <<  j << " = " << sr << endl;   }

}

// Головна програма

int main ( )

{  float matr [maxrow] [maxcol];

           int  rows, cols;

// Введення кількості рядків і стовпців

            rows  =  getnum ( "rows", minrow,  maxrow );

   cols = getnum ( "colnums" , mincol , maxcol);

// Введення матриці

    inmatr ( matr, rows , cols);

// Обчислення середнього значення стовбців матриці

    srcols (matr , rows , cols);

    return 0;}

Приклад 2.  Написати функцію, що змінює місця парних та непарних рядків   матриці.  

#include<iostream.h>

#include<conio.h>

const n=10;

void inmatr (int**,int,int);

void outmatr (int**,int,int);

void obmen (int**,int);

void main()

{   int a[n][n],*b[n],i,j,kstrok,kstolbcov;

   char s[]={'A','B','C'};

   for(int k=0;k<3;k++)

   {cout<<"Vvedite kolicestvo strok matrici "<<s[k]<<endl;

   cin>>kstrok;

   cout<<"Vvedite kolicestvo stolbcov matrici "<<s[k]<<endl;

   cin>>kstolbcov;

   cout<<"Vvedite  matricu "<<s[k]<<endl;

   for(i=0;i<kstrok;i++)

   b[i]=&a[i][0];

   inmatr (b,kstrok,kstolbcov);

   obmen(b,n);

   outmatr (b,kstrok,kstolbcov);   }

   getch();}

void inmatr (int**x,int kstrok,int kstolbcov)

{ for (int i=0;i<kstrok;i++)

   for (int j=0;j<kstolbcov;j++)

  cin>>x[i][j]; }

void obmen (int**x,int kstrok)

{ int *p;

for(int i=0;i<kstrok-1;i+=2)

         {p=x[i];

            x[i]=x[i+1];

            x[i+1]=p;}

}

void outmatr (int**x,int kstrok,int kstolbcov)

{  for (int i=0;i<kstrok;i++)

 {  cout<<endl;

  for (int j=0;j<kstolbcov;j++)

   cout<<x[i][j]<<" ";  }

   cout<<endl; }




1. Сестринское дело в терапии и курсе первичной медицинской помощи для комплексного экзамена IV курс V
2. Общество с ограниченной ответственностью как участник торгового оборота в Российской Федерации
3. делового общения Деловое общение~ это такое взаимодействие людей которое подчинено решению определенно
4. варіант конструкції вибирається по передостанній цифрі номера залікової книжки з точністю до 001 В
5. Учет готовой продукции
6. Масленников Игорь Борисович
7. Товарная биржа в системе оптового рынка
8.  народ граф пишу- часть исторической науки изучающая народы этносы их происхождение этногенез состав к
9. Учет и анализ движения денежных средств на предприятии
10. тема сил не лежащих в одной плоскости Для решения задач статики потребуются понятия проекции силы на ось
11. Расчет параметров волновых сопротивлений проводов и их согласование с СВТ
12. Сегодня мы познакомим вас с Управлением уполномоченного Министерства торговли Российской Федерации по Цен
13. Работы Фарадея. Электролиз
14. Тема ~ 4 Система органов и учреждений прокуратуры и ее организационная структура Понятие организа
15. доклад 1. Презентация зарубежной страны По заданию 1 необходимо получить номер варианта
16. 2010 г. Протокол Согласовано Зам.
17. Движение.
18. реферату- Мовний етикетРозділ- Мовознавство Мовний етикет Норми і правила поведінки що їх сповідує націо
19. релігійність є багатогранною і включає цілу низку складових визначаючи ставлення віруючого до навколишньо
20. Г.Попа