Среда программирования программы Borland Pascal 70

Введение



Данная программа, написанная в среде программирования Borland Pascal 7.0, является электронным тестирующим пособием в области химии для 8-11 классов. В данное время существует достаточное количество программ, охватывающих различные области наук, в частности химии, использующиеся учеными. В связи с тем, что химические закономерности весьма разнообразны, одной программой их невозможно описать. Так как сейчас в школах осуществляется более основательное внедрение компьютерных технологий в систему обучения, но тем не менее, узко распространены автоматизированные проверки знаний учащихся, мною решено представить программу, позволяющую тестировать знания в системе обучения среднего образования. Создание подобных программ предусматривает значительное облегчение работы преподавателей и позволяет учащимся расширить знания в области информационных технологий.




Разработка программы



Модель и метод решения задачи



Поставленная задача требует выполнения считывания данных из файлов, вводом данных с клавиатуры и их последующим сравнением. В процессе сопоставления возникает задача выявления правильности сравнения и учета в ходе работы программы. Также требуется подключения драйвера мыши и реализация программы на его основе.



Описание структуры данных



В процессе работы программы осуществляется считывание данных из четырех текстовых файлов, в которых используются данные строкового типа длиной равной 72 символам. Задается запись с полем строкового типа, который записывается в массив и производится его вывод на экран. Переменная строкового типа, введенная с клавиатуры ставится в соответствие дополнительной строке из файла вне массива.



Алгоритм решения задачи



a – переменная, вводимая с клавиатуры

b – переменная из дополнительной строки из файла, сравниваемая с переменной а

c – строковая переменная, считываемая из массива

n – количество истинности сравнения переменных a и b

k – номер считанного массива

m – количество массивов из файла






   начало

 Считывание  переменной с 

Строковая переменная а

   а = в

  n = n + 1

 k <= m

         n

    конец

  n = n + 0



Руководство программиста





  Основная программа

Модуль введения

         Файл 3

         Файл 4

        Файл 1

        Файл 2



Для осуществления задачи используются основная программа, выполняющая все основные функции и модульная программа, содержащая интерфейсную часть знакомства пользователя с программой. А также используются четыре входных файла.

В программе используются:

Функция Button Pressed(x1,y1,x2,y2: integer): boolean. Функция осуществляет проверку на нажатие клавиши в области заданной формальными параметрами целочисленного типа.

Процедура GraphInit – выполняет инициализацию графика и предусматривает проверку на ошибку, в результате чего, программа выходит из графического режима работы.

Процедура Face – прорисовывает интерфейс с помощью стандартных процедур библиотеки Graph.

Используются следующие процедуры библиотеки Graph:

SetFillStyle(pattern, color: word) – устанавливает образец штриховки и цвет.

Bar(x1,y1,x2,y2: integer) – рисует полосу заданного размера, используя текущий стиль и цвет.

SetColor(color: word) – устанавливает основной цвет, которым будет осуществляться рисование.

Line(x1,y1,x2.y2: integer) – рисует линию от точки (x1,y1) до точки (x2,y2).

OutTextxy(x,y: integer, textstring: string) – выводит текст в заданную область экрана.

Процедура PressButton – с помощью мыши производит нажатие кнопки, прорисованной в интерфейсе. Задается условие нажатия кнопки мыши в определенной области экрана, с последующим выполнением процедур указанных в условии.

Процедуры Question4, Question3, Question2, Question1 – выполняют считывание строковых данных длиной в 72 символа из файлов, указанных в процедурах. Задаются файловые переменные текстового типа. С помощью массива с девятью составляющими на экран выводятся строки записи q. Десятая дополнительная строка сравнивается со строковой переменной, введенной с клавиатуры и в случае истинности сравнения значение целочисленной переменной sum увеличивается на единицу. Результирующая сумма выводится на экран. Также в процедурах создается эффект протекания времени, которая выполняется переменной timer целочисленного типа, прибавляющей единицу в цикле, приостанавливая работу процедурой Delay до 50000 миллисекунд.

Модуль Entr реализуется с помощью библиотеки Graph для создания интерфейса в процедуре Enter.

Свеления о модулях.

Модуль – это автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний и, возможно, некоторые исполняемые операторы инициирующей части. В них выделяется некоторая видимая интерфейсная часть, в которой сконцентрированы описания глобальных типов, констант и переменных, а также приводятся заголовки глобальных процедур и функций. Появление объектов в интерфейсной части делает их доступными для других модулей и для основной программы. Тела процедур и функций располагаются в исполняемой части модуля, которая может быть скрыта от пользователей.

Модуль имеет следующую структуру:



UNIT<имя>; {начинает заголовок модуля}

