Смекни!
smekni.com

Информатика Базовый курс (стр. 186 из 188)


628 Глава 20. Основы программирования


20.9. Пример на Си++. Рисование графиков 629

Чуть выше метода OnDraw надо определить функцию f(), не привязанную ни к какому классу. В ней происходит вычисление значения анализируемой математической функции по заданному аргументу. Для примера, она может выглядеть так:

int f(int x)

{ int у; у = 50*log(x); return у;

}

Стандартная функция log() вычисляет значение логарифма. Коэффициент 50 нужен, чтобы кривая пропорционально размещалась в окне. Хотя функция 1од() рассчитывает действительное значение, компилятор автоматически настроит программный код так, чтобы оно было преобразовано в целый тип, соответствующий типу переменной у.

Исходно функция log() и ряд других не подключены к текущему проекту. Чтобы они стали доступными, библиотеку, в которой они хранятся, необходимо явно указать компилятору. Делается это с помощью командной строки

#include "Math.h" которую можно поместить в самое начало текущего файла.

Далее проект надо сохранить, выполнить компиляцию и запустить, нажав клавишу

F5. В дальнейшем, изменив один оператор присваивания в функции f() и подобрав подходящие коэффициенты, с помощью этой программы можно строить самые разные графики.

Практические задания по программированию

Задание 1

Дано натуральное число. Составить программу, которая представляет данное число в виде суммы квадратов натуральных чисел, содержащей минимальное число слагаемых. Например:

9=32

12=22+22+22

23=32+32+22+12
Задание 2

Дан массив, содержащий iV элементов.

Написать подпрограммы, выполняющие следующие действия:

• перестановку элементов массива в обратном порядке;

• вычисление суммы А[1] + А[2]*А[2] + А[3]*А[3]*А[3]...;


630 Глава 20. Основы программирования

• определение элементов массива, разность модулей которых имеет наибольшеезначение;

• определение значения, которое встречается среди элементов массива макси-мальное число раз, и вычисление количества таких вхождений;

• упорядочение элементов массива по возрастанию.

Задание 3

Дан двумерный массив, содержащий NxN элементов.

Написать подпрограммы, выполняющие следующие действия:

• вычисление среднего арифметического для элементов каждой строки массива;• замену нулями всех элементов, расположенных на главной диагонали матрицы;

• определение наибольшего элемента и его положения в массиве.

Задание 4

Дана текстовая строка.

Написать подпрограммы, выполняющие следующие действия:

• подсчет количества слов в строке (в качестве границ слов рассматриваютсяпробелы);

• подсчет количества цифр в строке;

определение десятичного числа, которому соответствует строка, если она представляет запись этого числа в шестнадцатеричной системе;

проверку соответствия содержимого строки правилам записи идентификаторов языков программирования.

Рекомендуемая литература

1.

Бобровский С. И. Delphi 7. Учебный курс. - СПб.: Питер, 2003,736 с.

2.

Бройдо В. Л. Вычислительные системы, сети и телекоммуникации. Учебникдля вузов. - СПб.: Питер, 2003,688 с.

3.

Бэйн С. Эффективная работа: CorelDraw 11; перев. с англ. — СПб.: Питер, 2003, 768 с.

4.

Говорухин В. Н., Цибулин В. Г. Компьютер в математическом исследовании.Учебный курс. - СПб.: Питер, 2001,624 с.

5. Гук М. Ю. Аппаратные интерфейсы ПК. Энциклопедия. — СПб.: Питер, 2003,528 с.

6.

Гук М. Ю. Аппаратные средства IBM PC. Энциклопедия. — СПб.: Питер, 2003, 928с.

7.

Додж М., Стинсон К. Эффективная работа: Excel 2002; перев. с англ. — СПб.: Питер, 2002,992 с.

8.

Зихерт К., Ботт Э. Эффективная работа: Windows ХР; перев. с англ. — СПб.: Питер, 2003,1072 с.

9.

Комер Д. Принципы функционирования Интернета; перев. с англ. — СПб.: Питер, 2002,384 с.

10. Крёнке Д. Теория и практика построения баз данных; перев. с англ. — СПб.: Питер, 2003, 800 с.

11.

Маров М. Н. Эффективная работа: 3ds max 5. — СПб.: Питер, 2003,992 с.

12. Миллхоллон М., Мюррей К. Эффективная работа: Word 2002; перев. с англ. —СПб.: Питер, 2003, 944 с.

13. Немнюгин С. A. Turbo-Pascal. Программирование на языке высокого уровня.

Учебник для вузов. — СПб.: Питер, 2003, 544 с.


632 Рекомендуемая литература

14. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы. Учебник для вузов. — СПб.: Питер, 2003, 864 с.

15.

Павловская Т. А. Паскаль. Программирование на языке высокого уровня. Учебник для вузов. — СПб.: Питер, 2003,400 с.

16.

Павловская Т. А. C/C++. Программирование на языке высокого уровня. Учеб-ник для вузов. — СПб.: Питер, 2003, 464 с.

17. Пасько В. П. Эффективная работа в Интернете. — СПб.: Питер, 2003, 544 с.

18.

Петров М. Н., Молочков В. П. Компьютерная графика: Учебник для вузов. —СПб.: Питер, 2003,736 с.

19.

Попов В. Б. Практикум по Интернет-технологиям. Учебный курс — СПб.: Питер,2002,480 с.

20. Рейнбоу В. Компьютерная графика. Энциклопедия; перев. с англ. — СПб.: Питер,2003,768 с.

21.

Тайц А. М., Тайц А. А., Петров М. Н. Эффективная работа: Photoshop 7. — СПб.: Питер, 2003,768 с.

22. Таненбаум Э. С. Архитектура компьютера; перев. с англ. — СПб.: Питер, 2003,704 с.

23.

Таненбаум Э. С. Компьютерные сети; перев. с англ. — СПб.: Питер, 2003,992 с.

24. Фаронов В. В. Delphi. Программирование на языке высокого уровня. Учебникдля вузов. — СПб.: Питер, 2003, 640 с.

25.

Феддема Э. Эффективная работа: Access 2002; перев. с англ. — СПб.: Питер, 2003,944 с.

26.

Хамахер К, Вранешич 3., Заки С. Организация ЭВМ; перев. с англ. — СПб.: Питер, 2003,848 с.

27.

Хелд Г. Технологии передачи данных; перев. с англ. — СПб.: Питер, 2003,720 с.

28.

Шалин П. А. Энциклопедия Windows XP. - СПб.: Питер, 2003, 688 с.

Алфавитный указатель

FSB 86

Adobe Illustrator 434 FTP 212

Adobe Photoshop 427

в BIOS 84

GIF-анимация 543 H High Color 25

AGP 86

HTML 209,537

C++ 626 элемент 540

CD-ROM 74

CISC-процессор 81 ICQ212

CMOS 84 Internet Explorer 228

CorelDraw 449 IRC 212 настройка 482 ISA 84

M

Delphi 7 621 Mail List 206

DNS 211 Mathcad 509

DRAM 78 Microsoft Access 2002 353

DDRSDRAM79 Microsoft Excel 316

Microsoft Word 253

EISA 85 N

NTFS 102

FAT 32

FAT-таблица 111 OLE 181

FineReader 491 OLE-клиент 183

FrontPage 552 OLE-сервер 183


634 Алфавитный указатель