АЛМАТИНСКИЙ ИНСТИТУТ ЭНЕРГЕТИКИ И СВЯЗИ

 

 

Кафедра электроники и компьютерных технологий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ ПРОГРАММ

 

Программа, методические указания и контрольные задания

(для студентов заочной формы обучения специальности

350140 – Электронные системы и технологии)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Алматы 2005

 


СОСТАВИТЕЛЬ: Т.С. Бимагамбетов. Инструментальные средства разработки программ.  Программа, методические указания и контрольные задания (для студентов заочной формы обучения специальностей 350140 – Электронные системы и технологии, 050719 – Радиотехника, электроника и телекоммуникации (бакалавриат), 050704 – Вычислительная техника и программное обеспечение (бакалавриат)).   – Алматы: АИЭС, 2005. – 48 с.

 

 

 

 

 

 

          В работе представлены программа, методические указания, контрольные вопросы, задания для контрольных работ и список рекомендуемой литературы по курсу: «Инструментальные средства разработки программ». Приведены примеры построения алгоритмов и листинги программ решения задач.

         

 

 

 

          Рецензент: ст.преподаватель Г. Т. Мусатаева

 

 

 

 

 

 

 

 

 

 

 

          Печатается по плану издания Алматинского института энергетики и связи на 2005 г.

 

 

 

 

 

 

                             ©  Алматинский институт энергетики и связи, 2005 г.


Введение

 

В непрекращающемся процессе роста и усложнения программ стали постоянно выявляться недостатки процедурного языка (Бейсик, Паскаль, Си и другие сходные с ними языки ) программирования. Существуют два основные недостатоки процедурного языка. Первый заключается в неограниченности доступа функций к глобальным данным. Второй состоит в том, что разделение данных и функции, являющееся основой процедурного подхода, плохо отражает картину реального мира. В результате были выработаны новые концепции программирования: объектно-ориентированное программирование (ООП) и средства разработки программного обеспечения, которые являются мощным инструментом, позволяющим сделать процесс программирования более легким и эффективным.

В данном методическом указании рассматриваются все основные возможности языка С++ и их применения при разработке объектно-ориентированных программ.

Методическое указание  состоит из трех частей: рабочая программа, методические указания  к изучению курса и задания для  контрольных работ. Каждая контрольная работа состоит из пяти заданий.

Целью методического указания  является обучение студентов теории метода, построению алгоритма и программированию при решение инженерных задач на языке С++, а также использованию методики работы при разработке программ. Основным и рекомендуемым методом приобретения знаний при заочной форме обучения является самостоятельная работа по выполнению контрольных заданий с использованием рекомендованной литературы. В работе изложены основные принципы, средства и механизмы языка С++ , необходимые для выполнения контрольных работ.

В процессе выполнения лабораторных и контрольных работ используются материалы из разделов высшей математики и электротехники:

- вещественные числа и числовые множества;

- матрицы и их свойства;

- числовые ряды;

- теория линейных электрических цепей.

Для изучения материала студенту достаточно, если он владеет основами информатики и навыками программирования на любом алгоритмическом языке.

Общее количество часов необходимое для освоения курса составляет

83 часа. Самостоятельной работе - 63, а аудиторной – 20. Аудиторные занятия распределены следующим образом:

          - лекция                                -         4 часа

          - лабораторные занятия      -       16 часа.

 


1 Рабочая программа

 

1.1   Цель и задачи дисциплины

Целью преподавания дисциплины является обучение студентов теории метода, построению алгоритмов и программированию  решений инженерных задач на языке С++, а также методике  разработки программ.

Основными задачами дисциплины являются:

-         освоение студентами основных понятий и возможностей С++;

-                     ознакомление идеями объектно – ориентированного программирования (ООП);

-                      обучение студентов построению алгоритмов и программированию  решений технических задач.

 

1.2   Содержание дисциплины

1.2.1 Основные понятия и операторы языка С++. Операции присваивания и сравнения. Арифметические, логические, битовые, условные операции. Порядок вычисления выражений. Операторы выражения. Операторы управления: условные операторы, операторы цикла, возврата, перехода.

