Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСТ 1 курс экзамен лиманова по тп 1-24 вопрос.docx
Скачиваний:
177
Добавлен:
10.01.2016
Размер:
333.15 Кб
Скачать
  1. История языков программирования от машинного кода до современных языков структурного программирования.

Fortran (В 1954 году компания IBM создала язык Fortran (formula translator) , его основу составляли арифметические операторы мат. выражений. Программировать на нем было не просто.)

COBOL (был изобретен в конце 1959 года. Этот язык был ориентирован на задачи бизнеса, также был аппаратно независим)

АЛГОЛ (Изобретен в 1958 году, это алгометрический язык программирования , в нем была доведена до завершения сама концепция операторных алгометрических языков программирования)

BASIC (. Сначала не имел ни кампилятора ни интерпритатора , они появились только в 1975 году. Самым популярным был М-BASIC – первый успех Microsoft)

PASCAL (Создан в 1970 году, был придуман для обучения студентов)

C++ (Разработан в 1971 году, главные преимущества – скорость и удобство, центральная идея – указатели)

  1. Алгоритмический язык С — язык компилируемого типа. Структура программы на языке С++. Стадии получения загрузочного модуля в С/C++.

Программа на языке С++ состоит из директив препроцессора, указаний компилятору, объявлений переменных и/или констант, объявлений и определений функций.

  Язык Си – компилирующего типа. Текст программы на Си, для получения объектного модуля обрабатывается компилятором, причем компиляция выполняется в два проходаПри первом проходе обрабатываются строки директивы, начинающиеся со знака #, при втором - транслируется текст программы и создается объектный (машинный) код. Для получения загрузочного модуля необходимо подсоединить к нему соответствующие библиотечные модули.

  1. Понятие о синтаксисе языка программирования. Основные типы данных языка с.

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

Типы данных: целый ( int , short , long, unsigned int). Вещественный : ( double , float) char- символьный, bool- логический

  1. Описание переменных и констант в языке С/C++.

Прежде чем использовать в программе какую-то переменную, надо дать ей описание, то есть сказать, какое имя имеет переменная и каков её тип. Вначале указывается тип переменной, а затем её имя. Например:

int k; // это переменная целого типа int

Инициализация переменных double a=3

В языке C++ есть 2 способа задания констант:

  1. #define PI 3.14

  2. const double PI=3.14;

  1. Управление вводом/выводом в языке С/C++. Операторы ввода/вывода. Форматный вывод. Привести примеры.

Описание объектов для управления вводом-выводом содержится в дерективе предпроцессора <iostream>.

Операторы ввода вывода:

Cout – оператор вывода

<< - вывод в поток

Endl- перевод на новую строку

Cin – оператор ввода

>> - операция потокового ввода

Форматный вывод:

Int a=5, b=2;

Cout <<”a/b=”<<endl;

…………………………..

2-будет ответом т.к целый тип данных

Float c=5, d=2;

Cout<<”c/d=”<<endl;

……………………………………

2,5 будет ответом т.к. вещественный тип данных

Cout<<a%b<<endl;

……………………………

Ответом будет 1 т.к. это остаток от деления 5/2

  1. Управляющие последовательности, манипуляторы, используемые при форматном выводе в языке С/C++. Представление не изображаемых символов. Привести примеры.

Управляющие последовательности:

Символ

Описание

\r

возврат каретки в начало строки

\n

новая строка

\t

горизонтальная табуляция

\v

вертикальная табуляция

двойные кавычки

\’

апостроф

\\

обратный слеш

\0

нулевой символ

\?

знак вопроса

\a

сигнал бипера (спикера) компьютера

Таблица 1 — Управляющие символы С++

Манипуляторы:

Манипулятор

Назначение

Ввод/вывод

dec

Ввод/вывод данных в десятичной форме

ввод и вывод

endl

Вывод символа новой строки с передачей в поток всех данных из буфера

вывод

ends

Вывод нулевого символа

вывод

flush

Передача в поток содержи­мого буфера

вывод

hex

Ввод/вывод данных в шест­надцатиричной системе

ввод и вывод

oct

Ввод/вывод данных в восьме­ричной форме

ввод и вывод

resetiosflags(long f)

Сбрасывает флаги, указанные в f

ввод и вывод

setbase(int base)

Устанавливает базу счисле­ния равной параметру base

вывод

setfill(int ch)

Устанавливает символ заполнения равным ch

вывод

setiosflags(long f)

Устанавливает флаги, указанные в f

ввод и вывод

setprecision(int p)

Устанавливает число цифр после запятой

вывод

setw(int w)

Устанавливает ширину поля равной w

вывод

ws

Пропускает начальный символ-разделитель

ввод

Таблица: Манипуляторы ввода/вывода С++

  1. Арифметические операции языка С/C++. Синтаксис операторов. Операции увеличения ++ и уменьшения --. Привести примеры реализации.

Арифметические операции:

+ — сложение;

- — вычитание;

* — умножение;

/ — деление;

% — остаток от деления.

Операторы:

Составной оператор –  {...}

============================================

  • Оператор обработки исключений

  • try { <операторы> }

  • catch (<объявление исключения>) { <операторы> }

  • catch (<объявление исключения>) { <операторы> }

  • ...

  • catch (<объявление исключения>) { <операторы> }

