Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет по летней практике за 1 курс (Аленка).docx
Скачиваний:
0
Добавлен:
09.11.2019
Размер:
922.33 Кб
Скачать

Министерство образования и науки Российской Федерации

САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИМЕНИ Н.Г. ЧЕРНЫШЕВСКОГО

УТВЕРЖДАЮ

Зав. кафедрой к.ф.-м.н., доцент А.С.Иванов

подпись, дата

Отчет о практике

студента 1 курса 111 группы факультета КНиИТ

Кургачевой Алены Дмитриевны

________________________________________________________________________________________________ фамилия, имя, отчество

учебная вид практики

математической кибернетики и компьютерных наук кафедра

семестр 2

продолжительность две недели с 2.07.12 по 14.07.12 кол. недель сроки практики

Руководитель практики

Мещеряков Александр Викторович

личная подпись, дата

Содержание

1. Строки 3

2. Функции 11

3. Организация файлового ввода/вывода 22

4. Структуры 30

5. Сортировки 34

6. Класс-контейнер вектор 39

7. Исключения 42

Вывод 44

Список использованных источников 45

  1. Строки

II Простые действия со строками, 12.

Даны целые положительные числа N1 и N2 и строки S1 и S2. Получить из этих строк новую строку, содержащую первые N1 символов строки S1 и последние N2 символов строки S2 (в указанном порядке).

Исходный код программы:

#include <iostream>

#include <string>

using namespace std;

int main() {

int n1, n2;

string s1, s2;

cin >> n1;

cin >> n2;

cin >> s1;

cin >> s2;

string si = s1.substr(0, n1);

string sj = s2.substr(s2.length() - n2, n2);

cout << si + sj << endl;

return 0;

}

Результат работы программы:

III Сложные действия со строками, 12.

Вывести все слова сообщения, которые содержат данную букву.

Исходный код программы:

#include <iostream>

#include <string>

using namespace std;

Int main() {

string s;

char symbol;

cin >> symbol;

getline(cin,s);

bool flag = false;

string ans = "";

s += " ";

for (int i = 0; i < s.size(); i++) {

if (s[i] == ' ') {

if (flag) {

cout << ans << endl;

}

flag = false;

ans = "";

}

else {

ans += s[i];

if (symbol == s[i]) {

flag = true;

}

}

} // for

return 0;

}

Результат работы программы:

IV Преобразование символов в числа, 12.

Дан текст. Определить, является ли он правильной десятичной записью целого числа.

Исходный код программы:

#include <iostream>

#include <string>

using namespace std;

Int main() {

string s;

getline(cin,s);

bool flag_do_tochky = true;

bool flag_ans = true;

for (int i = 0; i < s.size(); i++) {

if(isdigit(s[i])) {

continue;

}

if ((flag_do_tochky == true) && (s[i] == '.') && (s.size() - 1 != i)) {

flag_do_tochky = false;

}

else flag_ans = false;

}

cout << flag_ans << endl;

return 0;

}

Результат работы программы:

  1. Функции

I Разработка нерекурсивных функций, 12.

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

Исходный код программы:

#include <iostream>

using namespace std;

int div_count(int n){

int ans = 0;

for(int i = 1; i < n / 2 + 1; i++){

if (n % i == 0) {

ans += i;

}

}

return ans;

}