Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Нахождение двойного факториала заданного числа N https://www.cyberforum.ru/ cpp-beginners/ thread1630973.html
Дано целое число N (> 0). Найти двойной факториал N: N!! = N·(N–2)·(N–4)·… (последний сомножитель равен 2, если N — четное, и 1, если N — нечетное). Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью вещественной переменной и вывести его как вещественное число. Добавлено через 17 минут решите
Вывести стоимость указанной массы конфет, при заданной цене за килограмм C++
Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1.2, 1.4, …, 2 кг конфет.
C++ Алгоритм поиска неравного числа за один проход, в наборе из 4 чисел, где 3 равные между собой Дорогие мои земляки! Помогите зеленому. Подскажите как с использованием минимального количества условных операторов найти из 4 чисел, одно не равное, если остальные 3 равны между собой. Только без циклов и массивов, if и операторы сравнения. Мне говорили, что это связано с задачей о трех монетках, якобы такой же алгоритм. https://www.cyberforum.ru/ cpp-beginners/ thread1630946.html C++ Задача из книги Страуструпа https://www.cyberforum.ru/ cpp-beginners/ thread1630917.html
Нужна ваша помощь или хотя бы подсказка, в одном из упражнений в книге Страуструпа " Программирование. Принципы и практика с использованием с++", нужно было написать простейший калькулятор который принимает на вход цифровое значение типа double и символ операции и выводит результат на экран. Вот код: #include <cstdlib> #include <std_lib_facilities.h> using namespace std; int main(int argc,...
Возможно ли создать шаблонный объект шаблонного объекта? C++
Всем хай, помогите ) Возможно ли создать : List<TreeNode<NODETYPE>*> hop; (есть шаблонный список , и я пытаюсь создать список из шаблонных узлов бинарного дерева) Это возможно ? Если да, то какой синтаксис ?
C++ Изменить поле класса используя typedef Есть такая возможность? typedef std::pair<int, int>::first i; typedef std::pair<int, int>::second j; а вызов такой: std::pair<int, int>A; https://www.cyberforum.ru/ cpp-beginners/ thread1630876.html
C++ Не могу инициализировать переменные класса Доброго времени суток, проблема такая: есть функция getscore (строки 92-106), всё вроде работает, ошибок нет, но в массиве score всегда лежит мусор. В чём может быть проблема? И вторая проблема в программе при вводе русских букв пишет кракозябру. Сам код конечно кривой у меня пока не так много практики по написанию. #include <iostream> #include <string> #include <fstream> #include <conio.h>... https://www.cyberforum.ru/ cpp-beginners/ thread1630860.html C++ Отсортировать заданный массив по столбцам
Доброго времени суток! Суть задачи: создать массив, ввести построчно элементы массива и отсортировать полученный массив по столбцам. Вся проблема с последним пунктом. Вот, что вышло пока: #include <conio.h> #include <iostream> #include <iomanip> using namespace std; int main() { setlocale(LC_ALL, "rus");
C++ Std::copy как скопировать часть строки массива byte? https://www.cyberforum.ru/ cpp-beginners/ thread1630849.html
Вот из этой строки: BYTE pbHash; Нужно скопировать содержимое с 0й по 15ю ячейку, в эту строку: BYTE bAesKey; Так будет? std::copy(pbHash, pbHash + 16, reinterpret_cast<BYTE *>(bAesKey));
C++ Определить число, встречающееся в последовательности наибольшее количество раз (массивы) https://www.cyberforum.ru/ cpp-beginners/ thread1630835.html
Определить,какое число в последовательности встречается наибольшее кол-во раз. Если таких элементов несколько то вывести их последовательно , а если они все разные то вывести 0. #include<iostream> using namespace std; int main() { int N; cin>>N; float a;
C++ Разработать эффективный алгоритм быстрой сортировки
Быстрая сортировка. Разработайте эффективный алгоритм для упорядочивания n элементов таким образом, чтобы все отрицательные элементы находились перед всеми положительными элементами.
C++ Вызов метода производного класса (ООП, наследование, списки инициализации) Вопросы в комментариях исходного кода под катом) /// Базовый. class A { protected: int a; public: A(): a(1){} }; https://www.cyberforum.ru/ cpp-beginners/ thread1630798.html
1 / 1 / 2
Регистрация: 14.10.2015
Сообщений: 95
0

