![](/user_photo/_userpic.png)
- •История языков программирования от машинного кода до современных языков структурного программирования.
- •Понятие о синтаксисе языка программирования. Основные типы данных языка с.
- •Цикл с выходом из середины. Привести блок схему и примеры реализации.
- •Что такое вложенные циклы? Проанализировать работу программы, содержащей вложенные циклы.
- •Итерационные алгоритмы. Привести примеры реализации итерационных алгоритмов в задачах вычисления суммы бесконечного ряда с заданной точностью.
- •Область видимости и "время жизни" переменных. Использование статических переменных в функции. Привести примеры.
- •Перегрузка функций. Пример реализации перегруженной функции.
-
Цикл с выходом из середины. Привести блок схему и примеры реализации.
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d, e, f;
cout << "Enter a: ";
cin >> a;
cout << "Enter b: ";
cin >> b;
cout << "Enter c: ";
cin >> c;
cout << "Enter d: ";
cin >> d;
cout << "Enter e: ";
cin >> e;
cout << "Enter f: ";
cin >> f;
int C(0);
while(true)
{
C++;
if(C++ > 9000)
{
break;
}
else
{
cout << C << "\n";
}
}
cout << "a: " << a << " b: " << b << " c: " << c << " d: " << d << " e: " << e << " f: " << f << endl;
return 0;
}
-
Что такое вложенные циклы? Проанализировать работу программы, содержащей вложенные циклы.
Вложенный цикл - это цикл, размещённый внутри другого цикла.
Int n=0
For(int i=0; i<3; i++){
For(int j=0; j<5; j++){
N=n+2;
} }
Здесь внешний цикл это тот, в котором перемещается I . Внутренний цикл с переменной j. сначала , при i=0, j пройдет по всем своим значениям от 0 до 4. Потом I перейдет на 1, а j опять будет нарезать круги с 0 до 4, и так пока не закончится внешний цикл. Т .е. всего будет 15 итераций , а n в конце будет 30.
-
Итерационные алгоритмы. Привести примеры реализации итерационных алгоритмов в задачах вычисления суммы бесконечного ряда с заданной точностью.
Итерационными (пошаговыми) алгоритмами называются алгоритмы, в которых на каждом шаге используется одна и та же формула, выраженная через значения, полученные на предыдущих шагах алгоритма.
Задание: вычислить значение бесконечного выражения (прогрессии) с вводом с клавиатуры значения аргумента (х) и количества членов (N).
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char *argv[])
{
double a, b=1, c=sqrt(3.), y=0, x, N, t;
cout << "x= ";
cin >> x;
cout << "N= ";
cin >> N;
a = cos(x);
cout<<a;
for (int i=1; i<=N; i++)
{
y = ((a+b)/c) + y;
b++;
t=i%2;
if (t==0)
{
c=sqrt(3+c);
}
else
{
c=sqrt(4+c);
}
}
cout << "y= " << y << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
-
Пользовательские функции в С/C++. Разновидности функций. Определение функций. Привести пример функции, возвращающей значение.
Пользовательская функция - Это функция, которая создана пользователем.
void swap (int x, int y){ int z = x; x = y; y = z; }
Как вы, наверное, догадались - это пользовательская функция, которая меняет местами значения у элементов
void GetError (){ pritnf ("Ошибка\n"); }
Пользовательская функция, выбрасывающая сообщение об ошибке
int max (int a, int b, int c){ if (a > b && a > c) return a; if (b > a && b > c) return b; if (c > a && c > b) return c; }
Эта созданная пользовательская функция определяет наибольшее число из трех.
-
Способы передачи параметров в вызываемую функцию на языке С/C++. Последовательность выполнения вызова функции. Привести примеры.
В языке С++ данные в подпрограмму можно передавать тремя способами: по значению, по адресу и по ссылке.
Передача по значению эквивалентна операции присвоения.
Адрес и ссылка используются в случае если нид получить от функции более одного результата.
Пример:
B=1;
Cout<<cube(b++)<<endl;
Cout<<b<<endl;
Выведется на экран:
1
2
Это соответствует выполнению операции присваивания x=b++;
-
Правила разработки функций. Формальные и фактические параметры функции. Привести примеры определения и вызова функций в С/C++.
Функция должна быть определена до того, как использована.
Прототип выполняет ту же роль, что и объявление для переменных: в нем перечисляется используемые типы.
Тело функции – это блок, т.е. последовательность описаний переменных операторов, заключенных в фигурные скобки. Даже если функция не выполняет никаких действий тело функции должно присутствовать в определении. В этом случае тело функции будет состоять просто из скобок {}:void f(void){}
Определения функций не должны быть вложенными. В отличие от определений, прототипы – объявления функций могут быть вложенными в другие функции, главное чтобы прототип был прописан для вызова соотв. Функции.
Примеры объявления функций: int add (int, int) – это объявленная функция которая требует 2 аргумента типа int и возвращает величину типа int.
Определение функций maximum:
Int maximum (int x; int y; int z)
-
Функция с параметрами по умолчанию. Привести пример определения и вызова такой функции в С/C++.
Параметры со значениями по умолчанию должны объявляться последними параметрами в списке. При вызове функции такие параметры можно не указывать – используется значение, заданное по умолчанию.
Пример:
Void repch (char ch=’-’, int k=60)
C++ разрешает такие вызовы функции
Repch();//выводится 60 минусов
Repch(+)//выводиться 60 плюсов
Repcj(‘=’52)//выводится 52 равно
Вызов функции считается корректным если не указывается самое правое параметры
http://www.c-cpp.ru/books/znacheniya-argumentov-funkcii-po-umolchaniyu
-
Рекурсия. Привести пример рекурсивной функции в С/C++.
Рекурсивная функция – это функция которая может вызвать саму себя.
Для завершения процесса рекурсии в алгоритме рекурсивной функции обязательно должна быть обе ветки, обеспечивающие непосредственное заверщение функции.
Пример:факториал
Include’s
…………………..
Unsigned int factor(unsigned int)//прототип функции
Int man (void)
{
Unsigned unt n;// число факториал которого нид вычислить
Unsigned int F;//факториал чилса n
Cout<<”вычисление факториала:\n”;
Cout<<”введите число, факториал которого нид вычислить”;
Cin>>n;
F=factor(n);
Cout<<”факториал числа”<<n<<”равен”<<F;
Return 0;
}
{if(k==1)
Return 1;
Else
K*Factor(k-1);
Return 0’