Слово электричество происходит от греческого названия янтаря - ελεκτρον .
Янтарь - это окаменевшая смола хвойных деревьев. Древние заметили, что если потереть янтарь куском ткани, то он будет притягивать легкие предметы или пыль. Это явление, которое мы сегодня называем статическим электричеством, можно наблюдать, и натерев тканью эбонитовую или стеклянную палочку или же просто пластмассовую линейку.

Пластмассовая линейка, которую хорошенько потерли бумажной салфеткой, притягивает мелкие кусочки бумаги (рис. 22.1). Разряды статического электричества вы могли наблюдать, расчесывая волосы или снимая с себя нейлоновую блузку или рубашку. Не исключено, что вы ощущали электрический удар, прикоснувшись к металлической дверной ручке после того, как встали с сиденья автомобиля или прошлись по синтетическому ковру. Во всех этих случаях объект приобретает электрический заряд благодаря трению; говорят, что происходит электризация трением.

Все ли электрические заряды одинаковы или существуют различные их виды? Оказывается, существует два вида электрических зарядов, что можно доказать следующим простым опытом. Подвесим пластмассовую линейку за середину на нитке и хорошенько потрем ее куском ткани. Если теперь поднести к ней другую наэлектризованную линейку, мы обнаружим, что линейки отталкивают друг друга (рис. 22.2, а).
Точно так же, поднеся к одной наэлектризованной стеклянной палочке другую, мы будем наблюдать их отталкивание (рис. 22.2,6). Если же заряженный стеклянный стержень поднести к наэлектризованной пластмассовой линейке, они притянутся (рис. 22.2, в). Линейка, по-видимому, обладает зарядом иного вида, нежели стеклянная палочка.
Экспериментально установлено, что все заряженные объекты делятся на две категории: либо они притягиваются пластмассой и отталкиваются стеклом, либо, наоборот, отталкиваются пластмассой и притягиваются стеклом. Существуют, по-видимому, два вида зарядов, причем заряды одного и того же вида отталкиваются, а заряды разных видов притягиваются. Мы говорим, что одноименные заряды отталкиваются, а, разноименные притягиваются.

Американский государственный деятель, философ и ученый Бенджамин Франклин (1706-1790) назвал эти два вида зарядов положительным и отрицательным. Какой заряд как назвать, было совершенно безразлично;
Франклин предложил считать заряд наэлектризованной стеклянной палочки положительным. В таком случае заряд, появляющийся на пластмассовой линейке (или янтаре), будет отрицательным. Этого соглашения придерживаются и по сей день.

Разработанная Франклином теория электричества в действительности представляла собой концепцию "одной жидкости": положительный заряд рассматривался как избыток «электрической жидкости» против ее нормального содержания в данном объекте, а отрицательный - как ее недостаток. Франклин утверждал, что, когда в результате какого-либо процесса в одном теле возникает некоторый заряд, в другом теле одновременно возникает такое же количество заряда противоположного вида. Названия "положительный" и "отрицательный" следует поэтому понимать в алгебраическом смысле, так что суммарный заряд, приобретаемый телами в каком-либо процессе, всегда равен нулю.

Например, когда пластмассовую линейку натирают бумажной салфеткой, линейка приобретает отрицательный заряд, а салфетка-равный по величине положительный заряд. Происходит разделение зарядов, но их сумма равна нулю.
Этим примером иллюстрируется твердо установленный закон сохранения электрического заряда , который гласит:

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

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

Электрические заряды в атомах

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

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

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

Обычно предметы, наэлектризованные трением, лишь некоторое время удерживают заряд и, в конечном итоге, возвращаются в электрически нейтральное состояние. Куда исчезает заряд? Он «стекает» на содержащиеся в воздухе молекулы воды.
Дело в том, что молекулы воды полярны: хотя в целом они электрически нейтральны, заряд в них распределен неоднородно (рис. 22.3). Поэтому лишние электроны с наэлектризованной линейки будут «стекать» в воздух, притягиваясь к положительно заряженной области молекулы воды.
С другой стороны, положительный заряд предмета будет нейтрализоваться электронами, которые слабо удерживаются молекулами воды в воздухе. В сухую погоду влияние статического электричества гораздо заметнее: в воздухе содержится меньше молекул воды и заряд стекает не так быстро. В сырую дождливую погоду предмет не в состоянии надолго удержать свой заряд.

Изоляторы и проводники

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

Металлы обычно являются хорошими проводниками; большинство других веществ изоляторы (впрочем, и изоляторы чуть-чуть проводят электричество). Любопытно, что почти все природные материалы попадают в одну из этих двух резко различных категорий.
Есть, однако, вещества (среди которых следует назвать кремний, германий и углерод), принадлежащие к промежуточной (но тоже резко обособленной) категории. Их называют полупроводниками.

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

Индуцированный заряд. Электроскоп

Поднесем положительно заряженный металлический предмет к другому (нейтральному) металлическому предмету.



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

Приблизим теперь положительно заряженный предмет к нейтральному металлическому стержню, но так, чтобы они не соприкасались. Хотя электроны не покинут металлического стержня, они тем не менее переместятся в направлении заряженного предмета; на противоположном конце стержня возникнет положительный заряд (рис. 22.4). В таком случае говорят, что на концах металлического стержня индуцируется (или наводится) заряд. Разумеется, никаких новых зарядов не возникает: произошло просто разделение зарядов, в целом же стержень остался электрически нейтральным. Однако если бы мы теперь разрезали стержень поперек посредине, то получили бы два заряженных предмета - один с отрицательным зарядом, другой с положительным.

Сообщить металлическому предмету заряд можно также, соединив его проводом с землей (или, например, с водопроводной трубой, уходящей в землю), как показано на рис. 22.5, а. Предмет, как говорят, заземлен. Благодаря своим огромным размерам земля принимает и отдает электроны; она действует как резервуар заряда. Если поднести близко к металлу заряженный, скажем, отрицательно предмет, то свободные электроны металла будут отталкиваться и многие уйдут по проводу в землю (рис. 22.5,6). Металл окажется заряженным положительно. Если теперь отсоединить провод, на металле останется положительный наведенный заряд. Но если сделать это после того, как отрицательно заряженный предмет удален от металла, то все электроны успеют вернуться назад и металл останется электрически нейтральным.

Для обнаружения электрического заряда используется электроскоп (или простой электрометр).

Как видно из рис. 22.6, он состоит из корпуса, внутри которого находятся два подвижных листочка, сделанных нередко из золота. (Иногда подвижным делается только один листочек.) Листочки укреплены на металлическом стержне, который изолирован от корпуса и заканчивается снаружи металлическим шариком. Если поднести заряженный предмет близко к шарику, в стержне происходит разделение зарядов (рис. 22.7, а), листочки оказываются одноименно заряженными и отталкиваются друг от друга, как показано на рисунке.

Можно целиком зарядить стержень за счет электропроводности (рис. 22.7, б). В любом случае, чем больше заряд, тем сильнее расходятся листочки.

Заметим, однако, что знак заряда таким способом определить невозможно: отрицательный заряд разведет листочки точно на такое же расстояние, как и равный ему по величине положительный заряд. И все же электроскоп можно использовать для определения знака заряда-для этого стержню надо сообщить предварительно, скажем, отрицательный заряд (рис. 22.8, а). Если теперь к шарику электроскопа поднести отрицательно заряженный предмет (рис. 22.8,6), то дополнительные электроны переместятся к листочкам и они раздвинутся сильнее. Наоборот, если к шарику поднести положительный заряд, то электроны переместятся от листочков и они сблизятся (рис. 22.8, в), так как их отрицательный заряд уменьшится.

Электроскоп широко применялся на заре электротехники. На том же принципе при использовании электронных схем работают весьма чувствительные современные электрометры.

Данная публикация составлена по материалам книги Д. Джанколи. "Физика в двух томах" 1984 г. Том 2 .

Продолжение следует. Коротко о следующей публикации:

Сила F , с которой одно заряженное тело действует на другое заряженное тело, пропорциональна произведению их зарядов Q 1 и Q 2 и обратно пропорциональна квадрату расстояния r между ними.

Замечания и предложения принимаются и приветствуются!


Вариант 1.
1. При трении о шелк стекло заряжается...

