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

Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 3

Потопахин Виталий Валерьевич

РЕШЕНИЕ ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ НА ЯЗЫКЕ C++

Пояснительная записка 1

Тематическое планирование 1

Текст пособия 1

Пояснительная записка

Главная цель курса: изучение методов решения логически сложных задач по программированию.

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

Основные знания.

  • Древовидные структуры данных.

  • Понятие рекурсии.

  • Понятие эвристики, понятие модели.

Тематическое планирование

Тема

лекции

лабораторные

1

Построение и обход деревьев

4

2

2

Эвристические методы в задачах перебора

2

2

3

Рекурсивные задачи

2

2

4

Моделирование физических процессов

2

4

ИТОГО

10

10

Текст пособия

Главной структурной единицей программы на языке С++, является программный модуль, именуемый в С++ функцией. Как и в любом другом языке, эта основная конструкция устроена так:

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

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

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

  • Функция имеет доступ к глобальным переменным.

  • Функция может возвращать значения в точку программы, в которой был осуществлён вызов функции.

То, что было перечислено выше, имеет место в любом языке программирования, только имеет разные названия (функция, процедура, подпрограмма). В С++ есть ряд особенностей которые делают функцию - функцией именно С++. Перечислим эти особенности.

  • Место расположение функции не имеет значения. Этим самым С++ сильно отличается, от например языка Паскаль в котором устанавливается жёсткая иерархия процедур/функций. Благодаря этому свойству программист получает большую свободу действий и при написании программы и при разработке алгоритма.

  • Возврат значений из функции и соответственно прерывание её работы может произойти в любой точке её тела. Более того, таких точек выхода из функции может быть много, столько, сколько нужно программисту.

  • Существует одна функция - которая считается главной в том смысле, что выполнение программы начинается именно с неё. Её имя фиксировано – main()

Пример программы С++. Расчёт факториала

#include <stdio.h>

#include <iostream.h>

void main()

{ int n,a;

cin >> n; // ввод

a=1;

for (int i=1;i<=n;i++) a=a*i; // цикл

cout<<a; //вывод

}

Записанная выше программа состоит из одной главной функции, в которой используются операции ввода-вывода, оператор присваивания и конструкция цикла. Перед программой с помощью команды #include указываются файлы содержащие описания используемых функций и операций.

Любая языковая конструкция, за исключением заголовка функции завершается точкой с запятой. Сложный оператор организуется с помощью скобок {} сама функция также является сложным оператором.

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