Проверить и прокомментировать вариант решения тестового экзаменационного задания по теории C++ и Си - C++ - Ответ 8576396

03.01.2016, 20:21. Показов 1165. Ответов 6
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые профессионалы,на днях мне предстоит сдавать экзамен по программированию, если не затруднит - посмотрите вопросы, которые я подготовил и скажите, всё ли верно, или чего-то не хватает. При подготовке пользовался книгой Павловской "Программирование на языке высокого уровня", а так же сайтами StackOverflow, http://www.c-cpp.ru/, http://cppstudio.com/ , Habrahabr. некоторые вопросы оставил без ответа, так как не знаю его...) (надпись ПРОГА означает, что мне ещё предстоит написать программу для этого варианта). Заранее спасибо))
Кликните здесь для просмотра всего текста
ВАРИАНТ №1
1) Что такое поток? Можно ли открыть поток не открывая файла?
Поток — ЭТО абстрактное понятие, относящееся к любому переносу данных от
источника к приемнику. Потоки C++, в отличие от функций ввода/вывода в стиле
С, обеспечивают надежную работу как со стандартными, так и с определенными
пользователем типами данных, а также единообразный и понятный синтаксис.
Чтение данных из потока называется извлечением, вывод в поток — помещегшем,
или включением. Поток определяется как последовательность байтов и не зависит
от конкретного устройства, с которым производится обмен (оперативная память,
файл на диске, клавиатура или принтер). Обмен с потоком для увеличения
скорости передачи данных производится, как правило, через специальную область
оперативной памяти — буфер. Фактическая передача данных выполняется
при выводе после заполнения буфера, а при вводе — если буфер исчерпан.
По направлению обмена потоки можно разделить на входные (данные вводятся в
память), выходные (данные выводятся из памяти) и двунаправленные (допускающие
как извлечение, так и включение).
По виду устройств, с которыми работает поток, можно разделить потоки на стандартные,
файловые и строковые.
Нельзя открыть поток не открывая файл. Если всё-таки сделать это, то указатель на поток приобретёт значение NULL (0), что является ошибкой.

2) Что такое класс? Что такое обьект?
Классы в С++ — это абстракция описывающая методы, свойства, ещё не существующих объектов. Объекты — конкретное представление абстракции, имеющее свои свойства и методы. Созданные объекты на основе одного класса называются экземплярами этого класса. Эти объекты могут иметь различное поведение, свойства, но все равно будут являться объектами одного класса. В ООП существует три основных принципа построения классов:
Инкапсуляция — это свойство, позволяющее объединить в классе и данные, и методы, работающие с ними и скрыть детали реализации от пользователя.
Наследование — это свойство, позволяющее создать новый класс-потомок на основе уже существующего, при этом все характеристики класса родителя присваиваются классу-потомку.
Полиморфизм — свойство классов, позволяющее использовать объекты классов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
3) ПРОГА

ВАРИАНТ №2
1) Как устроена строка формата функции fscanf?
Функция fscanf() работает подобно функции scanf(), но читает информацию не из стандартного потока ввода stdin, а из потока, заданного указателем stream.
Приведенный фрагмент программы читает из потока fp строку и значение переменной f с плавающей точкой (типа float).
char str[80];
float f;

fscanf(fp, "%s%f", str, &f);
Где fp –поток, "%s%f" – спецификаторы формата, str - строка, f – переменная .

2) Какие существуют возможности определения функций-компонент класса?
В С++ компоненты-функции могут использоваться с модификатором static и const. Обычная компонента-функция, вызываемая
object . function(a,b);
имеет явный список параметров a и b и неявный список параметров, состоящий из компонент данных переменной object. Неявные параметры можно представить как список параметров, доступных через указатель this. Статическая (static) компонента-функция не может обращаться к любой из компонент посредством указателя this. Компонента-функция const не может изменять неявные параметры.

3) ПРОГА