2. Если наэлектризованное тело отталкивается от эбонитовой палочки, потертой о мех, то оно...
A. не имеет заряда.
Б. заряжено положительно.
47428153111500B. заряжено отрицательно.
3. На рисунке изображены легкие шарики, подвешенные на шелковых нитях. Какой из рисунков соответствует случаю, когда шарики имеют одноименные заряды?
446722514795500А. 1.Б. 2.
4. К шарику поднесена потертая о мех палочка (рис). Какой по знаку заряд имеет шарик?
А. Положительный.Б. Отрицательный.
427672564135005. Как зарядится металлическое тело А, если к нему поднести заряженное тело В (рис)?
A. Положительно.
Б. Отрицательно.
B. Нейтрально.
42481508890006. Каким стержнем - стеклянным, эбонитовым или стальным - нужно соединить электроскопы, чтобы они оба оказались заряженными (рис)?
А. Стеклянным.Б. Эбонитовым.В. Стальным.
7. Медный стержень, имевший положительный заряд, разрядили, и он стал электрически нейтральным. Изменится ли при этом масса стержня?
А. Не изменится.Б. Увеличится.В. Уменьшится.
8. Какая частица имеет наименьший отрицательный электрический заряд?
А. Электрон.Б. Нейтрон.В. Протон.
46101006985009. На рисунке изображена схема атома лития. Заряжен ли этот атом?



4581525152400010. Какой химический элемент схематично изображен на рис?

Тестовая работа по физике 8 класса. Тема: Электризация тел. Строение атома.
Вариант 2.
1. При трении эбонитовой палочки о мех она заряжается...
А. положительно.Б. отрицательно.
2. Если наэлектризованное тело притягивается к стеклянной палочке, потертой о шелк, то оно...
A. заряжено положительно.
Б. заряжено отрицательно.
В. не имеет заряда.
45319958890003. На рисунке изображены шарики, подвешенные на шелковых нитях. На каком из рисунков показаны шарики, заряженные разноименными зарядами?
А. 1.Б. 2.
450850012700004. К бузиновому шарику поднесена потертая о шелк стеклянная палочка (рис). Какой по знаку заряд имеет шарик.
А. Отрицательный.Б. Положительный.
right5080005. На какое из заряженных тел действует с меньшей силой заряженный шар (рис)?
А. 1.Б. 2.В. 3.
6. Каким стержнем - медным, эбонитовым или стальным - соединены электроскопы (рис)?
4958715139700046132751841500А. Медным.Б. Эбонитовым.В. Стальным.
7. Железный шар, имевший отрицательный заряд, разрядили, и он стал электрически нейтральный. Изменится ли при этом масса шара?
A. Не изменится.Б. Увеличится.В. Уменьшится.
8. Какие частицы входят в состав ядра атома?
А. Электроны и протоны.
Б. Нейтроны и протоны.
B. Электроны и нейтроны.
460819512319000
9. На рисунке изображена схема атома водорода. Заряжен ли этот атом?
A. Атом заряжен отрицательно.
Б. Атом заряжен положительно.
B. Атом электрически нейтрален.
437007088900010. Какой химический элемент схематично изображен на рисунке?
А. Водород.Б. Литий.В. Гелий.


Приложенные файлы

Механизм ввода-вывода, разработанный , не соответствует общепринятому сегодня стилю объектно-ориентированного программирования, кроме того, он активно использует операции с указателями, считающиеся потенциально небезопасными в современных защищённых средах выполнения кода. Альтернативой при разработке прикладных приложений является механизм стандартных классов ввода-вывода, предоставляемый стандартом языка C++.

Открытие файлов

Наиболее часто применяются классы ifstream для чтения, ofstream для записи и fstream для модификации файлов.

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

Enum open_mode { app, binary, in, out, trunc, ate };

Ниже приведены возможные значения флагов и их назначение.

Например, чтобы открыть файл с именем test.txt для чтения данных в бинарном виде, следует написать:

Ifstream file; file.open ("test.txt", ios::in | ios::binary);

Оператор логического ИЛИ (|) позволяет составить режим с любым сочетанием флагов. Так, чтобы, открывая файл по записи, случайно не затереть существующий файл с тем же именем, надо использовать следующую форму:

Ofstream file; file.open ("test.txt", ios::out | ios::app);

Предполагается, что к проекту подключён соответствующий заголовочный файл:

#include

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