===================================

Условный оператор

if (<выражение>) <оператор 1> [else <оператор 2>]

Оператор-переключатель

switch (<выражение>)

{ case <константное выражение 1>: <операторы 1>

case <константное выражение 2>: <операторы 2>

...

case <константное выражение N>: <операторы N>

[default: <операторы>]

}

Оператор цикла с предусловием

while (<выражение>) <оператор>

Оператор цикла с постусловием

do <оператор> while <выражение>

Оператор пошагового цикла

for ([<начальное выражение>];

[<условное выражение>];

[<выражение приращения>])

<оператор>

Операции увеличения ++ и уменьшения --. Привести примеры реализации.

for(i=0; i<n; i++) –например проход по строке

for(i=0; i<n; --i)- например проход по строке с конца для поиска последнего отрицательного элемента

  1. Операции сравнения и логические операции в языке С/C++. Синтаксис операторов. Привести примеры реализации. Приоритет операций для языка С.

Операции сравнения: >, >= больше, больше равно

<, <= меньше , меньше равно

== равно ( не присваивание)

!= не равно

= присваивание

Логические операции:

Лог. Операция И: &&

Лог. Операция ИЛИ: ||

Лог. Операция Не: !

Примеры:

for(i=0; i<n; i++)

if(f[i]==0)

w++;

Приоритеты:

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

  1. Стандартные математические функции языка программирования С/C++. Привести примеры использования.

sqrt(a)

корень квадратный из а, причём а не отрицательно

sqrt(9.0)=3.0

pow(a, b)

возведение  а в степень b

pow(2,3)=8

exp(a)

вычисление экспоненты еа

exp(0)=1

sin(a)

a задаётся в радианах

cos(a)

a задаётся в радианах

log(a)

натуральный логарифм a(основанием является экспонента)

log(1.0)=0.0

Double x,y;

Cout<<”x=”;

Cin>>x;

Y=pow(x,3);

Cout<<”y=”<<y<<endl;

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

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

Одиночный выбор:

For(i=0; i<n; i++)

If(f[i]==0)

Break;

Двойной выбор:

For(i=0; i<n; i++)

If(f[i]==0)

Break;

Else

K++;

Множественный выбор (switch):

// форма записи оператора множественного выбора switch

switch (/*переменная или выражение*/)

 {

 case /*константное выражение1/*:

 {

 /*группа операторов*/;

 break;

 }

 case /*константное выражение2*/:

 {

 /*группа операторов*/;

 break;

 }

 //.    .    .

 default:

                {

                 /*группа операторов*/;

                }

 }

На начальном этапе анализируется выражение или переменная. После чего осуществляется переход к той ветви программы, для которой значение переменной или выражения совпадает с указанным константным выражением. Далее выполняется оператор или группа операторов пока не встретится зарезервированное слово break или закрывающая фигурная скобочка. Если значение переменной или выражения не совпадает ни с одним константным выражением, то передается управление ветви программы содержащей зарезервированное слово default. После чего выполняется оператор или группа операторов данной ветви. Сейчас рассмотрим задачу с использованием оператора выбора switch.

  1. Базовые конструкции структурного программирования в С/C++. Оператор switch. Привести синтаксис и пример использования оператора в программе.

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

  • Следованием называется конструкция, представляющая собой последовательное выполнение двух или более операторов (простых или составных).

  • Ветвление задает выполнение либо одного, либо другого оператора в зависимости от выполнения какого-либо условия.

  • Цикл задает многократное выполнение оператора.

switch

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

Множественный выбор (switch):

// форма записи оператора множественного выбора switch

switch (/*переменная или выражение*/)

 {

 case /*константное выражение1/*:

 {

 /*группа операторов*/;

 break;

 }

 case /*константное выражение2*/:

 {

 /*группа операторов*/;

 break;

 }

 //.    .    .

 default:

                {

                 /*группа операторов*/;

                }

 }

=========или====================

{

Case 1;

Case 2;

Do_something(x,a);

Break;

Case 3;

Do_something_else(a);

Case 4;

Do_nice_things(a,x);

Break;

Default;

Do_something_by_default;

}

  1. Операторы повторения в С/C++. Привести блок схемы и примеры реализации операторов цикла. Дать рекомендации по выбору наилучшего оператора цикла для конкретного случая.

Есть два типа циклов: типа «пока» и типа «n-раз».

Пример: увеличить число пока оно не станет равно 5ти.

Int i=1;

While (i<5)

{ cout<<i<<” “;

I++;

На экран выведет «1;2;3;4;»

Int i=1;

Do

{ i++

Cout<<i<<” ”;

} while(i<0);//пост проверка

Такой цикл выполнится 1 раз

На экран выведет «2»

  1. Циклы с предусловием и с постусловием в С/C++. Объяснить различия. Привести блок схемы и примеры реализации.

С пред условием(While)

Int i=1;

While (i<5)

{ cout<<i<<” “;

I++;

На экран выведет «1;2;3;4;»

С пост условием(do … While)

Int i=1;

Do

{ i++

Cout<<i<<” ”;

} while(i<0);//пост проверка

Такой цикл выполнится 1 раз

На экран выведет «2»

Различие состоит в том что на экран будет выводиться разное.

Соседние файлы в предмете Программирование на C++