
- •Вопрос 1. История языков программирования от машинного кода до современных языков структурного программирования.
- •Вопрос 3. Понятие о синтаксисе языка программирования. Основные типы данных языка с.
- •Вопрос 14. Цикл с выходом из середины. Привести блок схемы и примеры реализации.
- •Вопрос 15. Итерационные алгоритмы. Привести примеры реализации итерационных алгоритмов в задачах вычисления суммы бесконечного ряда с заданной точностью (нет ничего)
- •Вопрос 21. Область видимости и "время жизни" переменных. Использование статических переменных в функции. Привести примеры.
- •Void Swap ( int &a, int &b ) // ссылки в заголовке
- •2) Массив можно заполнить, вводя элементы массива с клавиатуры:
- •Вопрос 26. Что такое вложенные циклы? Проанализировать работу программы, содержащей вложенные циклы.
- •Int MyArray1 [ 10 ]; // Одномерный массив размерности 10
- •Int MyArray2 [ 20 ][ 10 ]; // 20 одномерных массивов
- •Int MyArray3 [ 30 ][ 20 ][ 10 ]; // 30 двумерных массивов
- •Вопрос 36. Функции сравнения строк. Проиллюстрировать работу функций на примерах
- •Вопрос 37. Функции преобразования числа в цифровую строку и обратно. Проиллюстрировать работу функций на примерах.
- •Int value; //Запись &value означает «адрес объекта value».
- •1) С использованием имени переменной.
- •2) С использованием адреса переменной.
- •Int *ap [15]; // Массив из 15 указателей на int
- •Вопрос 40. Передача массивов в качестве параметров в функцию. Привести пример передачи массива вещественных чисел в функцию, вычисляющую сумму его элементов.
- •Вопрос 41. Статическое и динамическое выделение памяти. Операторы new и delete.
- •Вопрос 44. Привести пример реализации алгоритма обработки и преобразования матриц, используя динамическое выделение памяти и технику работы с указателями.
- •Вопрос 45. Понятие структуры. Описание, инициализация структур. Доступ к полям структур. Примеры использования структур.
- •Вопрос 46. Массивы структур. Привести пример обработки массива структур.
- •Вопрос 47. Передача структур в качестве параметров в функцию. Привести пример функции, обрабатывающей структуру.
- •Передача целых структур функциям
- •Вопрос 48. Указатели на структуру. Использование структур с функциями. Передача структуры в функцию по значению, по ссылке и с использованием техники работы с указателями
- •Объявление указателя на структуру
- •Использование указателей на структуры
Вопрос 44. Привести пример реализации алгоритма обработки и преобразования матриц, используя динамическое выделение памяти и технику работы с указателями.
Например:
int n, m;//n и m – количество строк и столбцов матрицы
float **matr; //указатель для массива указателей
matr = new float * [n]; //выделение динамической памяти
под массив указателей
for (int i=0; i<n; i++)
matr[i] = new float [m]; //выделение динамической памяти
для массива значений
При выделении динамической памяти размеры массивов должны быть полностью определены.
Вопрос 45. Понятие структуры. Описание, инициализация структур. Доступ к полям структур. Примеры использования структур.
Структура - это набор данных, где данные могут быть разного типа. Например, структура может содержать несколько переменных типа int и несколько переменных типа char.
Переменные, которые содержатся в структуре называются элементами или полями структуры. Структуры определяются с помощью ключевого слова struct.
Пример описания структуры:
struct studen
{
char name[50];
int kurs;
int age;
};
В этом описании student является шаблоном структуры,
struct student является типом данных.
Чтобы использовать структуру, необходимо объявить переменные типа struct student.
Например,
struct student s1, s2;
Переменные s1 и s2 являются переменными типа struct student. Компилятор автоматически выделит память под эти переменные. Под каждую из переменных типа структуры выделяется непрерывный участок памяти.
Вопрос 46. Массивы структур. Привести пример обработки массива структур.
Структуры могут быть объединены в массивы структур. Объявление массива структур делается аналогично объявлению массива переменных. Например, если нужно хранить информацию о 10 студентах, то объявление массива будет следующим struct student stud1[10];
Здесь stud1 - имя массива структур, а stud1[0] – это первая структура, stud1[1] - вторая... stud1[9] – десятая структура. Чтобы получить доступ к полю age пятой структуры нужно написать stud1[4].age
Чтобы получить доступ к полю kurs первой структуры нужно написать stud1[0].kurs
Пример:
#include "stdafx.h"
#include <iostream>
using namespace std;
// определение структуры
struct student
{
char name[30];
int kurs;
int age;
};
void main()
{
// объявление массива на 10
//структур
struct student stud [10];
int i, n;
cout << " Количество студентов:"
<< endl;
// ввод n (число студентов)
cin >> n;
for ( i = 0; i < n; i++ )
{
cout << "Введите имя:" << endl;
// ввод имени
cin >> stud [i].name;
cout << " Введите возраст :" <<
endl;
// ввод возраста
cin >> stud [i].age;
cout << " Введите номер курса :" << endl;
// ввод номера курса
cin >> stud [i].kurs;
}
// Вывод
for ( i = 0; i < n; i++ )
{
cout << " Студент “ << stud [i].name
<<endl;
cout << " Курс “ << stud [i].kurs << endl;
cout << " Возраст “ << stud [i].age <<endl;
}
}