1.2.2 Функции. Определение и вызов функций. Передача аргументов в функцию.  Перегруженные функции. Рекурсия.

1.2.3 Производные типы данных. Массивы. Структуры .Объединения.  Указатели. Строки .

1.2.4 Объекты и классы. Наследование. Объекты и классы. Понятие класса. Определение полей и методов класса. Класс как тип данных. Наследование. Базовый и производный класс. Множественное наследование.

         1.2.6  Работа с файлами. Файлы и потоки. Потоковый ввод – вывод файлов. Тип файлов.

1.2.7 Общие сведения о графических возможностях. Обзор команд по функциональным группам. Координатная система,  

шрифты, отображение текста, рисунки и заполнение. 

 

1.3 Установочные лекции (4 часа)

         1.3.1 Основы программирования на языке С++. Построение и составление  программ линейной и разветвляющейся структуры. Операторы.   

Функции (2 часа).

1.3.2 Объектно – ориентированное программирование. Объекты и классы. Класс как тип данных. Наследование и графика. (2 часа).

 

1.4  Лабораторные занятия (16 часов)

1.4.1 Линейная и разветвляющаяся структуры. Циклы. Массивы (4 часа).

 

 

1.4.2 Функция. Структуры. Объекты и классы. Наследование (4 часа).

1.4.3 Исследование линейных двухполюсных электрических цепей (4 часа).

1.4.4 Определение напряжений и токов в цепи с использованием метода наложения и составление программы для их расчета  (4 часа).

       

2 Методические указания к изучению курса

          В соответствии с учебном планом курса «Инструментальные средства разработки программ» студент обязан выполнить контрольную работу, ответить на контрольные вопросы, выполнить лабораторный практикум.

          Основной формой изучения курса является самостоятельное изучение рекомендованной литературы. Очные виды занятий являются дополнительной формой в помощь самостоятельной работе студентов по изучению курса.

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

          В приведенных ниже методических указаниях даются ссылки на основную литературу / 1-5 /. Для более углубленного изучения курса следует пользоваться дополнительной литературой.

 

2.1 Основные понятия и операторы языка С++

 

/1, с. 31-36, 45-52 /

Рассматривается формирование и вычисление выражений в языке С++. Все операции языка. Описываются все операторы управления, даются примеры их использования. При составлении арифметических выражений необходимо знать приоритет операции и структуру программы на языке С++.

При выполнении программы операторы выполняются один за другим, если только оператор не является оператором управления, который может изменить последовательное выполнение программы. Различают операторы объявления имен, операторы управления и операторы выражения. Обратить внимание, что является общими для всех операторов цикла и какие обязательные компоненты они должны содержать.

 

Вопросы для самоконтроля

2.1.1 Выражения. Операция присваивания и сравнения.

2.1.2 Арифметические, логические, битовые, условные операции.

2.1.3 Что такое оператор? Оператор  выражения.

2.1.4 Операторы управления: условные операторы, операторы цикла,

возврата, перехода.

2.1.5 Модификации операторов.

 

 

2.2 Функции. Определение и вызов функций. Передача аргументов в

функцию. Перегруженные функции. Рекурсия.

 

/ 1, с. 59-64; 2, с. 186-193  /

При программировании часто возникает необходимость повторять одну и ту же последовательность операторов в различных частях программы при разных параметрах, многократно переписывая их. Для реализации таких действий и сокращения объема программы удобно использовать подпрограммы: функции. При решении задач с использованием подпрограмм необходимо сначала определить, что будет вычисляться многократно и сколько при одном вычислении будет результатов. Функция содержит заголовок, описательную часть, исполнительную часть.

Формальные параметры функции являются входными данными, выходным параметром является имя функции, поэтому в заголовке необходимо указать ее тип.

Как работает перегруженная функция, от чего зависит ее различные действия, приводится в / 2 /.

Существование функций делает возможным использование такого средства программирования, как рекурсия. Рекурсия позволяет функции вызывать саму себя на выполнение. Чтобы понять рекурсию, полезно сравнить вычисления факториала целого числа способом итерации и способом рекурсии. В каких случаях эффективно использовать рекурсию?

 