ВАРИАНТ №3
1) Как проверить существует ли ошибка во время работы с потоками?
???????????????????????????????????
2) Что такое инкапсуляция. Описать основные спецификаторы доступа.
Объединение данных с функциями их обработки в сочетании со скрытием ненужной для использования этих данных информации называется инкапсуляцией
(encapsulation).
Всего существует 3 спецификатора доступа :
-public – доступ имеет любая функция;
-protected –аналогично private. Разница заметна только при наследовании;
-private - доступ имеют только функции-члены класса или дружественные функции класса.
3)ПРОГА


ВАРИАНТ №4
1) Функции, которые читают и записывают строку в поток.
Вывод в поток выполняется с помощью операции вставки (в поток), которая является перегруженной операцией сдвига влево << . Левым ее операндом является объект потока вывода. Правым операндом может являться любая переменная, для которой определен вывод в поток (то есть переменная любого встроенного типа или любого определенного пользователем типа, для которого она перегружена). Например, оператор cout << "Hello!\n"; приводит к выводу в предопределенный поток cout строки "Hello!".
Для ввода информации из потока используется операция извлечения, которой является перегруженная операция сдвига вправо >>. Левым операндом операции >> является объект класса istream, который также является и результатом операции. Это позволяет строить цепочки операций извлечения из потока, выполняемых слева направо. Правым операндом может быть любой тип данных, для которого определен поток ввода. Для С это функции gets() и puts().
Для операций с бинарными файлами существуют функции read() и write().
2) Что такое полиморфизм?
Полиморфизм — возможность использовать в различных классах иерархии одно имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы.
3)ПРОГА


ВАРИАНТ №5
1) Что возвращает функция fopen?
Если файл был успешно открыт, то fopen вернёт указатель на объект FILE, который может быть использован для идентификации потока будущих операций.
2) Для чего используются статические поля? Какие их особенности?
Статические поля применяются для хранения данных, общих для всех объектов
класса, например, количества объектов или ссылки на разделяемый всеми объектами ресурс. Эти поля существуют для всех объектов класса в единственном экземпляре, то есть не дублируются.
Вот их особенности :
- Память под статическое поле выделяется один раз при его инициализации
независимо от числа созданных объектов (и даже при их отсутствии) и инициализируется с помощью операции доступа к области действия, а не операции
выбора (определение должно быть записано вне функций)
- Статические поля доступны как через имя класса, так и через имя объекта:
А *а. Ь:
cout « A::count « a->count « b.count:
// Будет выведено одно и то же;
- На статические поля распространяется действие спецификаторов доступа, поэтому статические поля, описанные как private, нельзя изменить с помощью операции доступа к области действия, как описано выше. Это можно сделать только с помощью статических методов.
- Память, занимаемая статическим полем, не учитывается при определении размера объекта с помощью операции sizeof.
3) ПРОГА

ВАРИАНТ №6
1) На какие группы можно поделить библиотечные функции ввода-вывода?
Библиотечные функции ввода-вывода можно поделить на стандартные, форматированный ввод-вывод. (не уверен в этом ответе)
2) Что такое статические методы? Для чего они предназначены?
Статические методы предназначены для обращения к статическим полям класса.
Они могут обращаться непосредственно только к статическим полям и вызывать
только другие статические методы класса, потому что им не передается скрытый
указатель this. Обращение к статическим методам производится так же, как к
статическим полям — либо через имя класса, либо, если хотя бы один объект
класса уже создан, через имя объекта.
3) ПРОГА

ВАРИАНТ №7
1) Как открыть поток в двоичном режиме?
(открыть двоичный файл для записи можно с помощью функций read() и write(), но открыть поток в двоичном режиме….)
2) Для чего используются дружественные функции? Правила их описания и особенности.
Дружественные функции применяются для доступа к скрытым нолям класса и
представляют собой альтернативу методам.
Вот правила описания и особенности дружественных функций.
• Дружественная функция объявляется внутри класса, к элементам которого
ей нужен доступ, с ключевым словом friend. В качестве параметра ей должен
передаваться объект или ссылка на объект класса, поскольку указатель this
ей не передается.
• Дружественная функция может быть обычной функцией или методом другого
ранее определенного класса. На нее не распространяется действие спецификаторов
доступа, место размещения ее объявления в классе безразлично.
• Одна функция может быть дружественной сразу нескольким классами.
Использования дружественных функций нужно по возможности избегать, поскольку
они нарушают принцип инкапсуляции и, таким образом, затрудняют отладку
и модификацию программы.
3) ПРОГА

