Задание к контрольной работе № 4
Исходные данные:
В школе № 321 проходили предметные олимпиады. В них успешно выступили ученики 9А, 9Б, 10А и 10Б классов. Классный руководитель 9А класса – учитель физики Лутченко Н.А. Классный руководитель 9Б класса – учитель математики Лифшиц И.И. Классный руководитель 10А класса – учитель химии Рогулина Р.П. Классный руководитель 10Б класса – учитель математики Шеина Т.Ю. В соревновании по истории медаль завоевал ученик 9А класса Петр Мешков; грамоту получил ученик 9А класса Иван Голубев; почетный приз – ученица 10Б класса Света Дубинина. В соревновании по математике медаль завоевала ученица 9А класса Людмила Першина; грамоту получила ученица 10А класса Анна Рогова; почетный приз – ученица 10А класса Римма Первина. В соревновании по физике медали получили ученик 9Б класса Алексей Яшин и ученица 10Б класса Воронова Мария. В соревновании по химии медаль получил ученик 9А класса Кирилл Антонов; приз подучил ученик 9А класса Семен Лобов. Возраст победителей: Мешков, Яшин и Лобов – 15 лет; Антонов и Першина – 16 лет; Воронова – 18 лет; остальным ребятам – по 17 лет. По итогам олимпиады за успехи своих воспитанников дипломами были награждены учителя Лутченко, Рогулина и Шеина.
Требуется выполнить следующие действия.
1. Спроектировать, используя нормализацию, и создать базу данных с информацией о результатах олимпиады.
2. Обратиться к БД со следующими за сохранить результаты:
За Получить список всех ребят, награжденных медалями. В списке указать: фамилию, имя, класс, предмет. Упорядочить список в алфавитном порядке по фамилиям.
За Получить список всех награжденных десятиклассников. В списке указать: фамилию, класс, классного руководителя, предмет, награду, возраст. Упорядочить по убыванию возраста.
За Получить список всех награжденных, классным руководителем которых является учитель математики. В списке указать: фамилию, класс, предмет, награда. Упорядочить по фамилиям.
За Получить список всех награжденных девятиклассников, классные руководители которых получили дипломы, и возраст которых не превышает 16 лет. В список включить: фамилию, имя, возраст. Упорядочить по фамилиям в алфавитном порядке.
#include <fstream>
#include <string>
#include <vector>
#include <iterator>
using namespace std;
int main()
{
vector<string> str;
string text;
ifstream fin("a.txt");
while (getline(fin, text)) {
str.push_back(text);
}
fin.close();
str.erase(str.begin() + 2);
ofstream fout("b.txt");
copy(str.begin(), str.end(), ostream_iterator<string>(fout, "\n"));
fout.close();
system("pause");
return 0;
}
begin
var a:=ArrRandom(10,-50,50);
writeln('1)'); a.Println;
writeln('Среднее арифметическое четных элементов = ',
a.Where(x->x mod 2=0).Average);
var c:=ArrRandom(10,-50,50);
writeln('2)'); c.Println;
writeln('max+min = ',c.Max+c.Min);
writeln('3)');
var n:=ReadInteger('n =');
var b:=SeqGen(n,random(5),x->x+random(1,5)).ToArray;
b.Println;
var s:=ReadInteger('s =');
var k:=b.Where(x->x<s).Count;
b:=b[:k]+Arr(s)+b[k:];
b.Println;
end.
Пример:
1)
-24 12 -31 -5 -45 36 27 43 46 -6
Среднее арифметическое четных элементов = 12.8
2)
24 -13 -20 -47 16 27 -33 11 22 -33
max+min = -20
3)
n = 10
0 4 5 7 11 15 19 20 24 25
s = 10
0 4 5 7 10 11 15 19 20 24 25