![](/user_photo/_userpic.png)
- •История языков программирования от машинного кода до современных языков структурного программирования.
- •Понятие о синтаксисе языка программирования. Основные типы данных языка с.
- •Цикл с выходом из середины. Привести блок схему и примеры реализации.
- •Что такое вложенные циклы? Проанализировать работу программы, содержащей вложенные циклы.
- •Итерационные алгоритмы. Привести примеры реализации итерационных алгоритмов в задачах вычисления суммы бесконечного ряда с заданной точностью.
- •Область видимости и "время жизни" переменных. Использование статических переменных в функции. Привести примеры.
- •Перегрузка функций. Пример реализации перегруженной функции.
-
Область видимости и "время жизни" переменных. Использование статических переменных в функции. Привести примеры.
Время жизни – это время существования переменной во время работы программы.
Глобальные переменные – ее имя видно с момента объявления.
За пределами функций имена объявленных внутри нее переменных не видны, т.е. имя переменной нельзя использовать вне тела функции . Говорят что область видимости локальных переменных – тело функции.
Пример статических функции:
Double average(double data)
{ static double summa =0;// инициализация статических переменных при первом вызове.
Static int count=0;
Cout++;
Summa+=data;
Return summa/cout;// возврат нового среднего значения
}
Int main()
{ double data=1, middle;
While (data)
{
Cout<<”введите число:”;
Cin>>data;
Middle=average(data);//выражение очередного среднего
Cout<<”среднее значение:”<<middle<<endl;
-
Передача параметров в функцию по ссылке. Привести примеры определения и вызова таких функций в С/C++.
Переменные, в которых сохраняются параметры, передаваемые функции, также являются локальными для этой функции. Эти переменные создаются при вызове функции и в них копируются значения, передаваемые функции в качестве параметров. Эти переменные можно изменять, но все изменения этих переменных будут "забыты" после выхода из функции. Рассмотрим это на примере следующей функции, "меняющей" значения двух переданных ей переменных:
#include<iostream> using namespace std; void swap(int a, int b) { int t; t=b; b=a; a=t; } int main() { int p=3,q=5; swap(p,q); cout<<p<<" "<<q<<endl; return 0; }
При вызове функции swap создаются новые переменные a и b, им присваиваются значения 3 и 5. Эти переменные никак не связаны с переменными p и q и их изменение не изменяет значения p иq. Такой способ передачи параметров называется передачей параметров по значению.
void swap(int & a, int & b)
Амперсанды перед именем переменной означают, что эта переменная является не локальной переменной, а ссылкой на переменную, указанную в качестве параметра при вызове функции. Теперь при вызове swap(p,q) переменные a и b являются синонимами для переменных p и q, и изменение их значений влечет изменение значений p и q. А вот вызывать функцию в видеswap(3,5) уже нельзя, поскольку 3 и 5 — это константы, и сделать переменные синонимами констант нельзя.
-
Перегрузка функций. Пример реализации перегруженной функции.
Под перегрузкой функции понимается, определение нескольких функций (две или больше) с одинаковым именем, но различными параметрами.
Перегрузка функций позволяет вашим программам определять несколько функций с одним и тем же именем и типом возвращаемого значения. Например, следующая программа перегружает функцию с именемadd_values.
#include <iostream.h>
int add_values(int a,int b)
{ return(a + b); )
int add_values (int a, int b, int c)
( return(a + b + c); )
void main(void)
{ cout << «200 + 801 = » << add_values(200, 801) << endl; cout << «100 + 201 + 700 = » << add_values(100, 201, 700) << endl; }
Как видите, программа определяет две функции с именами add_valuesПервая функция складывает два значения типа int, в то время как вторая складывает три значения.
-
Одномерные массивы: объявление, инициализация, обработка, использование массивов в С/C++.
Массивы – это группа однородных данных, имеющих один и тот же тип и одно и тоже имя.
Объявление: ( тип_имя_кол-во. Элементов) int month [12] или double mas[32]
Инициализация: int mas[5]={1, 2, 3, 4, 5} или с клавиатуры. For(int i=0; i<12; ++i)
Cin>>mas[i]
Обработка: Получение суммы элементов массива
Поиск максимума, минимума и др. задаваемых значений.
Сортировка массива.
Выполнение однотипных действий над всеми элементами массива.
Использование: Массивы используются для обработки большого количества однотипных данных.