Понятие о строении атомов различных химических элементов

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

Явления, подтверждающие сложное строение атома

Вопрос о том, какое место в веществе занимают электрические заряды и какую роль в строении вещества они играют, долгое время оставался неясным. Во второй половине XIX в. было открыто много явлений, указывающих на сложное строение атома. Анализ этих явлений показал, что электрические заряды должны входить в состав атомов. Поскольку вещество в естественном состоянии электрически нейтрально, […]

Опыты Резерфорда. Ядерная модель строения атома.

В опытах по изучению строения атома Резерфорд располагал на пути а-частиц, летящих в одном направлении, металлическую фольгу и изучал рассеяние α-частиц фольгой. Оказалось, что огромное большинство α-частиц, пройдя сквозь фольгу, продолжает лететь в прежнем направлении или отклоняется от него на очень малый угол. Лишь небольшое число α-частиц сильно изменяло направление своего движения, а отдельные частицы […]

Значение теплового расширения тел в природе и технике

Расширение тел при нагревании и сжатие при охлаждении в природе играют огромную роль. Неравномерный прогрев воздуха у поверхности Земли создает конвекционные потоки (ветер), обусловливающие изменение погоды. Неравномерный прогрев воды в морях и океанах создает течения, оказывающие влияние на климат прибрежных стран. Особенно резкие колебания температуры происходят в горных местностях. Это приводит к поочередному расширению и […]

Операторы

Мы могли бы сейчас остановиться и иметь в своем распоряжении довольно полезный сканер. В тех фрагментах KISS, которые мы построили, единственными токенами, состоящими из нескольких символов, являются идентификаторы и числа. Все операторы были односимвольными. Единственное исключение, которое я могу придумать – это операторы отношений «<=», «>=» и «<>», но они могут быть обработаны как особые […]

Новые строки

Продвигаясь прямо вперед, давайте модифицируем наш сканер для поддержки более чем одной строки. Как я упомянул последний раз, наиболее простой способ сделать это – просто обработать символы новой строки, возврат каретки и перевод строки, как незаполненное пространство. Фактически это способ, используемый подпрограммой iswhite из стандартной библиотеки C. Прежде мы не этого делали. Я хотел бы […]

Конечные автоматы

Подпрограмма анализа типа GetName действительно реализует конечный автомат. Состояние неявно в текущей позиции в коде. Очень полезным приемом для визуализации того, что происходит, является синтаксическая диаграмма или «railroad-track» диаграмма. Немного трудно нарисовать их в этой среде, поэтому я буду использовать их очень экономно, но фигура ниже должна дать вам идею: Как вы можете видеть, эта […]

Пробел

Раньше мы также работали с вложенными пробелами, используя две подпрограммы IsWhite и SkipWhite. Удостоверьтесь, что эти подпрограммы есть в вашей текущей версии Cradle и добавьте строку: SkipWhite; в конец GetName и GetNum. Теперь давайте определим новую процедуру: Lexical Scanner Function Scan: string; begin if IsAlpha(Look) then Scan := GetName else if IsDigit(Look) then Scan := […]

Эксперименты по сканированию

Прежде чем возвратиться к нашему компилятору, было бы полезно немного поэкспериментировать с общими понятиями. Давайте начнем с двух определений, наиболее часто встречающихся в настоящих языках программирования: <ident> ::= <letter> [ <letter> | <digit> ]* <number ::= [<digit>]+ (Не забудьте, что «*» указывает на ноль или более повторений условия в квадратных скобках, а «+» на одно […]