Вопросы для самоконтроля

2.2.1 Функция, правила их записи, вызова и передачи параметров.

2.2.2 Оператор return.

2.2.3 В каких случаях аргументы функции удобно использовать по  

умолчанию?

2.2.4 Приведите пример перегруженной функции.

2.2.5 Рекурсия функции.

 

2.3 Производные типы данных. Массивы. Структуры.

      Объединения. Указатели. Строки.

 

          /1, с. 97-100; 3, с. 237- 250 /

          В языках программирования объекты  группируются. Массивы и структуры объединяют некоторое количество переменных в большой блок.  В структуре группируются переменные разных типов, а в массиве группируются однотипные данные. К элементам структуры можно получить доступ по имени, а к элементам массива – по индексу. Необходимо знать организацию ввода  и вывода, обработку массивов и структур, отличие структуры от класса. Особым видом структур данных является объединение. Определение объединения напоминает определение структуры, только

 

вместо ключевого слова struct используется union. Как располагаются атрибуты объединения? Когда и для каких целей необходимо применять объединения?

          Указатели. Различают указатели-переменные и указатели-константы. Значениями указателей служат адреса участка памяти, выделенные для объектов конкретных типов. Для чего нужны указатели? Как через указатели получить доступ к регистрам машин?

          Строки. В С++ используются два вида строк: строка как массив символов char и строка как объект класса string. Массивы строк рассмотрены в / 2, с. 291/. Для записи строковых констант в программе используются литералы. Обратить внимание, какими способами определить объекты класса string и знать действия со строками (удалять, копировать,  и др. ).

 

          Вопросы для самоконтроля

2.3.1 Характеристики массива. Что указывают индексы одномерного и 

двумерного массивов?

2.3.2 Какие операторы используются для обработки массивов? Главный и побочный диагонали.

2.3.3  Поля структуры и доступ к ним. Отличие структуры от класса.  

2.3.4 Какие операции используются для получения адреса переменных?

Доступ к переменным через указатели.

2.3.6 Массив строк. Доступ к символам в объектах класса string.

 

2.4 Объекты и классы. Наследование.

 

/2, с. 217-222, 362-380; 3, 336-349/

Когда вы подходите к решению задачи с помощью ООП метода, то вместо проблемы разбиения задачи на функции вы сталкиваетесь с проблемой разбиения ее на объекты. Мышления в терминах объектов оказываются гораздо более простыми и наглядными, чем в терминах функций, поскольку программные объекты схожи с объектами реального мира. Примером объектов могут быть схемы элементов при моделировании цепи электрического тока, автомобили при моделировании уличного движения и др. Объект является экземпляром класса. Класс объединяет или содержит структурные данные и функцию.

При изучении класса обратить внимание на сокрытие зачем скрывать данных. Почему мы называем класс как типы данных? Конструкторы и деструкторы.

 Наиболее значимым понятием после классов ООП является наследование. Это процесс создания новых классов, называемых наследниками или производными классами из уже существующих или базовых классов. Производный класс получает все возможности базового класса, но может также быть усовершенствован за счет добавления

 

собственных. Для доступа из производного класса к компонентам базового класса необходимо знать операцию доступа, указывающую область видимости. Иерархия классов. В конкретных задачах надо знать, что

наследует (конструкторы, методы и др.). Начертить схему множественным наследованием / см. 1, с. 136/.

         

           Вопросы для самоконтроля

2.4.1 Базовый и производный класс. Доступ к базовому классу.

2.4.2 Методы класса. Конструкторы производного класса.

2.4.3 Класс как тип данных.

2.4.4 Что такое наследование и его свойства? Уровни наследования. 

Множественное наследование.

 

         2.5 Работа с файлами. Файлы и потоки. Потоковый ввод – вывод  

файлов. Тип файлов.

 

         / 2, с. 535-555; 3, с. 431-438 /

          Информация во внешней памяти ( на диске, на магнитных лентах и т.п.) сохраняется в виде файлов – именованных объектов, доступ к которым обеспечивает операционная система. Обеспечение операционной системы состоит в том, что в ней имеются средства:

- создания файлов;

- уничтожения файлов;

- поиска файлов на внешнем носителе информации;

- чтения и записи данных из файлов  в файлы;

- открытия файлов;

- закрытия файлов.

     Механизм для ввода-вывода в С++ называется потоком, который представляет собой объект некоторого класса. Необходимо знать, какие классы реализует ввод и вывод потока.  Библиотека потоков ввода-вывода определяет три глобальных объекта: cout, cin и cerr. сout и cin, которые вам знакомы (cerr – стандартный поток сообщений об ошибках). Существует два типа файлов: текстовый и двоичный. Какое отличие этих файлов? Почему текстовый файловый ввод – вывод чисел целесообразно использовать при их небольшой величине и малом количестве? Каким объектом осуществляется текстовая запись?

         Двоичный ввод-вывод данных. Какие функции при этом используются?

Битовый режим. Использование битового режима в работе с файлом.

 

           Вопросы для самоконтроля

2.5.1 Какие процедуры существуют при рассмотрении взаимосвязи файлов с потоками ввода-вывода?

2.5.2 Назовите классы для ввода-вывода данных.

 

2.5.3 Текстовый и двоичный ввод-вывод данных. Какие функции при этом используются?

2.5.4 Назовите функции при работе в битовом режиме. 

          2.6 Общие сведения о графических возможностях.

 

         / 3, с. 509 -518; 4, с. 54-62 /

         Приступая к работе в графическом режиме, необходимо знать: в графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из 16-ти цветов. Для того чтобы программа могла выводить на экран графические примитивы (линии, окружность, прямоугольники), необходимо инициализировать графический режим. Для работы с графической библиотекой включить в программу заголовочной файл graphics.h. Функция для управления графической системой дана в / 3, с.509 /. Как выглядит шаблон графической программы, написано в /3, с. 55/.

 

          Вопросы для самоконтроля

2.6.1 Какие типы видеоадаптеров знаете?

2.6.2 Напишите шаблоны графического режима.

2.6.3 Как возрастают координаты точек? Какие координаты имеет левая     верхняя и правая нижняя?

2.6.4 Напишите оператор, инициализирующий графический режим.

2.6.5 Вывод текстов в графическом режиме.

2.6.6 Обработка ошибок графического режима.

 

3 Задание для контрольной работы

          Правила выполнения и оформления контрольной работы

           

Предпоследняя цифра номера зач. книжки

Последняя цифра номера зач. книжки

 

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

10

1

11

12

13

14

15

16

17

18

19

20

2

21

22

23

24

25

1

2

3

4

5

3

15

14

13

12

11

10

9

8

7

6

4

16

17

18

19

20

21

22

23

24

25

5

10

9

8

7

6

5

4

3

2

1

6

11

25

24

23

22

21

20

19

18

17

7

12

8

9

10

11

12

13

14

15

16

8

13

7

6

5

4

3

2

1

25

24

9

14

15

16

17

18

19

20

21

22

23

 

3.1 Номер варианта контрольных работ определяется  двумя

последними цифрами номера зачетной книжки (см. таблицу 1). Например,

номер зачетной книжки 890354. Следовательно, 6- вариант.

          3.2 При выполнении заданий описать алгоритмы решения задачи на языке блок-схемы, составить программу.

          3.3 Необходимо указать литературные источники, которые были использованы при подготовке к контрольной работе.

 

          3.4 Контрольная работа №1

           

3.4.1 Задание 1. Программирование алгоритмов линейной,  

разветвленной, циклической структур. Составить блок - схемы и программы     вычисления значения заданных функций.

 

          Программирование алгоритмов линейной структуры.

1.                 2.  

3.                          4. 

5.           6. 

7.                   8. 

9.                       10. 

11.                    12.

13.                      14.

15.                      16.

17.                       18.  

19.                        20.

19.                        20.

21.                    22.

23.                      24.

25.

 

          Программирование алгоритмов разветвленной структуры.

 

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.

 

          Программирование алгоритмов циклической структуры.

          Вычислить значение выражения при заданных n и x.