ВАРИАНТ №8
1) Что такое поток? Можно ли открыть поток не открывая файла?
Поток — ЭТО абстрактное понятие, относящееся к любому переносу данных от
источника к приемнику. Потоки C++, в отличие от функций ввода/вывода в стиле
С, обеспечивают надежную работу как со стандартными, так и с определенными
пользователем типами данных, а также единообразный и понятный синтаксис.
Чтение данных из потока называется извлечением, вывод в поток — помещегшем,
или включением. Поток определяется как последовательность байтов и не зависит
от конкретного устройства, с которым производится обмен (оперативная память,
файл на диске, клавиатура или принтер). Обмен с потоком для увеличения
скорости передачи данных производится, как правило, через специальную область
оперативной памяти — буфер. Фактическая передача данных выполняется
при выводе после заполнения буфера, а при вводе — если буфер исчерпан.
По направлению обмена потоки можно разделить на входные (данные вводятся в
память), выходные (данные выводятся из памяти) и двунаправленные (допускающие
как извлечение, так и включение).
По виду устройств, с которыми работает поток, можно разделить потоки на стандартные,
файловые и строковые.
Нельзя открыть поток не открывая файл. Если всё-таки сделать это, то указатель на поток приобретёт значение NULL (0), что является ошибкой.

2)Механизм работы виртуальных функций.
В C++ все функции по умолчанию имеютраннее связывание, то есть компилятор и компоновщик решают, какая именно функция должна быть вызвана, до запуска программы. Виртуальные функции имеют позднее связывание, то есть при вызове функции нужное тело выбирается на этапе выполнения программы.
Встретив ключевое слово virtual, компилятор помечает, что для этого метода должно использоваться позднее связывание: для начала он создает для класса таблицу виртуальных функций, а в класс добавляет новый скрытый для программиста член — указатель на эту таблицу. Таблица виртуальных функций хранит в себе адреса всех виртуальных методов класса (по сути, это массив указателей), а также всех виртуальных методов базовых классов этого класса. Таблиц виртуальных функций будет столько, сколько есть классов, содержащих виртуальные функции — по одной таблице на класс.
3) ПРОГА


Вернуться к обсуждению:
Проверить и прокомментировать вариант решения тестового экзаменационного задания по теории C++ и Си C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2016, 20:21
Готовые ответы и решения:

Проверить и прокомментировать вариант решения тестового задания при приёме на работу
Приветствую! Сделал тестовое задание, которое попросил сделать один работодатель, на что получил...

Прошу проверить правильность решения задач по теории принятия решений
Добрый день! Прошу проверить, правильно ли решены задания? Мой вариант выполнения и числовые...

Проверить правильность решения задания по математике
Добрый день вот нарешал задания но не уверен что правильно а последние вообще не получается под...

Верстка тестового задания. Как на ваш взгляд?
Верстка тестового задания. Как на ваш взгляд? Ориентировочный бюджет времени - 8 часов, делала...

6
03.01.2016, 20:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.01.2016, 20:21
Помогаю со студенческими работами здесь

Оцените пожалуйста результаты выполнения тестового задания
Всем привет! Скинули тестовое задание на стажера PHP. Задание: Тестовое задание для кандидатов в...

Не взяли на работу из-за неправильно выполненного тестового задания, посмотрите?
Привет. Устраиваюсь в одну контору на Junior Python 40 тыс.р до вычета. Сегодня ответили: “Бла бла...

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

Запрограммировать проверку тестового задания на добавление натуральных чисел в пределах тысячи
Запрограммировать проверку тестового задания на добавление натуральных чисел в пределах тысячи....

Схема данных тестового задания: "Разработать систему ведения семейного бюджета."
Стоит задача: &quot;Разработать систему ведения семейного бюджета.&quot; при разработке схемы данных возник...

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru