Using namespace std;void main()

{ floatx,y; x=0; while (x <= PI){ y=exp(sin(x))*cos(x);

cout<< "x = " << x << "\t y = " << y << "\n"; x+=0.1;

} getch(); }

Операторы while, dowhile и for взаимозаменяемы, но можно привести некоторые рекомендации по выбору наилучшего в каждом конкретном случае.

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

Оператором for удобнее пользоваться в случаях, когда число итераций заранее известно

14. Оператор dowhile: назначение, синтаксис записи, выполнение, примеры использования

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

Далее представлен оператор do ...while, который реализует этот алгоритм

#include <iostream>

#include <conio.h>

#include <math.h>

#define PI 3.14159

using namespace std;

Void main()

{ floatx,y;x=0; do{ y=exp(sin(x))*cos(x); cout<< "x = " << x

<< "\t y = " << y << "\n"; x+=0.1;

} while (x<= PI); getch(); }

Операторы while, dowhile и for взаимозаменяемы, но можно привести некоторые рекомендации по выбору наилучшего в каждом конкретном случае.

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

15. Оператор for: назначение, синтаксис записи, выполнение, примеры использования

Кроме того, в C++ предусмотрен так называемый цикл с параметром, который представлен следующей конструкцией:

for (начальные_присваивания; выражение; приращение) оператор;

Здесь начальные_присваивания- оператор или группа операторов, разделенные запятой, применяются для присвоения начальных значений величинам, используемым в цикле, в том числе параметру цикла, и выполняются один раз до цикла; выражение определяет условие выполнения цикла, если значение выражения истинно (не равно нулю), то цикл выполняется; приращение - оператор или группа операторов, разделенных запятой, которые выполняются после каждой итерации и служат для изменения параметра цикла; оператор - любой оператор языка, представляющий собой тело цикла. Приращение или оператор должны влиять на условие, иначе цикл никогда не закончится. Начальные_присваивания, выражение или приращение в записи оператора for могут отсутствовать, но при этом точки с запятой должны оставаться на своих местах. В случае если тело цикла состоит более чем из одного оператора, необходимо использовать составной оператор.

Алгоритм работы цикла for:

1. Выполняются начальные_присваивани.

2. Вычисляется значение выражения, если оно не равно 0 (true), то выполняется переход к п. 3. В противном случае выполнение цикла завершается.

3. Выполняется оператор.

4. Управление передается оператору приращение, после чего осуществляется переход к п. 2, то есть опять вычисляется значение выражения и т.д.

Понятно, что этот алгоритм представляет собой цикл с предусловием

#include <iostream>

#include <conio.h>

#include <math.h>

#define PI 3.14159

using namespace std;

void main(){ float x,y; for(x=0; x<= PI; x+=0.1){ y=exp(sin(x))*cos(x);

cout<< "x = " << x << "\t y = " << y << "\n";

} getch();}

Напишите фрагмент программы с использованием разных операторов цикла. Рекомендации по выборуоператоровцикла

Конец презентации номер 2

#include <iostream>

#include <conio.h>

#include <windows.h>

using namespace std;

charbufRus [256];

char* Rus(char* mes)

{ AnsiToOem (mes, bufRus); return bufRus;} int main()

{ inti, a; for (i =0; i<10; i++)

{ cout<<Rus("Введитечисло"); cin>> a; if (a < 0) break; }

if (i< 10) { cout<<Rus("Первоеотрицательноечисло ");

cout<<Rus("последовательности:") <<a<<endl;}

elsecout<<Rus("В последов-ти нет отрицательных чисел\n");getch();}

17. Операторы передачи управления: назначение и примеры использования

Оператор безусловного перехода goto не относится ни к условным операторам, ни к операторам цикла, однако он тоже позволяет изменить порядок следования операторов в программе и передать управление оператору, помеченному меткой.

Кажущиеся преимущества, которые дает оператор goto, на самом де­ле весьма сомнительны, так как очень быстро приводят к созданию программ-«спагетти», очень трудно поддающихся отладке и корректировке. Поэтому использование оператора goto считается признаком не слишком хорошего стиля программирования. Тем более что нет никаких оснований к использованию этого оператора.

При необходимости остановить программу можно воспользоваться функцией exit(), прототип которой определен в заголовочном файле stdlib.h .Выполнение оператора ехit(аргумент); немедленно завершает выполнение программы, закрывает все открытые файлы и выполняет некоторые другие завершающие действия. Значение аргумента передается окружающей среде программы и может анализироваться. Как правило, значение аргумента, равное нулю, служит признаком корректного выхода, другие значения являются признаком ошибки и могут служить кодом ошибки

18. Понятие и назначение функции в С(C++). Объявление и определение функций: понятие, назначение, синтаксис записи, примеры. Формальные параметры функций: понятие, синтаксис записи

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

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

При работе с функциями используются такие конструкции, как объявление (прототип) функции, определение функции и вызов функции.

Определение и объявление функции - это конструкция языка программирования для описания функции.

Определение функции состоит из ее заголовка и тела. Заголовок функции включает: тип возвращаемого значения, имя функции (например, f1, f2, main) и в круглых скобках список формальных параметров. Тело функции – это составной оператор.

Объявление (прототип) функции состоит из заголовка функции, который заканчивается ‘;’.

Вызов функции включает имя функции и в круглых скобках список фактических параметров.

Функции в С++ являются внешними, т. е. внутри одной функции нельзя определять другую функцию

Варианты синтаксиса объявления функции:

тип имя_функции(тип имя_пар-ра1, тип имя_пар-ра2, …);или тип имя_функции(тип , тип, …);

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

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

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

Все функции, которые возвращают значения, должны содержать по крайней мере один оператор return, за которым следует возвращаемое значение объявленного типа.

В общем случае при выходе из функции с типом возвращаемого значения void - оператор return может отсутствовать

19. Понятие и синтаксис объявления указателя в С++. Что понимается под инициализацией и

Разыменовыванием указателя

Доступ к значению переменной можно получить иным способом – определить собственные переменные для хранения адресов памяти. Такие переменные называют указателями.

Итак, указатель – это переменная, значением которой является адрес памяти, по которому храниться объект определенного типа (другая переменная).

Как и любая переменная, указатель должен быть объявлен. При объявлении указателей всегда указывается тип переменной, значение которой будет храниться по данному адресу. Звездочка в описании указателя относиться непосредственно к имени, поэтому, чтобы объявить несколько указателей, ее ставят перед именем каждого из них.

При работе с указателями часто используют операции получения адреса (&) и разыменования (*). Операция получения адреса (&) возвращает адрес своего операнда. Операция разыменования (*) возвращает значение переменной, хранящееся по заданному адресу, то есть выполняет действие, обратное операции получения адреса (&).

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

charC = '$'; // будет выделена память под переменную С и ей присвоено начальное значение

cout<<C; // из ячейки памяти с именем С будет извлечено значение и выведено на экран

Синтаксис объявления указателя:

тип_данных *имя_переменной;

Пример использования операции получения адреса(&) и операции разыменования (*)

p = &C; //в указатель p записывается адрес переменной С

ch = *p; // в переменную ch записывается символьноезначение, хранящееся по адресу p

20. Понятие, назначение и синтаксис описания ссылок в С++. Примеры

Ссылка на некоторую переменную может рассматриваться как указатель, который при работе с ним всегда разыменовывается. Для ссылки не требуется дополнительного пространства в памяти: она является просто другим именем или псевдонимом переменной. Для определения ссылки применяется унарный оператор &.

Ссылка не создает копию объекта, а лишь является другим именем объекта. Чаще всего ссылки используются для передачи параметров в функции

Формат описания ссылки:тип &идентификатор_1 = идентификатор_2;

Пример

#include<iostream>

#include <conio.h>

using namespace std;

Void main()

{ inta = 5, b = 10;

int&aRef = a; // aRef является ссылкой на а

aRef = b; //аравноbaRef++; //a++;

cout<< "a = " << a <<endl; getch();}

21. Понятие и назначение функции в С(C++). Вызов функции: синтаксис записи, примеры

различных вариантов вызова функций. Фактические параметры функций: понятие, синтаксис записи. Дайте характеристику способов передачи параметров в функции

Передача фактических параметров в функцию может происходить:по значению,по указателю,по ссылке.

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

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

Для передачи в функцию фактического параметра по указателю необходимо:

-Оформить фактический параметр, либо как указатель ранее инициализированный, либо как обычную переменную к которой применена операция прямой адресации (&);

-Оформить в заголовке функции соответствующий формальный параметр как указатель;

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

Для передачи в функцию фактического параметра по ссылке необходимо:

-Оформить фактический параметр, либо как обычную переменную;

-Оформить в заголовке функции соответствующий формальный параметр как ссылку;

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

22. Понятие и назначение функции в С(C++). Понятие, достоинства и недостатки рекурсивных функций. Примеры рекурсивных функций.

Рекурсивнойназывается функция, вызывающая сама себя. Рекурсивные функции, которые прямо вызывают сами себя, называются прямо рекурсивными. Если две функции рекурсивно вызывают друг друга, они называются косвенно рекурсивными.

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

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

Using namespace std;void main() - student2.ru

#include <iostream>

#include <conio.h>

using namespace std;

Longint fact(int n1)

{ if (n1<=1)return 1;

else return (n1*fact(n1-1));}

Void main()

{ int n; cout<< "n="; cin>> n;

cout<<n<<"!="<<fact(n)<<"\n"; getch(); }

23. Понятие и назначение функции в С(C++). Понятие, назначение и синтаксис оформления

Наши рекомендации