INTERFACE {начинает интерфейсную часть модуля}

<интерфейсная часть>

IMPLEMENTATION { начинает исполняемую часть}

<исполняемая часть>

BEGIN {начинает инициирующую часть модуля}

<инициирующая часть>

END. {признак конца модуля}



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

Для правильной работы среды Турбо Паскаля и возможности подключения средств, имя следующее за UNIT должно совпадать с именем дискового файла, в который помещается исходный текст модуля. Имя модуля служит для его связывания с другими модулями и основной программой.

В интерфейсной части содержатся объявления всех глобальных объектов модуля, которые должны стать доступными основной программе и другим модулям. При объявлении глобальных подпрограмм в интерфейсной части указывается только их заголовок.

Исполняемая часть содержит описания подпрограмм, объявленных в интерфейсной части. В ней могут объявляться локальные для модуля объекты – вспомогательные типы, константы, переменные и блоки. Описанию подпрограммы, объявленной в интерфейсной части модуля, в исполняемой части должен предшествовать заголовок, в котором можно опускать список формальных переменных, так как они уже описаны в интерфейсной части.

Инициирующая часть завершает модуль. Она может отсутствовать вместе с начинающим словом BEGIN или быть пустой. В инициирующей части размещаются исполняемые операторы, содержащие некоторый фрагмент программы. Эти операторы исполняются до передачи управления основной программе и обычно используются для подготовки ее к работе.

Определены три режима компиляции модулей:

При компиляции в режиме COMPILE, все упоминающиеся в предложении USES модули должны быть предварительно откомпилированы и результаты помещены в одноименные файлы с расширением TPU.

В режиме MAKE компилятор проверяет наличие TPU-файлов для каждого объявленного модуля. Если какой-либо из файлов не обнаружен, система пытается отыскать одноименный файл с расширением PAS, и если искомый файл найден, приступает к его компиляции. Кроме того, в этом режиме система следит за возможными изменениями исходного текста любого используемого модуля. Если в PAS-файл внесены какие-либо изменения, то независимо от того, есть ли уже в каталоге соответствующий TPU-файл или нет, система осуществляет его компиляцию перед компиляцией основной программы.

В режиме BUILD существующие TPU-файлы игнорируются, и система пытается отыскать и компилировать соответствующий PAS-файл для каждого объявленного в предложении USES модуля.

Файловые переменные, использованные в программе являются текстовыми.

Сведения о файлах

Файл это либо именованная часть внешней памяти ПК, либо логическое устройство – потенциальный источник или приемник информации.

Любой файл имеет три характерные особенности.

У файла есть имя, что дает возможность программе работать одновременно с несколькими файлами.

Файл содержит компоненты одного типа.

Длина вновь создаваемого файла не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.

Файловый тип можно задать одним из трех способов:

<имя> = file of <тип> - типизированные файлы;

<имя> = text – текстовые файлы;

<имя> = file – нетипизированные файлы.

Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре Assign:



Assign(<файловая переменная>, <имя файла>)



Инициировать файл означает указать для этого файла направление передачи данных. В Турбо Паскале можно открыть файл для чтения, для записи информации, а также для чтения и записи одновременно.

Для чтения файл инициируется с помощью стандартной процедуры Reset(<файловая переменная>).

Стандартная процедура Rerite(<файловая переменная>) инициирует запись информации в файл, связанный ранее с файловой переменной. Этой процедурой нельзя инициировать запись информации в ранее существовавший дисковый файл: при выполнении старый файл уничтожается.

Стандартная процедура Append(<файловая переменная>) инициирует запись в ранее существовавший текстовый файл для его расширения.



Руководство пользователя



После запуска программы, программы, производится прорисовка интерфейса, после чего пользователю предоставляется выбор уровней сложности тестирования. Первые три уровня, с соответствующим увеличением сложности, содержат теоретические вопросы, на которые пользователь отвечает введением номера варианта с клавиатуры. На обдумывание вопроса дается 30 секунд, после чего экран очищается и программа ожидает ввод ответа. В процессе работы следует дождаться истечения времени и появления курсора в области ответов, после этого программа примет выбранный вариант. После завершения вывода на экран всех вопросов, программа выставляет оценку в зависимости от количества правильных ответов, которое также выводится на экран. Четвертый уровень содержит задачи по химии, на решение которых дается 120 секунд. Первый и третий уровни составляют по 30 вопросов, второй 20, четвертый 10.













Листинг программы



Основная программа



uses CRT, Graph, Mouse, DOS, Entr;

type q = record

a: string[72];

end;

var

f1,f2,f3,f4: text;

mas: array[1..9] of q;

e: array[1..670] of string[72];

i,j,x,y,sum,timer: integer;