Решить задачу с использованием оператора for ;

 

1.                  2.          3.

4.                                 5. 

6.        7.         8.

9.

 

          Решить задачу с использованием оператора while ;

 

10.                  11.          12.

13.                                   14. 

 

15.        16.        17.

         

          Решить задачу с использованием оператора do ;       

18.                  19.          20.

21.                                   22. 

23.      24.           25.

 

3.4.2 Задание 2. Двумерные массивы

 

Двумерные массивы.

1.     Дана матрица А(5,5). Все элементы ниже главной диагонали обнулить,  

выше – заменить на  «3».

2.     Найти сумму положительных элементов матрицы А(3,5).

3.     В матрице А(3,3) найти количество нулевых элементов.

4.     В матрице А(3,5) найти произведение положительных элементов.

5.     В матрице А(4,3) необходимо определить количество элементов, больших единицы.

6.     Найти произведение элементов главной диагонали матрицы А(5,5).

7.     Найти количество отрицательных  элементов матрицы А(4,4).

8.     Переписать элементы главной диагонали матрицы В(5,5) в одномерной массив С(5).

9.     Найти количество положительных элементов, расположенных под главной диагональю матрицы А(5,5).

10. Найти сумму отрицательных элементов матрицы А(3,3).

11. Дан массив А(5,5). Найти минимальный элемент среди элементов, расположенных в нечетных строках массива.

12. Дан массив А(5,5). Построить массив В(5) по следующему правилу: В(J) присвоить максимальный элемент J – столбца массива А.

13. Дан массив А(5,5). Найти произведение и количество четных положительных элементов побочной диагонали соответствующих строк.

14. Дан массив А(7,7). Найти максимальный элемент среди элементов, расположенных выше побочной диагонали.

15. Дан массив А(7,7). Найти максимальный элемент среди элементов, расположенных ниже побочной диагонали. Поменять местами элементы строки и столбца, на пересечении которых находится максимальный элемент.

16. Дан массив А(5,5). Упорядочить элементы массива построчно.

17. Дан массив А(6,6). Найти максимум среди элементов повторившихся более одного раза.

18. Дан массив А(8,8). Найти максимальный элемент среди элементов строк.

19. Дана массив А(7,7). Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей.

20. Дан массив А(8,8). Найти минимальный элемент среди элементов строк. .

21. Найти количество нулевых элементов матрицы А(4,4), расположенных над главной диагональю.

22. Найти среднее арифметическое отрицательных элементов матрицы А(4,4).

23. Дан массив А(4,3). Переписать все ее элементы в вектор В.

24. В матрице А(3,3) найти количество нулевых элементов.

25. Дан массив А(5,5). Заменить нулями все ее элементы, расположенные на главной диагонали.

 

 

 

3.4.3 Задание 3. Подпрограмма - функция.

1.     Даны действительные числа s,t , вычислить где

.

2.     Даны действительные числа s,t , вычислить где

.

3.     Даны действительные числа s,t , вычислить где

.

4.     Даны действительные числа s,t , вычислить где

.

5.     Даны натуральные числа x1 , y1 , x2 , y2 , ….., x7, y7 . Найти периметры семиугольника, вершины которого имеют соответственно координаты

(x1, y1) , (x2, y2) ,….., (x7, y7).

6.     Дан треугольник с известными длинами а, в, с его сторон, причем а, в, с имеют целые значения. Вычислить периметр и площадь треугольника по формуле Герона.

7.     Следом квадратной матрицы называется сумма элементов, расположенных на главной диагонали. Даны квадратная матрица порядка m,  натуральное число n. Вычислить следы матриц А, А2,…..Аn.

8.     Даны массивы А(5,5), В(5,5), С(5,5). Вывести на печать массив с максимальной суммой положительных четных элементов расположенных в нечетных столбцах массива.

9.     Что называется параметром, и каково его назначение? Формальные, фактические параметры, их взаимосвязь.

10.  Составить программу для вычисления функции (использовать рекурсию)

 

В функции вычисляется

11. Для подсчета факториала числа сначала используйте цикл , а затем вместо цикла используете рекурсию. Объясните как работает в случае рекурсии функция.

12.  Вычислите n- е по счету число Фибоначчи. Числа Фибоначчи составляют последовательность, очередной элемент которой вычисляется по двум предыдущим значениям: fn=fn-1+fn-2. Нулевое и первое значения равны единице (использовать рекурсию).

 

 

13.  Перевести арабские числа в римские (использовать рекурсию).

14.  Вычислить значение функции  

15. Вычислить значение функции     

 

16.  Вычислить значение функции     

17. Вычислить  

18.   Вычислить средние арифметические элементов, расположенных ниже   

 главной диагонали, для матриц А(4,4) и С(5,5).

19.   Вычислить значения функции ,

 .

20.   Вычислить значения функции  

  Массивы С(10), D(15) и число х заданы.

21.   Перегруженные функции и ее свойства.

22.   Вывести на экран два различных вида линии: «+++», «---» (использовать   

свойства перегруженных функции).

23.  Дан треугольник с известными длинами а, в, с его сторон, причем а, в, с  

имеют целые значения. Вычислить периметр и площадь треугольника по  

формуле Герона (использовать перегруженную функцию).

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

25. Даны действительные числа s,t , вычислить где

  (использовать перегруженную функцию).

 

3.4.4 Задание 4. Структуры и строки.

Структуры.

1.     Определение структуры. Что называется полем структуры? Доступ к полям.

2.     Инициализация полей структуры. Присваивание структурных переменных. Приведите пример.

3.     Как вы понимаете вложенные структуры? Доступ к полям вложенных структур. Приведите пример.

4.     Сравните структуру с массивом, укажите отличие. Приведите пример.

5.     Структуры и объединения.

6.     Опишите структуру, содержащую три переменных типа с названиями hrs, mins и sum. Назовите структуру именем time.

7.     Напишите оператор, присваивающий полю hrs структурной переменной time значение, равное 11.

8.     Сколько байтов памяти займут три структурные переменные типа time, если структура time содержит три поля типа int.

9.     Расположение точки на плоскости задается с помощью двух координат: x и y. Введите координаты двух точек, затем получите суммы соответствующих координат точек и выведите результаты на экран.

10.  Номер телефона, например (212) 767-890078, можно условно разделить на  три части: код города (212), номер телефонной станции (767) и номер абонента (890078). Напишите программу с использованием структуры, позволяющую раздельно хранить эти три  части телефонного номера.

11.  Даны сведения о студентах группы: ФИО студента, дата и место рождения   студента. Вывести список группы по убыванию года рождения студента.

12. Даны сведения о результатах аттестации: ФИО студента, название пяти предметов и баллы, полученные по каждому предмету. Вывести фамилии студентов аттестованных по всем предметам.

13. Даны сведения о результатах аттестации: ФИО студента, название пяти предметов и баллы, полученные по каждому предмету. Вывести фамилии студентов не аттестованных по всем предметам.

14. Даны сведения о результатах сессии: ФИО студента, название пяти предметов и баллы, полученные по каждому предмету. Вывести список группы по убыванию общего балла.

15. Даны сведения о результатах сессии: ФИО студента, название пяти предметов и баллы, полученные по каждому предмету. Вывести список группы по возрастанию общего балла.

16. Даны сведения об эксперте товаров: название страны импортирующей товар наименование товаров и объем поставляемой партии в штуках. Найти страны в которых экспортируется данный товар и общий объем его

экспорта

17. Даны сведения об экспорте товаров: название страны импортирующей 

товар, наименования товара и объем поставляемой партии в штуках. 

Вывести сведения об экспорте товаров по убыванию объема экспорта

определенного товара.

18. Даны сведения об экспорте товаров: название страны импортирующей 

товар наименования товара и объем поставляемой партии в штуках. 

Вывести сведения об экспорте товаров по возрастанию объема экспорта

определенного товара.

19. Даны сведения об экспорте товаров: название страны импортирующей 

товар наименование товаров и объем поставляемой партии в штуках. 

Вывести сведения об экспорте товаров в определенные страны.

20. Даны сведения об автомобиле: ФИО владельца, марка и номер автомобиля. Найти количество автомобилей каждой модели.

21. Даны сведения об автомобиле: ФИО владельца, марка и стоимость  автомобиля. Требуется вывести сведения об автомобилях по возрастанию стоимости.

22. Даны сведения об автомобиле: ФИО владельца, марка и стоимость  автомобиля. Требуется вывести сведения об автомобилях по убыванию стоимости.

23. Даны сведения о книгах: ФИО автора, название книги и год издания. Требуется вывести сведения о книгах с названием «Программирование» по возрастанию года издания.

24. Даны сведения о книгах: ФИО автора, название книги и год издания. Требуется вывести сведения о книгах с названием «Программирование» по убыванию года издания.

25. Даны сведения о сотрудниках фирмы: ФИО сотрудника, год рождения, номер телефона. Вывести сведения о сотрудниках возраст которых не превышает средний возраст сотрудников.

 

    Строки.

1.     Дана строка символов. Вывести самое длинное слово в обратном порядке.

2.     В некотором тексте – в строке s1 надо заменить подстроку «белый орел» подстрокой «белый лебедь».

3.     Строка s1содержит фамилию, имя, отчество, а надо получить фамилию с инициалами.

4.     В строке s1заменить символ “+” на “-”.

5.     Напишите объявление класса которое содержит две переменные: строку breed (в виде массива) и переменную age типа double (методов класс не имеет).

6.     Что такое литерал. Как с помощью литералов инициализировать

массивы.

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

8.     Строковые потоки. Входные строковые потоки.

9.     Строковые потоки. Выходные строковые потоки.

10. Стандартный класс  string языка С++.

11. Сравнение объектов класса string.

12. Приведите пример где используются методы erase(), replase () и insert().

13. Определение объектов класса string и присваивание им значений.

14. Укажите виды строк, чем они отличаются. Строковые константы и переменные.

15. Как избежать переполнения буфера, какие методы используются?

16. Напишите основные функции действия над строками и символами.

17. Напишите строки как члены классов (пример).

18. Укажите методы класса string.

19. Напишите выражение, которое использует библиотечную функцию для копирования строки name в строку blank.

20. Напишите объявление класса которое содержит две переменные: строку breed (в виде массива) и переменную age типа int (методов класс не имеет).

21. Напишите выражение, которое осуществляет поиск строки «кот» в строке s1.

22. Напишите выражение, которое вставляет строку «кот» в строку s1 на позицию 12.

23. Дана строка символов. Определить количество слов, начинающихся с        буквы “а”.

24. Дана строка символов. Вывести на экран самое длинное слово.

25. Дана строка символов. Преобразовать строку , заменив в ней каждую точку тремя точками.

 

    3.4.5 Задание 5. Объекты и классы. Наследование.

1.     Определение объектов. Объекты и класс. Приведите пример в качестве объектов.

2.     Объекты в качестве аргументов функций. Объекты, возвращаемые функцией. Приведите пример.

3.     Определение класса. Данные и методы класса.

4.     Вызов методов класса. Класс как тип данных.

5.     Конструкторы и деструкторы. Доступность компонентов класса.

6.     Скрытые и общедоступные классы. Смысл сокрытия данных. Ключевые слова: private, protected и public.

7.     Наследование. Базовый и производный классы.

8.     Иерархия классов. Иерархия классов при множественном наследование. Приведите пример иерархии классов.

9.     Множественное наследование. Синтаксис описания множественного

наследования. Виртуальное наследование.

10. Напишите программу, в которой будут созданы три объекта класса int, два из которых будут инициализированы. Сложите два инициализированных

объекта, присвойте результат третьему.

11. Представьте пункт для взимания платежей за проезд по автостраде. Каждая проезжающая машина должна платить за проезд 50 тенге, однако часть машин платит за проезд, а часть проезжает бесплатно. Составить программу учитывающую число проехавших машин и суммарную выручку от платы за проезд.

12. Фабрика выпускает несколько типов изделия, поэтому для информации необходимы номер модели изделия, номер детали и ее стоимость. Вывести сведения об изделии.

13. Даны сведения о книгах: ФИО автора, название книги и год издания. Требуется вывести сведения о книгах .

14. Даны сведения о книгах: ФИО автора, название книги и год издания. Требуется вывести сведения о книгах с названием «Программирование» по убыванию года издания.

15. Даны сведения о книгах: ФИО автора, название книги и год издания. Требуется вывести сведения о книгах с названием «Программирование» по возрастанию года издания.

16. Даны сведения об экспорте товаров: наименование товара и объем поставляемой партии в штуках.  Найти общий объем  экспорта.

17. Даны сведения о студентах группы: ФИО студента, дата и место рождения   студента. Вывести список группы по убыванию года рождения студента.

18.   Вычислить функцию при заданных n и x      .   

(использовать конструктор).

19.  Вычислить функцию при заданных n и x    .    

(использовать конструктор).

20.  Вычислить функцию при заданных n и x    .   

(использовать конструктор).

21. Даны сведения об импорте и экспорте товаров: наименование товара и объем поставляемой партии в штуках.  Найти общий объем импорта и экспорта товаров. (Использовать конструктор счетчика увеличения и уменьшения. При этом один из них базовый, другой производный (наследник класс ).

22. Подсчитать посетителей банка. При входе посетителя счетчик увеличивает свое значение, при выходе – уменьшает. (Использовать конструктор счетчика увеличения и уменьшения. При этом один из них базовый,  другой производный (наследником) класс ).

23. Класс D является производным трех классов A,B и C. Нарисовать иерархию классов и написать синтаксис множественного наследования.

24. Класс B является производным  класса A, а класс C является   производным класса B, класс G является производным  класса C и D. Нарисовать иерархию классов и написать синтаксис множественного наследования.

25. Даны сведения о студентах группы: ФИО, факультет, группа, дата 

рождения, место рождения. Факультет и группу взять как базовый класс, 

ФИО, дату рождения и место рождения как производный класс. Вывести  

эти сведения на экран.

 

 

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

 

1.                               Фридман А.Л.Язык программирования С++. Курс лекций.

- Москва: Интернет-Университет Информационных Технологий, 2003.

2.                               Лафоре Р. Объектно – ориентированное программирование в С++. 

- Санкт-Петербург: Питер, 2003.

3.                               Подбельский В.В. Язык СИ++. Учебное пособие. –М.: Финансы и статистика, 2001.

4.                               Культин Н. С/С++ в задачах и примерах. – Санкт-Перебург: БХВ-Петербург, 2004.

5.                                 Жунусов З.А., Сакабаев Н.К. Основы программирования. Построение алгороитмов и программирование на языке паскаль. –Алматы: АИЭС, 2002.

6.                                 Прата С. Язык программирования С++. Учебник.

- Санкт-Петербург: Питер, 2004.

 

 

 

Содержание

 

Введение…………………………………….…………………3

1.     Рабочая программа ………………………………………..4

2.     Методическая указания к изучению курса………………5

3.     Задание на контрольную работу……………………….…9

Список литературы……….………………………………….20

 

 

 

 

 

 

 

 

 

 

 


  Сводный план 2002 г., поз_120

 

 

 

 

 

Бимагамбетов Толеугали Сапарович

 

 

 

 

 

ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ ПРОГРАММ

 

Программа, методические указания и контрольные задания ( для студентов

заочной формы обучения специальностей 350140 – Электронные системы и

технологии, 050719 – Радиотехника, электорника и телекомуникации

(бакалавриат), 050704 – Вычислительная техника и программное

обеспечение (бакалавриат)).

 

 

 

            Редактор     Ж.М. Сыздыкова

            

 

 

 

Подписан в печать ____________                     Формат 60х84    12/16

Тираж 50 экз                                                        Бумага типографская №1

Объем 1.3 уч.-изд.л.                                             Заказ _____. Цена 42

 

 

 

 

 

 

 

 

Копировально-множительное бюро

Алматинского института энергетики и связи

480013 Алматы, Байтурсынова 126