
- •Классификация современных мп.
- •Организация мп систем
- •Організація однокристального мікроконтролера мсs-51. Типи пам'яті. Карта пам'яті. Режими адресації. Особливості системи команд: команди пересилання.
- •Команды пересылки данных.
- •Регістрова структура мікроконтролера мс5-51. Особливості системи команд: арифметичні команди, логічні команди, бітові операції, команди передачі керування.
- •Блок регистров специальных функций(sfr)
- •Однокристальний мікро контролер mcs-51: порти вводу-виводу, система переривань. Службові регістри переривань, процедура обробки переривань.
- •Регистр приоритетов прерываний (ip)
- •Однокристальний мікро контролер mcs-51: система таймерів-лічильників. Структура таймерів-лічильників. Службові регістри. Режими роботи. Приклад обробки переривань від таймера 0.
- •2.7 Платформа java. Створення та виконання програм. Принципи об’єктно-орієнтованого підходу. Інкапсуляція. Композиція. Наслідування. Поліморфізм.
- •Платформа java. Типи даних. Організація пам’яті. Структура класів. Статичні елементи. Конструктори. Абстрактні класи та інтерфейси. Внутрішні класи. Все является объектом
- •Примитивные типы (примитивы)
- •Создание новых типов данных
- •Поля и методы
- •Методы, аргументы и возвращаемые значения
- •Ключевое слово static
- •Статические методы
- •Конструктор гарантирует инициализацию
- •Класс Class
- •Абстрактные классы и методы
- •Интерфейсы
- •Внутренние классы Вложенные классы (Inner)
- •Классы, вложенные в методы (локальные внутренние классы)
- •Анонимные внутренние классы
- •Статические внутренние классы (nested)
- •Компоненты и контейнеры
- •Диспетчеры компоновки
- •Обработка событий
- •Платформа java: потоки вводу-виводу, Класифікація потоків. Класи-фільтри. Байтові та текствові потоки. Потоки ввода/вывода и файлы
- •Классификация классов ввода-вывода
- •Потоки фильтров
- •Текстовые потоки
Текстовые потоки
Например: 1234 в текстовом формате это строка «1234 »
в Unicode – 0031 0032 0033 0034. Но многие ОС не поддерживают Unicode.
в ASCII – 31 32 33 34 –это байтовая кодировка
Поэтому при записи текстового файла происходит автоматическое преобразование символьного Unicode в байтовый ASCII поток с помощью локальной кодовой таблицы и запись в ASCII -кодах.
Преобразование Unicode – ASCII с помощью классов – обёрток OutputStreamWriter и InputStreamReader: Они расширяют Reader и Writer:
InputStreamReader: ASCII → Unicode - поток ввода байтовый -в объект Reader.
OutputStreamWriter: Unicode → ASCII – объект Writer -в поток вывода байтовый
ASCII, локальная кодировка ОС.
InputStreamReader in = new InputStreamReader(System.in);
Или
InputStreamReader in = new InputStreamReader(System.in,”Cp866”);
Или
InputStreamReader in = new InputStreamReader(
new FileInputStream(“file”),”Cp866”).
Для текстовых файлов - классы FileReader и FileWriter. Преобразование автоматическое.
Они расширяют (наследуют) InputStreamReader/ OutputStreamWriter.
FileWriter fw = new FileWriter(”file.txt”,true) ;
//true – дописывать в конец файла.
//false – создать новый файл.
fw.write((char)c);
Это эквивалентно
OutputStreamWriter fw = new OutputStreamWriter(
new FileOutputStream(“file.txt”));
Как работать со строками:
Запись строк текста в поток вывода.
PrintStream –Работает только с локальной кодовой таблицей.
PrintStream – не поддерживает изменение кодовых страниц.
Методы print(), println().
PrintWriter – может установить кодовую таблицу. Здесь println() буферизированы. Конструктор может принимать как символьный, так и байтовый поток.
PrintWriter out=new PrintWriter(
new FileWriter(”file.txt”),true);
PrintWriter out=new PrintWriter(
new FileOutputStream (”file.txt”),true);
//здесь true - автоматический сброс буфера для метода println()- т.е.делает сразу вывод в поток. print() требует flush().
String name = ”Harry”;
double salary = 75000;
out.print(name);
flush();
out.print(‘ ’);
out.println(salary);
Увидим: Harry 75000 - в file.txt файле, в ASCII кодировке.
Если хотим увидеть каждую строку, то нужно добавить flush() после каждой строки (если вывод, например, на печать).
чтение строк из потока ввода
BufferedReader in = new BufferedReader(
new FileReader(“file.txt”));
String line;
while((line=in.readLine())!=null){Цикл для ввода данных}
….
В скобках может быть только символьный поток. Если поток байтовый, ставим преобразование в Unicode.
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
Для работы с русскими буквами:
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in,”Cp866”));
Для ввода чисел:
String s = in.readLine();
double x = Double.parseDouble(s);