z,mark,s1,s2,s3,s4: string;

procedure GraphInit;

var Driver, Mode, Error: integer;

begin

Driver:=Detect;

InitGraph(Driver,Mode,'');

Error:=GraphResult;

if Error<>grok then

begin

Writeln(GraphErrorMsg(Error));

halt;

end;

end;

function ButtonPressed(x1,y1,x2,y2:integer):boolean;

{функция на проверку нажатия кнопки}

var

Mx,My:integer;

ctt:integer;

begin

GetMouse;

ButtonPressed:= (but=1)and(m>x1)and(m<x2)and(n>y1)and(n<y2);

end;

procedure Face; {прорисовка интерфейса}

begin

SetFillStyle(1,10);

Bar(10,10,GetMaxx-10,GetMaxy-10);

SetColor(15);

Line(20,20,620,20);

Line(20,20,20,150);

SetColor(0);

Line(620,20,620,150);

Line(20,150,620,150);

SetColor(15);

Line(20,195,450,195);

Line(20,195,20,210);

SetColor(0);

Line(20,210,450,210);

Line(450,195,450,210);

SetColor(15);

Line(20,215,450,215);

Line(20,215,20,230);

SetColor(0);

Line(20,230,450,230);

Line(450,215,450,230);

SetColor(15);

Line(20,235,450,235);

Line(20,235,20,250);

SetColor(0);

Line(20,250,450,250);

Line(450,235,450,250);

SetColor(15);

Line(20,255,450,255);

Line(20,255,20,270);

SetColor(0);

Line(20,270,450,270);

Line(450,255,450,270);

OutTextxy(35,340,'время');

OutTextxy(140,340,'ответ');

SetColor(15);

Line(20,390,100,390);

Line(100,360,100,390);

Line(120,390,200,390);

Line(200,360,200,390);

SetFillStyle(1,0);

Bar(20,360,99,389);

Bar(120,360,199,389);

SetColor(15);

Line(520,430,600,430);

Line(520,430,520,460);

SetColor(0);

Line(520,460,600,460);

Line(600,430,600,460);

OutTextxy(540,440,'ВЫХОД');

SetColor(15);

Line(420,430,500,430);

Line(420,430,420,460);

SetColor(0);

Line(420,460,500,460);

Line(500,430,500,460);

OutTextxy(430,440,'Уровень4');

SetColor(15);

Line(320,430,400,430);

Line(320,430,320,460);

SetColor(0);

Line(320,460,400,460);

Line(400,430,400,460);

OutTextxy(330,440,'Уровень3');

SetColor(15);

Line(220,430,300,430);

Line(220,430,220,460);

SetColor(0);

Line(220,460,300,460);

Line(300,430,300,460);

OutTextxy(230,440,'Уровень2');

SetColor(15);

Line(120,430,200,430);

Line(120,430,120,460);

SetColor(0);

Line(120,460,200,460);

Line(200,430,200,460);

OutTextxy(130,440,'Уровень1');

Initmouse;

Showmouse;

SetMouseYRange(0,438);

end;

procedure Question1; forward;

procedure Question2; forward;

procedure Question3; forward;

procedure Question4; forward;

procedure PressButton;{Нажатие кнопки с помощью мыши}

begin

repeat

if buttonpressed(420,430,500,450) then

begin

HideMouse;

SetColor(0);

Line(420,430,500,430);

Line(420,430,420,460);

SetColor(15);

Line(420,460,500,460);

Line(500,430,500,460);

OutTextxy(440,440,'Уровень4');

Question4;

ShowMouse;

PressButton;

end;

if buttonpressed(320,430,400,450) then

begin

HideMouse;

SetColor(0);

Line(320,430,400,430);

Line(320,430,320,460);

SetColor(15);

Line(320,460,400,460);

Line(400,430,400,460);

OutTextxy(330,440,'Уровень3');

Question3;

ShowMouse;

PressButton;

end;

if buttonpressed(220,430,300,450) then

begin

HideMouse;

SetColor(0);

Line(220,430,300,430);

Line(220,430,220,460);

SetColor(15);

Line(220,460,300,460);

Line(300,430,300,460);

OutTextxy(230,440,'Уровень2');

Question2;

ShowMouse;

PressButton;

end;

if buttonpressed(120,430,200,450) then

begin

HideMouse;

SetColor(0);

Line(120,430,200,430);

Line(120,430,120,460);

SetColor(15);

Line(120,460,200,460);

Line(200,430,200,460);

OutTextxy(130,440,'Уровень1');

Question1;

ShowMouse;

PressButton;

end;

if buttonpressed(520,430,600,450) then

begin

SetColor(15);

Line(520,430,600,430);

