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

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

2. Способы описания алгоритма. Блок схема алгоритма. Словесный, т.е. записи на естественном языке, описание словами последовательности выполнения алгоритма. Формульно-словесный, аналогично пункту 1, плюс параллельная демонстрация используемых формул. Графический, т.е. с помощью блок-схем. Программный, т.е. тексты на языках программирования.

3.Синтаксис языка программирования. Основные понятияСинтаксис – это раздел описания формальногомате матического языка или языка программирования,исследующий вид, форму и структуру конструкций (без учета их значения или практической применимости). Задать синтаксис языка возможно, перечислив описание его конструкций, например, с помощью БНФ. Ограничимся базовым набором конструкций языка, подчеркнув такие существенные возможности, как кортежи (tuples) и let-выражения.

4. Описание синтаксиса языка программирования в БНФ и усоверш. БНФ Определяющий символ ::=“ разделяет определяемую конструкцию от составляющих ее ранее определенных базовых конструкций. Определяемая конструкция записывается слева от “::= в угловых скобках “<” и “>”.

Альтернативы (возможные варианты) конструкций перечисляются по вертикали.

Цитирование не имеет обозначения.

5. Основные объёкты языка программирования языка с++. Раасказать о программе, модуле, константах, переменных, операторах.

6. Основные объекты среды разработки майкросовт дивёрпл студио визио с++(библиотеки, заголовки, …)проект, функции. Рассказать о библиотеках, функциях, о проекте программы. Перечислить библиотеки.

7.Типы данных в СИ++.Простые:целые, вещественные,символьные, указатели. Составные:массивы, структуры. Числовые типы данных: int, char, double,float,long,bool.

8.Константы и перечисление в СИ++. Единственное отличие констант от переменных, что после инициализации их нельзя изменить. Константы удобны в следующих случаях. Вы хотите улучшить понимание своей программы для других, ведь смысловое имя более понятно чем какое-то число. Если в вашей программе многократно используется некое число, например 7. Но в дальнейшем оно может изменится на другое. То легче один раз объявить константу и когда надо заменить один раз значение у константы.Константные ссылочные типы часто используются в качестве аргументов для функций, чтобы гарантировать не изменность данных.

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

9.Операторы присвоения и выражения. Преобразование типов данных. В С++ существует пять операций присваивания, не считая основную операцию присваивания: =.

+= операция присваивания-сложения;

-= операция присваивания-вычитания;

*= операция присваивания-умножения;

/= операция присваивания-деления;

%= операция присваивания-остатка от деления;

например //var+=16;

10.оператор if. Команда goto.

Оператор ветвления (условный оператор) "if...else..." выглядит примерно

одинаково во всех процедурных языках программирования. В Си++ он называется

просто оператором if, и его общая структура такова:

if(условие)

{оператор

}

else

{

оператор

}

goto-оператор безусловного перехода. Определяет порядок выполнения операторов.

11. Логическое значение, выражение и функции.

Язык Си++ унаследовал от языка Си соглашение, согласно которому целое

значение 0 считается логическим "false" (ложное значение), а ненулевое целое – ло-

гическим "true" (истинным значением).

В Си++ был добавлен специальный логический тип "bool". Перемен-

ные типа "bool" могут принимать значения "true" и "false", которые при необхо-

димости автоматически преобразуются в выражениях в значения 1 и 0.

12.Циклы фор, ваил и ду.

Циклы задаются либо do…while. То есть будет происходить функция do до тех пор, пока не достигнет условия, описанного в while. Намного проще задавать цикл через for. Вот пример цикла: for(int I = 0; i<t; i++)Эта запись означает, что действие будет повторяться от 0 до t c шагом в одну единицу(i++).

13. оператор свутч=\.

Вложенные операторы "if" выглядят слишком громоздко, поэтому в Си++

реализован еще один способ множественного ветвления – оператор "switch". Он по-

зволяет выбрать для выполнения один из нескольких операторов, в зависимости от

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

Оператор "switch" имеет следующий синтаксис:

switch (селектор)

{

case метка1 :

<операторы1>

break;

...

...

...

case меткаN :

<операторыN>

break;

default :

<операторы>

}

14. Блоки и область видимости переменных в СИ++.

В Си++ фигурные скобки "{}" позволяют оформить составной оператор, кото-

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

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

то это две разных, независимых переменных. При выполнении внутри блока про-

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

15. Определение новых функций. Способы размещения программы.

Естественный и интуитивно понятный подход к решению больших сложных

задач состоит в том, чтобы разбить большую задачу на набор меньших, которые можно решить более или менее независимо и затем скомбинировать полученные решения для получения полного решения. На таком подходе основана методология структурного программирования, которое господствовало в разработке программного обеспечения до появления объектно-ориентированного подхода.

При структурном программировании большая программа разделяется на набор

более или менее независимых подпрограмм. В Си++ подпрограммы называются

функциями.

Пример описания функции int area(int length, int width); Размещается в головной части программы, желательно после описания переменных.

16.Передача параметров в функции.

Передача параметров по значению

Функции, принимающие параметры по значению, "безопасны" в том смысле,

что они не могут случайно изменить переменные вызывающей функции (т.е. у функций нет скрытых побочных эффектов). Большинство функций проектируются именно таким образом. Пример: int имя функции(значение 1, значение2,…);

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

принято оформлять в виде отдельных функций. Для получения данных от пользователя создадим функцию "get_dimensions". В данном случае необходимо, чтобы эта функция изменяла значения переменных "this_length" и "this_width" (переданных ей

в качестве параметров) – помещала в них значения, введенные пользователем с клавиатуры. Изменение параметров функции возможно при передаче параметров по ссылке. У таких параметров в заголовке функции после имени типа указывается символ "&".

17.Полиморфизм и перегрузка функции.

Одним из характерных свойств объектно-ориентированного языка, в том числе

и Си++, является полиморфизм – использование одного имени для выполнения раз-

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

вается перегрузкой. Для основных операций Си++ перегрузка уже встроена в язык:

например, у сложения существует только одно имя, "+", но его можно применять для

сложения как целых, так и вещественных значений. Эта идея расширяется на обра-

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

Перегруженные функции имеют одинаковые имена, но разные списки парамет-

ров и возвращаемые значения.

18.Модульное программирование в СИ++

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

проектирования "сверху вниз". При этом решаемая задача делится на подзадачи (и за тем на под-подзадачи и т.д.). Для решения каждой подзадачи программист реализует отдельную функцию, при этом ему не нужно знать детали реализации остальных функций. Чтобы функцией мог воспользоваться другой программист, она должна иметь осмысленное имя и комментарий с описанием назначения функции, ее параметров и возможных возвращаемых значений. Опытные программисты на начальных этапах разработки часто применяют пустые функции (заглушки), которые содержат только оператор возврата значения соответствующего типа. Эти функций облегчают отладку главной функции или просто функции более высокого уровня.

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