Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12_Inf_v3_Potopahin.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
103 Кб
Скачать
☆

Определение функций

Как уже говорилось программа на С++ может состоять из нескольких функций.

Рассмотрим пример такой программы. Дано число N найти сумму делителей (за исключением единицы и самого числа) всех составных чисел от 1 до N включительно.

#include <stdio.h>

#include <iostream.h>

int sum(int);

int delitel(int,int);

void main()

{ int n,s=0;

cin >> n;

for (int i=1;i<=n;i++)

s+=sum(i);

cout << s;

}

int sum(int x)

{int s=0;

for (int i=2;i<x;i++)

if (delitel(x,i)) s+=i;

return s;

}

int delitel(int n,int i)

{ int t=0;

do

{ t+=i;

}

while (t<n);

if (t==n) return 1; else return 0;

}

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

Указатели

Указателем в С++ называется специальный тип переменных содержащих не значение, а адрес области памяти в котором хранится значение. Ниже пример программы, в которой объявляется два указателя. Для одного из них выполняется операция инициализации new по которой ему выделяется область памяти. Затем с его помощью создается фактически массив переменных.

#include <iostream.h>

void main()

{ int *t,*u;

t=new int;

u=t;

for (int i=1;i<=10;i++) {*t=i;t++;}

for (i=1;i<=10;i++) {cout << *u << " "; u++;}

}

Примечание. Применение операции ++ к указателю увеличивает адрес в нём содержащийся.

СТРОКИ В С++

В С++ нет специального строкового типа обозначаемого специальным идентификатором. Для этих целей используется указатель на тип char. Ниже приведён пример программы в котором определяется строковая переменная, вводится её значение, затем вычисляется длина и выводится в стандартный поток. Файл прототипов string.h

#include <iostream.h>

#include <string.h>

void main()

{ char *h;

h=new char;

cin >> h;

cout << strlen(h);

}

ГРАФИКА С++

Ниже приведён пример программы в которой рисуется пирамидка из окружностей:

#include <iostream.h>

#include <graphics.h>

void main()

{ int dr=DETECT,md;

initgraph(&dr,&md,"");

for (int i=1;i<=9;i++)

{ setcolor(i);

circle(300,400-i*30,60-i*5);

setfillstyle(1,i);

floodfill(300,400-i*30,i);

}

}

Графические процедуры С++

Initgraph(& int, & int, “”) – Инициализация графического режима

Setcolor(int) – Определение цвета объектов

circle(int, int, int) – Рисование окружности

setfillstyle(int, int) – Определение способа закраски внутренней области контура.

floodfill(int, int, int) – Закраска внутренней области контура.

line(int, int, int, int) – Рисование линии.

cleardevice() – Очистка графического экрана

rectangle(int, int, int, int) – Рисование прямоугольника.

Контрольные вопросы

  1. Что представляет собой процесс решения задачи на ЭВМ?

  2. Что такое программирование и программа?

  3. Какие требования предъявляются к программе и какие у неё свойства?

  4. Что такое язык программирования и какие языки программирования Вы знаете?

  5. Что такое алгоритм и какие он имеет свойства?

  6. Какие алгоритмы Вы знаете?

  7. Что такое исполнители алгоритмов?

  8. Что такое ветвление и цикл? Что такое переменная? Какие бывают типы переменных?

  9. Что такое метод последовательной детализации?

  10. Что такое транслятор, компилятор и интерпретатор?

11

Хабаровск, 2000 - 2003

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]