Line(520,430,520,460);

SetColor(0);

Line(520,460,600,460);

Line(600,430,600,460);

OutTextxy(540,440,'ВЫХОД');

Halt;

end;

until false;

end;

procedure Question4;

begin

Face;

Assign(f4,'file4.txt');

Reset(f4);

begin

timer:=0;

sum:=0;

for j:=1 to 10 do

begin

Face;

HideMouse;

SetColor(0);

Line(420,430,500,430);

Line(420,430,420,460);

SetColor(15);

Line(420,460,500,460);

Line(500,430,500,460);

OutTextxy(430,440,'Уровень4');

ShowMouse;

i:=1;

y:=50;

x:=30;

repeat

Readln(f4,mas[i].a);

SetColor(0);

OutTextxy(x,y,mas[i].a);

if i=4 then y:=y+90 else

y:=y+20;

i:=i+1;

until i=10;

timer:=0;

repeat

timer:=timer+1;

OutTextxy(50,370,s4);

Delay(50000);

SetColor(15);

Str(timer:2,s4);

OutTextxy(50,370,s4);

SetFillStyle(1,0);

Bar(20,360,99,389);

until timer=90;

Face;

HideMouse;

SetColor(0);

Line(420,430,500,430);

Line(420,430,420,460);

SetColor(15);

Line(420,460,500,460);

Line(500,430,500,460);

OutTextxy(430,440,'Уровень4');

ShowMouse;

SetFillStyle(1,10);

Bar(35,25,45,35);

Str(j:2,s1);

SetColor(0);

OutTextxy(40,30,s1);

Readln(f4,mas[i].a);

SetFillStyle(1,0);

Bar(120,360,199,389);

SetColor(15);

OutTextxy(150,373,'і');

TextColor(15);

Gotoxy(20,24);

Readln(z);

if z=mas[i].a then sum:=sum+1;

end;

if sum<4 then mark:='2';

if (sum>=4) and (sum<6) then mark:='3';

if (sum>=6) and (sum<8) then mark:='4';

if sum>=8 then mark:='5';

SetColor(0);

SetTextStyle(0,0,1);

OutTextxy(360,320,mark);

OutTextxy(250,320,'Ваша оценка - ');

Str(sum:2,s3);

OutTextxy(250,340,'Правильные ответы - ');

OutTextxy(400,340,s3);

end;

Close(f4);

end;

procedure Question3;

begin

Face;

Assign(f3,'file3.txt');

Reset(f3);

begin

timer:=0;

sum:=0;

for j:=1 to 20 do

begin

Face;

HideMouse;

SetColor(0);

Line(320,430,400,430);

Line(320,430,320,460);

SetColor(15);

Line(320,460,400,460);

Line(400,430,400,460);

OutTextxy(330,440,'Уровень3');

ShowMouse;

i:=1;

y:=50;

x:=30;

repeat

Readln(f3,mas[i].a);

SetColor(0);

OutTextxy(x,y,mas[i].a);

if i=4 then y:=y+90 else

y:=y+20;

i:=i+1;

until i=10;

timer:=0;

repeat

timer:=timer+1;

OutTextxy(50,370,s4);

Delay(50000);

SetColor(15);

Str(timer:2,s4);

OutTextxy(50,370,s4);

SetFillStyle(1,0);

Bar(20,360,99,389);

until timer=30;

Face;

SetColor(0);

Line(320,430,400,430);

Line(320,430,320,460);

SetColor(15);

Line(320,460,400,460);

Line(400,430,400,460);

OutTextxy(330,440,'Уровень3');

ShowMouse;

SetFillStyle(1,10);

Bar(35,25,45,35);

Str(j:2,s1);

SetColor(0);

OutTextxy(40,30,s1);

Readln(f3,mas[i].a);

SetFillStyle(1,0);

Bar(120,360,199,389);

SetColor(15);

OutTextxy(150,373,'і');

TextColor(15);

Gotoxy(20,24);

Readln(z);

if z=mas[i].a then sum:=sum+1;

end;

if sum<10 then mark:='2';

if (sum>=10) and (sum<15) then mark:='3';

if (sum>=15) and (sum<17) then mark:='4';

if sum>=17 then mark:='5';

SetColor(0);

SetTextStyle(0,0,1);

OutTextxy(360,320,mark);

OutTextxy(250,320,'Ваша оценка - ');

Str(sum:2,s3);

OutTextxy(250,340,'Правильные ответы - ');

OutTextxy(400,340,s3);

end;

Close(f3);

end;

procedure Question2;

begin

Face;

Assign(f2,'file2.txt');

Reset(f2);

begin

timer:=0;

sum:=0;

for j:=1 to 30 do