If (!file) { //Обработка ошибки открытия файла }

Операторы включения и извлечения

Переопределённый в классах работы с файлами оператор включения (<<) записывает данные в файловый поток. Как только вы открыли файл для записи, можно записывать в него текстовую строку целиком:

File << "Это строка текста";

Можно также записывать текстовую строку по частям:

File << "Это " << "строка " << "текста";

Оператор endl завершает ввод строки символом "возврат каретки":

File << "Это строка текста" << endl;

С помощью оператора включения несложно записывать в файл значения переменных или элементов массива:

Ofstream file ("Temp.txt"); char buff = "Текстовый массив содержит переменные"; int vx = 100; float pi = 3.14159; file << buff << endl << vx << endl << pi << endl;

В результате выполнения кода образуется три строки текстового файла Temp.txt:

Текстовый массив содержит переменные 100 3.14159

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

Оператор извлечения (>>)производит обратные действия. Казалось бы, чтобы извлечь символы из файла Temp.txt , записанного ранее, нужно написать код наподобие следующего:

Ifstream file ("Temp.txt"); char buff; int vx; float pi; file >> buff >> vx >> pi;

Однако оператор извлечения остановится на первом попавшемся разделителе (символе пробела, табуляции или новой строки). Таким образом, при разборе предложения "Текстовый массив содержит переменные" только слово "Текстовый" запишется в массив buff , пробел игнорируется, а слово "массив" станет значением целой переменной vx и исполнение кода "пойдет вразнос" с неминуемым нарушением структуры данных. Далее, при обсуждении класса ifstream , будет показано, как правильно организовать чтение файла из предыдущего примера.

Класс ifstream: чтение файлов

Как следует из расшифровки названия, класс ifstream предназначен для ввода файлового потока. Далее перечислены основные методы класса. Большая часть из них унаследована от класса istream и перегружена с расширением родительской функциональности. К примеру, функция get , в зависимости от параметра вызова, способна считывать не только одиночный символ, но и символьный блок.

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

Ifstream file("Temp.txt"); char buff; int vx; float pi; file.getline(buff, sizeof(buff)); file >> vx >> pi:

Метод getline прочитает первую строку файла до конца, а оператор >> присвоит значения переменным.

Следующий пример показывает добавление данных в текстовый файл с последующим чтением всего файла. Цикл while (1) используется вместо while(!file2.eof()) по причинам, которые обсуждались в .

#include #include using namespace std; int main() { ofstream file; file.open("test.txt",ios::out|ios::app); if (!file) { cout << "File error - can"t open to write data!"; cin.sync(); cin.get(); return 1; } for (int i=0; i<10; i++) file << i << endl; file.close(); ifstream file2; file2.open("test.txt", ios::in); if (!file2) { cout << "File error - can"t open to read data!"; cin.sync(); cin.get(); return 2; } int a,k=0; while (1) { file2 >> a; if (file2.eof()) break; cout << a << " "; k++; } cout << endl << "K=" << k << endl; file2.close(); cin.sync(); cin.get(); return 0; }

В следующем примере показан цикл считывания строк из файла test.txt и их отображения на консоли.

#include #include using namespace std; int main() { ifstream file; // создать поточный объект file file.open("test.txt"); // открыть файл на чтение if (!file) return 1; // возврат по ошибке отрытия char str; // статический буфер строки // Считывать и отображать строки в цикле, пока не eof while (!file.getline(str, sizeof(str)).eof()) cout << str << endl; // вывод прочитанной строки на экран cin.sync(); cin.get(); return 0; }

Этот код под ОС Windows также зависит от наличия в последней строке файла символа перевода строки, надежнее было бы сделать так:

While (1) { if (file.eof()) break; file.getline(str, sizeof(str)); cout << str << endl; }

Явные вызовы методов open и close не обязательны. Действительно, вызов конструктора с аргументом позволяет сразу же, в момент создания поточного объекта file , открыть файл:

Ifstream file("test.txt");

Вместо метода close можно использовать оператор delete , который автоматически вызовет деструктор объекта file и закроет файл. Код цикла while обеспечивает надлежащую проверку признака конца файла.

Класс ofstream: запись файлов

Класс ofstream предназначен для вывода данных из файлового потока. Далее перечислены основные методы данного класса.

Описанный ранее оператор включения удобен для организации записи в текстовый файл:

Ofstream file ("temp.txt"); if (!file) return; for (int i=1; i<=3; i++) file << "Строка " << i << endl; file.close();

Бинарные файлы

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

Первый параметр методов write и read (адрес блока записи/чтения) должен иметь тип символьного указателя char * , поэтому необходимо произвести явное преобразование типа адреса структуры void * . Второй параметр указывает, что бинарные блоки файла имеют постоянный размер байтов независимо от фактической длины записи. Следующее приложение дает пример создания и отображения данных простейшей записной книжки. Затем записи файла последовательно считываются и отображаются на консоли.

#include #include #include using namespace std; struct Notes { // структура данных записной книжки char Name; // Ф.И.О. char Phone; // телефон int Age; // возраст }; int main() { setlocale(LC_ALL, "Russian"); Notes Note1= { "Грозный Иоанн Васильевич", "не установлен", 60 }; Notes Note2= { "Годунов Борис Федорович ", "095-111-2233 ", 30 }; Notes Note3= { "Романов Петр Михайлович ", "812-333-2211 ", 20 }; ofstream ofile("Notebook.dat", ios::binary); ofile.write((char*)&Note1, sizeof(Notes)); // 1-й блок ofile.write((char*)&Note2, sizeof(Notes)); // 2-й блок ofile.write((char*)&Note3, sizeof(Notes)); // 3-й блок ofile.close(); // закрыть записанный файл ifstream ifile("Notebook.dat", ios::binary); Notes Note; // структурированная переменная char str; // статический буфер строки // Считывать и отображать строки в цикле, пока не eof while (!ifile.read((char*)&Note, sizeof(Notes)).eof()) { sprintf(str, "%s\tТел: %s\tВозраст: %d", Note.Name, Note.Phone, Note.Age); cout << str << endl; } ifile.close(); // закрыть прочитанный файл cin.sync(); cin.get(); return 0; }

В результате выполнения этого кода образуется бинарный файл Notebook.dat из трех блоков размером по 80 байт каждый (при условии, что символы - однобайтовые). Естественно, вы можете использовать другие поточные методы и проделывать любые операции над полями определенной структуры данных.

Класс fstream: произвольный доступ к файлу

Предположим что в нашей записной книжке накопилось 100 записей, а мы хотим считать 50-ю. Конечно, можно организовать цикл и прочитать все записи с первой по заданную. Очевидно, что более целенаправленное решение - установить указатель позиционирования файла pos прямо на запись 50 и считать ее:

Ifstream ifile("Notebook.dat", ios::binary); int pos = 49 * sizeof(Notes); ifile.seekg(pos); // поиск 50-й записи Notes Note; //Notes – описанная выше структура "запись" ifile.read((char*)&Note, sizeof(Notes));

Подобные операции поиска эффективны, если файл состоит из записей известного и постоянного размера. Чтобы заменить содержимое произвольной записи, надо открыть поток вывода в режиме модификации:

Ofstream ofilе ("Notebook.dat", ios::binary | ios::ate); int pos = 49 * sizeof(Notes); ofile seekp(pos); // поиск 50-й записи Notes Note50 = {"Ельцин Борис Николаевич", "095-222-3322", 64}; ofile.write((char*)&Note, sizeof(Notes)); // замена

Если не указать флаг ios::ate (или ios::app), то при открытии бинарного файла Notebook.dat его предыдущее содержимое будет стерто!

Наконец, можно открыть файл одновременно для чтения/записи, используя методы, унаследованные поточным классом fstream от своих предшественников. Поскольку класс fstream произведен от istream и ostream (родителей ifstream и ofstream соответственно), все упомянутые ранее методы становятся доступными в приложении.

В следующем примере показана перестановка первой и третьей записей файла Notebook.dat .

#include #include #include using namespace std; struct Notes { char Name; char Phone; int Age; }; int main() { setlocale(LC_ALL, "Russian"); Notes Note1, Note3; // Открыть файл на чтение/запись одновременно fstream file("Notebook.dat", ios::binary | ios::in | ios::out); file.seekg(2 * sizeof(Notes)); // найти и считать Note3 file.read((char*)&Note3, sizeof(Notes)); file.seekg(0); // найти и считать Note1 file.read((char*)&Note1, sizeof(Notes)); file.seekg(0); // Note1 <== Note3 file.write((char*)&Note3, sizeof(Notes)); file.seekg(2 * sizeof(Notes)); // Note3 <== Note1 file.write((char*)&Note1, sizeof(Notes)); char str; // Считывать и отображать записи в цикле, пока не eof file.seekg(0); // вернуться к началу файла while (!file.read((char*)&Note1, sizeof(Notes)).eof()) { sprintf(str, "%s\tТел: %s\tВозраст: %d", Note1.Name, Note1.Phone, Note1.Age); cout << str << endl; } file.close(); cin.sync(); cin.get(); return 0; }

В конструкторе объекта file надо указать флаги ios::in и ios::out , разрешая одновременное выполнение операций чтения и записи. В результате выполнения этого кода первая и третья записи бинарного файла Notebook.dat поменяются местами.

Дополнительные примеры по теме есть .