begin

Face;

HideMouse;

SetColor(0);

Line(220,430,300,430);

Line(220,430,220,460);

SetColor(15);

Line(220,460,300,460);

Line(300,430,300,460);

OutTextxy(230,440,'Уровень2');

ShowMouse;

i:=1;

y:=50;

x:=30;

repeat

Readln(f2,mas[i].a);

SetColor(0);

OutTextxy(x,y,mas[i].a);

if i=4 then y:=y+90 else

y:=y+20;

i:=i+1;

until i=10;

timer:=0;

repeat

timer:=timer+1;

OutTextxy(50,370,s4);

Delay(50000);

SetColor(15);

Str(timer:2,s4);

OutTextxy(50,370,s4);

SetFillStyle(1,0);

Bar(20,360,99,389);

until timer=30;

Face;

HideMouse;

SetColor(0);

Line(220,430,300,430);

Line(220,430,220,460);

SetColor(15);

Line(220,460,300,460);

Line(300,430,300,460);

OutTextxy(230,440,'Уровень2');

ShowMouse;

SetFillStyle(1,10);

Bar(35,25,45,35);

Str(j:2,s1);

SetColor(0);

OutTextxy(40,30,s1);

Readln(f2,mas[i].a);

SetFillStyle(1,0);

Bar(120,360,199,389);

SetColor(15);

OutTextxy(150,373,'і');

TextColor(15);

Gotoxy(20,24);

Readln(z);

if z=mas[i].a then sum:=sum+1;

end;

if sum<15 then mark:='2';

if (sum>=15) and (sum<20) then mark:='3';

if (sum>=20) and (sum<25) then mark:='4';

if sum>=25 then mark:='5';

SetColor(0);

SetTextStyle(0,0,1);

OutTextxy(360,320,mark);

OutTextxy(250,320,'Ваша оценка - ');

Str(sum:2,s3);

OutTextxy(250,340,'Правильные ответы - ');

OutTextxy(400,340,s3);

end;

Close(f2);

end;

procedure Question1;

begin

Face;

Assign(f1,'file1.txt');

Reset(f1);

begin

timer:=0;

sum:=0;

for j:=1 to 20 do

begin

Face;

HideMouse;

SetColor(0);

Line(120,430,200,430);

Line(120,430,120,460);

SetColor(15);

Line(120,460,200,460);

Line(200,430,200,460);

OutTextxy(130,440,'Уровень1');

ShowMouse;

i:=1;

y:=50;

x:=30;

repeat

Readln(f1,mas[i].a);

SetColor(0);

OutTextxy(x,y,mas[i].a);

if i=4 then y:=y+90 else

y:=y+20;

i:=i+1;

until i=10;

timer:=0;

repeat

timer:=timer+1;

OutTextxy(50,370,s4);

Delay(50000);

SetColor(15);

Str(timer:2,s4);

SetFillStyle(1,0);

Bar(20,360,99,389);

until timer=30;

Face;

SetColor(0);

Line(120,430,200,430);

Line(120,430,120,460);

SetColor(15);

Line(120,460,200,460);

Line(200,430,200,460);

OutTextxy(130,440,'Уровень1');

ShowMouse;

SetFillStyle(1,10);

Bar(35,25,45,35);

Str(j:2,s1);

SetColor(0);

OutTextxy(40,30,s1);

Readln(f1,mas[i].a);

SetFillStyle(1,0);

Bar(120,360,199,389);

SetColor(15);

OutTextxy(150,373,'і');

TextColor(15);

Gotoxy(20,24);

Readln(z);

if z=mas[i].a then sum:=sum+1;

end;

if sum<10 then mark:='2';

if (sum>=10) and (sum<15) then mark:='3';

if (sum>=15) and (sum<17) then mark:='4';

if sum>=17 then mark:='5';

SetColor(0);

SetTextStyle(0,0,1);

OutTextxy(360,320,mark);

OutTextxy(250,320,'Ваша оценка - ');

Str(sum:2,s3);

OutTextxy(250,340,'Правильные ответы - ');

OutTextxy(400,340,s3);

end;

Close(f1);

end;

" " " " " " " " " " " " " " " " " " "Тело программы" " " " " " " " " " " " " " " "

Begin

GraphInit;

Enter;

SetTextStyle(0,0,1);

Face;

PressButton;

Readln;

End.

Модуль Entr

unit Entr;

interface

uses CRT, Graph;

var

x,y,i,j,a,b:integer;

procedure Enter;

implementation

procedure Enter;

begin

x:=325; y:=225;

for i:=1 to 300 do

begin

for j:=5 to 1000 do

Delay(5);

PutPixel(random(640),random(480),15);

end;

x:=325; y:=225;

for i:=1 to 3000 do

begin

Delay(5);

for j:=5 to 1000 do

SetColor(random(16));

Line (x,y,random(800),random(600));

end;

for i:=1 to 100 do

begin

SetTextStyle(0,0,3);

SetColor(0);

OutTextxy(110,140,'ДОБРО ПОЖАЛОВАТЬ');

OutTextxy(140,170,'В ТЕСТИРУЮЩУЮ');

OutTextxy(160,200,'ЛАБАРАТОРИЮ');

OutTextxy(170,250,'ПРОФЕССОРА');

SetTextStyle(0,0,4);

SetColor(15);

OutTextxy(150,300,'АЛХИМИКУСА');

end;

SetFillStyle(1,0);

Bar(0,0,GetMaxx,GetMaxy);

end;

End.




Входные файлы



Файл1

Поглощение одного вещества во всем объеме.

1 адсорбция

2 абсорбция

3 десорбция

4 элюция

2

Способность атомов соединяться с другими атомами в определенных соотношениях.

1 электроотрицательность

2 восстановление

3 полярность

4 валентность

4

Какой объем занимает один моль любого газа?

1 23.2л

2 22.4л

3 24.4л

4 22.2л

2

Каждый отдельный вид материи, обладающий при данных условиях определенными физическими свойствами.

1 кислород

2 вещество

3 вода

4 элемент

2

Явления при которых образуются новые.

1 химические

2 физические

3 восстановительные

4 окислительные

1

Наименьшая частица вещества, обладающая его химическими свойствами.

1 радикал

2 электрон

3 атом

4 молекула

4

Наименьшая частица элемента, обладающая его химическими свойствами.

1 ион

2 радикал

3 молекула

4 атом

4

Вид атомов, характеризующийся определенной совокупностью свойств.

1 радикалы

2 ионы

3 элементы

4 молекулы

3

Существование химического элемента в виде нескольких простых веществ.

1 аллотропия

2 полимерность

3 адсорбция

4 валентность

1

Количество вещества, содержащее столько молекул, атомов, ионов, электронов, или других структурных единиц, сколько содержится атомов в

12г изотопа углерода (12)С.

1 объем

2 моль

3 нормальность

4 полярность

2

Количество элемента, которое соединяется с одним молем атомов водорода или замещает то же количество атомов водорода в химических реакциях.

1 масса

2 эквивалент

3 объем

4 моль

2

Соединения элементов с кислородом.

1 кислоты

2 основания

3 оксиды

4 соли

3

Вещества, которые состоят из металла и одновалентных групп ОН, число которых равно валентности металла.

1 кислоты

2 основания

3 оксиды

4 соли

2

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

1 кислоты

2 основания

3 оксиды

4 соли

1

Продукт замещения водорода в кислоте на металл или гидроксогрупп в основании на кислотный остаток.

1 кислоты

2 основания

3 оксиды

4 соли

1

Процесс соединений с кислородом с выделением теплоты и света.

1 окисление

2 горение

3 восстановление

4 гидратация

2

Отношение массы вещества к количеству вещества.

1 нормальная масса

2 молярная масса

3 молекулярная масса

4 атомная масса

2

Отношение массы данного вещества в системе к массе всей системы.

1 процентная доля вещества

2 молярная доля вещества

3 объемная доля вещества

4 массовая доля вещества

4

Реакция, в результате которого из одного сложного вещества образуется несколько простых веществ.

1 реакция соединения

2 реакция разложения

3 реакция обмена

4 реакция замещения

2

Отношение объема газа к количеству вещества этого газа.

1 молекулярный объем газа

2 нормальный объем газа

3 молярный объем газа

4 мольный объем газа

3



Файл 2

Как называются вещества, растворы и расплавы которых диссоциируют на ионы и пропускают электрический ток?

1 гидраты

2 оксиды

3 электролиты

4 углеводы

3 

Аллотропное видоизменение кислорода.

1 озон

2 оксид

3 гидрат

4 основание

1

Какие элементы не замещают водород?

1 цинк, кадмий, ртуть

2 скандий, титан, ванадий, хром

3 марганец, железо, кобальт, никель

4 медь, ртуть, серебро, золото, платина

4

Как называется взаимодействие вещества с водой, при котором составные части вещества соединяются с составными частями воды?

1 восстановление

2 гидролиз

3 электролиз

4 окисление

2

Как называется реакция, при котором изменяется степень окисления элементов, участвующих в процессе?

1 окислительно-восстановительная реакция

2 ионно-обменная реакция

3 гидролиз

4 ионно-основная реакция

1

Какая энергия требуется для отрыва электрона от атома, с превращением последнего в положительный ион?

1 энергия окисления

2 энергия восстановления

3 энергия ионизации

4 энергия расщепления

3

Элементы, которые содержат на внешней электронной оболочке 1-3

электронов.

1 металлы

2 неметаллы

3 галогены

4 инертные газы

1

Сколько электронов содержат на внешней оболочке элементы первой группы.

1 4

2 3

3 2

4 1

4

Состояния электрона, характеризующиеся различными значениями орбитального квантового числа.

1 энергетические подуровни

2 энергетические оболочки

3 квант

4 электронные орбитали

1

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

1 атомная электронная орбиталь

2 электронное облако

3 электронная оболочка

4 энергетический уровень

1

К какому орбиталю относятся переходные элементы, расположенные от скандия до никеля по возрастанию атомного порядка.

1 s

2 p

3 d

4 f

3

Атомы, обладающие одинаковым зарядом ядра, но разным числом нейтронов.

1 изотопы

2 радикалы

3 электроны

4 ионы

1

Вид атомов, характеризующийся определенной величиной положительного заряда ядра.

1 нейтрон

2 молекула

3 химическое вещество

4 химический элемент

4

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

1 донорно-акцепторная

2 полярная

3 неполярная

4 ионная

1

Связь, осуществляющаяся в результате взаимного электростатического притяжения противоположно заряженных ионов.

1 ионная

2 ковалентная

3 полярная

4 неполярная

1

Форма энергии, скрытая в веществах и освобождающаяся при химических реакциях.

1 внутренняя энергия

2 внешняя энергия

3 ядерная энергия

4 тепловая энергия

2

Изменение концентрации какого-либо из веществ, вступающих в реакцию или образующихся при реакции, происходящее за единицу времени.

1 скорость реакции

2 фаза реакции

3 коэффициент реакции

4 степень реакции

1

Вещества, не расходующиеся в результате протекания реакции, но влияющие на ее скорость.

1 восстановители

2 окислители

3 ионы

4 катализаторы

4

Какую связь в молекуле воды образуют две электронные пары?

1 молекулярную

2 ковалентную

3 ионную

4 металлическую

2

Положительно заряженные ионы.

1 катионы

2 радикалы

3 анионы

4 электроны

1

Отрицательно заряженные ионы.

1 катионы

2 радикалы

3 анионы

4 электроны

3

Степень диссоциации при разбавлении раствора:

1 возрастает

2 убывает

3 не изменяется

4 исчезает

1

Электролиты, диссоциирующие в растворах с образованием ионов водорода.

1 кислоты

2 соли

3 основания

4 оксиды

1

Электролиты, диссоциирующие в растворах с отщеплением гидрокис-ионов.

1 кислоты

2 соли

3 основания

4 оксиды

3

Какую реакцию имеют растворы солей, образованных слабой кислотой и сильным основанием?

1 щелочную

2 окислительную

3 восстановительную

4 кислую

1

Какую реакцию имеют растворы солей, образованных сильной кислотой и слабым основанием?

1 щелочную

2 окислительную

3 восстановительную

4 кислую

4

Процесс отдачи электронов, сопровождающийся повышением степени окисленности элемента.

1 ионизация

2 восстановление

3 эмиссия

4 окисление

4

Процесс присоединения электронов, сопровождающийся понижением степени окисленности элемента.

1 ионизация

2 восстановление

3 эмиссия

4 окисление

2

Совокупность процессов, происходящих при прохождении постоянного электрического тока через электрохимическую систему, состоящую из двух электродов и расплава или раствора электролита.

1 электролиз

2 гидролиз

3 катализ

4 восстановление

1

Что такое галогены?

1 элементы 3-й группы периодической системы

2 элементы 4-й группы периодической системы

3 элементы 7-й группы периодической системы

4 органические соединения

3



Файл 3

Смеси сложных эфиров, образованных высшими жирными кислотами и трехатомным глицерином.

1 алканы

2 углеводы

3 жиры

4 кислоты

3

Смеси сложных эфиров, образованных непредельными кислотами и трехатомным глицерином.

1 растительные масла

2 животные жиры

3 кетоны

4 аминокислоты

1

Реакция образования сложного эфира из кислоты и спирта.

1 омыление

2 этерификация

3 полимеризация

4 мономеризация

2

Реакция щелочного гидролиза сложных эфиров.

1 омыление

2 этерификация

3 полимеризация

4 мономеризация

1

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

1 этерификация

2 поликонденсация

3 мономеризация

4 полимеризация

3

Смешивание каучука с серой и нагревание до определенной температуры.

1 полимеризация

2 мономеризация

3 поликонденсация

4 вулканизация

4

Что такое алканы?

1 непредельные углеводороды ряда этилена

2 непредельные углеводороды с двумя двойными связями

3 предельные углеводороды

4 непредельные ацетиленовые углеводороды

3

Что такое алкены?

1 непредельные углеводороды ряда этилена

2 непредельные углеводороды с двумя двойными связями

3 предельные углеводороды

4 непредельные ацетиленовые углеводороды

1

Что такое алкины?

1 непредельные углеводороды ряда этилена

2 непредельные углеводороды с двумя двойными связями

3 предельные углеводороды

4 непредельные ацетиленовые углеводороды

4

Что такое алкадиены?

1 непредельные углеводороды ряда этилена

2 непредельные углеводороды с двумя двойными связями

3 предельные углеводороды

4 непредельные ацетиленовые углеводороды

2

Со сколькими радикалами может соединяться углерод?

1 4

2 3

3 2

4 1

1

Какую форму принимает в пространстве молекула метана?

1 тетраэдр

2 октаэдр

3 икосаэдр

4 ромбоэдр

1

Соединения, имеющие одинаковые молекулярные формулы, но разные структурные формулы.

1 углероды

2 полимеры

3 изомеры

4 галогены

3

Сколько изомеров может быть у пропана?

1 4

2 3

3 2

4 1

3

К какой классификации относится бензол?

1 соединения с открытой цепью атомов углерода

2 соединения с открытой цепью атомов углерода

3 гетероциклические соединения

4 галогенопроизводные углеводородов

2

Процесс расщепления углеводородов с длинными цепями на молекулы меньшей длины.

1 перегонка

2 крекинг

3 мономеризация

4 дегидрирование

2

Что образуется при полимеризации трех молекул ацетилена?

1 фенол

2 толуол

3 бензол

4 стирол

3

Что образуется при нитрировании толуола?

1 мононитротолуол

2 динитротолуол

3 тринитротолуол

4 тетранитротолуол

3

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

1 альдегиды

2 фенолы

3 спирты

4 кислоты

3

Что образуется при взаимодействии спиртов или фенолов с кислотами?

1 альдегиды

2 сложные эфиры

3 углеводы

4 алкоголяты

2



Файл 4

Определите количество вещества брома, содержащееся в молекулярном броме массой 12.8г.

1 0.01 моль

2 0.05 моль

3 0.08 моль

4 0.1 моль

3

Оксид углерода (IV) находится в сосуде, объем которого равен 20л, при температуре 22 градус и давлении 500кПа. Определите массу оксида углерода(IV).

1 201.1г

2 198.6г

3 179.4г

4 163.8г

3

При пропускании сероводорода объемом 2.8л (нормальные условия) через избыток раствора сульфата меди(II) образовался осадок массой 11.4г. Определите выход продукта реакции.

1 100%

2 95%

3 90%

4 85%

2

В какой группе и в каком периоде периодической системы элементов

Д. И. Менделеева находится элемент с порядковым номером 42?

1 III период, I группа

2 I период, II группа

3 V период, V группа

4 V период, VI группа

4

К раствору массой 250г, массовая доля соли в котором составляет 10%, прилили воду объемом 150мл. приняв плотность воды равной 1г/мл, определите массовую долю соли в полученном растворе.

1 5.25%

2 6.25%

3 7.25%

4 8.25%

2

Вычислите массовую долю серной кислоты в растворе, в котором массовая доля оксида серы(VI) равна %.

1 2.9%

2 2.9%

3 3.9%

4 4.9%

4

Из природного газа объемом 40л (нормальные условия) получили хлорметан массой 30.3г. Определите объемную долю метана в природном газе, если выход хлорметана равен 40% от теоретически возможного.

1 64%

2 75%

3 84%

4 97%

3

Какая масса фенолята натрия может быть получена при взаимодействии фенола массой 4.7г с раствором гидроксида натрия объемом 4.97мл и плотностью 1.38г/мл. Массовая доля гидроксида натрия в растворе составляет 35%.

1 3.3г

2 4.7г

3 5.8г

4 6.2г

3

Какая масса серебра будет получена в результате реакции "серебряного зеркала", если к избытку аммиачного раствора оксида серебра добавить водный раствор массой 50г с массовой долей пропаналя 11.6%

1 16.8г

2 21.6г

3 25.5г

4 28.2г

2

Сожгли смесь метиламина и этиламина массой 10.7г, получив азот объемом 3.36л (нормальные условия). Определите массовые доли аминов в смеси.

1 метиламин - 57.9%, этиламин - 42.1%

2 метиламин - 55.6%, этиламин - 44.4%

3 метиламин - 46.3%, этиламин - 53.7%

4 метиламин - 39.2%, этиламин - 60.8%

1