10
Нур-Султан
2021
УДК 373.167.1
ББК 32.973 я72
А 29
ISBN 978-601-348-136-4
УДК 373.167.1
ББК 32.973 я72
В наше время большие объемы информации содержатся в базах данных, и эти данные из
бумажного формата постепенно перешли в электронный вид. Они могут храниться как на цифровых
носителях, так и в Интернете. Этот учебник поможет тебе узнать принципы работы магнитных,
оптических и твердотельных устройств хранения данных, научит разбираться в принципах передачи
информации в сети, где важную роль играют понятия «протокол TCP/IP» и сетевые устройства:
коммутаторы, концентраторы, маршрутизаторы, прокси-сервера, мосты, без которых работа
локальной или глобальной сети невозможна.
Учебник включает в себя восемь разделов.
Первый раздел «Память» посвящен вопросам хранения данных на разных носителях. Ты узнаешь
о принципах работы магнитных, оптических и твердотельных устройств хранения данных и сможешь
распознавать такие виды памяти как SRAM и DRAM.
Второй раздел «Сеть и безопасность» поможет ответить на актуальный вопрос современности:
какие киберугрозы существуют и почему необходимо «защищаться» от киберугроз. Также этот раздел
раскроет особенности сетевых устройств, которые участвуют в процессе передачи информации
в сети. Ты подробно узнаешь принципы передачи информации по сети, и на практике применишь
разные сетевые команды. Например, определять IP-адрес своего компьютера.
В третьем и четвертом разделе учебника раскрыты вопросы сайтостроения. Уроки этих разделов
посвящены инструментам разработки веб-сайтов, изучив которые можно создавать собственный
сайт, используя CMS, WYSIWYG и HTML.
Пятый раздел «Массивы (C#)» требует наличие навыков программирования в объектно-
ориентированной среде C#. Программированию структурированных данных, представленных
в виде одномерных массивов в интегрированной среде Visual Studio C# 2017, посвящен раздел 5.
Шестой раздел «Базы данных в ООП (C#)» раскрывает практические методы работы с базами, так
как работа с базами данных является важнейшим навыком в работе с компьютером, то специалисты
данной области становятся более востребованными. В этом разделе ты узнаешь, как связаны между
собой интегрированная среда Visual Studio C# 2017 и технология ADO.Net. Ты научишься создавать
собственное приложение для работы с таблицей базы данных MS ACCESS.
Разделы 7, 8 посвящены этапам разработки приложения. Материал этих разделов закрепит
практические навыки, полученные в предыдущих разделах и научит правильно исследовать
вопросы проектирования, разрабатывать приложения с использованием базы данных, массивов
и других структур данных.
В конце каждого раздела имеются вопросы и задания, которые помогут понять, насколько
хорошо усвоен материал уроков. Сложные задания отмечены значком (*), исследовательские
задачи расположены в конце каждой темы.
Главные идеи учебника заключаются в формировании практических навыков, необходимых
в будущем. Он поможет тебе научиться обрабатывать информацию, представленную
в различном виде, и углубить практические навыки программирования в интегрированной среде
Visual Studio C# 2017. Желаем успехов в изучении информатики!
ПАМЯТЬ КОМПЬЮТЕРА
CD DVD Blu-ray
4
1. ПАМЯТЬ
5
Цифровые носители информации
1.1
Ты уже знаком с понятием память компьютера и знаешь, что память
компьютера можно разделить на внутреннюю и внешнюю.
Когда появился цифровой ЗАДАНИЕ 1. Назови устройства, которые относятся к внешней/внутренней
носитель информации? памяти компьютера.
Как цифровые носители
сохраняют и передают ОЗУ DVD-диск Жесткий диск
информацию?
Регистры процессора
Быстродействие
Стоимость
Кэш-память
Объем
Основная память
Внешняя память
Перфокарта – карта
стандартной формы,
обычно сделанная
из бумаги, для
записи электронной
информации при
помощи кодового
расположения
отверстий.
6
Задумывался ли ты когда-нибудь о том, как выглядел первый цифровой Знаешь ли ты?
носитель информации, какой объем информации он мог хранить? Компания IBM в 2002 году
Предшественником современных цифровых носителей информации изучала возможность созда-
ния перфокарты размером
была перфокарта. с почтовую марку, которая
Это носитель информации из тонкого картона, данные на котором ко- могла бы содержать до 25
дировались с помощью проделанных в определенных точках отверстий. миллионов страниц инфор-
мации. У них это получилось
Первая перфокарта появилась в 1804 году для ткацкого станка, ее со- с помощью технологии
здал изобретатель Жозеф Жаккар. С помощью перфокарт Жаккар мог Millipede, которая работает
формировать самые разные узоры на тканях (рис. 1). на том же принципе, что и
перфокарты. Только теперь
Идею использования перфокарт для хранения данных предложил информация хранится не на
Герман Холлерит, занимаясь проблемами обработки статистических дан- листах картона, а на тонкой
ных переписи населения. Он изобрел своеобразный носитель инфор- полимерной пленке.
мации – перфокарту, которая почти в неизменном виде использовалась
примерно сто лет.
7
Цифровые носители подразделяются на три категории.
ПРОВЕРЬ СЕБЯ
1. Назови виды памяти компьютера.
2. Объясни различия между ПЗУ и ОЗУ.
3. Используя схему иерархии памяти компьютера, сравни внутренние
и внешние устройства памяти компьютера.
4. Назови принцип записи информации для жесткого диска.
5. *Объясни, по какой причине магнитная лента до сих пор используется
в Центрах хранения данных (Data Center).
8
Принцип работы жесткого магнитного диска
1.2
Покупая новый компьютер, мы обращаем внимание на его различные
характеристики: процессор, ОЗУ, видеокарту и т.д. Немалую роль при
выборе компьютера играет жесткий диск и его характеристики.
– Кто и в каком году изобрел жесткий диск? Из каких частей состоит
– Как информация хранится на нем? жесткий диск?
По какому принципу ин-
формация записывается
и считывается с жесткого
диска?
Знаешь ли ты?
5 февраля 1956 года пос
тупил в продажу первый в
мире жесткий диск – IBM
350 Disk Storage Unit.
IDE
9
ЗАДАНИЕ 2. 1. Сравни характеристики SATA и IDE интерфейсов.
Кабель подключения
Сервопривод коромысла
Магнитный диск
Шпиндель
Коромысло Конфигурационные
перемычки
Головка
10
ЗАДАНИЕ 3. Рассмотри изображение (рис. 1) и изучи основные детали, из
которых состоит жесткий диск.
11
В) Предложи вариант, который позволит сохранить данные при переуста
новке ОС.
ПРОВЕРЬ СЕБЯ
1. Перечисли части жесткого диска.
2. Опиши принцип записи информации на жесткий диск.
3. Назови различия между кластером и сектором.
4. Объясни, что происходит в процессе форматирования жесткого диска.
5. Назови различия быстрого и обычного форматирования жесткого диска.
6. *За последние 10 лет существенно увеличился объем жесткого диска.
Объясни, почему.
12
Принцип работы твердотельного
и оптического дисков 1.3
Твердотельный накопитель (SSD) – это новое поколение устройств
хранения данных, используемых в компьютерах. SSD-накопители заменя- Какой диск выбрать при
покупке компьютера: SSD
ют традиционные механические жесткие диски, используя флэш-память. или HDD?
Это значительно увеличивает быстродействие компьютера из-за быстрого В чем отличие SSD от HDD?
доступа для чтения и высокой пропускной способности флэш-памяти. Каковы принципы запи-
В настоящее время твердотельные накопители используются как в ноут- си данных на оптические
диски?
буках, нетбуках, планшетах, так и в стационарных компьютерах.
ЗАДАНИЕ 1. Заполни таблицу в тетради, используя информацию о SSD и HDD- SSD (Solid State Drive) –
накопителях. компьютерное
энергонезависимое
Скорость Энерго немеханическое
Емкость Стоимость
работы потребление запоминающее
HDD устройство на основе
микросхем памяти.
SSD
14
Информация считывается с рабочей стороны дис- спиральная поверхность
ка через прозрачную основу. дорожка
DVD-диски могут иметь два активных слоя. впадина
(пит)
Активный слой – это тонкий слой органического
красителя, который под действием высокой тем-
пературы лазера образует темные непрозрачные
области, которые при считывании интерпретируют-
ся как нули. Области, не подвергшиеся воздействию
лазера, соответствуют единице. У перезаписываемых
оптических дисков, а также Blu-ray дисков активный
слой выполнен из специального сплава.
Накопители на
ЗАДАНИЕ 3. Используя интернет-ресурсы, исследуй различия между оптичес оптических дисках –
кими носителями, представленными на схеме. Информацию представь в тетради вид носителей
в виде таблицы. информации, на
которых информация
записывается
ОПТИЧЕСКИЕ НОСИТЕЛИ и читается с помощью
лазера.
СD DVD Blu-ray
Знаешь ли ты?
Первый CD-диск был соз-
дан в 1979 году компаниями
Для однократной
Только Для многократной Philips и Sony. Изначально
записи и многократного
для чтения записи такой диск мог вместить до
чтения 650 Мб информации или 74
минуты аудио. Есть предпо-
CD-ROM CD-R CD-RW BD-R ложение, что разработчики
учитывали объем так, чтобы
DVD-ROM DVD-R DVD-RW BD-RE на диске поместилась 9 сим-
фония Бетховена, которая
длилась 74 минуты. На тот
момент самое популярное
музыкальное произведение
в Японии (по результатам
ПРОВЕРЬ СЕБЯ специального опроса).
15
Виды оперативной памяти
1.4
Из курса 8 класса ты уже знаешь, что оперативное запоминающее
устройство (ОЗУ), или оперативная память, является энергозависимой
памятью. После выключения компьютера данные и инструкции, храня-
Какой тип оперативной щиеся в ОЗУ, теряются. ОЗУ предназначена для временного хранения
памяти выбрать? данных и используется для хранения операционной системы и любых
документов, программ, которые работают.
Содержимое ОЗУ можно изменить в любое время, просто перезаписав
его другими данными и/или инструкциями.
Чем больше оперативная память компьютера, тем больше данных и
программ он может хранить одновременно. Оперативная память также
может быть легко обновлена в отличие от других видов внутренней па-
мяти.
Оперативную память иначе называют «произвольный доступ», по-
скольку данные могут храниться и быть доступны из любой части памя-
ти. Состоит ОЗУ из ячеек памяти, где каждая ячейка имеет собственный
адрес, другими словами, оперативная память представляет собой массив
пронумерованных ячеек.
Адресация памяти –
ЗАДАНИЕ 1. Из представленного списка характеристик назови те, которые
способ доступа
относятся к:
к данным, хранящимся
в ячейках памяти. А) ОЗУ;
В) ПЗУ.
1. Энергонезависима.
2. Используется для чтения и записи информации.
3. После выключения компьютера информация не изменяется.
4. Используется только для чтения.
5. Энергозависима.
6. Служит для хранения программ начальной загрузки компьютера и тести-
рования его узлов.
линия данных
транзистор и конденсатор, которые соединены в пару для создания ячей-
ки памяти. Конденсатор содержит бит информации – 0 или 1. Транзистор
действует как переключатель, который позволяет схеме управления на конденсатор
микросхеме памяти считывать конденсатор или изменять его состояние
(рис. 2).
DRAM (англ. Dynamic Random Access Memory – динамическая память) –
тип энергозависимой полупроводниковой памяти с произвольным до- Рис. 2. Схема ячейки
памяти DRAM
ступом к данным (возможностью доступа к данным, хранящимся в про-
извольных ячейках памяти).
Конденсатор – это маленький сосуд, способный хранить электроны.
1 – в ячейке памяти конденсатор заполнен электронами; 0 – опусто-
шается.
Основной недостаток конденсатора – это утечка. В течение нескольких
миллисекунд конденсатор становится пустым. Поэтому, чтобы динами-
ческая память работала, либо центральный процессор, либо контроллер Конденсатор –
памяти должны зарядить все конденсаторы, удерживающие единицу, это устройство,
которое способно
прежде чем они разрядятся. Для этого контроллер памяти считывает
накапливать в себе
память и затем записывает ее обратно. Эта операция обновления проис-
заряд электрического
ходит автоматически тысячи раз в секунду. тока и передавать его
Оперативная память представлена модулем из микросхем и устанав- другим элементам
ливается в специальный разъем на материнской плате. в электроцепи.
При выборе ОЗУ необходимо учитывать не только основные характе-
ристики (объем и время доступа к данным), но и тип модуля ОЗУ, который
должен соответствовать специальному разъему на материнской плате.
SIMM и DIMM – это типы разъема памяти.
SIMM – Single In-line Memory Module (односторонний модуль памяти,
одностороннее расположение выводов). SIMM – это устаревший стандарт
модулей памяти DRAM, который больше не используется. SIMM имеет 72
контакта для подключения к материнской плате и поддерживает 32-бит-
ную передачу данных.
DIMM – Dual In-Line Memory Module (двусторонний модуль памяти,
двустороннее расположение выводов). В модуле DIMM контакты распо-
ложены с двух сторон платы.
В современных компьютерах используются DIMM модули, которые
поддерживают 64-битную передачу данных.
17
Различные материнские платы могут поддерживать разные типы архи-
тектур памяти. Типы DIMM архитектуры имеют от одного до трех вырезов
на модуле памяти. Они предотвращают от неправильного выбора и не-
правильной установки модулей памяти на материнскую плату.
DDR DDR2
184 контакта 240 контактов
DDR3 DDR4
240 контактов 260 контактов
18
Виды оперативной памяти
1.5
SRAM (Static Random Access Memory) – статистическое оперативное
запоминающее устройство. Это форма полупроводниковой памяти, ши-
роко используемая в электронике, микропроцессорах и общих вычис- Чем динамическая память
лительных системах. отличается от статистичес
кой?
В SRAM есть две ключевые особенности:
1) статическая память;
2) произвольный доступ.
Данные хранятся статически – это означает, что они хранятся в по-
лупроводниковой памяти без необходимости обновления, пока питание
подается на память.
Произвольный доступ – данные с ячеек памяти могут записываться
или считываться в любом порядке.
SRAM-память основана на работе триггеров. Триггер – это элемент на
транзисторах, может находиться в двух состояниях – 0 и 1 – и изменять
свое состояние по входному сигналу. Триггер служит ячейкой памяти,
который хранит один бит информации. Любой триггер можно создать из Триггер – ячейка
трех основных логических элементов (И, ИЛИ, НЕ). оперативной памяти,
простейшее устройство,
SRAM использует базовые ячейки памяти со встроенными механиз-
которое выполняет
мами обратной связи, которые содержат сохраненное значение, пока логическую функцию
устройство включено. с обратной связью.
Основным примером механизма обратной связи является пара инвер-
торов, которые связаны перекрестно, так что выход одного инвертора
становится входом другого инвертора.
Схема для отдельной ячейки SRAM-памяти обычно содержит четыре Q
транзистора в виде двух инверторов с перекрестными связями.
В этом формате схема имеет два стабильных состояния, которые соот- Механизм обратной
ветствуют логическим состояниям 0 и 1. связи
В дополнение к четырем транзисторам в базовой ячейке памяти
требуются еще два транзистора для контроля доступа к ячейке памяти во
Транзистор –
время операций чтения и записи. Всего получается шесть транзисторов полупроводниковый
(6Т). прибор,
Ячейки расположены в виде матрицы, каждая ячейка адресуется ин- предназначенный
дивидуально. для усиления
электрического тока
WL Совокупность транзисторов
и управления им.
Vdd занимает больше места, чем кон-
денсаторы, из которых состоит
динамическая память, что ста-
новится причиной ограничения
памяти в объеме, следовательно,
и в цене SRAM-память является
дорогой памятью. Триггеры не
bitline
bitline
19
одного состояния в другое происходит очень быстро. Это и позволяет
SRAM-памяти работать наравне с процессором.
20
ЗАДАНИЕ 2. 1. Заполни пропуски. Используй слова для справок.
А. Кэш-память – это … память процессора. ЦП Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
Используется % 100%
В. Значения из кэш-памяти извлекаются напрямую, без обращения
к … памяти.
С. Кэш используется в качестве буфера для ускорения обмена данными
между процессором и ….
Слова для справок: оперативная память, основная память, высокоскорост- 60 секунд
ная память. Использование Скорость Базовая скорость: 3,20 ГГц
54% 3,40 ГГц
2. Подсчитай общий объем кэш-памяти на изображении справа.
Сокетов: 1
Ядра: 4
Процессы Потоки Дескрипторы Логических процессоров: 4
3. Определи взаимосвязь между объемом и скоростью доступа к данным 181 2016 71391 Виртуализация:
Поддержка Hyper-V:
Отключено
Да
ПРОВЕРЬ СЕБЯ
1. Объясни особенность SRAM-памяти. 6. Выбери истинное утверждение:
2. Определи роль транзистора в работе SRAM. A. SRAM – статистическая память, а DRAM –
динамическая.
3. Назови основное отличие памяти SRAM от B. SRAM медленнее по сравнению с DRAM.
DRAM. C. SRAM потребляет больше энергии, чем
4. Перечисли недостатки SRAM-памяти. DRAM.
D. SRAM использует больше транзисторов на
5. Назови основное преимущество SRAM-памяти.
бит памяти по сравнению с DRAM.
E. SRAM дороже, чем DRAM.
7. Объясни, почему SRAM-память используется в качестве кэш-памяти.
8. Перечисли различия трех уровней кэш-памяти.
21
Подводим итоги
1. Назови устройства внутренней памяти компьютера.
2. Перечисли основные характеристики памяти компьютера.
3. Объясни, как быстродействие памяти зависит от ее объема.
4. Установи соответствие типа носителя и принципа его работы.
1
Рис. 1.
3
6
4
7 5
8
9
В
Рис. 2.
22
7. Назови различия между понятиями «кластер» и «сектор».
8. Опиши принцип работы твердотельных накопителей.
9. Сформулируй преимущества SSD-дисков.
10. Объясни роль контроллера в SSD-диске.
11. Выбери верные утверждения.
a) SSD-диски требуют раскрутки;
b) у SSD-дисков высокая скорость доступа к данным;
c) SSD-диски стоят дешевле по сравнению с магнитными жесткими дисками;
d) у SSD-дисков высокая скорость передачи данных;
e) для SSD-дисков не требуется дефрагментация.
23
Модель локальной сети клиент – сервер
клиент – клиент
Звезда
Шина
Mesh
LAN
Коммутатор
Устройства локаль-
ной сети Концентратор
Рабочая станция
Беспроводная сеть
MAC-address
КОМПЬЮТЕРНАЯ СЕТЬ
HTTP
HTTPS
SMTP Протоколы
POP3
IMAP
FTP
WAN
Прикладной уровень
ТСР/ІР
Транспортный уровень
Сетевой уровень
Канальный уровень
IPv6
24
2. СЕТЬ И БЕЗОПАСНОСТЬ
25
2.1 Управление кибербезопасностью
В наши дни киберпреступления создают множество проблем для обще-
ства. Только за последние несколько лет были украдены данные миллио-
Почему необходимо «за- нов кредитных карт. Взломы случаются благодаря ошибкам и уязвимостям
щищаться» от киберугроз? в программном и аппаратном обеспечении. Кибератаки обычно нацелены
Сколько времени потре- на доступ, изменение или уничтожение конфиденциальной информации,
буется, чтобы взломать вымогательство денег у пользователей.
твой пароль? Основные области кибербезопасности:
1) информационная безопасность;
2) сетевая безопасность.
Информационная безопасность защищает данные пользователей
от несанкционированного доступа и кражи личных данных.
Основные методы, используемые для этого:
а) идентификация, аутентификация и авторизация пользователя;
б) криптография;
в) антивирус.
Сетевая безопасность включает в себя действия по обеспечению
защиты, надежности, целостности и безопасности сети.
Компоненты сетевой безопасности включают в себя:
а) антивирус;
б) брандмауэр,
в) системы предотвращения вторжений (IPS).
Как совершаются киберпреступления?
Вирусы
Из курса информатики за 8 класс ты
Киберугрозы
узнал, что существуют специальные ком-
пьютерные программы-вирусы, которые
могут внедряться в код других программ
и распространять свои копии, тем самым Вирусы Фишинг DDoS
приносить вред компьютерной системе.
Кибербезопасность –
меры защиты систем, ЗАДАНИЕ 1. 1. Объясни, как вирусы распространяются между компьютерами.
сетей и програм
2. Объясни различия между вирусами, червями и троянами.
мных приложений от
3. Опиши последствия, к которым могут привести компьютерные вирусы.
цифровых атак.
4. Назови ряд мер, которые помогут тебе защитить компьютерную систему
от вирусов.
Фишинг
Идентификация – Что такое фишинговая атака?
процесс распознавания Цель фишинга заключается в краже конфиденциальных данных, таких
или установления
как данные для входа в систему (логин и пароль), номера кредитных карт
личности по его
идентификатору (ID). и т.д., и использовании их в своих целях.
Мошенники создают поддельный веб-сайт, который выглядит, как
обычный сайт. Попытки фишинга чаще всего начинаются с того, что элек-
тронное письмо пытается получить конфиденциальную информацию по-
средством какого-либо взаимодействия с пользователем, например, путем
нажатия на вредоносную ссылку или загрузки зараженного вложения,
26
получения скидки при покупке и т.д. Большое количество злоумышлен-
ников используют фишинговые методы из-за того, что они эффективны
и просты в использовании. Прежде чем вводить личные данные на
сайте, убедись, что в адресной строке браузера указан верный адрес.
ЗАДАНИЕ 2. 1. Рассмотри примеры ссылок: nis.edu.kz, w-google.com, vkrontakte.
com, edmodo.com.
2. Обсуди с одноклассником следующие вопросы:
1) Что такое фишинговые ссылки?
2) Стоит ли переходить по таким ссылкам?
3) К чему может привести переход по данным ссылкам? Вид Опи- Способ
4) Как можно обезопасить себя от фишинговых писем? угрозы сание защиты
3. Заполни таблицу в тетради. Вирусы
Фишинг
ЗАДАНИЕ 3. Рассмотри ситуации и ответь на вопросы.
1. Тебе пришло письмо на электронную почту следующего содержания:
«Для подтверждения того, что Вы являетесь настоящим пользователем Facebook,
перейдите по ссылке https://Fasebook.com/id45187309». Стоит ли переходить по
данной ссылке? Обоснуй свой ответ.
2. Мама Саши забыла выйти из почты на домашнем компьютере.
Играя на компьютере, Саша решил просмотреть почту мамы и увидел новое
письмо от неизвестного отправителя, в котором говорилось о начислении бо-
нусов в онлайн-магазине http://technocom-bonus.online. Саша не задумываясь
перешел по ссылке и заполнил в форме личные данные, включая логин, пароль Аутентификация –
и данные бонусной карты. процедура проверки
1) Что не следовало делать Саше? Почему? подлинности
2) Какие последствия могут возникнуть в результате действий Саши? Обоснуй пользователя, процесса
свой ответ. или устройства.
3) Какому виду угрозы был подвергнут компьютер Саши? Механизм сравнения
4) Предложи несколько советов, которые помогут защитить систему от такого входящего запроса с
вида угроз. набором имеющихся
3. Не так давно в прокат вышла новая компьютерная игра «IQ-game». В учетных данных.
компьютерном магазине данная игра продавалась по очень высокой стоимости,
поэтому Куаныш решил скачать ее в Интернете. В сети, перейдя по первой ссылке,
Куаныш увидел надпись: «Игра «IQ-game» бесплатная, и скачать ее можно по
Авторизация –
ссылке ниже».
предоставление
После скачивания файла на компьютер Куаныш обнаружил потерю некоторых
определенных прав для
программ и системных файлов.
пользователя.
1) Что произошло при скачивании файла на компьютер?
2) Что не следовало делать Куанышу?
DDoS-атака
С помощью вирусов хакеры могут управлять множеством компьюте-
ров, атаковать и отключать веб-сайты. Это называется распределенная
атака типа «отказ в обслуживании» (Distributed Denial of Service, сокр.
DDoS). При такой атаке хакеры перегружают серверы большим коли-
чеством запросов, которые идут одновременно с многих компьютеров.
Знаешь ли ты?
Сервер может обработать ограниченное количество запросов в день,
но если их количество увеличивается, сервер перегружается и пере- Наиболее популярный па-
роль «qwerty» возглавляет
стает работать. В настоящее время злоумышленники производят атаку топ 25 самых популярных
на потенциально уязвимые страницы сайта, т.е. скрипты, расходующие паролей.
большое количество ресурсов и предоставляющие большие по размеру
27
ответы. Для предотвращения таких видов атак сетевые администраторы
используют комплекс защитных мер: анализируют вид трафика, который
вызвал перегрузку сети, блокируют адреса такого трафика, используют
специальные сервисы защиты.
Признаки DDoS-атаки:
• журнал действий пользователей сервера содержит большое ко-
личество запросов одного типа из разных источников к одному сервису;
• резкое увеличение входящего трафика;
• многократное повторение однотипных действий пользователей на
одном и том же ресурсе (переход на веб-страницу, скачивание файла);
• некорректная работа сервера – «зависание», некорректное завер-
шение работы и т.д.
Атаки на пароли
Другим видом кибератак является атака на пароли пользователей.
Атаки на пароли Хакер может получить доступ к информации о паролях пользователя,
используя социальную инженерию, угадывая или получая доступ к базе
паролей. Злоумышленник может «угадать» пароль случайным или систе-
Полный перебор матическим образом.
(англ. brute force) – Помимо двух описанных выше способов, существует специальное
злоумышленник про-
веряет все возможные
программное обеспечение – keylogger, которое относится к програм-
пароли, пока не будет мам-шпионам. Назначение этой программы – сохранять и передавать ло-
найден правильный. гины и пароли учетных записей пользователей, кошельков и т.д. Keylogger
фиксирует все нажатия клавиш и передает хакеру конфиденциальную
Полный по словарю
информацию, в том числе платежные данные пользователя.
(англ. dictionary attack) – Каким должен быть надежный пароль?
словарь общих паролей Надежный пароль должен содержать не менее 8 символов, состоять
используется для из комбинации букв различных регистров, цифр и спецсимволов.
получения доступа Также не рекомендуется использовать предыдущий пароль, одинако-
к компьютеру. вый пароль для различных аккаунтов, сообщать кому-либо свой пароль,
хранить пароль в доступном для всех месте, сохранять пароль в браузере.
ПРОВЕРЬ СЕБЯ
1. Назови основные угрозы сети. 4. Назови методы защиты компьютерной системы
от вирусов.
2. Объясни принцип фишинговой атаки.
5. Опиши признаки DDoS-атаки.
3. Приведи пример надежного пароля.
6. *Обсуди методы обеспечения собственной ин-
формационной безопасности.
28
Компьютерные системы
2.2
В наши дни компьютеры играют большую роль в жизни человека,
потому что делают ее проще. В каждом современном офисе есть компью-
теры, которые помогают людям работать быстрее. Студенты и школьники Какой компьютер выбрать
используют компьютеры для обучения. путешественнику?
ПРОВЕРЬ СЕБЯ
1. Объясни, почему путешествующему журналисту 3. Опиши компьютерную систему, которую ты
достаточно работать на ноутбуке, а архитектору будешь использовать:
необходим более мощный компьютер. а) для поиска информации в сети Интернет;
b) для сетевой игры с друзьями;
2. Назови различия между суперкомпьютером и
c) для написания программы на объектно-
мэйнфреймом.
ориентированном языке.
4. Перечисли основные компоненты компьютерной системы.
5. Назови отличия ультрабука от нетбука.
30
Принцип организации локальной сети
2.3
В 7 и 8 классе ты изучил основные понятия компьютерной сети. И зна-
ешь, что компьютерная сеть – это совокупность двух или более компью-
теров, соединенных каналами передачи информации. Когда компьютеры Как устроена локальная
подключены к сети, люди могут обмениваться файлами или ресурсами, сеть?
иметь общий доступ к устройствам, программам, базам данных и т.д.
Сеть легко настроить. Каждый узел подключен Новые узлы могут быть легко
к двум другим устройствам. добавлены в сеть.
Каждый узел в сети получает
Имеет более высокую
все данные, отправленные по Требуется меньше кабеля
производительность,
сети, – это угроза безопасности. по сравнению с топологией
поскольку сообщение
«Звезда», что делает установку
Сложно найти неисправность, передается только
дешевле.
вся сеть выходит из строя, если предполагаемому получателю.
поврежден центральный кабель. Данные в сети перемещаются Каждый узел подключен
в одном направлении, каждый отдельно, поэтому отказ одного
Если центральный компьютер узел принимает данные по узла или его канала (среды
выйдет из строя, вся сеть очереди, пока узел назначения передачи) не влияет на другие
перестанет работать. не примет его. узлы.
31
Топология Mesh, или, другими словами, ячеистая сеть. В такой тополо-
Локальная сеть гии каждый узел имеет соединение со всеми остальными узлами в сети.
(Local Area Network, Настройка сети, в которой каждый компьютер и сетевое устройство
сокр. LAN) – взаимосвязаны друг с другом, что позволяет распределять большинство
компьютерная сеть,
передач, даже если одно из соединений прерывается. Эта топология обыч-
которая соединяет
компьютеры
но используется для организации беспроводных сетей.
Преимущества
на небольших
расстояниях. • Управляет большими объемами трафика, потому что несколько
устройств могут передавать данные одновременно.
• Отказ одного устройства не приводит к разрыву сети или передаче
данных.
WAN – более 1000 км • Добавление дополнительных устройств не нарушает передачу данных
(страна, континент)
между другими устройствами.
MAN – до 10 км Недостатки
(город) • Стоимость внедрения выше, чем в других сетевых топологиях, что
LAN – до 1 км делает этот вариант менее желательным.
(здание) • Построение и поддержание топологии сложно и отнимает много
PAN – времени.
квадратный метр • Вероятность избыточных подключений высока, что увеличивает за-
(один пользователь)
траты и снижает эффективность.
Локальная компьютерная сеть объединяет в рабочие группы до
нескольких десятков, сотен компьютеров для одной или нескольких
организаций.
ЗАДАНИЕ 3. О б с у д и
Создание и использование локальной сети вызвано необходимостью
недостатки локальных
компьютерных сетей. быстрого обмена различной информацией, одновременного использо-
вания программ, совместного использования ресурсов компьютеров и
ЗАДАНИЕ 4. И з у ч и оборудования, подключенного к сети.
принцип организации Преимущества локальных сетей:
гибридной топологии. • централизованное обслуживание и обновление ПО – сетевые
Определи ее преимуще- администраторы могут обновлять программное обеспечение по сети;
ства и недостатки. • централизованная безопасность – антивирусное программное
обеспечение и брандмауэры могут быть внедрены в сети, помогая защи-
тить пользовательские файлы от угроз;
• мониторинг пользователей – сетевые администраторы могут
отслеживать и ограничивать деятельность пользователей сети;
• уровни доступа – разным пользователям могут быть предоставлены
разные права доступа, что позволяет администраторам сети ограничивать
доступ к определенным файлам.
ПРОВЕРЬ СЕБЯ
HYBRID 1. Приведи пример организаций, которые используют локальную сеть.
2. Перечисли каналы связи. Объясни, в чем их отличие.
3. Назови особенности каждой топологии. Как ты считаешь, какая из то-
пологий наиболее подходит для организации локальной сети офиса?
Объясни, почему.
4. Существует два способа организации локальных сетей: «одноранговая
сеть» и «клиент-сервер». Объясни их особенности.
32
Принцип организации локальной сети
2.4
После того, как системный администратор определил количество
устройств в сети, способ организации сети, ему необходимо выбрать тех-
нологию подключения между компьютерами и схему построения сети Проводная или беспро
для прокладки проводов, а также дополнительные сетевые устройства. водная локальная сеть?
Для организации локальной сети каждый компьютер должен обладать
Интернет
сетевым адаптером или сетевой картой.
Сетевые карты позволяют настольным и портативным компьютерам
подключаться к сети. Большинство современных компьютеров имеют
встроенную сетевую карту и беспроводную сетевую карту, что позволяет
Компьютер учителя
выбрать любой проводной или беспроводной метод подключения. Мо-
бильные устройства, планшеты, смартфоны имеют только беспроводную
сетевую карту, обеспечивающую беспроводное соединение.
Коммутатор
• Сетевая карта предлагает интерфейсный порт для проводного
соединения.
• Беспроводной сетевой адаптер обеспечивает радио-приемопере-
датчик для беспроводного подключения.
33
В настоящее время существуют три спецификации скорости передачи:
Знаешь ли ты? • классический Ethernet (10 Мбит/c);
Роберт Метклаф изобрел • Fast Ethernet (100 Мбит/c);
Ethernet в 1973 году для • Gigabit Ethernet (1 Гбит/c).
того, чтобы к одному лазер- Компьютеры могут устанавливать беспроводное соединение, если
ному принтеру подключить
у них есть беспроводной сетевой адаптер.
как можно больше компью-
теров. Беспроводная сеть использует беспроводные сигналы Wi-Fi для со
единения узлов. Сигналы Wi-Fi используют радиочастоты в диапазонах
2,4 ГГц и 5 ГГц.
Беспроводной адаптер преобразует данные в радиосигнал, а беспро-
водной приемник декодирует их, чтобы компьютер мог их понять.
34
Компоненты локальной сети
2.5
Основной принцип организации локальной сети заключается в том, что
все рабочие станции сети должны быть оборудованы сетевыми картами и
соединены между собой специальными устройствами, которые обеспечат Как узнать «физический
передачу информации. К таким устройствам относятся концентраторы, адрес» компьютера?
коммутаторы, маршрутизаторы, точки доступа и др. Какие устройства исполь-
зуются для отправки дан-
ных в сети?
35
ЗАДАНИЕ 1. Используя команду ipconfig /all, определи MAC-адрес («физичес
кий адрес») устройства.
Для организации компьютерной сети важно определить требования
к сети и ее масштаб. Так как от размера сети и ее назначения зависит
выбор необходимого оборудования сети.
Концентратор
Адрес
ПК 5, МАС 5
Отправитель получателя Коммутатор
МАС 5
ПК 1, МАС 1
ПК 4, МАС 4
ПК 1, МАС 1 ПК 3, МАС 3
ПК 2, МАС 2 ПК 2, МАС 2
ПК 3, МАС 3
1 схема 2 схема
36
к информации и возможность ее хищения, данные доступны всем ком-
пьютерам сети. Концентратор не может контролировать трафик данных.
Сегодня концентраторы практически не используются для организации
сети. Однако данное устройство вполне подойдет для подключения
нескольких игровых приставок для игры с использованием проводной
локальной сети.
Коммутатор выполняет ту же роль, что и концентратор, но он более Знаешь ли ты?
эффективный, поскольку хранит MAC-адреса устройств в сети, фильтрует Существует несколько ви-
и отправляет пакеты с данными по нужному адресу. Это делает отправку дов Ethernet-коммутаторов:
данных более эффективной. Другими словами, сетевой адаптер получает модульные, фиксированные,
свои пакеты, доставленные на коммутатор, независимо от другого сетевого неуправляемые, частично
управляемые, управляемые.
адаптера, подключенного к этому коммутатору, что уменьшает нагрузку
сети и обеспечивает более высокую пропускную способность.
Если, например, в сетевой игре много данных, передаваемых между
компьютерами, то переключение может уменьшить задержку. Коммутатор
снижает энергопотребление сети и повышает ее производительность.
Но стоит такое устройство дороже, чем концентратор.
ПРОВЕРЬ СЕБЯ
1. Перечисли устройства, которые используются для организации работы
локальной сети.
2. Объясни, как коммутатор определяет, на какое устройство отправить
данные.
3. Назови команду, которая позволит просмотреть физический адрес ком-
пьютера (ОС Windows).
4. Сформулируй назначение MAC-адреса. Как ты считаешь, почему
MAC-адрес на сетевой карте представлен шестнадцатеричными симво-
лами, а не двоичным кодом?
5. Объясни различия между устройствами сети: коммутатор и концентратор.
6. *Исследуй характеристики, на которые необходимо обращать внимание
при покупке коммутатора.
37
Устройства сети
2.6
Азамат работает системным администратором в фирме, где имеется
два отдела. В каждом отделе компьютеры объединены в локальную сеть
Какие сетевые устройства с помощью коммутатора. Его задача – объединить два отдела в единую
нужны для подключения сеть, другими словами, организовать передачу данных между устройства-
к глобальной сети? ми двух отделов (двух подсетей).
Как стать анонимным Для решения задачи системного администратора необходимо исполь-
пользователем сети? зовать сетевое устройство мост.
Концентратор Концентратор
Мост
39
чаще всего у провайдеров набор IP-адресов ограничен, и когда новое
устройство подключается к сети, ему выдается свободный IP-адрес.
IP-адрес выполняет две основные функции: определяет сеть и устрой-
ство в сети.
IP-адрес: 193.162.210.116
a.b.c.d
номер сети + номер
компьютера в сети
IPv6
IPv4
Размер адреса: 128 бит
Размер адреса: 32 бита Формат адреса: шестнадцате-
Формат адреса: ричное обозначение
десятичное обозначение Количество адресов: 2128
Количество адресов: 232 Пример адреса:
Пример адреса: 2001: 0db8: 85a3: 0000: 0000:
192.168.0.104 8a2e: 0370: 7334
40
Каждый IP-адрес несет информацию о наименовании страны и региона
абонента, его провайдере и номере компьютера в сети.
Существуют сайты, которые блокируют просмотр веб-страниц по гео
графическому положению.
Для того чтобы просматривать такие страницы, существует прокси-
сервер (proxy-server), что означает «посредник» между пользователем
и сетью Интернет. Каждый прокси-сервер имеет свой IP-адрес, поэтому,
когда пользователь подключается к прокси-серверу, все запросы переда-
ются по сети через его IP-адрес. Таким образом пользователь становится
анонимным и получает возможность просматривать заблокированные
страницы.
Основные функции прокси-сервера:
1. Мониторинг и фильтрация данных (сервис позволяет фильтровать
данные по различным параметрам, например, фильтровать контент). Знаешь ли ты?
2. Ускорение загрузки веб-сайтов (сервис извлекает контент из кэша, Для объединения сетей,
который был сохранен, когда пользователь делал предыдущий запрос). использующих различные
3. Анонимность (конечный сервер получает запрос от прокси- протоколы или технологии,
сервера, а не от пользователя, таким образом IP-адрес будет скрыт используется устройство се-
от того компьютера, куда поступает запрос, но для самого прокси-сервера тевой шлюз.
он останется видимым, даже если соединение с сервером зашифровано).
Прокси-сервер обеспечивает более быстрый доступ к запрашивае-
мым ресурсам и высокую безопасность за счет того, что содержимое
веб-страниц сканируется на наличие шпионского или вредоносного ПО
и нежелательные сайты блокируются. Тем не менее, в некоторых случаях
может случиться так, что провайдер услуг легко найдет пароли, веб-сайты
браузера или любые защищенные данные.
ЗАДАНИЕ 5. Заполни таблицу в тетради и обсуди с одноклассником преиму-
щества и недостатки прокси-сервера.
Прокси-сервер
Преимущества Недостатки
ПРОВЕРЬ СЕБЯ
1. Сравни устройства сети коммутатор и маршрутизатор. Назови их сходства
и различия.
2. Определи различия между мостом и маршрутизатором.
3. Объясни, каким образом маршрутизатор определяет, на какое устройство
отправить данные.
4. Назови различия между: a) динамическим и статическим IP-адресом;
b) IPv4 и IPv6.
5. Перечисли основные функции прокси-сервера.
6. *Исследуй, на какие характеристики необходимо обращать внимание
при покупке маршрутизатора.
41
Принцип пакетной обработки
2.7
ЗАДАНИЕ 1. Рассмотри пример отправки файла с компьютера А на компьютер
В. Рассмотри изображение.
Как передаются данные
через сеть?
Как информация в сети
находит получателя?
Исходное сообщение
отправителя на
компьютере А
Разбиение сообщения на части – пакеты
Компьютер А
- заголовок пакета
- пакет полезной нагрузки
1 2 3 4
Компьютер В
42
1. Данные разбиваются на пакеты.
2. Каждый пакет имеет адрес отправителя, адрес получателя и полез-
ную нагрузку (данные).
3. Если для данных требуется несколько фрагментов, то отмечается
порядок каждого пакета.
4. Пакеты, отправленные в сеть, перемещаются с маршрутизатора на
маршрутизатор по разным путям (задается маршрутизатором). Поэтому
время доставки каждого пакета может отличаться.
5. Как только пакеты приходят на компьютер получателя, они упоря-
дочиваются.
6. С компьютера получателя отправляется сообщение, которое ука-
зывает, что сообщение было получено.
7. Если нет подтверждающего сообщения, отправитель передает дан-
ные снова.
Коммутация пакетов обеспечивает полное поступление сообщений без Пример
Отправитель:
замедления работы сети. При коммутации пакетов не требуется предва-
MAC-адрес:
рительной процедуры установления соединения. Если получатель обна-
1A-22-C3-48-5F
ружит, что пакеты отсутствуют, он может запросить повторную отправку IP-адрес: 102.231.4.189
только этих пакетов. Это избавляет от необходимости повторной отправки 1/4, 1 – это номер
всего сообщения, что особенно полезно, если сообщение представляет пакета, 4 – количество
собой большой файл, например, видеофайл. пакетов
Получатель:
ЗАДАНИЕ 2. Обсуди с одноклассником преимущества пакетной передачи MAC-адрес:
информации. 00-17-4F-08-5D-69
Каждый пакет состоит из двух частей: IP-адрес: 98.1.232.99
• заголовок – включает IP-адреса отправителя и получателя, номер
пакета, общее количество пакетов, содержащихся в сообщении;
• полезная нагрузка – данные сообщения.
Другими словами, заголовок является конвертом, а полезная нагрузка – это то,
что человек отправляет внутри конверта.
Отправитель:
MAC-адрес: …………………
IP-адрес: ……………………. MAC-адрес: MAC-адрес:
1/…, 1 – это номер пакета, … – количество пакетов 3A-00-C8-18-СF 7B-12-3C-18-1F
Получатель: IP-адрес: 108.132.4.187 IP-адрес: 103.201.5.189
MAC-адрес: ………………………….
Компьютер Армана Компьютер Сауле
IP-адрес: …………………………
43
Пакеты отправляются индивидуально по сети и объединяются, чтобы
преобразовать сообщение на другом конце.
Пакеты могут или не могут следовать по одному и тому же маршруту –
они отправляются по тому маршруту, который позволяет самую быструю
передачу. Следовательно, пакеты могут поступать не по порядку. Компью-
тер получателя принимает и собирает их в правильном порядке.
ЗАДАНИЕ 4. 1. Исследуй понятие коммутация каналов.
2. Обсуди недостатки и преимущества коммутации каналов.
3. Сравни коммутацию пакетов и коммутацию каналов.
Отправитель
Пакетная коммутация
Промежуточный
узел
D C В А А А
D В
А
C
C В
C
В
D
А
Получатель
D D
D C В А
ПРОВЕРЬ СЕБЯ
1. Объясни, каким способом данные передаются по сети.
2. Перечисли, из каких частей состоит пакет.
3. Назови, как происходит коммутация каналов.
4. Укажи преимущества пакетной передачи данных.
5. Укажи истинное высказывание, в ложном исправь ошибки.
1) Все пакеты отправляются по одному маршруту.
2) Пакеты, которые поступают на компьютер получателя, могут поступать
не по порядку.
3) Для отправки пакетов при коммутации пакетов достаточно указать
только MAC-адрес.
4) В заголовке пакета указывается количество пакетов, для того чтобы
запросить повторную отправку всех пакетов.
6. *Как ты считаешь, достаточно ли данных в заголовке пакета, если нет, то
что еще необходимо добавить?
44
Протоколы TCP/IP
2.8
Все устройства, подключенные к сети для обмена данными между узла-
ми, должны следовать определенному набору правил. Правила отправки
и получения данных называются протоколами. Какие существуют правила
Эти правила определены в сетевом программном обеспечении. Дру- отправки сообщений?
гими словами, любая программа, работающая в сети, должна придержи- Чем отличается протокол
ваться определенных правил приема и передачи данных. HTTP от HTTPS?
Как протокол TCP/IP управ-
Например, для работы электронной почты нужно не только правильно ляет передачей данных?
сформировать пакеты, но и сформулировать правила отправки и по-
лучения писем электронной почты. Для этого используются протоколы
электронной почты.
Название протокола Назначение
SMTP
Простой протокол отправки электронных писем
(Simple Mail Transfer Protocol)
POP3
Протокол получения электронных писем
(Post Office Protocol 3)
Протокол доступа к сообщениям в Интернете.
Интернет-протокол, используемый почтовыми
клиентами для получения сообщений электрон-
IMAP ной почты с почтового сервера через соединение
(Internet Message Access TCP/IP.
Protocol) IMAP является одним из самых распространенных
протоколов для получения электронной почты.
IMAP синхронизирует сообщения на всех устрой-
ствах.
2
3
1
45
ЗАДАНИЕ 2. Рассмотри изображения. Сформулируй различия между HTTP
и HTTPS.
HTTP HTTPS
Пароль: Пароль:
admin12345 admin12345 40yZ58n0KY admin12345
Хакер Хакер
Перехватывает Перехватывает
admin12345 40yZ58n0KY
46
понятен получателю, что позволяет пользователям взаимодействовать Прикладной
с программным приложением, например, электронная почта.
HTTP, FTP, POP3, SMTP
Транспортный уровень отвечает за поддержание связи по сети. Он
определяет, сколько данных должно быть отправлено, куда и с какой ско- Транспортный
ростью. Этот уровень основан на сообщении, полученном от прикладного TCP, UDP
уровня. Это помогает гарантировать, что блоки данных доставляются без
ошибок и в правильной последовательности. Сетевой
Данный уровень использует два различных транспортных протокола: IP
TCP и UDP.
Канальный
TCP UDP Ethernet
TCP-протокол обеспечивает надежную и Протокол UDP позволяет очень бы-
безошибочную связь между двумя ком- стро передавать данные по сети, так
пьютерами в сети. как в нем определен самый мини-
TCP-протокол разделяет данные на паке- мальный набор функций, необходи-
ты, затем нумерует их, что позволяет по- мый для передачи данных. В резуль-
лучателю правильно разместить данные тате чего безопасность и надежная
на другом конце, подтверждает получе- доставка не гарантируются. Пакеты
ние пришедших к нему по сети пакетов, поступают к получателю в любом
ожидает подтверждение о получении порядке, могут быть потеряны, либо
отправленных им пакетов, отправляет продублированы. Протокол UDP
следующие данные в случае отсутствия полезен, когда нет необходимости
ошибок. Вследствие того, что данный обеспечивать безопасность пере-
протокол TCP содержит большой набор дачи данных.
функций, он требует больших затрат вре-
мени.
ПРОВЕРЬ СЕБЯ
1. Объясни, для чего необходим протокол при передаче данных по сети.
2. Назови протоколы, которые обеспечивают отправку и прием сообщений
через сеть.
3. Объясни назначение TCP/IP протокола.
4. Перечисли, из каких частей состоит TCP/IP стек. Поясни назначение каж-
дого уровня.
5. Укажи, какие протоколы используются на прикладном уровне.
6. Объясни, для чего при отправке сообщения необходимо указывать номер
порта.
7. Перечисли, из каких частей состоит сокет, сформулируй его назначение.
8. *Укажи уровень TCP/IP стека, на котором используется маршрутизатор.
48
Подводим итоги
1. Назови основные области кибербезопасности.
2. Определи по изображениям тип атаки и назови способы защиты.
1 2
посетители
сайта
Транспортный
Сетевой
Канальный
49
Joomla
CMS
WordPress
Автоматизированная
разработка сайта
WIX
WYSIWIG
CK Editor
Методы разработки
сайта
Идея сайта
Разработка с помощью
языков программирования
Python
JavaScript
Дизайн
PHP
Страницы сайта
50
3. СОЗДАНИЕ САЙТА
Межпредметная связь
В этом разделе ты изучишь способы и инструменты
разработки сайта для различных предметных обла-
стей.
51
Инструменты разработки веб-сайтов
3.1
С развитием Интернета появилась возможность искать, скачивать,
передавать информацию, совершать онлайн-покупки, общаться друг
Какие существуют спосо- с другом. Для некоторых это возможность зарабатывать, не выходя из
бы создания веб-сайтов? дома.
Вся информация в Интернете, которую мы просматриваем, слушаем,
смотрим, находится на веб-сайтах.
52
МЕТОДЫ РАЗРАБОТКИ САЙТА
Преимущества Недостатки
CMS WYSIWYG («wiz-ee-
WYSIWYG wig», англ. What You
See Is hat You Get) –
WYSIWYG имеет большое количество преимуществ, она проста в ис- это программа-
редактор, позволяющая
пользовании и позволяет создавать сайт за короткое время. Кроме того,
разработчику увидеть
подойдет людям, незнакомым с веб-технологиями, для создания простых конечный результат.
одностраничных сайтов или визиток.
53
Для создания более сложной системы, крупного проекта конструктор
не подойдет. К тому же ограничения в редактировании структуры кода
сайта не позволят сделать сайт уникальным и отличающимся от других,
Знаешь ли ты? невозможно будет перенести сайт на другой хостинг или конструктор
Первый веб-сайт был создан
сайтов.
британским ученым Тимом CMS помогает создавать новые страницы в короткие сроки и управлять
Бернерсом-Ли и запущен 6 контентом веб-сайта с помощью удобного интерфейса. CMS – это более
августа 1991 года. сложная платформа, которая обычно представлена в виде решения с
Просмотреть первый веб-
открытым исходным кодом. Это означает отсутствие ограничений с точ-
сайт можно по ссылке:
http://info.cern.ch/hypertext/ ки зрения веб-дизайна и настройки. Чаще всего CMS является выбором
WWW/TheProject.html людей, желающих получить в итоге качественный сайт, отличающийся
уникальным дизайном и оригинальным содержанием. Тем не менее у
CMS есть и недостатки, например, низкая скорость загрузки сайта. Сайт,
созданный на CMS, требует использования множества дополнительных
функций, что приводит к медленному открытию страниц в Интернете.
Не защищено | info.cern.ch/hypertext/WWW/TheProject.html
ПРОВЕРЬ СЕБЯ
1. Назови способы разработки веб-сайтов.
2. Объясни, в чем различие между CMS и WYSIWYG.
3. Кратко объясни преимущества и недостатки CMS и WYSIWYG.
4. Объясни назначение WYSIWYG-редакторов для создания сайтов.
5. Подумай и объясни, на что необходимо обращать внимание при разра-
ботке сайта для онлайн-магазина.
54
Разработка веб-сайта в CMS
3.2
На прошлом уроке ты узнал, что необязательно быть программистом
для того, чтобы создать сайт.
Прежде чем создать сайт с помощью CMS, необходимо пройти не- С чего начать разработку
сколько этапов: веб-сайта?
1. Определить вид сайта. Существует несколько видов сайтов: блог, Какой CMS выбрать?
лэндинг, интернет-магазин, сайт-каталог, корпоративный сайт и другие.
2. Выбрать платформу CMS.
3. Выбрать дизайн и определить содержание сайта на выбранной плат-
форме.
Для Асхата основной задачей является создание блог-сайта, на кото-
ром он сможет делиться информацией о своих питомцах, особенностях
ухода за ними и т.д.
В зависимости от контента интернет-блоги можно разделить на не-
сколько видов:
Блог – сайт, на
• фотоблог – контент фото, картинки, гифки;
котором публикуются
• влог – короткие видео в соответствии с выбранной темой блога; авторские материалы
• текстовый – статьи и комментарии к ним; и систематически
• блог подкаст – общение с подписчиками; добавляются записи на
• и другие. определенную тему.
WordPress Joomla
WordPress – это бесплатное програм Joomla – второе широко используемое
мное обеспечение, которое включает бесплатное ПО после WordPress для Плагин – програм
плагины, виджеты и темы, которые создания сайта. Имеет множество тем мный компонент
делают WordPress полностью настраи и плагинов и идеально подходит для или модуль, который
ваемым и расширяемым. WordPress сайтов электронной коммерции. добавляет опреде
идеально подходит для небольших Устанавливается медленнее, чем ленную функцию
(блогов) и средних сайтов. WordPress. Joomla имеет гораздо боль- к существующей
Простая и быстрая установка, доступ- ше встроенных функций меню, чем компьютерной
ный интерфейс. Разработка сайта в WordPress, что может быть сложно для программе и предназ
WordPress не требует каких-либо на- новичка. начен для расширения
выков. По этой причине WordPress ре- ее возможностей.
комендуется для начинающих.
Хостинг – компания,
которая размещает
сайт на веб-сервере
и делает его
доступным для других
пользователей сети
Интернет.
55
Чтобы создать сайт на WordPress, необходимо перейти на сайт
Доменное имя, или
домен – имя сайта https://wordpress.com/ и зарегистрироваться.
в сети Интернет, На https://wordpress.com/ ты получишь бесплатный поддомен для
которое пользователь своего сайта в формате http://имя_сайта.wordpress.com.
вводит в адресной Разработчик может в любое время изменить имя домена. Система
строке браузера для предложит несколько вариантов хостинга и доменов. От того, какой
перехода на сайт. хостинг ты выберешь, будет зависеть его стоимость.
Мой сайт
Страницы
Создавайте, редактируйте и управляйте страницами вашего сайта.
Бесплатный домен
Опубликовано 0 Черновики 0 Запланировано 0 В корзине 3
с годовым Обновление
тарифным планом
Статистика
Записи
Медиафайлы
Страницы
Все страницы
Комментарии
Блоки Паттерны
Обратная связь страницы.
TEXT Опубликовать первую страницу?
Jetpack
Внешний вид
Создать страницу
Абзац Заголовок Список Плагины
56
Для каждого блока можно изменить шрифт, размер, цвет текста, его
Настольный ПК
расположение, вид блока, размер, расположение на странице и т.д.
4. Выбери шаблон и заполни его контентом. Настольный ПК
5. Выбери шаблон для твоей страницы.
6. Добавь блок Текст. Измени его цвет, шрифт, размер, начертание. Планшет
7. Просмотри, как созданная страница будет выглядеть на планшете или теле-
фоне. Телефон
8. Назови различия между видом страницы для настольного ПК и видом для
мобильного телефона. Поиск и социальны...
9. Опубликуй свою первую страницу, поделись ссылкой с одноклассниками.
1 Перейди на вкладку 3
Главная. Блог о шарпеях
24 минуты назад
Администратор WP
Редактировать
Просмотреть страницу
4 Для пункта Обсуждение выбери → Статистика
Разрешить комментарии.
2 Выбери Страницы. Копировать страницу
Обсуждение Копировать ссылку
Комментарии
Порядок 0
57
5 Обнови страницу. 6 Предложи одноклассникам добавить комментарии к твоей странице.
Добавить комментарии
Обновить
Введите свой комментарий...
7 Просмотри
комментарии. Заполните поля или щелкните по значку, чтобы оставить свой комментарий.
Комментарии
Просматривайте, отвечайте и управляйте всеми комментариями на вашем сайте.
Данные пользователя
через несколько секунд
Блог о шарпеях
Здравствуйте!
Комментарии
Удалить Изменить изображение
Обратная связь
ПРОВЕРЬ СЕБЯ
1. Перечисли последовательность шагов для разработки сайта на WordPress.
2. Назови вкладки меню WordPress.
3. Объясни, как опубликовать созданный сайт.
4. Перечисли, какие шаблоны для создания страниц ты использовал для
создания своего сайта, назови их особенности.
5. Объясни, как добавить возможность пользователям оставлять коммен-
тарии на сайте.
58
Разработка веб-сайта в WYSIWYG
3.3
Другой инструмент, которым может воспользоваться Асхат для
создания своего сайта, – это конструктор. Существует большое количество
конструкторов. Одним из наиболее популярных является WIX. Как создать сайт с помо-
щью конструктора?
Чтобы создать сайт на WIX, необходимо: Какой конструктор вы-
брать?
1. Зарегистрироваться на сайте.
2. Выбрать шаблон.
3. Заполнить шаблон контентом (текст, картинки, видео и т.д.).
4. Доработать дизайн.
5. Подключить домен.
6. Опубликовать.
Прежде чем заполнить сайт контентом, изучи основные элементы Шаблон – форма,
управления и интерфейс конструктора WIX. которая используется
в качестве руководства
Обрати внимание на вкладку Меню и страницы, с помощью которой
для создания сайта.
можно просмотреть, добавить, удалить, изменить страницы сайта. Шаблон контролирует
общий вид и макет
Меню сайта ? ç сайта. Он обеспечи
Меню сайта вает структуру, которая
Страницы блога
объединяет общие
Главная
элементы, модули и
Смена страниц
стили.
Блог
Обо мне
Полоски – части
страницы, которые
Фотоальбомы клиентов
необходимы для
оформления дизайна
Контакты
страницы.
59
ЗАДАНИЕ 3. 1. Рассмотри настройки текста.
Настройка текста
2. Измени заголовок для твоего сайта, шрифт и размер текста.
Стили 3. Изучи настройки Эффекты и Интервалы.
Заголовок 2 4. Назови различия между интервалом -0,1 и 0,7.
Шрифты
Страницы сайта разделены на блоки: header, content и footer.
Georgia
Header обычно отображается на всех страницах сайта и содержит лого-
Размер шрифта (пикс.)
тип, название, меню сайта, content – основную информацию, разделенную
на полоски и ленту блога, а footer – контакты.
24
Для редактирования дизайна страницы правой кнопкой мыши можно
В I U
вызвать панель инструментов, с помощью которой ты сможешь редак-
тировать элементы сайта.
Обрати внимание на то, что для различных частей сайта представлены
различные параметры и настройки.
Эффекты
ЗАДАНИЕ 4. 1. Изучи настройки для различных частей страницы.
Интервалы
2. Измени дизайн страницы твоего сайта для блока header.
3. Добавь страницы при необходимости.
60
Visitor Analytics
Знаешь ли ты?
Visitor counter
Main Wix Artificial Design Intelli
Settings What to show a counter on your site? gence (ADI) – платформа,
All visitors которая сочетает дизайн
Layouts All visitors веб-сайта и создание кон-
тента с искусственным
00000 Design Page visits
интеллектом. Эта техноло-
Unique visitors
Text гия позволяет создавать
Visits by country веб-сайты за считанные
минуты на основании ин-
Visits by city
Support формации о пользователе
Most visited pages и вариантах дизайна.
Upgrade
Recently added pages
ПРОВЕРЬ СЕБЯ
1. Перечисли типы сайтов, которые доступны для создания в конструкторе
WIX.
2. Объясни, из каких частей состоит страница сайта.
3. Объясни различия между header и footer.
4. Перечисли настройки текста, которые доступны в конструкторе WIX.
61
Внедрение мультимедиа на веб-сайт
3.4
Конструктор позволяет не только быстро создавать страницы сайта,
но и использовать большое количество настроек для улучшения его ди-
Как улучшить навигацию зайна.
по сайту? В редакторе существует возможность добавлять изображения, видео
Как сделать сайт привле- и анимацию, слайдеры, использовать логотипы, элементы векторной гра-
кательным? фики.
Бокс
My dog – is my friend.
Списки и сетки
Видео и аудио My little pet
Меню Настроить Переход по страницам
Горизонтальное меню
Отменить Сохранить
62
Для того чтобы быстро переместиться наверх или вниз по странице,
необходимо выполнить следующие действия:
Заменить иконку
Логотип сайта поможет сделать твой сайт узнаваемым и запоминаю- 85% покупателей делают
свой выбор на основе цвета.
щимся среди других.
В галерее редактора собрано и разделено по категориям большое
количество векторных изображений.
Чтобы добавить логотип на свою страницу, нужно выполнить несколько
простых шагов:
1. Меню → Добавить.
2. Выбрать пункт Графика. Текст Избранное
63
ЗАДАНИЕ 4. 1. Создай логотип и загрузи его на свою страницу.
Таблица представляет
собой сетку, 2. Поэкспериментируй с настройками графики.
состоящую из
вертикальных столбцов Представить большой объем информации на странице сайта и сделать
и горизонтальных его доступным можно с помощью элемента Списки и таблицы, а используя
строк. Ячейки таблицы красочные макеты и готовые изображения, можно сделать его наиболее
могут содержать в себе привлекательным.
текст, графику и другие Добавить → Списки и таблицы → Выбрать шаблон →
элементы. Заполнить контент
Изменения дизайна одного из элементов повторяющегося списка
автоматически применяются к другим элементам этого списка. Напри-
мер, если изменить дизайн одного из элементов, изменения отобразятся
на всех элементах этого списка.
Настроить
ПРОВЕРЬ СЕБЯ
Удалить фон 1. Перечисли способы навигации по сайту. Какой из них для тебя наиболее
удобный? Почему?
64
Внедрение анимации на веб-сайт
3.5
Анимация всегда впечатляет посетителей сайта. Анимация на сайте
может помочь быстро и легко объяснить сложные идеи, а также направить
действия пользователей с помощью соответствующих инструкций. Этот Как сделать сайт интер
факт можно использовать, чтобы привлечь внимание посетителей сайта активным?
и сориентировать при его использовании.
В конструкторе WIX добавить анимацию можно к тексту, кнопке или
картинкам. Анимация –
Рассмотри пример создания анимации для заголовка сайта. быстрая смена
Для добавления эффектов анимации нужно перейти в режим редак- последовательности
изображений, которая
тирования текста и выбрать параметр Анимация Редактировать текст . создает иллюзию
движения.
Чтобы анимировать текст, существует большой выбор настроек ани-
мации.
ЗАДАНИЕ 1. 1. Выбери блок текста на своей странице. Animation Settings
2. Изучи виды анимации, которые доступны в редакторе.
3. Добавь анимацию к тексту. < Назад
Вперед
Вырезать фон ЗАДАНИЕ 6. Добавь на сайт Аудиоплеер. Track Name – Artist Name
00:00 / 01:04
ПРОВЕРЬ СЕБЯ
1. Объясни, для чего некоторые разработчики сайта используют анимацию на своих страницах.
2. Перечисли виды анимации, которые доступны в редакторе WIX.
3. Объясни, что необходимо сделать, чтобы настроить анимацию для группы элементов.
4. Назови способы демонстрации слайд-шоу.
5. Перечисли шаги, которые помогут добавить файлы анимации на сайт в конструкторе WIX.
66
Подводим итоги
1. Определи названия методов разработки сайта по их описанию. Назови их различия.
5. Ниже приведены примеры того, как будут выглядеть страницы сайта на компьютере и на мобильном
телефоне. Назови их различия.
My dog – is my friend.
My little pet
67
Головная часть <HEAD>...</HEAD>
Структура документа
Тело HTML кода <BODY>...</BODY>
Заголовки <Hn>...</Hn>
Параграфы <P>...</P>
Шрифты <FONT>...</FONT>
Форматирование текста
<B>...</B>
<U>...</U>
Дизайн <marquee>...</marquee>
<HTML>...</HTML>
внутренние <STYLE>...</STYLE>
CSS стили
внешние .CSS file
<TABLE>...</TABLE>
<TH>...</TH>
Таблицы
<TD>...</TD>
<TR>...</TR>
маркированные <UL>...</UL>
Списки
нумерованные <OL>...</OL>
статичные <frameset>...</frameset>
Фреймы
плавающие <iframe> … </iframe>
68
4. HTML
● Почему стоит выбрать ручную верстку, Ты уже знаешь:
а не конструктор сайтов?
● Какова структура HTML-документа? ● понятия локальной и глобальной сети;
● Как использовать НТМL-теги при ● основные понятия глобальной сети: веб-страница,
форматировании текста веб-страницы? веб-сервер, веб-сайт, веб-браузер;
● Как создать нумерованный или ● назначения URL и DNS;
маркированный список на веб- ● как передавать информацию по сети;
странице? ● как работать с графикой и звуком;
● Как использовать CSS при разработке ● как монтировать видеоклипы;
веб-страницы? ● как внедрять мультимедиа в ООП.
● Как изменится веб-страница после
применения блочной верстки? Ты узнаешь:
● Как вставить мультимедиа объекты
на веб-страницу? ● о преимуществах и недостатках ручной
верстки;
● Как организовать переходы между веб-
страницами? ● о структуре HTML-документа;
● Как создать многостраничный веб-сайт? ● об основных тегах, предназначенных для
форматирования текста;
● Как комбинировать
● как создавать нумерованные и маркированные
автоматизированный и ручной методы
списки;
разработки веб-сайтов?
● как использовать каскадные таблицы стилей
при дизайне веб-сайта;
● в каких случаях используются таблицы, блочная
верстка и фреймы;
● как осуществлять переходы между веб-
страницами;
● как совместить автоматизированный и ручной
методы разработки веб-сайтов.
Межпредметная связь
В данном разделе ты познакомишься с основами
сайтостроения, а именно – научишься применять
теги, предназначенные для форматирования текста,
создания таблиц. Полученные знания ты сможешь
применять при создании веб-страниц, образова-
тельных программ в онлайн-режиме, электрон-
ных учебников по различным дисциплинам. Поиск
информации в Интернете будет способствовать
развитию использования ИКТ-ресурсов, которые
также пригодятся в учебном процессе. При изуче-
нии данного раздела ты будешь обсуждать темы,
связанные с семейными ценностями, здоровьем,
хобби, национальными традициями, глобальным
гражданством.
69
Структура HTML-документа. Основные теги
4.1 форматирования текста в HTML
Почему стоит выбрать ЗАДАНИЕ 1. Назови, какие методы разработки веб-сайтов изображены на
ручную верстку, а не кон- рисунке, и укажи их преимущества и недостатки.
структор веб-сайтов?
Какова структура HTML-
документа?
Как использовать НТМL-
теги при форматировании
текста веб-страницы?
71
Основные теги редактирования текста
Пример использо-
Назначение Тег Атрибуты Результат
вания тега
1 Установка <Hn>…</ Align – положение за- <H1 align=center>
уровня заго- Hn>, 1≤n≤6. головка на странице. Привет!
Привет!
ловков Значения: </H1>
left, right, center, justify.
72
ЗАДАНИЕ 5. Создай веб-страницу аналогично представленной на рисунке,
озаглавь страницу «Страница обо мне».
Моё хобби!
ВОПРОСЫ И ЗАДАНИЯ
1. Выполни тест.
1) Выбери альтернативный тег 2) Выбери альтернативный тег 3) Выбери альтернативный тег
тегу <B>…</B>. тегу <I>…</I>. тегу <U>…</U>.
a) <em>…</em> a) <em>…</em> a) <em>…</em>
b) <strong>… </strong> b) <strong>… </strong> b) <strong>… </strong>
c) <ins>…</ins> c) <ins>…</ins> c) <ins>…</ins>
d) <del> …</del> d) <del> …</del> d) <del> …</del>
e) <mark>…</mark> e) <mark>…</mark> e) <mark>…</mark>
73
Структурирование информации в HTML
4.2
ЗАДАНИЕ 1. Сравни варианты представления данных на веб-странице и обсуди
с одноклассником преимущества использования каждого из них.
Как создать нумерован-
ный или маркированный
Прейскурант цен на платные услуги,
список на веб-странице? Прейскурант цен на платные услуги,
Как создать таблицу
оказываемые спортивным
оказываемые спортивным
на веб-странице? клубом «Мұрагер»
клубом «Мұрагер» (цены указаны в тенге за месяц – 8 посещений)
(цены указаны в тенге за месяц – 8 посещений)
Стоимость
Вид спорта Направления
1) Гимнастика: (в тг.)
• спортивная - 5000; Спортивная 5000
• художественная - 6000; Гимнастика Художественная 6000
• акробатическая - 7000.
2) Борьба: Акробатическая 7000
○ вольная -10 000; Вольная 10 000
○ греко-римская –12 000; Борьба Греко-римская 12 000
○ дзюдо - 15 000.
Дзюдо 15 000
3) Теннис:
▪ большой – 15 000; Большой 15 000
Теннис
▪ настольный – 12 000. Настольный 12 000
а) b)
74
ЗАДАНИЕ 2. Создай веб-страницу для рисунка (а) задания 1 по образцу.
<!DOCTYPE html>
<html>
<head> Виды спорта
<title>Lists</title> 1. Зимние виды спорта:
• фигурное катание;
</head> • хоккей;
<body> 2. Летние виды спорта:
<H1 align=center><font color=”red”>Виды спорта</font></H1> o пляжный волейбол;
o футбол;
<OL> 3. Единоборства:
<LI><font color=”red”>Зимние виды спорта:</font></LI> ▪ джиу-джитсу;
<UL type=”disc”> ▪ женская борьба;
▪ борьба на поясах.
<I><font color=”blue”>
Выбери спорт по душе!
<LI>фигурное катание;</LI>
<LI>хоккей;</LI>
</font></I>
</UL> ЗАДАНИЕ 3. Обсуди, какими данными
<LI><font color=”red”>Летние виды спорта:</font></LI> можно заполнить предложенные таблицы.
<UL type=”circle”> Обрати внимание на структуру таблиц.
<I><font color=”green”>
<LI>пляжный волейбол;</LI> 1
<LI>футбол;</LI>
</font></I>
</UL>
<LI><font color=”red”>Единоборства:</font></LI>
<UL type=”square”>
<I><font color=”gold”> 2
<LI>джиу-джитсу;</LI>
<LI>женская борьба;</LI>
<LI>борьба на поясах.</LI>
</font></I>
</UL>
</OL> 3
<U> <font color=”red”>Выбери спорт по душе!</font></U>
</font></p>
</body>
</html>
75
Чтобы установить границы таблицы и другие параметры, необходимо
использовать следующие атрибуты:
Атрибут Описание Пример
align определяет выравнивание таблицы align=center
background задает фоновый рисунок в таблице background=”C:/1.png”
bgcolor цвет фона таблицы bgcolor=yellow
border толщина рамки в пикселях border="3"
bordercolor цвет рамки bordercolor=red
cellpadding отступ от рамки до содержимого ячейки cellpadding="2"
cellspacing расстояние между ячейками cellspacing="5"
cols число колонок в таблице Редко используемый атрибут
frame сообщает браузеру, как отображать границы вокруг таблицы. frame="vsides"
Значения:
void - не рисовать границы;
border - граница вокруг таблицы;
above - граница по верхнему краю таблицы;
below - граница снизу таблицы;
hsides - добавлять только горизонтальные границы;
vsides - рисовать только вертикальные границы;
rhs - граница только на правой стороне таблицы;
lhs - граница только на левой стороне таблицы;
border - граница вокруг таблицы;
above - граница по верхнему краю таблицы;
below - граница снизу таблицы;
hsides - добавлять только горизонтальные границы;
vsides - рисовать только вертикальные границы;
rhs - граница только на правой стороне таблицы;
lhs - граница только на левой стороне таблицы.
height высота таблицы height=70%
rules сообщает браузеру, где отображать границы между ячейками Редко используемый атрибут
summary краткое описание таблицы Редко используемый атрибут
width ширина таблицы width=70%
<table border=“1”>
<tr> ЗАДАНИЕ 4. При создании сложных таблиц используются атрибуты rowspan
<td rowspan=“3”>span 3 и colspan. Набери предложенный ниже код и определи назначение каждого из
rows</td>
<td colspan=“3”>span 3 атрибутов. Используй их при создании таблиц на своей веб-странице.
columns</td>
</tr> ЗАДАНИЕ 5. Изучи предложенные коды и результаты выполнения HTML-
<tr> файлов, установи соответствия. Обоснуй свой ответ.
<td>H</td>
<td>T</td> 1 <table border=“1”> А
<td rowspan=“2”>span 2 <tr>
rows</td>
</tr> <th>Имя</th><th
<tr> colspan=“2”> Телефон </th> ФИО Телефон
<td>M</td> </tr> Петя Иванов 123 45 67 234 56 78
<td>L</td> <tr>
</tr>
<tr> <td>Петя Иванов</
<td colspan=“4”>span 4 td><td>123 45 67</td>
columns</td> <td>234 56 78</td>
</tr> </tr>
</table> </table>
76
2 <table border=“1”> В
<tr>
<th>Имя</th><td>Пе-
тя Иванов</td> ФИО Петя Иванов Знаешь ли ты?
</tr> 123 45 67 Тимоти Джон Бернерс-Ли,
<tr> Телефон будучи сотрудником Евро-
<th rowspan=“2”>- 234 56 78
пейской лаборатории по
Телефон</th><td>123 45 ядерным исследованиям
67</td> Conseil Européen pour la
</tr> Recherche Nucléaire (CERN),
<tr><td>234 56 78</ в 1989 году создал первую
td></tr> версию HTML для формати-
</table> рования научных докумен-
тов. Данная система была
ЗАДАНИЕ 6. Создай веб-страницу для рисунка (б) задания 1, используя раз- предназначена для внутрен-
личные атрибуты тегов таблиц. него документооборота. В
1991 году язык разметки
<html> гипертекста был доработан
<head> и применен для передачи
<meta charset="utf-8"> данных во Всемирной пау-
Вид спорта Направления <title>Страница обо мне</ тине. На сегодняшний день
title> большей популярностью
Зимние виды фигурное катание
спорта </head> пользуется XML (eXtensible
хоккей Markup Language). Также
<body>
Летние виды пляжный волейбол <table border="1"> использование JavaScript
спорта расширяет возможности
футбол <tr>
дизайна веб-страницы.
джиу-джитсу <th>Вид спорта</th><th>На-
Единоборства женская борьба правления</th>
</tr>
борьба на поясах
<tr>
<td rowspan="2">Зимние
виды спорта</td><td>фигурное
катание</td>
</tr>
<tr><td>хоккей</td></tr>
<tr>
<td rowspan="2">Летние
виды спорта</td><td>пляжный
волейбол
</tr>
<tr><td>футбол</td></tr>
<tr>
<td rowspan="3">Единобор-
ства</td><td>джиу-джитсу</td>
</tr>
<tr><td>женская борьба</
td></tr>
<tr><td>борьба на поя-
сах</td></tr>
</table>
</body>
<html>
ЗАДАНИЕ 7. Дополни веб-страницу о хобби, созданную на прошлом уроке,
информацией в виде списков и таблиц.
77
ВОПРОСЫ И ЗАДАНИЯ
1. Выполни тест.
1) Выбери тег для определения наименования таблицы:
a) <table>…</table>;
b) <name>…</name>;
c) <caption>…</caption>;
d) <th>…</th>;
e) <tr>…</tr>.
2) Выбери атрибут для определения фонового рисунка в таблице:
a) background; b) bgcolor; c) bordercolor; d) cellpadding; e) summary.
3) Выбери атрибут для определения отступа от рамки до содержимого ячейки:
a) background; b) bgcolor; c) bordercolor; d) cellpadding; e) summary.
4) Выбери атрибут для объединения ячеек строки:
a) rows; b) colspan; c) columns; d) rowspan; e) collspan.
5) Выбери атрибут для объединения ячеек столбца:
a) rows; b) colspan; c) columns; d) rowspan; e) collspan.
2. Классифицируй предложенные теги:
1) для создания списков;
2) для создания таблицы.
A) <UL>…</UL>
B) <TH>…</TH>
C) <OL>…</OL>
D) <TR>…</TR>
E) <TD>…</TD>
3. Выбери истинные утверждения.
A) Атрибуты colspan и rowspan используются для объединения ячеек строк и столбцов соответ-
ственно.
B) Вackground, bgcolor, bordercolor используются для задания параметров фона таблицы.
C) Наименование таблицы можно задать тегами <caption>…</caption> и <name>…</name>.
D) Нумерованные списки создаются с помощью тега <UL>…</UL>, а маркированные – с помощью
тега <OL>…</OL>.
E) Для создания столбца с заголовком используется тег <TD>…</TD>.
5*. Дан текст. Структурируй его в виде списка или таблицы, напиши соответствующий HTML-код.
Вид спорта – совокупность спортивных соревнований со схожими правилами и одинаковыми при-
знаками. Зимние виды спорта: хоккей, фигурное катание. Летние виды спорта: катание на роликах,
волейбол, футбол.
78
Применение CSS при разработке веб-сайтов
4.3
ЗАДАНИЕ 1. Айбар решил создать веб-сайт из нескольких веб-страниц. Он
хотел бы использовать единый дизайн для таблиц, текста и других элементов.
Посоветуй способ решения проблемы. Как использовать CSS при
разработке веб-страницы?
CSS (Cascading Style Sheets) – каскадные таблицы стилей, предназна-
ченные для установки индивидуальных цветов, фона, окантовки и прочих
свойств.
Существует три способа задания стилей:
1) Внешний (External CSS). Стили, используемые в дизайне веб-стра-
ницы, хранятся в отдельном файле формата CSS и при необходимости
подключаются в HTML-код с помощью тега <link>, который не будет
отображаться на странице и, следовательно, находиться между парным
тегом <head> … </head>. Этот способ удобен для установки одинаковых
стилей нескольких веб-страниц, содержащихся на одном веб-сайте, или
же для нескольких веб-страниц, имеющих схожую тематику или направ-
ление. Преимуществом использования каскадных таблиц стилей является
автоматическое изменение стилей при их редактировании в CSS-файле,
что позволяет разработчикам экономить время при написании HTML-кода.
Также выделение стилей в отдельный файл позволяет сделать HTML-код
намного проще и понятнее. Пример кода:
1.html Имя_файла.css
… p {color: green;}
<head>
...
<link rel=“stylesheet” href=“Путь/Имя_файла.css”>
</head>
<body>
<p>Текст</p>
</body>
…
… … …
<head> <head> <head>
… … …
<style> <style> <style>
p {color:green;} .st1 {color:green;} #st2 {color:green;}
</style> </style> </style>
</head> </head> </head>
<body> <body> <body>
<p>Текст</p> <p class=”st1”>Текст</p> <p id=”st2”>Текст</p>
</body> </body> </body>
… … …
79
… 3) Встроенный (InLineCSS). Также стили можно указывать через атрибут
<head> style для каждого тега отдельно. Этот способ используется при необхо-
… димости подавления ранее указанных стилей, либо при их однократном
</head> использовании.
<body>
<p style=“color:green;”> ЗАДАНИЕ 2. Изучи ниже предложенный код и определи стиль класса st1.
Текст</p> Запиши стиль класса st2, указанный для второй половины текста: цвет – синий,
</body> кегль – 16, стиль – Arial. Определи представленный способ подключения CSS и
</html> используй другие способы.
1.html st.css
<html> .st1 {
<head> color: red;
<link rel=”stylesheet” href=”st.css”> font-size: 14px;
</head> font-family: Times New Roman;
<body> }
<p><font class=”st1”>Сегодня прекрасный день!!</font>
<font class=”st2”>У меня хорошее настроение!</font></p>
</body>
</html>
80
ЗАДАНИЕ 4. Изучи HTML-код и определи статус каждого члена семьи.
HTML-код Результат выполнения
<html> Имя Фамилия Статус
<head>
<style> Нурлан Ахметов
table { Арзу Ахметова
width: 70%;
border-collapse: collapse; Айбар Ахметов
} Айна Ахметова
td, th {
border: 1px solid #98bf21;
padding: 3px 7px 2px 7px;
}
th {
text-align: left;
padding: 5px;
background-color: #A7C942;
color: #fff;
}
.alt td { background-color: #EAF2D3; }
</style>
</head>
<body>
<table>
<tr><th>Имя</th><th>Фамилия</th><th>Статус</th></tr>
<tr class=”alt”><td>Нурлан</td><td>Ахметов</td><td>отец</
td></tr>
<tr><td>Арзу</td><td>Ахметова</td><td>мама</td></tr>
<tr><td>Айбар</td><td>Ахметов</td><td>сын</td></tr>
<tr class=”alt”><td>Айна</td><td>Ахметова</td>дочь<td></
td></tr>
</table>
</body>
HTML-код Результаты
<html> Заголовок 1 Заголовок 2
<head>
<style type=”text/css”> Ячейка 3 Ячейка 4
TABLE {
background: white;
color: white;
}
TD, TH {
background: maroon;
padding: 5px; }
</style>
</head>
81
<body>
<table cellspacing=”1”>
<tr><th>Заголовок 1</th><th>Заголовок 2 </th></tr>
<tr><td>Ячейка 3</td><td>Ячейка 4 </td></tr>
</table>
</body>
</html>
<html>
Заголовок 1 Заголовок 2
<head>
<style type=”text/css”> Ячейка 3 Ячейка 4
TABLE {
background: #dc0;
border: 5px double #000;
}
TD, TH {
padding: 5px;
border: 1px solid #fff;
}
</style>
</head>
<body>
<table>
<tr><th>Заголовок 1</th><th>Заголовок 2 </th></tr>
<tr><td>Ячейка 3</td><td>Ячейка 4 </td></tr>
</table>
</body>
</html>
ВОПРОСЫ И ЗАДАНИЯ
1. Выполни тест.
1) Определи способ записи CSS стилей. Стили, 3) Определи способ записи CSS стилей. Стили,
используемые в дизайне веб-страницы, хра- используемые в дизайне веб-страницы, ука-
нятся в отдельном файле формата CSS и при заны через атрибут style для каждого тега
необходимости подключаются в HTML-код с отдельно.
помощью тега <link>. a) внедренный;
a) внедренный; b) внешний (External CSS);
b) внешний (External CSS); c) внутренний (Internal CSS);
c) внутренний (Internal CSS); d) определяемый;
d) определяемый; e) встроенный (InLineCSS).
e) встроенный (InLineCSS).
4) … – определяет значение полей вокруг со-
2) Определи способ записи CSS стилей. Стили, держимого элемента.
используемые в дизайне веб-страницы, про- a) double;
писаны в головной части файла с помощью b) padding;
тега <style>. c) cellspacing;
a) внедренный; d) separate;
b) внешний (External CSS); e) collapse.
c) внутренний (Internal CSS);
d) определяемый;
e) встроенный (InLineCSS).
82
5) … – подавляет одну границу, и у таблиц имеется одна общая граница.
a) double;
b) padding;
c) cellspacing;
d) separate;
e) collapse.
2. Установи соответствие.
83
4) Предложенный CSS стиль соответствует:
<style type="text/css">
TABLE {
background: grey;
border: double blue;
color: green;
}
</style>
a) серый фон ячеек, пунктирная рамка синего цвета;
b) серый фон ячеек, двойная рамка синего цвета;
c) цвет текста – зеленый;
d) цвет текста – серый;
e) двойная рамка серого цвета.
5) Установка CSS стиля для тегов в веб-странице внутренним (Internal CSS) способом:
a) <link rel="stylesheet" href="st.css">;
b) <font class="st1">;
c) <p style="color:green;">;
d) <font id="st1">;
e) <font id="#st1">.
Имя Фамилия
Айбар Ахметов
Арслан Нурланов
84
Блочная верстка веб-страницы
4.4
ЗАДАНИЕ 1. Рекламной компании необходимо создать информационный сайт,
опираясь на предыдущий опыт. Предложи решение для разработчиков.
Как изменится веб-стра-
ница после применения
блочной верстки?
85
Рассмотрим параметры атрибута border.
Атрибут Описание Пример
none или hidden отменяет границу Без границ
1 способ 2 способ
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
< style type=”text/css”> <style type="text/css">
div { box-sizing: border-box; } .block1
.my_boks { {
position: relative; width: 100%; float: left;
width: 100%; }
display: block; .block2 {
margin: 0 auto; float: left; width: 25%;
padding: 0; }
text-align: center; .block3 {
} margin: 10px; padding: 10px;
.my_boks1, .my_boks2, .my_boks3 { border: 1px solid grey;
margin: 10px; height: 200px;
padding: 20px 10px; border: 5px dashed Violet;
width: calc(33% - 24px); background:SlateBlue;
display: inline-block; color: White;
} font-weight: 600;
}
86
1 способ 2 способ
.my_boks1 .block4 {
{ margin: 10px; padding: 10px;
background-color: DodgerBlue; border: 5px dotted Red;
border: 5px dotted Violet; } margin-top: 20%;
.my_boks2 height: 300px;
{ background:Pink;
background-color: MediumSeaGreen; color: DodgerBlue;
border: 5px dotted Green; font-weight:600; }
} </style>
.my_boks3 </head>
{ <body>
background-color: Pink; <div class="block1">
border: 5px dotted SlateBlue; <div class="block2">
} <div class="block3">
</style> Блок 1
</head> </div>
<body> </div>
<div class=”my_boks”> <div class="block2">
<div class=”my_boks1”>1 Блок</div> <div class="block4">
<div class=”my_boks2”>2 Блок</div> Блок 2
<div class=”my_boks3”>3 Блок</div> </div>
</div> </div>
</body> <div class="block2">
</html> <div class="block3">
Блок 3
Результат </div>
</div>
<div class="block2">
<div class="block4">
1 Блок 2 Блок 3 Блок Блок 4
</div>
</div>
</div>
<div style="clear: both;"></div>
</body>
</html>
Результат
Блок 1 Блок 3
Блок 2 Блок 4
87
Стили границ блоков ручной верстки идентичны атрибутам формати-
рования границ таблицы.
Для форматирования текста также можно использовать:
Атрибут Значение Описание
font-weight: значение (от 100 до 900) или указать “bold/normal” устанавливает полужирный шрифт
font-family: Times New Roman (название стиля шрифта) устанавливает стиль шрифта
font-style: italic устанавливает курсивный шрифт
blink мигающий текст
line-through перечеркнутый текст
text-
overline линия находится над текстом
decoration:
underline подчеркнутый текст
none отменяет все эффекты
xx-small соответствующий размер в HTML=1
small соответствующий размер в HTML=2
medium соответствующий размер в HTML=3
font-size:
large соответствующий размер в HTML=4
x-large соответствующий размер в HTML=5
xx-large соответствующий размер в HTML=6
Доска объявлений
1001 мелочь
Продаются полезные
в хозяйстве предметы. Спешите!
Molotok.kz
Стройматериалы по выгодной
цене!
Нарасхват!
Кондитерские и хлебобулочные
изделия!
89
.my_boks1 {background- 1 Блок
2 color: Pink; border: 5px B
dotted blue;}
90
Внедрение мультимедиа средствами HTML
4.5
ЗАДАНИЕ 1. Объясни важность использования изображения, музыкальных
и видеофайлов при создании веб-сайтов.
Как вставить мультимедиа
объекты на веб-страницу?
91
Атрибут Значение Описание Пример
top, bottom, Аналогично текстовым редакторам
<img src="/img/1.png"
align middle, left и задает обтекание изображения тек-
align="right">
right стом и возможные значения
<img src="/img/1.png"
border px, % Задает ширину рамки изображения
border="2px">
<img src="/img/1.png"
height px, % Задает высоту изображения
height="200px">
<img src="/img/1.png"
width px, % Задает ширину изображения
width="200px">
Задает горизонтальный (слева и <img src="/img/1.png" hspace
hspace px, %
справа) отступ изображения ="5px">
Задает вертикальный (сверху и сни- <img src="/img/1.png" vspace
vspace px, %
зу) отступ изображения ="5px">
Код Результат
<table>
<tr>
<td> <img src="1.jpg" width="200"
height="200" alt=" Это место для изображения
"> </td>
<td> <img src="2.jpg" width="200"
height="200" alt=" Это место для изображения
"> </td>
</tr>
</table>
…
<style>
div.background {
position: fixed;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
}
img {
position: absolute;
top: 0;
left: 0;
92
При дизайне веб-страницы используют фоно-
right: 0; вый рисунок:
bottom: 0;
margin: auto; …
min-width: 50%; <head>
…
min-height: 50%;
<style>
} body {
</style> background: url(D:/2/1.jpg);
… color: #fff;
<body> }
<div class="background"> </style>
<img src="/2/2.jpg"> </head>
</div> <body>
</body> <p>...</p>
</html> </body>
…
93
Рассмотрим атрибуты для вставки аудио и видеофайлов.
Атрибут Описание
autoplay Автоматическое воспроизведение мультимедиа после его загрузки
controls Вывод панели управления к мультимедиа
loop Многократное воспроизведение файла
height Высота области воспроизведения видео
width Ширина области воспроизведения видео
preload Используется для загрузки мультимедиа вместе с загрузкой веб-страницы
src Указывает путь к воспроизводимому файлу
<audio controls>
<source src=»D:/2/1.mp3»
type=»audio/mpeg»>
Your browser does not support the
audio element.
</audio>
HTML-код Результат
5*. Запиши фрагмент HTML-кода для вставки видео размером 300х500 с выводом панели управления
с многократным повторением.
95
Использование гиперссылок на веб-сайте
4.6
ЗАДАНИЕ 1. Айбар увлекается футболом. Ему необходимо разработать сайт
болельщиков клуба. Сайт будет включать главную страницу, отражающую но-
Как организовать пере- вости о жизни клуба, состав игроков, переход на их страничку в социальных
ходы между веб-страни- сетях, график проведения игр, встреч с болельщиками. Помоги ему разработать
цами?
прототип будущего сайта.
96
URL (Uniform Resource Locator) – унифицированный адрес ресурса,
который имеет следующий формат: протокол://имя сервера: порт/путь.
Фрагмент Результат
<a href="http://livetv.sx/
allupcomingsports/1/" target="_
blank"><img src="https://uchebnik.
mos.ru/system_2/lesson_templates/
covers/001/650/045/original/s1200.
jpg" width="350" height="200"
alt="Football"></a>
97
ЗАДАНИЕ 2. Создай несколько веб-страниц о своем хобби и организуй связь
с главной страницей. Для этого используй нумерованный или маркированный
список, содержащий гиперссылки.
При работе с документами большого объема для перемещения
по веб-страницам актуально применение гиперссылки в виде закладки,
называемой якорем. Якорь устанавливается в два этапа: сначала опреде-
ляется закладка на странице и ей присваивается имя через атрибут "id",
затем с помощью атрибута "href" тега <a>…</a> выполняется переход.
Указание имени закладки в атрибуте "href" осуществляется с помощью
символа "#".
98
ЗАДАНИЕ 4. Используя следующие образцы гиперссылок, выполни:
– открытие чата скайп: <a href="skype:aibar_a?chat">Skype</a>
– открытие электронной почты: <a href="mailto:aibar@mail.ru" target="_blank"
rel="noopener noreferrer">Email Us</a>
ВОПРОСЫ И ЗАДАНИЯ
1. Выполни тест.
1) Тег, используемый для переходов между 4) Атрибут, указывающий режим загрузки
веб-страницами: ссылаемого ресурса:
a) <HR>; a) download;
b) <BR>; b) href;
c) <A>…</A>; c) hreflang;
d) <AA>…</AA>; d) target;
e) <AR>...</AR>. e) blank.
2) Атрибут, используемый для поиска ресурсов
на языке пользователя: 5) Атрибут, определяющий адрес ресурса, на
a) download; который происходит ссылка:
b) href; a) download;
c) hreflang; b) href;
d) target; c) hreflang;
e) blank. d) target;
3) Атрибут, информирующий о необходимости e) blank.
загрузки файла при клике мышью по ссылке:
a) download;
b) href;
c) hreflang;
d) target;
e) blank.
2. Заполни пропуски в предложенных HTML-кодах:
<a href="skype:aibar_a?chat">________________</a>
<a href="mailto:aibar@mail.ru" target="_blank" rel="noopener noreferrer">________</a>
3. Установи соответствие.
1 _self A Загрузка файла во фрейм-родитель
2 _blank B Загрузка файла в полное окно браузера
3 _parent C Загрузка файла в новое окно браузера
4 _top D Загрузка файла в текущее окно
99
Разработка веб-сайта. Фреймы
4.7
ЗАДАНИЕ 1. Айбар создал прототип будущего веб-сайта для болельщиков
футбольного клуба и представил макет друзьям. Теперь ему требуется помощь
Как создать многостра- в подборе оптимального решения для разработки веб-сайта. Используя ра-
ничный веб-сайт? нее полученные знания, дай рекомендации Айбару по использованию тегов в
HTML-коде.
БЕГУЩАЯ СТРОКА
Гиперссылки:
1) Новости
2) О турнирах
Содержимое HTML-документа
3) О команде
4) О болельщиках
5) Контакты
100
Результат запуска HTML-файла
<!DOCTYPE html>
<html>
<head> Загрузка заголовка или бегущей строки
<meta charset="UTF-8">
<title>Использование фреймов</title>
</head> Список Загрузка контента
<frameset rows="150, *" border="10" увлечений
bordercolor="red" frameborder="1"
• Спорт
• Танцы
frameborder="yes">
• Пение
Атрибут Описание
src Ссылка на URL-aдpec отображаемой во фрейме страницы
height Высота окна плавающего фрейма (px или %)
width Ширина окна плавающего фрейма (px или %)
name Имя фрейма для обращения в ссылках
frameborder Обрамление у фреймов (0 – отсутствует/1 – присутствует)
marginwidth Отступ слева и справа от содержания до границы фрейма
marginheight Отступ сверху и снизу от содержания до границы фрейма
scrolling Полоса прокрутки фрейма (yes/no, auto)
allowfullscreen Полноэкранный режим
hspace Горизонтальный отступ от фрейма до окружающего контента
vspace Вертикальный отступ от фрейма до окружающего контента
align Выравнивание фрейма
101
Рассмотрим пример плавающего фрейма.
<iframe src="https://www.nis.edu.
kz/" width="250" height="250"
frameborder="yes" style="border:red
5px dotted" margin: -13px 10px 20px
-18px;></iframe>
ВОПРОСЫ И ЗАДАНИЯ
1. Выполни тест.
1) Для создания статичного фрейма использу- 2) Для создания динамического фрейма исполь-
ется тег: зуется тег:
a) <frameset>…</frameset>; a) <frameset>…</frameset>;
b) <frame>…</frame>; b) <frame>…</frame>;
c) <set>…</set>; c) <set>…</set>;
d) <section>…</section>; d) <section>…</section>;
e) <iframe>…</iframe>. e) <iframe>…</iframe>.
3) Определи способ разделения окна браузера на области: <frameset rows="2*, 3*">:
a) указание числового соотношения областей;
b) указание процентного соотношения областей;
c) указание количества пикселей;
d) комбинированный способ;
e) отмена режима фрейма.
102
4) Определи числовое соотношение между 5) Определи количество фреймов после выпол-
фреймами: нения тега:
<frameset cols="3*, 20%, 2*">…</frameset> <frameset cols="20%, 80%">…</frameset>
a) 1:3; a) 3;
b) 3:1; b) 4;
c) 2:3; c) 2;
d) 3:2; d) 1;
e) 5:20. e) 5.
2. Установи соответствие.
1 name A Горизонтальный отступ от фрейма до окружающего контента
2 scrolling B Отступ слева и справа от содержания до границы фрейма
3 hspace C Полоса прокрутки фрейма (yes/no, auto)
4 marginwidth D Имя фрейма для обращения в ссылках
103
Подводим итоги
1. Установи соответствие.
5. Перед тобой результат блочной верстки. Первый блок – серого цвета, а второй – оранжевого цвета.
7. Установи соответствие.
10. Используй плавающий фрейм для загрузки изображения формата JPG из текущего каталога в область
размером 200х200, пунктирное обрамление красного цвета.
105
Объектно-ориентированные C++, Visual Basic, Delphi, Java
Декларативные
Логические Функциональные
Пролог Лисп
Непроцедурные
ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Процедурные
106
5. МАССИВЫ (C#)
107
Языки программирования
5.1
В мире нет такого языка программирования, на котором разработ-
чики не смогли бы написать плохую программу.
Чем отличаются языки Larry Flon
программирования?
Из известной легенды о Вавилонской башне ты знаешь, что строитель-
ство башни было прервано богом, который заставил людей заговорить
Язык програм на разных языках, из-за чего они перестали понимать друг друга. Сегодня
мирования – насчитывается огромное количество языков программирования, и они
формальный язык, разрабатываются программистами. Каждый год появляются новые языки
предназначенный для
программирования, и в то же время некоторые языки программирования
записи компьютерных
постепенно теряют свою актуальность и со временем вообще перестают
программ.
использоваться.
Непроцедур- Скриптовые
Язык низкого Машинные Ассемблер,
Процедурные ные языки, языки, язык
уровня – языки програм- макроас
языки объектно-ори- искусственного
мирования семблер
программирование с ентированные интеллекта
помощью двоичных
машинных кодов. Рис. 2. Эволюция языков программирования
К языкам низкого
уровня относятся: Рассмотрим особенности каждого поколения.
программирование Первое поколение (машинный язык)
в машинных Языки низкого уровня часто называют машинными языками. Исто-
кодах, ассемблер, рически сложилось так, что на первых компьютерах программировали
макроассемблер. с помощью двоичных машинных кодов. Программировать было довольно
трудно и долго. Языки низкого уровня ориентировались на определенный
108
тип процессора и учитывали его особенности, поэтому для того, чтобы Язык высокого
перенести программу, написанную на ассемблере, на другую аппаратную уровня – программи
платформу, ее нужно было почти полностью переписать. Различия при- рование с использова
сутствовали и в синтаксисе программ под разные компиляторы. нием команд, понят
Языками низкого уровня пользуются преимущественно для написания ных человеку, где
небольших системных программ, драйверов устройств, модулей стыков команды не зависят от
с нестандартным оборудованием, программирования специализирован- внутренних машинных
ных микропроцессоров, когда немаловажным является компактность, кодов компьютера
быстродействие и возможность прямого доступа к аппаратным ресурсам. любого типа.
Второе поколение (ассемблер)
Появились в 1950-е годы для перехода в выражениях языка от низко
уровневых машинных понятий к тому, как обычно мыслит программист
(рис. 3).
Язык ассемблера – язык, в котором двоичные и шестнадцатеричные Знаешь ли ты?
коды стали заменяться буквенными обозначениями, которые называются Мнемоника – краткое обо-
мнемоники. Программа из языка ассемблера переводилась в машинный значение команды, обычно
код при помощи программы-транслятора, которая называется ассемблер состоящее из трех-четырех
латинских букв, представ-
(данная программа дала название языку).
ляющих сокращение от
Подведем небольшие итоги по языкам низкого уровня. Как и любой английского названия ко-
язык, они имеют свои плюсы и минусы. манды: ADD – addition (сло-
Минусы языков низкого уровня: жение); MOV – move (пере-
– предназначены для определенного типа компьютера; слать) и т.д.
– представляют собой двоичный код, поэтому сложны для восприятия
человеком. Иногда для упрощения программу записывают в шестнад-
цатеричном коде, который переводится в двоичный непосредственно
микропроцессором;
SECTION.text
– сложны для изучения и решения прикладных задач, поэтому дос org 0x100
тупны только специалистам, то есть людям, которые непосредственно mov ah, 0x9
занимаются программированием «железа». mov dx, hello
int 0x21
Плюсы: mov ax, 0x4c00
– машинные языки хороши для детального понимания функциони- int 0x21
рования конкретной машины, именно на них разрабатываются самые SECTION.data
hello: db «Hello, world!»,
быстрые программы, например, пишутся основы для операционных 0xD, 0xA.
систем;
– высокая скорость выполнения программы, написанной на машин- Рис. 3. Пример
программы на
ном языке, объясняется тем, что код такой программы содержит только
ассемблере
самые необходимые команды, поэтому он по объему гораздо меньше,
чем программы, написанные на языках высокого уровня. Это значит, что и
ресурсы памяти тратятся гораздо меньше, и выполняется такая программа
значительно быстрее.
Третье поколение (процедурные языки)
Языки третьего поколения унаследовали все достоинства языков вто-
рого поколения и дополнили их.
1) Простота и понятность использования.
2) Независимость от конкретного компьютера – это достигалось тем,
что теперь между пользователем и архитектурой ЭВМ была операцион-
ная система.
109
Знаешь ли ты? 3) Возможность использования специальных синтаксических приемов
Рейтинг черной утки – программы стали более сложными, в них появились блоки команд,
Самым крупным сайтом, объединенные в процедуры и функции.
посвященным програм- 4) Модульность программ – написание отдельных процедур и функ-
мам с открытым исход-
ным кодом, является сайт
ций для решения отдельных маленьких задач позволило использовать их
Black Duck (Черная утка) повторно в других проектах.
blackducksoftware.com. Недостаток некоторых языков высокого уровня состоит в большом раз-
Практически половина про- мере программ по сравнению с программами на языках низкого уровня.
грамм (46%) написана на C В то же время текст программ на языке высокого уровня гораздо меньше,
(январь 2019 года). Это по-
нятно, потому что С – язык но в байтах код, написанный на ассемблере, будет более компактным
общения программистов. (рис. 4). Поэтому языки высокого уровня преимущественно используют
Это единственный язык, для создания программного обеспечения для компьютеров и вычисли-
компилятор которого есть тельных устройств с большим объемом памяти.
на всех платформах – от
встроенных систем до су-
Подавляющее большинство языков третьего поколения (C++,
перкомпьютеров. Basic, Pascal, Ada, Cobol) успешно применяется и сегодня для написания
«быстрых программ» и операционных систем.
На данном этапе развития языков программирования были введены
#include <iostream>
using namespace std; следующие понятия: процедура и функция.
int main(int, arg, char** argv) {
long long n;
Четвертое поколение (непроцедурные языки)
cin >> n;
for (long long i = 0; I < n; i++) {
Фактически языки программирования этого поколения стали этапом
cin >> a[i]; дальнейшего развития процедурных языков, которые получили новую
}
long long premax = min(a[0], концепцию – концепцию объектно-ориентированных языков. Написание
программы теперь представлялось в виде последовательности создания
a[1]);
cout << premax << " ";
экземпляров объектов и использования их методов. К четвертому поко-
long long maxa = max(a[0], a[1]);
for (long long i = 2; i < n; i++) {
if (a[i]> = maxa) {
premax = maxa; лению языков программирования относятся: 1C, JavaScript, SQL, Prolog,
maxa = a[i];
} else { Python.
}
premax = max(premax, a[i]); К четвертому поколению также относят появление и развитие декла-
}
cout << premax << " "; ративного программирования, в основе которого лежат декларативные
}
return 0; языки программирования. В декларативном программировании зада-
ется спецификация решения задачи, то есть дается описание того, что
Рис. 4. Пример представляет собой проблема и какой ожидается результат. Программы,
программы на С++ созданные с помощью декларативного языка, не содержат переменные
и операторы присваивания. К декларативным языкам можно отнести
SQL и HTML.
VBScript – язык для JavaScript – прототипо- ActionScript – объектно- SQL (англ. S tructured
написания скриптов ориентированный ориентированный язык Query Language – «Струк
(микропрограмм- сценарный язык программирования, турированный язык
макросов) как в MS программирования. который добавляет запросов») – универсаль
Windows, так и для Используется для интерактивность, ный компьютерный
приложений MS OFFICE. создания WEB-форм. обработку данных язык, применяемый
в содержимое Flash- в реляционных базах
приложений. данных.
ПРОВЕРЬ СЕБЯ
1. Найди соответствие между характеристиками и уровнем языка програм-
мирования.
Языки низкого уровня Языки высокого уровня
111
Выбор ПО для проектной деятельности
5.2
Человек должен делать выбор. В этом и состоит его сила – в могу-
ществе его решений.
Как выбрать программное Пауло Коэльо
обеспечение для своего
проекта? На прошлом уроке ты узнал о классификации и поколениях языков
программирования.
Огромное многообразие языков программирования иногда приводит
к сложностям выбора языка программирования при создании проекта.
Необходимо выяснить, от каких факторов будет зависеть выбор опреде-
ленного языка программирования.
Конечно, на изучение разных языков программирования требуется
время. Необходимости в изучении всех языков программирования нет.
Давай постараемся разобраться в выборе языка программирования, ис-
пользуя информацию из таблицы 1.
Таблица 1
Классификация языков программирования по типам решаемых задач
Тип задачи Пример решаемых проблем Язык программирования
• Программирование интеллекта в компьютер-
ных играх, интеллектуальные системы инфор-
Задачи искусственного мационной безопасности.
Lips, Prolog, Common Lisp,
интеллекта, экспертная • Автономное планирование и составление
Refal, Planner, QLisp
система расписаний.
• Медицинская диагностика.
• Распознавание естественного языка.
Задачи вычислительного • Вычислить корни квадратного уравнения. Algol, Fortran, Basic Cobol,
характера • Найти площадь многоугольника. Ada, PL/1, Pascal, Piton
Разработка программ с • Программа тестирования знаний учащихся. Visual Basic
графическим интерфей- • Самоучитель английского языка. VB.NET
сом, мультимедийные • Электронный словарь. Delphi
программы • Обучающие игры. Visual Studio C#
• Программы контроля, тестирования и
Разработка системных
диагностики.
программ: операцион-
• Драйвер для подключения устройств, BIOS. Assembler, С, C++, Smalltalk,
ной системы, драйверов,
• Компиляторы и интерпретаторы языков Java
антивирусных программ,
высокого уровня.
архиваторов и др.
• Вирусы. Макровирусы, антивирусы.
Оформление документов.
Организация виртуаль- • Разработка онлайн-магазина для продажи HTML, Perl, Informix 4GL,
ных трехмерных интер- товара. Natural, DDL, DSDL, SEQUEL
фейсов в Интернете. • Сайт-визитка, виртуальный тур по музею. SQL, MySQL
Разработка БД
112
возникает задача выбора среды работы или среды разработки. На выбор Знаешь ли ты?
влияют качество ПО, его цена (платное или бесплатное), перспективность В 1991 году в армии США
развития, предоставление технической поддержки. была развернута система
В настоящее время наряду с понятием «программа» используется по- DART (Dynamic Analysis and
Replanning) для обеспече-
нятие «приложение». Между ними нет принципиальной разницы. Про- ния автоматизированного
грамма – это одна единица, а приложение – это совокупность программ, планирования поставок
решающих совместно одну или несколько близких задач. Однако данное и составления графиков
деление может быть достаточно условным в связи с тем, что большинство перевозок на основе ис-
даже очень простых программ обычно включает различные библиотеки. кусственного интеллекта.
Приложение окупило трид
С другой стороны, выделить из приложения какую-либо программу так, цатилетние инвестиции в
чтобы она работала самостоятельно, может быть невозможно. искусственный интеллект,
сделанные этим агентством.
ЗАДАНИЕ 1. Вспомни виды программного обеспечения (рис. 1) и определи
для каждого вида ПО один пример.
113
удобным интерфейсом и функциональными возможностями выбираемой
программы. Как ты считаешь, какие факторы должны быть в приоритете?
114
ЗАДАНИЕ 4. Тебе необходимо установить антивирусную программу на домаш-
ний компьютер. В Интернете предлагают бесплатную версию на определенный
короткий срок и платную версию известного уже на рынке бренда. Что бы ты
выбрал? Аргументируй свой ответ, используя показатели оценки программ.
ПРОВЕРЬ СЕБЯ
1. Выбери для каждой ситуации вид программного обеспечения.
Предлагаемый вид программного обеспечения
При- При-
Ситуация Систем- Систем- Инстру- кладное кладное
ное ное сер- менталь- общего специа-
базовое висное ное назначе- лизиро-
ния ванное
1. Семья готовит большой праздник в честь
юбилея дедушки. Арману хочется сделать
приятное для своего деда: приготовить
видеопоздравление. Какое программное
обеспечение ты можешь ему посовето-
вать?
2. В небольшой фирме работают около
20 человек. Секретарю часто приходится
готовить информацию о сотрудниках:
например, домашний адрес, список
мужчин, работающих в фирме. Какое
программное обеспечение можно поре-
комендовать?
3. На уроках физики приходится решать
задачи, используя сложную формулу,
и строить по их данным график. Часто
пользуются калькулятором. Посоветуй ПО
для решения этой проблемы.
4. Алим получил заказ от фирмы на раз-
работку рекламного баннера, который
будет размещаться на улицах города.
Какое программное обеспечение ему
необходимо?
5. Семья приобрела новый ноутбук. Посове-
туй программное обеспечение, которое
нужно установить в первую очередь.
6. Катя имеет собственный небольшой
бизнес. Ей посоветовали создать сайт для
продажи своих изделий. Какое програм
мное обеспечение ей необходимо
использовать?
7. Ноутбук часто используют для поиска
информации в Интернете. Однако это не
всегда безопасно. Посоветуй программы
для таких случаев.
115
Предлагаемый вид программного обеспечения
При- При-
Ситуация Систем- Систем- Инстру- кладное кладное
ное ное сер- менталь- общего специа-
базовое висное ное назначе- лизиро-
ния ванное
9. Арман – дизайнер интерьера. Он часто
выезжает на заказы и разрабатывает
дизайн. Ему приходится все рисовать
«вручную». Посоветуй ему программное
обеспечение, которое помогло бы в
разработке дизайна квартиры.
10. Выбери программное обеспечение для
создания мобильного приложения, кото-
рое помогало бы людям с ограниченны-
ми возможностями найти подработку на
дому.
Показатель оценки ПО
Функциональные Перечень ABBYY FineReader 11 Promt Professional 9.5
возможности решаемых задач
• требуемый объем
внешней памяти;
• требуемый объем
Технические требова- оперативной памяти,
ния: быстродействие
системы;
• работа в сети, исполь-
зуемые протоколы.
Требования к разработ-
• стоимость лицензий
чику пакета:
116
Структуры данных. Массивы
5.3
ЗАДАНИЕ 1. 1. Подумай и определи, что общего на этих рисунках (рис. 1 а, b, с).
Рис. 1
//Объявление переменных хранение возраста Если нужно найти средний возраст не 10, а 100 уче-
десяти человек ников или 2000? Кроме того, если в процессе написа-
int age1 = 30; int age6 = 21; ния программы количество требуемых переменных
int age7 = 21; int age2 = 21; неизвестно, то придется существенно усложнять код.
int age8 = 19; int age3 = 21; Проблема: как обработать большое количество
int age9 = 16; int age4 = 21; данных?
int age10 = 29; int age5 = 21;
//Вычисление и вывод среднего возраста
int sum = age1 + age2 + age3 + age4 +age5 + age6 + Номер элемента в
age7 + age8 + age9 +age10; массиве называется
float avg = (float)sum / 10; cout << "Средний возраст
индексом.
равен " << avg << " лет\n";
Рис. 2
117
Особенности массива:
Нумерация элементов • все элементы имеют один тип;
массива в С# начинается
с НУЛЯ!
• весь массив имеет одно имя;
• все элементы расположены в памяти рядом.
Таким образом, можно дать одно имя целой группе ячеек памяти,
расположенных рядом (рис. 3). Каждая ячейка памяти будет иметь свой
порядковый номер – индекс, и если эти ячейки располагаются в один
Индексы
ряд, то для обозначения порядкового номера ячейки будет достаточ-
Элемент
Первый (с индек- но одного индекса (одномерный массив). Но если ячейки располагаются
индекс сом 8) в два и больше рядов, то каждая ячейка будет иметь номер строки и номер
столбца, то есть два индекса – двумерный массив (рис. 4). Например, книгу
0 1 2 3 4 5 6 7 8 9
можно считать массивом, потому что каждая страница имеет порядковый
номер, и на каждой странице есть текстовая информация.
Длина массива равна 10 В языке С++ индекс первого элемента равен 0, а индекс последнего –
N-1, где N – это размер массива.
Рис. 3. Структура
одномерного Базовые алгоритмы работы с массивами:
массива – заполнение массива и вывод элементов массива;
– суммирование элементов массива;
– поиск элемента;
– нахождение максимального или минимального элемента массива;
– сортировка массива.
1 2 3 4 5
A[1][0] A[1][1] A[1][2] A[1][3] A[1][4]
6 7 8 9 10
A[2][0] A[2][1] A[2][2] A[2][3] A[2][4]
Двумерный массив – группа переменных одного типа,
11 12 13 14 15 в которой положение элемента массива задается двумя
A[3][0] A[3][1] A[3][2] A[3][3] A[3][4]
индексами: номером строки и номером столбца.
16 17 18 19 20
Рис. 4. Структура Зачем объявлять (описывать) массив? Для выделения места в памяти.
двумерного массива
Чтобы в программе обращаться к элементам массива по имени, знать,
какие данные в нем будут храниться, необходимо его объявить.
зать» эти значения выводятся в label1 и сохраняются в массиве a (рис. 6). Показать
a[0] a[1] a[2] a[3] ЗАДАНИЕ 2. 1. Определи формулу, если в массиве представлены следующие
1 3 5 7 значения:
2. Запиши код программы.
a. Объяви массив S из 10 целых чисел.
b. Открой цикл для заполнения массива.
c. Запиши формулу для заполнения массива четными числами 2, 4, 6, 8, … .
ПРОВЕРЬ СЕБЯ
1. Дай определения понятиям «массив», «размер массива», «индекс»,
«одномерный массив».
2. Приведи примеры ситуаций, когда для решения задачи требуется
использовать массив. Какие преимущества дает использование структу-
рированных данных, таких как массив?
3. Назови способы описания массива. Определи для обоих случаев имя
массива, размер массива, тип данных.
Пример 1 Пример 2
char D[4] = { ‘1’, ‘1’, ‘Ю’, ‘Ю’}; cons t int K = 10;
int W [ K ];
4. В каких методах можно быстро заполнить массив без участия пользова-
теля? В чем преимущество и недостаток такого метода заполнения?
5. Назови компоненты, которые можно использовать для ввода и вывода
элементов массива.
6. * Подумай, какие значения будут сформированы в массиве в следующем
примере:
for (int i = 0; i < 4; i++)
{ a[i] = i*3/2 +1 ;// заполняем по формуле
textBox1.Text+= a[i].ToS tring() +" ";
120
Использование массива для оптимизации
кода 5.4
Выигрыш за счет использования оптимизации может быть более Зачем нужна оптимизация
важным, чем последствия от изменения поведения программы. кода и как массив поможет
Преждевременная оптимизация – это корень всех бед. оптимизировать код?
Кнут
121
Начало Начало Начало
A[i] S=0
А1, А2, А3, А4, А5,
Стратегии А6, А7, А8, А9, А10
оптимизации кода i=0, N
S= 0
Выбери правильно S=A1+A2+A3+…+A10
A[i]
место в программе для i=0, 9
оптимизации
“Сумма =”, S
S=S+A[i] S=S+A[i]
Избавься от лишних
обращений к памяти
(ввод, вывод) Конец
“Сумма =”, S “Сумма =”, S
Выбирай эффективные Рис. 1 a. Первый
алгоритмы и структуры способ (без массива) Конец Конец
данных
Рис. 1 b. Второй Рис. 1 c. Третий
Используй при необ- способ с использова способ с использова
ходимости временные
нием двух циклов и нием переменной N
переменные для хра-
массива и массива
нения промежуточных
результатов
Итак:
1) Массивы сокращают длину описания (представьте, что таких пе-
ременных вам понадобится 1000 штук).
2) Индексы элементов массива можно вычислять.
Например, допустимы следующие обращения к элементам массива x:
x[i] – обращение к элементу массива, индекс которого хранится в пе-
ременной i.
x[2*2] – обращение к 4-му элементу массива.
122
x[2*i] – индексом является удвоенное значение переменной i.
x[i+1] – индекс – арифметическое выражение.
x[random(10)+1] – случайный элемент массива.
x[y[i]] – в качестве индекса берется число, хранящееся в i элементе
другого массива. Если значение y[i] не попадает в диапазон 1…10, то int n=100;
такое обращение в зависимости вызовет ошибку. int sum=0;
for(int i=1; i<=100; i++)
ЗАДАНИЕ 3. a) Сравни два кода и определи, что выполняет каждый код. sum=sum+i;
Объясни, какой из кодов будет работать быстрее и почему. cout<<sum;
b) Подумай, какая формула была использована в одном из кодов.
int n=100;
c) Создай собственный оптимальный код для подсчета суммы n-первых членов
int sum;
арифметической прогрессии.
sum=n*(n+1)/2;
cout<<sum;
Оптимизация кода
– +
1) Многочисленные сложные оптимизации могут 1) Уменьшение количества операций ввода-
сильно замедлить процесс компиляции. вывода приводит к уменьшению объема кода
2) Современные, навороченные синтаксически и се- и ускорению программы, так как процесс ком-
мантически языки имеют множество тонкостей, и пиляции происходит быстрее.
программист должен их знать и учитывать. 2) Так как количество переменных минимизиру-
3) На оптимизацию придется расходовать дополни- ется, объем оперативной памяти уменьшается,
тельное время. это также ускоряет процесс выполнения про-
граммы.
123
Обработка элементов одномерного массива.
5.5 Сумма элементов массива
ЗАДАНИЕ 1. 1. Назови принципы «хорошего стиля» работы с массивами.
2. Определи стратегии, позволяющие программисту оптимизировать код.
Как находить сумму эле-
3. Изучи блок-схемы, представленные на рисунках 1, 2, 3.
ментов массива?
a) Назови имя и размер одномерного массива в каждом представленном
случае.
b) Назови, что общего в этих трех алгоритмах и в чем различие.
c) Определи, что вычисляет каждая из представленных блок-схем.
S= 0 S= 0 S= 0
5 3 -25 -5
Выбранные столбцы: Свойства
5 4 10 5 CausesValidation True
CellBorderStyle Single
ClipboardCopyMode EnableWithAutoH
Рис. 4. Блок-схема ColumnHeadersBorderStyle Raised
нахождения суммы ColumnHeadersDefaultCellStyle DataGridViewCell
N элементов массива ColumnHeadersHeight 18
ColumnHeadersHeightSizeMode AutoSize
ColumnHeadersVisible True Добавить Удалить
Column (Коллекция) ... Ок Отмена
ContextMenuStrip (нет)
код:
125
ЗАДАНИЕ 3. Приложение «Зарплата сотрудников».
1. Создай интерфейс приложения, как показано на рис. 10.
Зарплата сотрудников
Введите количество сотрудников
Зарплата
сотрудника 5
200000 textbox1
120000 Найти общую сумму
120000
930000
300000
label1
190000
Рис. 10. Интерфейс
dataGridView1
приложения
«Зарплата
сотрудников»
Зарплата сотрудников
DataGridView Задачи
Зарплата
сотрудника Выбери источник данных: (нет)
Правка столбцов...
Добавить столбец
Включить добавление
126
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
int n;// количество сотрудников.
n = Convert.ToInt32(textBox1.Text);
dataGridView1.RowCount = n; // количество строк в таблице.
}
ПРОВЕРЬ СЕБЯ
1. Асем прописала следующий код: dataGridView1.ColumnCount = 3; dataGridView1.RowCount = 1;
Объясни, какая структура таблицы будет представлена на форме.
2. Назови, что будет выполнено в результате реализации следующего кода:
s=0; d=0;
for (int k = 0; k < n; k++)
{if(x[k]<0) s+=x[k];
if(x[k]>0) d+=x[k];
3. Определи назначение этого кода:
P=0;
for (int k = 0; k < n; k++)
if(x[k]<0) P=k;
A. Находится сумма элементов массива.
B. Вычисляется сумма положительных элементов массива.
C. Количество отрицательных элементов массива.
D. Количество положительных элементов массива.
E. Индекс последнего отрицательного элемента.
4. Опиши три массива с одинаковым количеством элементов, заданным константой. Значения элемен-
тов первого массива должны вводиться с клавиатуры, второго – быть равными номерам элементов,
третьего – быть случайными целыми числами в диапазоне от 0 до 10. После заполнения выведи
элементы каждого массива.
127
Обработка элементов одномерного массива.
5.6 Поиск элементов
Как реализовать поиск Спору нет, если ищешь, то всегда что-нибудь найдешь, но совсем
в массиве? не обязательно то, что искал.
Джон Толкин
ЗАДАНИЕ 1
a) Расставь строки программы в правильном порядке и определи условие задачи.
1 { sum+=a[i]; } 4 if (a[i]<0) 7 if (!sum)
2 cout<<"sum = "<<sum; 5 cout<<"no numbers < 0"; 8 for (int i=0; i<n; i++)
3 else 6 int sum=0;
M [1] = 2.5; b) Определи количество и значения элементов массива М для следующей
M [2] = 8; последовательности кодов.
M [3] = 2*M[2]+M[1].
Поиском называют действия по нахождению нужной информации. Так
как в массиве хранится большое количество данных, алгоритмы поиска
сводятся к базовым алгоритмам, которые могут лежать в основе других
Внимание! В задачах на задач на поиски, таких как:
поиск элемента проверяй – нахождение количества элементов, удовлетворяющих условию.
ситуацию, когда элемент Например: положительных, четных, нечетных, кратных определенному
может отсутствовать в числу в массиве и др.;
массиве. В этом случае
создай сообщение, что
– нахождение максимального и минимального элемента в массиве;
данного элемента нет! – нахождение элементов, стоящих на четных (нечетных) местах.
Разберем один пример организации поиска.
Шаг 1. Расположи компоненты на форме, как показано в Шаг 2. Организуй заполнение массива случайным
образце на рис. 1. образом.
Отбор на баскетбол
listBox1 Введите рост
128
Шаг 3. Код на кнопку «Найти». Шаг 4. Запусти приложение на выполнение (рис. 2).
private void button1_Click(object sender,
EventArgs e)
{ int[] A = new int[10];
Отбор на баскетбол
bool f_is;
for (int i = 0; i < 10; i++) 153
155 Введите рост
A[i] = new Random().Next(i+5)+150+i; 156
160
170
int num; // num - искомый элемент
161
num = Convert.ToInt32 (textBox1.Text); 163
165
Найти
lis tBox1.Items.Clear();
166
f_is = false; // поиск 168
for (int i = 0; i < 10; i++) НЕТ УЧЕНИКОВ С ТАКИМ РОСТОМ
{lis tBox1.Items.Add(A[i].ToS tring());
if (num == A[i])
f_is = true;
} Рис. 2. Запуск приложения на выполнение
if (f_is) label1.Text=«ЕСТЬ УЧЕНИКИ С ТАКИМ РОС
ТОМ»; else label1.Text=«С ТАКИМ РОСТОМ УЧЕНИКОВ
НЕТ»;
}
Отбор на баскетбол
Найти
Рис. 3. Интерфейс
приложения с
ЕСТЬ УЧЕНИКИ С ТАКИМ РОСТОМ вводом количества
учеников
2.** Организуй защиту ввода данных: например, чтобы количество учеников было
более одного и не было отрицательным.
Мальчики и девочки
m Показать
m
v
v Количество мальчиков 3
m
v
_________________________________________________[3]
3. Дан массив int X[6] = {1, 4, -8, -3, 4, 6 };
Какое значение будет выведено в результате применения для этого массива следующего кода:
s=1;
for (int k = 0; k < 6; k++)
{if(x[k]<0) s*=x[k];
4. **Создай приложение «Числа, кратные трем». В одномерном массиве определи количество чисел,
кратных 3, которые находятся на четных местах в массиве.
130
Обработка элементов одномерного массива.
Поиск максимального и минимального 5.7
элемента
Как найти максимальный
Кто хочет – ищет способ, кто не хочет – ищет причину. и минимальный элемент
в массиве?
Проверка
N I A[I] MAX A[i]>Max True
условия
4 0 3 3 False
Рис. 2. Блок-схема 2
ЗАДАНИЕ 4. Приложение «Поиск максимального и минимального
элемента».
1. Создай новый проект, предварительно сохранив его в отдельной папке.
a) Установи на форме элементы управления, как показано в образце (рис. 3).
Для выбора максимального или минимального элемента используй независимые
переключатели checkBox1, checkBox2.
131
Поиск максимального и минимального Пропиши глобальные переменные в разделе public
lis tBox1 Введите элемент partial
Очистить
Добавить
public partial class Form1 : Form
{ int[] A = new int[100]; //задай пред-
Найти варительно массив из 100 элементов.
Максимальный Минимальный
int i=0;
label1 label4 int max, min;
int n;
Найти
приложения на 45 -90
выполнение
132
ЗАДАНИЕ 5. 1. Подумай, как реализовать поиск количества элементов, которые
равны максимальному элементу в массиве.
2. Реализуй алгоритм обмена местами максимального и минимального элемента.
ПРОВЕРЬ СЕБЯ
1. Назови номера строк, в которых допущена ошибка.
1. { for(int i=0; i<n; i++)
2. { max = A[0];
3. if (A[i] >= max) max = A[i]; }
4. label1.Text = Convert.ToInt32(max);
5. }
2. Cоздай приложение «Кто старше?». Приложение определяет возраст самого старшего ученика в
классе. В классе – 12 учеников, возраст которых пользователь вводит вручную.
3. Создай приложение «Самая высокая температура января», используя данные из рисунка.
Янв 1 2 3 4 5
4. Изучи представленный код. Сравни этот код с блок-схемой на рис. 2. Оцени представленный код с
точки зрения оптимальности.
1. imax=0; imin=0;
2. for(i=1; i<n; i++){
3. if(a[i]<a[imin]) imin=i;
4. if(a[i]>a[imax]) imax=i;
5. }
6. label1.Text = Convert.ToInt32(a[imin]);
7. label2.Text = Convert.ToInt32(a[imax]);
133
Обработка элементов одномерного массива.
5.8 Максимальный и минимальный элемент
На прошлом уроке ты реализовал приложение, в котором произво-
Какие задачи можно ре- дился поиск максимального или минимального элемента массива. Однако
шать с алгоритмами обра- есть задачи, когда нужно определить не только значение, но и номер
ботки массива?
позиции минимального или максимального элемента.
Знаешь ли ты?
ЗАДАНИЕ 1. a) Создай приложение «Поиск номера минимального элемента»,
используя в качестве образца рис. 1.
Data Scientis t – специалист
по обработке, анализу и Примечание: ты можешь
Введите 5 целых чисел и щелкните на Поиск.
хранению больших масси- взять приложение,
вов данных, так называемых 20 5 10 12 99 созданное на прошлом
«Big Data». Профессия Data уроке, за основу этого
Scientis t – «ученый по дан- Поиск
приложения.
ным» – официально зареги-
стрирована в 2010 г. Первое Минимальный элемент массива: 5
упоминание термина «data Номер элемента: 2
science» встречается в книге Рис. 1. Образец интерфейса
Петера Наура в 1974 г.
A[i]>Max True
False
Max=A[i]
ПРОВЕРЬ СЕБЯ
1. Дан массив int A[6] = {1, 4, 8, -3, 4, 6 }; 2. Массив X необходимо заполнить значениями,
Определи, какое значение будет выведено в которые вычисляются по формулам, представ-
результате применения для этого массива сле- ленным в таблице 1.
дующего кода: Определи для каждого варианта (A, B, C, D, E)
s=1; значения массива X, размер массива, если ис-
for (int k = 0; k < 5; k++) пользуется следующий цикл:
{if(x[k]<0) s*=x[k]; for ( k=0; k<6; k++ )
{…………………… }
Таблица 1
A B C D E
X[k] = k X[k] = 2*k X[k] = 2*k - 1 X[k] = 2*k + 1 X[k] = 2*(k + 1)
3. Задан массив X[N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму положи-
тельных элементов массива в переменной S?
int S = 0;
for (int k=0; k<N; k++ )
if ( . . . ) S = S + X[k];
4. Изучи представленный код и назови: элементы управления, свойства, методы, алгоритмические
структуры. Определи назначение данного кода.
private void button2_Click(object sender, EventArgs e)
{
if (checkBox1.Checked)
{ max = A[0];
for(i=0; i<n; i++)
{ if (A[i] >= max) max = A[i]; }
label1.Text = max.ToS tring();
}
5. Напиши код, который заполнит массив А размером 5 целыми числами в диапазоне от 12 до 25 и
выведет массив в текстовое поле.
for (int i = 0; i < _____; i++)
{ a[i] = ________________________________________________;
textBox1.________________________________________________;
}
135
Трассировка массива
5.9
Ничего не принимай на веру, когда есть возможность проверить
Зачем нужна трассировка самому.
алгоритма с массивом? Редьярд Киплинг
136
Допиши код в пропущенные строки 1, 2: S= 0
private void button1_Click(object sender, EventArgs e)
{ n = Convert.ToInt32(textBox1.Text); i=1, N
int s = 0;
label1.Text = "";
int[] a = new int[n]; A[i]>0 Yes
2
4 Удалить
13
5 Показать новый массив
7
Рис. 3. Интерфейс
приложения 2 4 5 7
«Удаление
максимального
элемента»
Инструкция к выполнению
138
Выполни трассировку программного кода приложения «Удаление Шаг 4
максимального элемента» (для фрагмента кода, выделенного зеленой
заливкой) со следующими данными: n=4.
i 0 1 2 3
A[i] 9 9 6 5
139
Подводим итоги
i 0 1 2 3
A[i] ‘A’ ‘4’ ‘6’ ‘!’
6. Задан массив X[N]. Какое условие надо поставить вместо многоточия, чтобы найти количество четных
элементов массива?
S = 0;
for ( j=0; j<N; j++ )
if ( ... ) S++;
A B C D E
S / 2 == 1 S % 2 == 0 X[ j] % 2 == 1 X[ j] % 2 == 0 X[ j] / 2 == 0
140
7. Дан код программы на С++. Подумай, как можно его оптимизировать.
int a; a=Convert.ToS tring32(textBox1.Text);
if (a %4 == 0)
if(a % 100 != 0)
if(a % 400 == 0)
MessageBox.Show ("Високосный год");
else MessageBox.Show ("Невисокосный год");
i 0 1 2 3
A[i] 5 -5 6 9
i=1, N
A[i]>Max True
False
Max=A[i]
Max
Рис. 1
141
Технология ADO .NET
Найти
Search
BindingNavigator – TableAdapter
необязательный элемент подключается к базе
пользовательского данных и осуществляет
интерфейса запрос
BindingSource
привязан к таблице
Form1
Cus tomerBindingSource
Cus tomerTableAdapter
142
6. БАЗЫ ДАННЫХ В ООП (C#)
143
Подключение базы данных
6.1 к приложению ООП
ЗАДАНИЕ 1. 1. Назови назначение баз данных. Вспомни определения понятий:
Как и зачем подключать объекты баз данных, поля БД, записи, таблицы.
базу данных к приложе- 2. К какому виду программного обеспечения относится СУБД?
нию ООП? 3. В чем особенность реляционных баз данных?
4. Сколько записей в представленной таблице базы данных (рис. 1)?
5. Определи первичный ключ в представленной таблице базы данных.
6. Назови поля с типом данных «текстовый».
Ученик
Код Фамилия Имя Дата рождения Пол
0 Ахметов Асан 05.09.2004 муж
1 Барлыков Хасен 03.12.2003 муж
2 Сергеева Анастасия 12.04.2003 жен
Рис. 1. Пример 3 Самойлова Вероника 12.09.2003 жен
таблицы базы 4 Вахитов Умар 12.09.2009 муж
данных 5 Игорева Наталья 12.09.2009 жен
Возможности СУБД
Рис. 2. Механизм
доступа к ИСТОЧНИКИ
ПРОГРАММА ADO .NET
источникам данных ДАННЫХ
Ученик
Код Фамилия Имя Дата рождения Пол Класс
0 Ахметов Асан 05.09.2004 муж 9
1 Барлыков Хасен 03.12.2003 муж 10
2 Сергеева Анастасия 12.04.2003 жен 9
3 Самойлова Вероника 12.09.2003 жен 11
4 Вахитов Умар 12.09.2009 муж 7
5 Игорева Наталья 12.09.2009 жен 7
Рис. 4. Заполнение
6 Ситков Василий 07.06.2007 муж 9
таблицы данными
3. В Visual Studio 2017 создаем проект и сохраняем в отдельной папке. Прос
тейшим способом отображения данных является использование компонента Технология ADO
DataGridView из группы компонентов Data. Компонент является визуальным и на (ActiveXDataObjects) –
форме выглядит следующим образом. Открываем область «Задачи» и выбираем это набор объектов,
пункт «Добавить источник данных проекта» (рис. 5). при помощи которых
TableLayoutPanel
программист
Меню и панели инструментов может осуществить
DataGridView Задачи
подключение к
Выберите источник данных: (нет)
Правка столб Отсутствует серверу баз данных,
Добавить сто выборку данных или
Включить
их модификацию.
Включить
Включить
Включить
Закрепить в р
данных проекта»
145
Возможность изменения последовательности столбцов:
«Включить возможность изменения порядка столбцов» («Enable
Column Reordering»);
а также возможность закрепления в контейнере-родителе.
4. Откроется «Мастер настройки источника данных». В качестве
источника выбираем «База данных», затем – «Набор данных» (рис. 6).
Мастер настройки источника данных Мастер настройки источника данных
Источник данных для приложения. Укажите тип модели базы данных, которую следует использовать.
Позволяет подключиться к базе данных и выбрать объекты базы данных для приложения. Выбранная модель базы данных определяет типы данных объектов, используемых кодом
приложения. В проект будет добавлен файл набора данных.
< Назад Далее > Готово Отмена < Назад Далее > Готово Отмена
Рис. 6. Пункт «Мастер 5. В окне «Выбор источника» выбираем «Поставщик данных .NET Framework
настройки источника для OLE DB».
данных» 6. В качестве «Имя файла базы данных» выбираем путь к созданной ранее базе
данных Ученик.mdb (Ученик.accdb) (рис. 7).
Добавить подключение
Введите данные для подключения к выбранному источнику данных или нажмите кнопку «Изменить», чтобы
выбрать другой источник данных и (или) поставщик.
Источник данных
Файл базы данных Microsoft Access (OLE DB) Изменить...
Пароль:
Сохранить пароль
Дополнительно...
146
Мастер настройки источника данных
Какое подключение ваше приложение должно использовать для работы с базой данных?
Источник данных:
Файл базы данных Microsoft Access (OLE DB) Изменить...
Пароль:
Сохранить пароль
Готово Отмена
Дополнительно...
HelpProvider
Рис. 8. Пункт
Проверить подключение ОК Отмена ImageList
MessageQueue
«Добавить
PerformanceCounter
подключение»
Какое подключение ваше приложение должно использовать для работы с базой данных?
Какое подключение ваше приложение должно использовать для работы с базой данных?
Добавить подключение
Ученик.mdb2 Создать подключение...
Microsoft Visual Studio По-видимому, эта строка подключения содержит конфиденциальные данные (например, пароль),
необходимые для создания подключения с базой даннх. Хранеие таких сведений в строке подключения
Источник данных: представляет потенциальную угрозу безопасности. Добавить конфиденциальные данные в строку
Проверка подключения подключения?
Изменить...
выполнена.
Имя файла базы данных: Нет, исключить конфиденциальные данные строки подключения. Эти данные будут заданы в
коде приложения.
Обзор...
ОК Да, включить конфиденциальные данные в строку подключения.
Вход в базу данных
Пароль:
Сохранить пароль
Дополнительно...
8. Выйдет окно для переноса файла базы данных в твой проект (рис. 10), нажи-
маем «Нет».
147
Мастер настройки источника данных 9. В следующем окне показана строка под-
Выбор подключения к базе данных
ключения в файле конфигурации приложения. В
нашем примере это подключение сохраняется
Какое подключение ваше приложение должно использовать для работы с базой данных? под именем «УченикConnectionString» (рис. 11).
Ученик.mdb2
Microsoft Visual Studio 10. В окне выбираем нашу таблицу «Ученик»
Выбранное подключение использует локальный
и жмем «Готово» (рис. 12).
файл данных, не относящийся к текущему проекту.
Копировать файл в проект и изменить подключение? Мастер настройки источника данных
При копировании файла данных в проект он будет
копироваться в выходной каталог проекта при каждом Сохранение подключения в файле конфигурации приложения
запуске приложения. Для получения сведений о том,
как можно управлять подобным поведением, нажмите
клавишу F1.
Хранение строк с параметрами подключений в файле конфигурации приложения облегчает
сопровождение и развертывание. Чтобы сохранить строку подключения в файле конфигурации
приложения, введите имя в это поле, а затем нажмите кнопку «Далее».
Да Нет Справка
Сохранить строку подключения в файле конфигурации приложения?
Да, сохранить подключение как:
УченикConnectionString
< Назад Далее > Готово Отмена
Выбираем «Нет»
< Назад Далее > Готово Отмена
Рис. 10. Пункт «Выбор подключения»
Рис. 11. Пункт «Сохранение подключения
Мастер настройки источника данных
в файле конфигурации приложения»
Выбор объектов базы данных
Дата
Код Фамилия Имя Пол Класс
рождения
Имя набора данных (DataSet): *
УченикDataSet
Класс TableAdapter
Класс DataSet Класс BindingSource
Компонент для взаимо-
Компонент хранит на- Компонент определяет
действия между прило-
стройки подключения источник данных для
жением и базой данных
базы данных Ученик. формы.
Ученик.
Рис. 13. Установка
на форме
компонентов DataSet,
BindingSource, ученикDataSet Класс BindingSource Класс TableAdapter
TableAdapter
148
12. После запуска приложения наша база данных будет выглядеть так
(рис. 14). Класс TableAdapter –
адаптер таблиц,
База данных который обеспечивает
взаимодействие между
Дата приложением и базой
Код Фамилия Имя Пол Класс
рождения данных. Например, при
2 Барлыков Хасен 03.12.2006 муж 10 создании TableAdapter
3 Сергеева Настя 12.04.2007 жен 9 на основе таблицы в
4 Самойлова Вероника 12.09.2009 жен 11
базе данных с именем
Ученик компонент
5 Вахитов Умар 12.09.2009 муж 7
приобретает имя
6 Игорева Наталья 12.09.2009 жен 7 ученикTableAdapter.
7 Ситков Василий 07.06.2007 муж 9
Компонент
0 Ахметов Асан 05.09.2007 муж 9
BindingSource –
• источник данных для
некоторых или всех
элементов управления
формы. В Visual Studio
Рис. 14. Вид приложения после запуска объект BindingSource
можно привязать к
Таким образом, мы вывели данные из таблицы на форму. элементу управления
с помощью
ЗАДАНИЕ 3. 1. Введи в приложение новые записи. Затем закрой приложение DataBindings –
и снова запусти. свойства, доступного в
2. Почему после запуска приложения в таблице не оказалось новых данных? окне Свойства.
Как сохранить введенные данные?
Чтобы сохранить отредактированную базу данных, создадим кнопку
ПРИМЕЧАНИЕ!
«Сохранить» и добавим ее на форму (рис. 14).
Во время разработки
некоторые действия,
например, перетаски-
Код Фамилия Имя
Дата
Пол Класс вание таблицы базы
рождения
данных из окна данных
* Сохранить в пустую форму, при-
ведут к созданию ком-
понента BindingSource,
его привязке к базово-
му источнику данных и
добавлению элементов
управления данными в
одной операции.
149
Код обновляет запись в нашей таблице ученикTableAdapter.
После добавления кода запусти свое приложение и попробуй изменить
любую запись и сохранить.
ПРОВЕРЬ СЕБЯ
1. Назови причины создания технологии ADO и ее назначение.
2. Создай таблицу в MS ACCESS и заполни ее следующими данными. Определи типы данных для каждого
поля. Создай приложение, которое позволит заполнить таблицу через приложение Visual Studio.
3. Локальные базы данных находятся на одном (локальном) устройстве, в качестве которого может
выступать диск компьютера или сетевой диск (диск другого компьютера, работающего в сети).
Подумай и назови недостатки таких баз данных.
4. В чем отличие реляционной модели базы данных от иерархической?
5. Пропиши код, который необходим для сохранения данных в приложении при подключении таблицы
MS ACCESS.
6. Сопоставь компонент и его описание.
Этот компонент хранит настройки подключения
BindingSource
базы данных
Компонент для взаимодействия между приложе
Класс DataSet
нием и базой данных
Компонент определяет источник данных для
TableAdapter
формы
150
Работа с записями в базе данных
6.2
ЗАДАНИЕ 1. 1. Назови свойства таблицы DataGriedView, которые используются
при подключении базы данных к приложению.
2. Представлен код { ProductTableAdapter._____________ (TovarDataSet.Produkt); Как добавлять или удалять
Назови: записи в базе данных?
a) имя файла базы данных;
b) имя таблицы, которая описана в этом примере;
c) пропущенную команду и ее назначение.
3. Расскажи о назначении технологии ADO .NET.
Рис. 1
Данные
b) Найди свойство
0 дляBindingSource
{0} компонента bindingNavigator и установи Уче- Указатель
никBindingSource (рис. 6.3). Дата Chart
Код Фамилия Имя Пол Класс
рождения BindingNavigator
Сохранить
*
BindingSource
DataGridView
DataSet
Компоненты
Рис. 2
151
Рис. 3 Свойства
bindingNavigator1 System.Windows.Forms.BindingNavigator
(ApplicationSettings)
(DataBindings)
(Name) blindingNavigator1
AccessibleDescription
AccessibleName
AccessibleRole Default
AddNewItem bindingNavigatorAddNewItem
AllowDrop False
AllowItemReorder False
AllowMerge True
Anchor Top, Left
AutoSize True
BackColor Control
BackgroundImage (отсутствует)
BackgroundImageLayout Tile
BindingSource ученикBindingSource
Дата
Код Фамилия Имя Пол Сохранить
рождения
2 Барлыков Хасен 03.12.2006 муж
3 Сергеева Настя 12.04.2007 жен
4 Самойлова Вероника 12.09.2009 жен
5 Вахитов Умар 12.09.2009 муж
6 Игорева Наталья 12.09.2009 жен
7 Ситков Василий 07.06.2007 муж
0 Ахметов Асан 05.09.2007 муж
•
< <
SystemColorsChanged
TabIndexChanged
TabStopChanged
UserAddedRow
UserDeletedRow
UserDeletingRow dataGridView1_UserDeletingRow
Validated
Validating
VisibleChanged
Удаление
ЗАДАНИЕ 4. Проверь код, запусти приложение и попробуй удалить запись
(рис. 6).
Удалить запись?
Как отобразить данные в отдельном блоке?
Редактирование данных в ячейках компонента dataGridView при со-
ответствующих настройках возможно, но неудобно и нерационально. В ОК Отмена
частности, трудно проверять введенные значения на ошибки. Поэтому для
таблицы «Ученик» сделаем экранную форму, позволяющую отображать Рис. 6
данные в компонентах textBox и редактировать их.
Разместим на форме контейнер GroupBox (рис. 7).
Контейнеры
Также разместим в компоненте GroupBox пять компонентов textBox,
Указатель
как показано на рисунке 8.
FlowLayoutPanel
GroupBox
Panel
SplitContainer
TabControl
TableLayoutPanel
Рис. 7
153
Рис. 8
b) Найди свойство
0 дляBindingSource
{0} компонента bindingNavigator и установи Уче-
никBindingSource (рис. 6.3). Дата
Код Фамилия Имя Пол Класс
рождения Сохранить
*
Фамилия
Имя
Дата рождения
Пол
Класс
Рис. 9
ОК Отмена
Отсутствует
ученикBindingSource Рис. 10
Код
Фамилия
Имя
Дата рождения
Пол
В пункте «Привязка» выбери первое поле «Фамилия». Аналогично
Другие источники данных свяжи другие текстовые поля с полями «Имя», «Дата рождения», «Пол»
(рис. 11).
Добавить источник данных проекта... Запусти приложение и выполни тестирование работы кода (рис. 12).
В данный момент данные привязаны к
‘Фамилия’
Рис. 11
154
База данных
Рис. 12
1 для 7
Дата
Код Фамилия Имя Пол
рождения
2 Барлыков Хасен 03.12.2006 муж
3 Сергеева Настя 12.04.2007 жен Сохранить
< <
Фамилия Барлыков
Имя Хасен
Пол муж
Класс 10
ПРОВЕРЬ СЕБЯ
1. Назови назначение компонента bindingNavigator и объясни свойство bindingNavigatorAddNewItem.
2. Определи последовательность связывания компонента bindingNavigator с таблицей базы данных.
Какое свойство необходимо использовать в этом случае?
3. Назови назначение события UserDeletingRow компонента DataGridView.
4. Объясни строки следующего кода.
DialogResult dr = MessageBox.Show («Удалить запись?», «Удаление», MessageBoxButtons.
OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
if (dr == DialogResult.Cancel)
{ e.Cancel = true;
}
5. Назови свойство компонента textbox, которое позволяет отображать в текстовом поле поля таблицы
базы данных.
6. Объясни назначение следующего кода:
this.абитуриентTableAdapter.Update(this.dataBaseIPSDataSet.Абитуриент);
155
Извлечение информации из базы данных
6.3
Кто ищет, тому назначено блуждать.
Как организовать сорти- Иоганн В. Гете
ровку и фильтрацию дан-
ных? ЗАДАНИЕ 1. 1. Назови назначение сортировки данных, которая производится
в таблицах базы данных MS ACCESS.
2. Покажи на рис. 1 инструменты организации сортировки и фильтрации данных
в таблице.
Файл Главная Создание Внешние данные Работа с базами данных Поля Таблица
Рис. 1 3. Назови основную цель сортировки и фильтрации данных. В каких случаях они
необходимы?
Итак, база данных уже разработана. Операция сортировки данных ис-
пользуется всегда для удобства нахождения нужной информации. Когда
на экране (или на бумаге) отображается таблица, гораздо легче найти
нужную строку, если эти строки упорядочены.
Сортировка и Фильтры позволяют отобразить или скрыть информацию в таблице
фильтрация – это два в соответствии с выбранными критериями. При этом структура таблицы
метода, позволяющих остается неизменной. Ты можешь сохранять фильтры и обмениваться
настроить представле ими с другими пользователями, у которых есть доступ к соответствующей
ние данных в таблице. таблице.
Использовать одно Как сортировать данные в таблице по конкретному полю?
временно оба метода
1. Мы продолжаем работать с таблицей Ученик. В нашей таблице
невозможно, поэтому
нужно определить,
были определены поля: «Код», «Фамилия», «Имя», «Дата рождения»,
какой из них подходит «Пол», «Класс».
в конкретном случае. 2. Выполним сортировку данных по полю «Фамилия».
С помощью сортиров 3. Создадим на форме кнопку «Сортировать» и кнопку «Отмена».
ки можно упорядочить Компонент BindingSource упрощает привязку элементов управле-
все данные или их ния в форме к данным. Это достигается путем подключения компонен-
часть по возрастанию та BindingSource к источнику данных с помощью свойства DataSource.
или убыванию. Источники данных, привязанные к BindingSource компоненту, также мож-
но перемещать и управлять ими с помощью класса BindingNavigator,
который предоставляет пользовательский интерфейс.
156
Основные способы сортировки
Свойство Sort
Данные По возрастанию ASC По убыванию DESC компонента
Текст От А до Z , от А до Я От Z до А, от Я до А BindingSource является
От наименьшего От наибольшего чувствительной к
Числа к наибольшему к наименьшему регистру строкой,
От 1 до 100 От 100 до 1 которая указывает
Дата и время От старых к новым От новых к старым имена столбцов,
используемых для
сортировки строк, а
Cортировать по возрастанию также направление
ученикBindingSource.Sort = "имя поля ASC"; сортировки. Столбцы
Сортировать по убыванию сортируются по
ученикBindingSource.Sort = "имя поля DESC "; возрастанию по
где ученикBindingSource – источник данных таблицы ученик умолчанию. Несколько
DESC, ASC – указатели вида сортировки столбцов могут быть
разделены запятыми,
До сортировки например, «S tate,
ZipCode DESC».
База данных
1 для 7
Дата
Код Фамилия Имя Пол Сохранить
рождения
2 Барлыков Хасен 03.12.2006 муж
3 Сергеева Настя 12.04.2007 жен Сортировать
4 Самойлова Вероника 12.09.2009 жен
5 Вахитов Умар 12.09.2009 муж Отмена
6 Игорева Наталья 12.09.2009 жен
7 Ситков Василий 07.06.2007 муж
0 Ахметов Асан 05.09.2007 муж
•
После сортировки
База данных
1 для 7
Дата
Код Фамилия Имя Пол Сохранить
рождения
7 Ситков Василий 07.06.2007 муж
3 Сергеева Настя 12.04.2007 жен Сортировать
4 Самойлова Вероника 12.09.2009 жен
6 Игорева Наталья 12.09.2009 жен Отмена
5 Вахитов Умар 12.09.2009 муж
2 Барлыков Хасен 03.12.2006 муж
0 Ахметов Асан 05.09.2007 муж
•
157
Код на кнопку «Сортировать» (рис. 2, 3).
private void button2_Click(object sender, EventArgs e)
{
База данных
Рис. 4
1 для 8
Дата
Код Фамилия Имя Пол Сохранить
рождения
1 Ахметов Асан 05.09.2004 муж Сортировать
2 Барлыков Хасен 03.12.2006 муж Фамилия
Имя
3 Сергеева Настя 12.04.2007 жен
Пол
4 Самойлова Вероника 12.09.2009 жен
5 Вахитов Умар 12.09.2009 муж По возрастанию
По убыванию
6 Игорева Наталья 12.09.2009 жен
7 Ситков Василий 07.06.2007 муж
Сортировать
Cвойство Filter • 0 Ахметов Асан 05.09.2007 муж
позволяет Отмена
< <
просматривать
подмножество
DataSource. Когда Как фильтровать данные в таблице?
значение фильтра а) Размести на форме textbox. В это поле будет вводиться значение
равно null, тогда для фильтрации. Например, как показано в образце, фильтрация будет
BindingSource осуществляться по полю «Фамилия» (рис. 5, 6).
передает это свойство
в базовый список.
b) Пропиши код на кнопку «Ок». В этом примере фильтрация была
Если ты установишь выполнена по текстовому полю.
это свойство во private void button2_Click(object sender, EventArgs e)
время инициализации
объекта, вызов { ученикBindingSource.Filter = "Фамилия LIKE’%" + textBox5.Text +
будет отложен "%’";
до завершения }
инициализации.
c) Запусти приложение и протестируй работу кнопки. Запрограммируй
кнопку «Отмена».
158
Рис. 5
b) Найди свойство
0 дляBindingSource
{0} компонента bindingNavigator и установи Уче-
никBindingSource (рис. 6.3). Дата
Код Фамилия Имя Пол Класс Сохранить
рождения
*
Сортировать
Отмена
textBox5.Text
Фильтр
Фамилия Введите фамилию
Имя
Ок textBox6.Text
Дата рождения
Введите класс
Пол
Класс Ок
private void
button2_
Click(object
База данных sender, EventArgs
b) Найди свойство
1 BindingSource
для 1 компонента bindingNavigator и установи Уче- e)
никBindingSource (рис. 6.3). Дата
Код Фамилия Имя Пол Сохранить { уче-
рождения
7 Ситков Василий 07.06.2007 муж
никBindingSource.
Filter = "Фамилия
• Сортировать
LIKE’%" + textBox5.
Text + "%’";
Отмена }
< <
Фильтр
Фамилия Ситков Введите фамилию Си
Имя Василий
Ок ученикBindingSource.Filter= null;
Дата рождения 07.06.2007
Введите класс
Пол муж
Класс 9 Ок
Рис. 6
Фильтр
Фамилия Сергеева Введите фамилию Условие фильтрации по
полю «Класс»
Имя Настя
Ок
Дата рождения 12.04.2007
Введите класс 9
Пол жен
Класс 9 Ок
ПРОВЕРЬ СЕБЯ
1. Объясни, чем отличается сортировка от фильтрации.
2. Подумай, что будет отображено, если условие фильтрации будет следующим: в textBox6.Text поль-
зователь ввел значение 8:
ученикBindingSource.Filter= "Класс >" + Convert.ToInt32(textBox6.Text);
3. Выбери значения, которые будут отфильтрованы по условию фильтра:
ученикBindingSource.Filter = «Отчество LIKE ‘%» + «Ах» + «%’»;
a) Ахметов; b) Сахатов; c) Ахметов; d) Пахомов.
4. Выбери компонент для взаимодействия между приложением и базой данных:
a) Dataset; b) TableAdapter; c) BindingSource; d) bindingNavigator; e) DataSource.
5. Компонент, представляющий пользовательский интерфейс навигации и управления для элементов
управления в форме, которые связаны с данными:
1. Dataset; 2. TableAdapter; 3. BindingSource; 4. bindingNavigator; 5. DataSource.
Как будут расположены записи в таблице после команды “ученикBindingSource.Sort = «Рост
ASC»;”?
Таблица1
Код Фамилия Имя Класс Адрес Дата рождения Рост Вес
1 Иванов Иван 9А ул. Ленина, д.1 12.03.1993 156 50
2 Петров Петр 9А ул. Транспортная, д.5 06.11.1992 167 62
3 Третьяков Павел 9Б ул. Транспортная, д.7 21.05.1993 160 55
4 Самусев Дмитрий 9Б ул. Пушкина, д.8 14.01.1993 170 59
5 Базан Михаил 9В ул. Дачная, д.28 07.07.1993 168 67
160
Извлечение информации из базы данных
6.4
На этом уроке ты научишься вносить новые данные в таблицу базы
данных только с помощью отдельного окна. Ввод данных через форму
Как организовать поиск
значительно удобнее табличного ввода данных, так как пользователь данных?
допускает меньше ошибок, видит вводимые значения в отдельном поле
и при необходимости может организовать защиту ввода от некорректных
данных.
Как добавить новую форму ввода данных в проект?
a) Добавляем новую форму в проект (рис. 1). Проект => Добавить
форму Windows.
В появившемся окне переименовываем форму в «AddForm» (рис. 2).
Рис. 1
Microsoft Visual Studio
Проект
Добавить форму Windows
В сети
Имя AddForm.cs
Добавить Отмена Рис. 2
161
b) Изменяем заголовок формы и добавляем на форму компоненты
(рис. 3).
b) Найди свойство
0 дляBindingSource
{0} компонента bindingNavigator и установи Уче-
никBindingSource (рис. 6.3). Дата
Код Фамилия Имя Пол Класс
рождения Сохранить
*
Добавить
162
Обозреватель решений
App.config
Form1.cs
Form1.Designer.cs
Form1.resx
Program.cs
SearchForm.cs
testDataSet.xsd
testDataSet.Designer.cs
testDataSet.xsc Рис. 5
testDataSet.xss
Это нужно для того, чтобы твоя база данных была доступна для разных
манипуляций во всех создаваемых тобой формах.
e) Программируем на форме AddForm кнопку «Добавить» (рис. 6).
Form1 main = this.Owner as Form1; /*делаем текущую форму активной, так как таблица на-
ходится на другой форме, таким образом main становится именем главной формы, на которой
находится таблица с данными
163
if (main != null) // если она не пуста, т.е. существует и не удалена
{ DataRow nRow = main.ученикDataSet.Tables[0].NewRow(); //nRow – элемент таблицы ученик
int rc = main.dataGridView1.RowCount + 1; //создаем переменную rc – количество строк в
таблице dataGridView1 добавляем одну строку
nRow[0] = rc;
nRow[1] = textBox1.Text; // введенные данные в текстовое поле (фамилия) отправля-
ются в первый столбец таблицы
nRow[2] = textBox2.Text; // введенные данные в текстовое поле (имя) отправляются
во второй столбец таблицы
} //закрыть условие
} // закрыть процедуру button1_Click
164
b) Найди свойство
0 дляBindingSource
{0} компонента bindingNavigator и установи Уче-
никBindingSource (рис. 6.3). Дата
Код Фамилия Имя Пол Класс
рождения Сохранить
*
Добавить
if (main.dataGridView1.Rows[i].Cells[j].
Value != null)
if (main.dataGridView1.Rows[i].Cells[j].Value.
ToS tring().Contains(textBox1.Text))
{ main.dataGridView1.Rows[i].Selected
= true; k++; break; }
}
label2.Text= "Найдено" + k.ToS tring()+ "совпаде-
ний";
}
}
жен жен
Найдено 7 совпадений
165
b) Найди свойство
1 BindingSource
для 9 компонента bindingNavigator и установи Уче-
никBindingSource (рис. 6.3).
Дата
Код Фамилия Имя Пол Класс
рождения
3 Сергеева Ирина 12.03.2003 жен 11
4 Михайлова Татьяна 07.02.2005 жен 10
Рис. 10
ЗАДАНИЕ 1. 1. Протестируй работу кода для данных из разных полей: напри-
мер, «Фамилия», «Имя», «Дата рождения», «Класс».
2. Подумай и выполни самостоятельно, взяв за основу предоставленный код
поиска, поиск данных только по полю «Фамилия». Какие изменения ты внесешь
в этом случае в код программы и почему?
ПРОВЕРЬ СЕБЯ
1. Назови способ изменения заголовков таблицы DataGridView.
2. Сопоставь компонент с описанием.
HeaderText можно ли изменять ширину столбца
Width задает название столбца
Visible ширина столбца
Resizable скрывает заголовок или наоборот
166
Разработка приложения с использованием
базы данных в ООП 6.5
Если у вас возникают трудности, значит, вы просто чего-то не умеете,
но это поправимо! Какие приложения с ис-
Джилл Конрат пользованием БД мы мо-
жем создавать?
Централизованные Распределенные
(хранятся в памяти одной (состоят из нескольких, возможно,
вычислительной системы, возможен пересекающих или даже
распределенный доступ к данным) дублирующих друг друга частей,
хранимых в различных ЭВМ
Здесь располагались: вычислительной сети)
СУБД, прикладные Большая ЭВМ
программы или мини-ЭВМ
Файл-сервер
БД
БД
№ авиарейса 548-455
Авиакомпания Аэрофлот Аэропорт прибытия MIAMI
Аэропорт отправления Moscow Время отправления 17-35
Дата отправления 21.01.2020 Стоимость 15000
Количество мест 247 Добавить
Рис. 3. Пример
информационной Создавать приложения с подключением базы данных можно для любой
системы «Продажа сферы деятельности человека. Ты знаешь, что справочники – это приклад-
авиабилетов», разра ные объекты синхронизации. Они позволяют хранить в информационной
ботанной в интегри базе данные, имеющие одинаковую структуру и списочный характер. На-
рованной среде пример, в справочнике «Крылатые фразы» может храниться информация
MicrosoftVisualStudio о крылатом выражении (категория, источник, тема и текст выражения).
2017 Программа должна выполнять следующие функции:
– ввод данных (категория, источник, тема и текст выражения);
– добавление данных через отдельную форму;
– сохранение и считывание данных (отображение);
– удаление выражения из базы данных;
– сортировка крылатых выражений по алфавиту и отмена сортировки;
– поиск выражений по выбранным полям и по ключевому слову в
тексте фразы.
Немаловажной частью готового программного продукта является поль-
зовательский интерфейс. Он должен быть простым, понятным любому
пользователю, и главное, чтобы пользователь мог без труда воспользо-
ваться всеми функциями программы. Образец пользовательского интер-
168
фейса представлен на рисунке, однако ты можешь создать собственный
дизайн, который, на твой взгляд, будет более удобным для пользователя.
169
Функции, которые необходимо реализовать в приложении:
1) создана таблица БД в MS ACCESS и заполнена 3-4 записями;
2) база данных подключена к приложению, и данные отображаются в отдельном
окне на главной форме;
3) реализована навигация по записям (перемещение на первую и последнюю
записи, добавление записи, удаление записи);
4) реализован вызов формы добавления из главного окна приложения;
5) выполняется добавление данных через форму;
6) реализована сортировка фамилий сотрудников;
7) реализована фильтрация данных по полям: «Фамилия», «Должность», «Номер
телефона»;
8) реализован поиск данных по полям: «Должность», «Номер телефона».
Выполняется подсчет найденных совпадений.
9) *Подсчитать количество сотрудников с фамилиями, начинающимися на букву А.
Приложение «Академики»
Создай приложение «Академики». В качестве данных используй структу-
ру таблицы. Разработай приложение в интегрированной среде разработки
MicrosoftVisualStudio 2017, в котором будут реализованы основные функции с
базой данных.
170
Функции, которые необходимо реализовать в приложении:
1) создана таблица БД в MS ACCESS и заполнена 3-4 записями;
2) база данных подключена к приложению, и данные отображаются в отдельном
окне на главной форме;
3) реализована навигация по записям (перемещение на первую и последнюю
записи, добавление записи, удаление записи);
4) реализован вызов формы добавления из главного окна приложения;
5) выполняется добавление данных через форму;
6) реализована сортировка монет по возрастанию массы;
7) созданы запросы для вывода на экран записей, отображающих информацию:
– количество монет из золота;
– количество монет с массой более 20 грамм;
– монеты, которые были изготовлены в России;
– монеты, названия которых начинаются на определенную букву (пользова-
тель вводит искомую букву).
ПРОВЕРЬ СЕБЯ
Расположи этапы подключения базы данных к приложению ООП в правильном порядке.
1. В окне «Выбор источника» выбрать «Другое» 4. Расположить на форме компонент DataGriedView.
и Поставщик данных, поставить «Поставщик
5. Вызвать задачи через правую кнопку
данных .NET Framework для OLE DB».
DataGriedView.
Мастер настройки источника данных
< <
171
8. Сохранить приложение в папке, где расположен файл базы данных.
9. Выбрать объекты базы данных для набора данных.
Мастер настройки источника данных
ОК
12. Выйдет окно для переноса файла базы данных в твой проект, нажать «Нет».
13. Сохранить базу данных MS ACCESS.
14. Выбрать источник данных и набор данных.
Мастер настройки источника данных
172
Подводим итоги
1. Назови механизм доступа к любому источнику данных, что дает разработчику возможность
взаимодействия с базами данных.
2. Опиши, используя
рисунок 1, назначение
каждого класса: bD_PremiaDataSet премииBindingSource премииTableAdapter
bd_PremiaDataSet,
премииBindingSource, Компонент Назначение
премииTableAdapter. bd_PremiaDataSet
премииBindingSource
премииTableAdapter
7. Назови недостающий код, чтобы записи в таблице 1 (рис. 3) расположились по возрастанию в поле
«Вес».
Таблица1BindingSource.________ = «_____________»;
Таблица1
Код Фамилия Имя Класс Адрес Дата рождения Рост Вес
1 Иванов Иван 9А ул. Ленина, д.1 12.03.1993 156 50
2 Петров Петр 9А ул. Транспортная, д.5 06.11.1992 167 62
3 Третьяков Павел 9Б ул. Транспортная, д.7 21.05.1993 160 55
4 Самусев Дмитрий 9Б ул. Пушкина, д.8 14.01.1993 170 59
5 Базан Михаил 9В ул. Дачная, д.28 07.07.1993 168 67
Рис. 3
8. Допиши код, который отфильтрует в таблице 1 учеников ростом выше 160 см.
Таблица1BindingSource.________ = «_____________»;
Интервью Анкетирование
Наблюдение Эксперимент
Своевременность
МЕТОДЫ СБОРА
Точность
ДАННЫХ
Псевдокод Достаточность
ВИДЫ ОЦЕНКА
ПРЕДСТАВЛЕНИЯ ПРОЕКТИРОВАНИЕ КАЧЕСТВА
АЛГОРИТМОВ ИНФОРМАЦИИ
Блок-схема Релевантность
ВОПРОСЫ Актуальность
Программный
код
Надежность
Проблемы Требования
старой системы к АО и ПО
Функциональные требования
будущей системы
174
7. ПРОЕКТИРОВАНИЕ
Межпредметная связь
В данном разделе ты вспомнишь этапы жизненно-
го цикла информационных систем, познакомишь-
ся с различными методами сбора информации.
Например, наблюдение и эксперимент чаще всего
используют в предметах естественно-математичес
кого цикла: химии, физике, биологии. Интервью,
опрос, анкетирование применяют при сборе ин-
формации в предметах гуманитарного направ-
ления. На протяжении проектной деятельности
у тебя будет возможность разработки програм
много продукта с помощью ООП или сайтострое-
ния в различных областях, например, ты сможешь
создать обучающую программу для малышей, игру
для одноклассников или цифровой образователь-
ный ресурс для себя.
175
Методы сбора и характеристики качества
7.1 информации
ЗАДАНИЕ 1. На рисунках показаны два метода сбора информации. Назови их
Как осуществлять сбор, и приведи примеры использования. Определи их отличительные особенности.
поиск, отбор информа-
ции?
Как проверить качество
информации?
Наблюдение –
изучение поведения
объектов или
процессов в
привычных для
них условиях, без На сегодняшний день проектная деятельность занимает одну из важ-
вмешательства ных позиций среди молодежи и в обществе в целом, так как посредством
наблюдателя. разработки проекта у каждого появляется возможность раскрыть свои
способности, поделиться идеями, найти единомышленников и получить
готовый продукт, который будет приносить пользу. Множество привычных
Эксперимент – для нас вещей в быту, в области развлечений были придуманы в рамках
изучение поведения
участия в конкурсах разного уровня. Проектная деятельность не только
объектов или
процессов в способствует личному росту участников, но и продвигает вперед науку,
специально созданных технику, информационные технологии. Таким образом, ты также можешь
условиях с активным внести свой вклад в развитие общества.
участием наблюдателя. Перед непосредственной разработкой проекта к нему необходимо
тщательно подготовиться, а именно – провести правильный сбор, по-
иск и отбор информации, затем, проведя системный анализ, определить
Изучение докумен
проблему и только после этого приступать к проектированию. Сегодня
тации – получение
достоверной на уроке ты изучишь методы сбора информации. С некоторыми из них
информации о ты уже знаком и применял на практике.
текущем состоянии
объекта или процесса ЗАДАНИЕ 2. Жансуйеру необходимо подготовить проект по биологии. Он
исследования. провел сбор информации и после системного анализа выявил проблему среди
одноклассников. Оказалось, что многие его друзья любят фастфуд и не представ-
ляют поход в кино без попкорна и газированной воды. Таким образом, он решил
провести исследование и показать важность правильного питания в подростко-
вом возрасте. Сделай предположение, какие методы сбора информации были
использованы, каким образом была определена проблема и по каким критериям
можно оценить качество собранной информации.
При анализе полученной информации требуется оценка ее качества, то
есть нам необходимо понять, насколько данные полезны при подготовке
Опрос – сбор мнений к созданию программного приложения. При оценке качества данных
людей относительно опираются на следующие характеристики: своевременность, точность,
интересующей достаточность, надежность, актуальность, релевантность.
области, сервиса или
товара, выявление их ЗАДАНИЕ 3. Мама Жансуйера работает диетологом, и ей необходимо создать
предпочтений. приложение по контролю веса. Помоги Жансуйеру выбрать подходящие методы
сбора информации.
176
ПРОВЕРЬ СЕБЯ Интервью – диалог
между двумя и более
1. Пройди тест. людьми, в ходе
1) Определи способ сбора информации, при котором необходимо которого интервьюер
изучить различные журналы, бланки, прайс-листы: получает наиболее
a) интервью; полные ответы на свои
b) опрос; вопросы, возможно
c) изучение документации; использование
d) наблюдение; уточняющих вопросов.
e) эксперимент.
2) Диалог между двумя и более людьми, в ходе которого интервьюер Анкетирование –
получает наиболее полные ответы на свои вопросы, возможно исполь- метод опроса,
зование уточняющих вопросов, называют: используемый
a) интервью; для составления
b) опрос; развернутых вопросов
c) изучение документации; и получения более
d) наблюдение; полной информации.
e) эксперимент.
3) Изучение поведения объектов или процессов в специально создан-
ных условиях с активным участием наблюдателя называется: Изучение
a) интервью; литературы, прессы –
b) опрос; получение известных
c) изучение документации; ранее фактов об
d) наблюдение; исследуемом объекте
e) эксперимент. или процессе.
177
Достаточность –
5 Актуальность E Минимальный набор свойств, характерных для
минимальный набор
данного объекта или процесса, необходимый для
свойств, характерных решения поставленной задачи
для данного объекта
6 Релевантность F Обеспечение доступа к информации не позднее
или процесса, момента решения задачи
необходимый для
решения поставленной
задачи. 3. Для определения мнения жителей жилого комплекса «Шаңырақ» по
поводу строительства нового спортивного комплекса в их районе ме-
неджеры строительной компании решили использовать опрос. Обоснуй
Надежность – правильность их выбора или предложи альтернативный метод сбора
информация, информации.
полученная из 4. Определи истинность утверждения: «Для массового опроса населения
официальных используется интервью».
источников,
документов, актов, 5*. Жансуйер осуществляет поиск информации в Интернете – «казахские
законов и др. национальные блюда» – и получает следующий перечень ответов на
запрос.
Актуальность –
зависимость
информации от
скорости изменения
ситуации и времени с
момента ее получения.
Релевантность –
соответствие
информации
потребностям
пользователя при
решении поставленной
задачи.
178
Подготовка к проекту
7.2
ЗАДАНИЕ 1. Жансуйер продолжает работать над проектом создания приложе-
ния по контролю веса. Помоги ему составить вопросы для интервью с клиентом.
Как определить функцио-
Прежде чем приступить к моделированию будущей системы, необхо- нальные требования буду-
димо ответить на ряд вопросов: щей системы?
Какие могут быть пре
1) Как работает текущая система? имущества и ограничения
2) Какие данные обрабатываются: входные или выходные? будущей системы?
2) В чем проблема нынешней системы? Как осуществить поиск
3) Какие существуют возможные решения? возможных решений?
4) Какие проблемы возникают при реализации каждого из возможных
решений?
Разберем вопросы на примере контроля веса диетологом. При сборе
информации необходимо провести анализ документации для понимания,
каким образом работает нынешняя система, то есть изучить журнал реги-
страции данных учащихся на начало и конец учебного года, виды работ,
проводимых для профилактики здорового питания и других мероприятий.
На данном этапе можно сделать выводы, какой вид принимают данные,
как они обрабатываются и хранятся.
Рассмотрим журнал диетолога и определим входные и выходные дан-
ные.
Входные данные (вво-
дятся с клавиатуры):
1. ФИО – текст.
2. ИИН – число.
3. Класс – текст.
4. Пол – текст.
5. Вес – число.
6. Рост – число.
Выходные данные (рас-
чет по формулам):
1. Идеальный вес по-
считан по формуле Купера
– число.
2. Заключение – текст (сравнение реального веса с идеальным весом).
Далее для определения проблем текущей системы можно провести
интервью с диетологом и задать ему ряд вопросов, например:
180
ЗАДАНИЕ 2. Помоги Жансуйеру составить список функциональных требований
и ограничений будущей системы. Определи ее преимущества.
Функциональ- Преимущества
ные требования Требования и ограничения Системный
будущей к АО и ПО будущей анализ
системы системы
ПРОВЕРЬ СЕБЯ
1. Пройди тест.
1) Входные данные – это:
a) данные, необходимые для работы системы, получаемые с помощью устройств ввода;
b) данные, выводимые системой после обработки входных данных;
c) данные, вычисляемые по определенным математическим формулам;
d) данные, вводимые с клавиатуры для их дальнейшей обработки.
2) Выходные данные – это:
a) данные, необходимые для работы системы, получаемые с помощью устройств ввода;
b) данные, выводимые системой после обработки входных данных;
c) данные, вычисляемые по определенным математическим формулам;
d) данные, вводимые с клавиатуры для их дальнейшей обработки.
3) Технические характеристики к аппаратному обеспечению включают в себя:
a) характеристики всех устройств, подключенных к компьютеру;
b) характеристики устройств, используемых при работе с будущей системой;
c) характеристики устройств, необходимых для ввода информации;
d) характеристики устройств, необходимых для вывода информации.
4) Технические характеристики к программному обеспечению включают в себя:
a) перечень программ, установленных на компьютере, и их краткое описание;
b) перечень программ, используемых для ввода данных;
c) перечень программ, используемых для вывода данных;
d) перечень программ, используемых при работе с будущей системой, и их краткое описание.
2. Установи соответствие.
1) Создание дружелюбного интерфейса.
1 A Входные данные
2) Разграничение ролей: гость, администратор.
2 Фамилия, вес, рост, пол учащегося B Выходные данные
3 Допустимо 5000 записей в год C Список функциональных требований
4 Идеальный вес учащегося D Ограничение количества записей в год
181
Моделирование
7.3
ЗАДАНИЕ 1. Жансуйер решил самостоятельно выстроить последовательность
этапов разработки проекта. Проверь его работу. В случае наличия ошибок укажи
на них и предложи верный вариант.
Как разрабатывать прото-
тип для решения задачи?
Как выбирать подходящее
ПО?
Прототип сайта –
схематическое
представление
его страниц,
представленное в
структурированном
виде. В зависимости
от ситуации
моделирования
возможна частичная Сегодня на уроке в процессе моделирования ты будешь создавать
или полная имитация прототипы главной страницы веб-сайта, форм ввода данных с клавиатуры
работы интерактивных и вывода информации на экран или на печатное устройство. Напомним,
элементов.
что называют прототипом, в нашем случае – веб-сайта.
Преимущества прототипирования:
– согласование функционала будущей системы клиентом и разработ-
чиком;
– визуальное представление дизайна;
– учет времени и бюджета, необходимого на разработку сайта;
– избежание возможных концептуальных ошибок и ошибок юзабилити
при непосредственной разработке проекта.
Различают следующие методы прототипирования:
– Wireframes;
– Prototype;
– Mockup.
Wireframes – это простой эскиз, чаще всего черно-белый, предназна-
ченный для структурирования функциональных требований будущей си-
стемы, отражающий взаимодействие основных элементов интерфейса и
навигации сайта друг с другом, не является шаблоном дизайна.
183
ЗАДАНИЕ 6. Помоги Жансуйеру смоделировать формы ввода и вывода ин-
формации на примере заполнения полей базы данных или вывода информации
по определенным параметрам.
ПРОВЕРЬ СЕБЯ
1. Пройди тест.
1) Существует … метода прототипирования.
a) 1; b) 2; c) 3; d) 4.
2) Wireframes – это:
a) детализированный дизайн веб-сайта с возможностью тестирования некоторых возможностей;
b) простой макет с упором на структуру содержания веб-сайта;
c) макет, дизайн сайта без указания деталей.
3) Mockup – это:
a) детализированный дизайн веб-сайта с возможностью тестирования некоторых возможностей;
b) простой макет с упором на структуру содержания веб-сайта;
c) макет, дизайн сайта без указания деталей.
4) Prototype – это:
a) детализированный дизайн веб-сайта с возможностью тестирования некоторых возможностей;
b) простой макет с упором на структуру содержания веб-сайта;
c) макет, дизайн сайта без указания деталей.
5) Словарь данных – это:
a) типы данных всех полей таблиц базы данных;
b) структурированное представление полей таблиц базы данных с указанием ключевых полей,
типов, размеров данных, примеров допустимых и ошибочных данных и необходимых приме-
чаний;
c) структурированное представление таблиц базы данных с указанием ключевых полей.
4*. Нарисуй эскиз главного окна обучающей игры по английскому языку для учащихся начальных
классов.
5*. Создай формы ввода-вывода информации для обучающей игры по английскому языку для учащихся
начальных классов.
184
Алгоритмизация
7.4
ЗАДАНИЕ 1. Изучи предложенный алгоритм снижения веса и определи его
вид и форму представления. Нарисуй блок-схему, соответствующую алгоритму.
Как писать алгоритмы для
ПРАВИЛА
решения поставленной
1 2
Пить негазированную Поесть за 1 час до
воду во время начала занятий, задачи?
ТРЕНИРОВКИ тренировки отказаться от
голодных диет
Как представлять модули
для быстрого похудения алгоритма в виде блок-
схем, псевдокода, про-
3 4 5
граммного кода?
Не есть в течение Наращивать нагрузку При построении
2 часов после постепенно тренировки
тренировки учитывать свой
образ жизни
6 Заниматься
регулярно (5-7 7 Использовать
высокоинтен- 8 Тренировать
нужно все тело,
раз в неделю), сивные кардио- а не отдельную
не менее 45 и силовые группу мышц
минут тренировки Алгоритм
9 Уменьшать паузы
для отдыха между
Количество подходов
для похудения
При адаптации
организма
Словесная форма
подходами увеличить до 5-6, к нагрузкам
а повторов – менять програм
до 8-20 му тренировки Блок-схема
Избыточный вес
- ввод массы в килограммах;
- ввод роста, указанного в метрах;
Нормальный вес - проверка корректности введенных данных;
- расчет индекса массы тела (ИМТ) делением массы на рост в квадрате;
Недостаточный вес - вывод соответствующего сообщения: если ИМТ находится между 18,5 и 25,
выведи сообщение, что пользователь имеет нормальный вес, в противном
случае он должен сообщить, что он имеет недостаточный (ниже) или избы-
точный (выше) вес.
186
ПРОВЕРЬ СЕБЯ
1. Пройди тест.
1) Сколько существует видов алгоритма?
a) 1; b) 2; c) 3; d) 4.
2) Сколько существует форм представления алгоритма?
a) 1; b) 2; c) 3; d) 4.
3) … – состоит из ключевых слов языков программирования, но здесь можно отражать лишь
процесс без описания переменных, и не требуется строгая запись, как в программном коде.
a) алгоритм;
b) блок-схема;
c) оператор;
d) псевдокод.
4) Pascal, C++, Java – … языки программирования.
a) декларативный;
b) императивный;
c) смешанный.
5) SQL, Prolog, HTML – … языки программирования.
a) декларативный;
b) императивный;
c) смешанный.
2. Установи соответствие между блок-схемами и их названиями.
1 A Условие
2 B Цикл с параметром
3 C Действие
4 D Начало/конец
Text2
4*. Объясни возможность использования одномерного массива в программном коде урока по контролю
веса.
5*. Объясни возможность использования базы данных в программном коде урока по контролю веса,
предложи ее структуру.
187
Логические операции в ООП
7.5
ЗАДАНИЕ 1. Чаще всего логические задачи решаются с помощью кругов
Эйлера. Ранее ты использовал три базовые логические операции: инверсия (¬A),
Как использовать логичес конъюнкция (A*B), дизъюнкция (A+B).
кие операции в ООП?
А А
Анимация – это
быстрая смена А
последовательности
изображений, которая В В
создает иллюзию
движения.
А А * В А + В
A A∩B B
B C
189
Код программы:
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
int[] B; //Объявление массива
int n, k = 0;
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
richTextBox1.Visible = false; //скрыть компонент
label3.Text = "";
}
190
label3.Text = "";
for (int i = 0; i <= 9; i++)
{
B[i] = rnd.Next(1, 10);
label3.Text = label3.Text + Convert.ToS tring(B[i]) +
" "; //вывод массива
}
label1.Text = " =" + B.Max();
label2.Text = " =" + B.Sum();
}
else if (radioButton2.Checked)
{
//Определение массива в программном коде
int[] B = new int[6] { 12, 5, 8, 23, 45, 6 };
int m = B.Length;
label3.Text = "";
for (int i = 0; i <= m - 1; i++)
label3.Text = label3.Text + " " + Convert.ToS tring(B[i]);
//вывод массива
label1.Text = " =" + B.Max();
label2.Text = " =" + B.Sum();
}
else if (radioButton3.Checked)
{
//Ввод массива с клавиатуры
n = Convert.ToInt32(richTextBox1.Lines.Count());
B = new int[n];
int s = 0;
label3.Text = "";
for (int i = 0; i <= n - 1; i++)
{
B[i] = Convert.ToInt32(richTextBox1.Lines[i]);
label3.Text = label3.Text + " " + Convert.ToS tring(B[i]);//вывод
массива
}
label1.Text = " =" + B.Max();
label2.Text = " =" + B.Sum();
}
}
}
}
191
«норма/выше нормы/ниже нормы» с указанием числовых значений, отправки
рекомендаций по питанию и занятиям спортом на электронную почту. Изучи
предложенный вариант стартовой формы и перечисли компоненты, используе
мые при ее разработке.
Программа по контролю веса
Введите значения
Рост
Вес
Результат
Старт
ПРОВЕРЬ СЕБЯ
1. Пройди тест.
1) Выбери компонент, эквивалентный логической операции «ИЛИ»:
a) RichTextBox; b) RadioButton; c) Button; d) CheckBox.
2) Выбери компонент, эквивалентный логической операции «И»:
a) RichTextBox; b) RadioButton; c) Button; d) CheckBox.
3) Выбери свойство, значение которого равно Popup, если компонент RadioButton1
Вывести отчет на экран имеет «всплывающий» вид.
a) FlatS tyle; b) Visible; c) Enabled; d) Checked.
4) Выбери свойство, значение которого равно True, если компонент RadioButton1 отображен на
форме.
a) FlatS tyle; b) Visible; c) Enabled; d) Checked.
5) Выбери свойство, значение которого равно True, если компонент RadioButton1 выделен.
a) FlatS tyle; b) Visible; c) Enabled; d) Checked.
2. Установи соответствие между свойствами компонентов RadioButton/CheckBox и их описаниями.
При истинном значении компонент отображается
1 Enabled A
на форме, при ложном – скрыт
2 Visible B Выравнивание текста
При истинном значении компонент доступен, при
3 Text C
ложном – неактивен
4 TextAllign D Текст, поясняющий назначение компонента
192
Подводим итоги
1. Пройди тест.
1) … – изучение поведения объектов или процессов в привычных для них условиях, без вмешательства
наблюдателя.
a) наблюдение; b) эксперимент; c) интервью; d) опрос.
2) … – изучение поведения объектов или процессов в специально созданных условиях с активным
участием наблюдателя.
a) наблюдение; b) эксперимент; c) интервью; d) опрос.
3) … – диалог между двумя и более людьми, в ходе которого интервьюер получает наиболее полные
ответы на свои вопросы, возможно использование уточняющих вопросов.
a) наблюдение; b) эксперимент; c) интервью; d) опрос.
4) … – сбор мнений людей относительно интересующей области, сервиса или товара, выявление их
предпочтений.
a) анкетирование; b) эксперимент; c) интервью; d) опрос.
5) … – метод, используемый для составления развернутых вопросов и получения более полной
информации.
a) анкетирование; b) эксперимент; c) интервью; d) опрос.
2. Установи соответствие между характеристиками оценки качества информации и их описаниями.
1 Своевременность A Степень близости имеющейся информации к реальному состоянию объек-
та или процесса
2 Точность B Соответствие информации потребностям пользователя при решении по-
ставленной задачи
3 Достаточность C Минимальный набор свойств, характерных данному объекту или процессу,
необходимый для решения поставленной задачи
4 Надежность D Обеспечение доступа к информации не позднее момента решения задачи
5 Релевантность E Информация, полученная из официальных источников, документов, актов,
законов и др.
4. Тема проекта, над которой работает Инкар: «Создание мобильного приложения оповещения о
возможных преградах и помехах для людей с нарушениями зрения».
Помоги ей:
– составить вопросы к интервью с учетом будущих функциональных требований к информационной
системе;
– с учетом правил юзабилити нарисовать прототип к проекту;
– составить блок-схему определения преград и помех с учетом расстояния до препятствия. В целях
предупреждения о преградах и помехах используй звуковые сигналы;
– рассмотри возможность использования компонентов RadioButton и CheckBox в проекте.
193
Оглавление и навигация
Тезаурус
по тексту
Автоматическое добавление
Математические формулы
подписей
Документация
РАЗРАБОТКА ПРОЕКТА
Программирование Тестирование
Приложение с БД Альфа-тест
Черный ящик
Белый ящик
Серый ящик
194
8. РАЗРАБОТКА ПРОЕКТА
Межпредметная связь
В данном разделе ты вспомнишь типы данных, не-
обходимые при разработке программного продук-
та. Тебе предоставится возможность применения
математических навыков при определении коор-
динат формы, четности и знака чисел при обра-
ботке массивов. Ты можешь разработать проект
по любому предмету, например, обучающую про-
грамму по физике или химии.
195
Работа с файлами
8.1
ЗАДАНИЕ 1. Определи тип (целый или вещественный) выражений.
a) 2+0.0 d) 5.02 g) trunc(-5.6)
Как использовать различ- b) 20/4 e) √4+√16 h) ceil(-2.3)
ные типы и структуры дан-
c) √4 f) cos(90)
ных при решении задач?
Как записать или считать ЗАДАНИЕ 2. Проверь программный код на компьютере и определи раз-
информацию из файла? ницу между математическими функциями Floor(), Ceiling(), Round(),
Truncate().
{ TextBox1
listBox1.Items.Add(textBox1.Text);
listBox1 rich TextBox1
}
saveFile1.DefaultExt = "*.rtf";
saveFile1.Filter = "RTF Files|*.rtf";
if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
saveFile1.FileName.Length > 0)
{
richTextBox1.SaveFile(saveFile1.FileName);
}
}
openFile1.DefaultExt = "*.rtf";
openFile1.Filter = "RTF Files|*.rtf";
if (openFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
openFile1.FileName.Length > 0)
{
richTextBox1.LoadFile(openFile1.FileName);
}
}
197
C помощью окон OpenFileDialog и SaveFileDialog можно выбрать
файл для открытия или сохранить файл в определенную папку, задав
имя и указав формат. Необходимо помнить, что компонент richTextBox
обрабатывает файлы формата rtf.
Метод LoadFile дает возможность загрузить выбранный файл в указан-
ный компонент, в нашем случае – в richTextBox1. Также с помощью метода
SaveFile можно сохранить файл в определенную папку.
Загрузка изображения в компонент pictureBox происходит путем изме-
нения его свойства Image: Image.FromFile("Абсолютный или относительный
путь к файлу");
ВОПРОСЫ И ЗАДАНИЯ
1. Выполни тест.
1) Математическая функция Floor() необходима для:
a) округления вещественного числа в сторону меньшего целого числа;
b) округления вещественного числа в сторону большего целого числа;
c) округления вещественного числа в зависимости от значения дробной части в сторону меньшего
или большего целого числа;
d) отбрасывания дробной части вещественного числа.
198
2) Математическая функция Round() необходима для:
a) округления вещественного числа в сторону меньшего целого числа;
b) округления вещественного числа в сторону большего целого числа;
c) округления вещественного числа в зависимости от значения дробной части в сторону меньшего
или большего целого числа;
d) отбрасывания дробной части вещественного числа.
3) Математическая функция Celling() необходима для:
a) округления вещественного числа в сторону меньшего целого числа;
b) округления вещественного числа в сторону большего целого числа;
c) округления вещественного числа в зависимости от значения дробной части в сторону меньшего
или большего целого числа;
d) отбрасывания дробной части вещественного числа.
4) Математическая функция Truncate() необходима для:
a) округления вещественного числа в сторону меньшего целого числа;
b) округления вещественного числа в сторону большего целого числа;
c) округления вещественного числа в зависимости от значения дробной части в сторону меньшего
или большего целого числа;
d) отбрасывания дробной части вещественного числа.
5) При использовании математических функций применяют библиотеку:
a) Math; b) Cmath; c) C++Math; d) MathC.
2. Установи соответствие между функциями работы с файлами и их назначениями.
199
Использование базы данных в проекте
8.2
ЗАДАНИЕ 1. Айбару необходимо создать БД для магазина по продаже бытовой
техники. Помоги ему разработать структуру данных с указанием их типов и связей
Как использовать базу между таблицами. Выбери подходящую СУБД для разработки информационной
данных в проектной дея-
системы в онлайн-режиме.
тельности?
адачи наименование категории продажа счет товара сотрудники реклама продавцы клиенты На сегодняшнем уроке рассмотрим исполь-
Имя Наименование модели
Ноутбуки
зование базы данных при разработке проекта.
Ноутбуки HP Pavilion dv6-6153sr (QA955EA) Например, нам необходимо создать простую си-
Нетбуки
Игровые приставки
HP Pavilion g7-1254sr (A3A74EA)
ASUS X53U (90N58Y128W1653601)
стему по учету оценок учащихся на параллели
Серверы Apple MacBook Air (MC504RS) 10-х классов. Создадим базу данных, используя
Персональные компьютеры Apple MacBook Air (MC965RS)
Apple MacBook Pro (MC721RS)
MS Access.
ASUS X53BR (90N8SI218W2112601)
ASUS X53SD-SX695R (90N3ESD44V Схема данных Students
Новая запись
Имя поля Тип данных
ID Счетчик
Fam Короткий текст
Name Короткий текст
Проверка работоспособности
Grade Короткий текст
ID_Sub Короткий текст
Удаление учащихся
200
Для подключения базы данных с расширением ACCDB используется
вариант 2, для работы с базой данных формата MDB – вариант 1.
// вариант 1
public static string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=Students.mdb;";
// вариант 2
public static string connectString = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=Students.accdb;";
// открываем соединение с БД
myConnection.Open();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// закрываем соединение с БД
myConnection.Close();
}
// очищаем listBox1
listBox1.Items.Clear();
// закрываем OleDbDataReader
reader.Close();
}
201
Для добавления учащихся в базу данных воспользуемся следующим
программным кодом:
string query = "DELETE FROM Students WHERE Name=" + "’" + Name + "’";
202
Чтобы организовать запрос с использованием данных из двух таблиц,
например, вывод имени учащейся с фамилией «Исина» и предмета «Ин-
форматика» с оценкой «5», код аналогичен запросу кнопки «выборка из
таблицы», но с некоторыми изменениями.
Объявление переменной:
string ID_Sub = textBox7.Text;
Новый запрос:
ВОПРОСЫ И ЗАДАНИЯ
1. Выполни тест.
1) Определи назначение myConnection.Open():
a) открывает базу данных;
b) открывает файл;
c) открывает приложение;
d) запускает исполнительный файл.
2) Определи назначение myConnection.Close():
a) закрывает базу данных;
b) закрывает файл;
c) закрывает приложение;
d) закрывает форму.
203
3) Определи назначение
OleDbCommand command = new OleDbCommand(query, myConnection):
a) создает объект для выполнения запроса;
b) создает объект для удаления запроса;
c) создает объект для чтения результата запроса;
d) создает объект для записи результата запроса.
4) Определи назначение
OleDbDataReader reader = command.ExecuteReader():
a) создает объект для выполнения запроса;
b) создает объект для удаления запроса;
c) создает объект для чтения результата запроса;
d) создает объект для записи результата запроса.
5) Определи назначение
string ID_Sub = textBox1.Text:
a) определяет порядковый номер записи;
b) определяет количество записей БД;
c) определяет количество полей БД;
d) определяет количество запросов.
2. Установи соответствие между запросами и их назначениями.
Students Subjects
ID ID_Sub
Fam Subject
Name Mark
Grade
ID_Sub
5*. Определи результат выполнения процедуры.
string query = "INSERT INTO Students (Fam, Name, Grade) VALUES(‘" + Fam + "’, ‘" + Name
+ "’, ‘" + Grade + "’)";
204
Использование базы данных в проекте
8.3
ЗАДАНИЕ 1. Айбару необходимо разработать информационный веб-сайт,
содержащий простую базу данных. Помоги ему создать прототип интерфейса
с указанием основных тегов HTML и CSS стилей. Как создать веб-страницу
средствами HTML и CSS?
Мой родной край Как создать базу данных в
file:///D:/web.html MySQL?
Мой родной край – Казахстан Как соединить базу данных
с веб-страницей?
Достопримечательности Заповедники Курорты
https://cp.beget.ru/main
205
например, beget.com, который позволит редактировать содержимое
Примеры SQL-запросов файлов и базы данных в онлайн-режиме.
Данный хостинг предоставляет бесплатную регистрацию аккаунта
Вывод записей из с некоторыми ограничениями, например, имеется возможность создания
таблицы с упорядочи
ванием
только одной базы данных или нет возможности использования
электронной почты и т.д. Тем не менее, предоставляемых бесплатных
SELECT Name, Grade услуг достаточно для изучения основ веб-программирования и создания
FROM Students ORDER
BY Grade
информационного веб-сайта в рамках проектной деятельности на уроках
SELECT ID, Name, информатики.
Grade FROM Students После успешной регистрации ты сможешь создавать HTML и PHP файлы,
ORDER BY ID DESC используя файловый менеджер, а для создания базы данных необходимо
использовать пункт меню MySQL.
Подсчет количества Файловый менеджер имеет интуитивно понятный интерфейс, также
записей внизу есть строка с подсказками сочетаний клавиш, используемых при
SELECT COUNT(*) FROM работе с файлами. Рассмотрим возможность создания базы данных и
Subjects выберем пункт меню MySQL. При создании новой базы данных необходимо
указать имя и пароль, которые в дальнейшем будут использованы для
Конструкция AND NOT соединения с веб-сайтом.
(И НЕ)
SELECT * FROM Управление базами данных MySQL
Students, Subjects
По умолчанию каждая база данных (БД) создается с доступом localhost. Это означает, что доступ к БД возможен
WHERE Subjects.
лишь с сервера, на котором расположены сайты. Этот доступ необходим для работы phpMyAdmin.
Subject = "Математи-
ка" AND NOT Subjects.
Mark <5 Имя базы: ufb77010_ Пароль:
Рекомендация
Сервер localhost » База данных ufb77010_base
Структура SQL Поиск Запрос по шаблону Экспорт Импорт Операции Процедуры Триггеры Дизайнер
Недавнее Избранное
Таблиц в базе данных не обнаружено.
ufb77010_base
Создать таблицу
206
free19.beget.com/loclhost/
ufb77010_base
Новая # Имя Тип Сравнение Атрибуты Null По умолчанию Комментарии Дополнительно Действие
Students 1 ID int(11) Нет Нет Изменить Удалить Еще
2 fam varchar(15) utf8_general_ci Нет Нет Изменить Удалить Еще
3 name varchar(10) utf8_general_ci Нет Нет Изменить Удалить Еще
4 grade varchar(3) utf8_general_ci Нет Нет Изменить Удалить Еще
5 ID_sub int(11) Нет Нет Изменить Удалить Еще
Отметить все С отмеченными: Обзор Изменить Удалить Первичный Уникальный Индекс Полнотекстовый
Печать Анализ структуры таблицы Переместить поля Нормировать
Добавить 1 поле(я) после ID_sub Вперед
Индексы
Действие Имя индекса Тип Уникальный Упакован Столбец Уникальных элементов Сравнение Null Комментарий
Изменить Удалить PRIMARY BTREE Да Нет ID 0 A Нет
free19.beget.com/loclhost/
ufb77010_base ID int(11)
Новая
Students fam varchar(15)
name varchar(10)
grade varchar(3)
ID_sub int(11)
Вперед
free19.beget.com/loclhost/
[ Разделитель ; ] Показать данный запрос снова Оставить после запроса Откат после завершения Включить проверку внешних ключей
ufb77010_base
Отображение строк 0 - 0 (1 всего, Запрос занял 0.0004 сек.)
Новая
Students SELECT * FROM 'Students' WHERE fam="Ахметов"
Конструкция LIKE
Для соединения базы данных с веб-сайтом необходимо создать файл
«index.php» и записать программный код:
SELECT Fam, Name
FROM Students WHERE <html>
Name like “Петр” <head>
SELECT Fam, Name <meta charset=»utf-8»>
FROM Students WHERE <body>
Name like “Т%” <?php
SELECT Fam, Name $dbconnect = mysql_connect («localhost», «имя БД», «пароль БД»);
FROM Students WHERE if (!$dbconnect)
Name like “%е%” {
SELECT Fam, Name echo («Нет соединения»);
FROM Students WHERE }
Name like “%м» if(@mysql_select_db(«имя БД»))
{
echo («Соединение с БД прошло успешно»);
Конструкция BETWEEN }
SELECT Name, Subject else die(«Нет соединения»);
FROM Students, ?>
Subjects WHERE </body>
Subjects.Mark </head>
BETWEEN 3 AND 4 <body>
Содержимое сайта
</body>
</html>
ВОПРОСЫ И ЗАДАНИЯ
1. Изучи предложенные изображения и пройди тест.
free19.beget.com/loclhost/
Отметить все С отмеченными: Обзор Изменить Удалить Первичный Уникальный Индекс Полнотекстовый
Индексы
Действие Имя индекса Тип Уникальный Упакован Столбец Уникальных элементов Сравнение Null Комментарий
Изменить Удалить PRIMARY BTREE Да Нет ID_sub 0 A Нет
Изменить Удалить PRIMARY BTREE Нет Нет ID_sub 0 A Нет
free19.beget.com/loclhost/
Отметить все С отмеченными: Обзор Изменить Удалить Первичный Уникальный Индекс Полнотекстовый
Печать Анализ структуры таблицы Переместить поля Нормировать
Добавить 1 поле(я) после ID_sub Вперед
Действие Имя индекса Тип Уникальный Упакован Столбец Уникальных элементов Сравнение Null Комментарий
Изменить Удалить PRIMARY BTREE Да Нет ID_sub 2 A Нет
Изменить Удалить ID BTREE Нет Нет ID_sub 2 A Нет
209
1) Определи количество таблиц БД:
a) 1; b) 2; c) 3; d) 4.
2) Определи первичный ключ таблицы Subjects:
a) ID_sub; b) ID; c) subject; d) mark.
3) Определи количество полей в таблице Subjects:
a) 1; b) 2; c) 3; d) 4.
4) Определи количество полей целочисленного типа в таблице Subjects:
a) 1; b) 2; c) 3; d) 4.
5) Определи причину, по которой поля ID и ID_sub целочисленного типа:
a) один из них – вторичный ключ для другой таблицы;
b) они – первичные поля в своих таблицах;
c) счетчики;
d) тип поля не имеет значения.
2. Определи истинность утверждения: «Тестирование веб-сайта можно выполнять на персональном
компьютере без доступа к Интернету»:
a) истина;
b) ложь.
3. Изучи предложенное изображение и определи возможные SQL-запросы.
free19.beget.com/loclhost/
ufb77010_base
Отображение строк 0 - 0 (1 всего, Запрос занял 0.0006 сек.)
Новая
Students SELECT * FROM 'Students' WHERE fam="Ахметов"
Subjects
Профилирование [Построчное редактирование] [Изменить] [Анализ SQL запроса] [Создать PHP-код] [Обновить]
4*. Проведи эксперимент: скопируй ссылку на сайт в браузер и измени регистр при наборе имени папки,
сделай соответствующий вывод.
5*. Заполни пропуски в PHP коде, используемом при соединении базы данных с веб-сайтом.
$dbconnect = mysql_connect («______________», «__________», «______»);
210
Создание простой анимации средствами ООП
8.4
ЗАДАНИЕ 1. Айбару необходимо вставить мультимедиа в проект. Помоги
ему внедрить изображение, видео- и аудиофайлы на форму в объектно-
ориентированной среде программирования. Перечисли необходимые компо- Как создавать анимацию
ненты и напиши соответствующие фрагменты программного кода для вставки средствами ООП?
мультимедиа-объектов.
стой анимации.
1) На форме необходимо расположить следующие компоненты:
PictureBox1 (Отображение картинок), Button1 (Старт), Button2 (Остановка),
Timer (Указание последовательности картинок).
2) Необходимые для анимации файлы должны быть вложены в папку
bin\debug текущего проекта на С# в отдельной папке с произвольным
названием.
Упорядочить Открыть Добавить в библиотеку Общий доступ Электронная почта Записать на оптичес
Избранное
Загрузки
Недавние места
Рабочий стол
Библиотеки
Видео
Документы
Избранное
Загрузки
Недавние места
Рабочий стол
1 2 3 4
Библиотеки
Старт Старт
Стоп Стоп
using System.Windows.Forms;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
// определение размера окна для вывода анимации
InitializeComponent();
ClientSize = new Size(600, 600);
// определение центра окна
var CenterX = ClientSize.Width / 2;
var CenterY = ClientSize.Height / 2;
// размер выводимой фигуры в пикселях
var size = 100;
var radius = Math.Min(ClientSize.Width, ClientSize.Height) / 3;
// определение интервала времени, таймера
var time = 0;
var timer = new Timer();
timer.Interval = 500;
// выполнение действий на каждый тик таймера
timer.Tick += (sender, args) =>
{
time++;
var graphics = CreateGraphics();
212
graphics.TranslateTransform(CenterX, CenterY);
graphics.RotateTransform(time * 360f / 8);
graphics.FillRectangle(Brushes.Red, radius - size / 2, -size / 2, size,
size);
};
//запуск таймера для воспроизведения анимации
timer.Start();
}
static void Main()
//запуск формы
{
Application.Run(new Form1());
}
}
213
Запусти заново программу на выполнение и попробуй поочередно миними-
зировать окно и разворачивать его. Сравни результат с предыдущей версией.
Объясни разницу.
При наличии мерцания при перерисовке добавь DoubleBuffered = true;
После строк
public Form1()
{
ЗАДАНИЕ 5. Внеси изменения в предложенную программу для получения
результата, как на рис. 1.
214
ВОПРОСЫ И ЗАДАНИЯ
1. Изучи предложенный фрагмент программного кода и пройди тест.
if (k < 4)
k++;
else k = 1;
this.Text = Convert.ToString(k);
s1tring pathFile = Application.StartupPath + @"/1/" + Convert.ToString(k)
+ ".jpg";
if (System.IO.File.Exists(pathFile))
pictureBox1.Image = Image.FromFile(@"1/" + Convert.ToString(k) +
".jpg");
1) Определи вид ссылки, указывающей путь к графическому файлу:
a) прямая; b) косвенная; c) абсолютная; d) относительная.
2) Определи расширение графического файла:
a) jpg; b) jpeg; c) png; d) bmp.
3) Определи тип переменной k:
a) float; b) string; c) int; d) bool.
4) Определи тип имени графического файла, указанный в ссылке:
a) float; b) string; c) int; d) bool.
5) Определи количество изображений, чередующихся в анимации:
a) 2; b) 3; c) 4; d) 5.
2. Установи соответствие.
args.Graphics.RotateTransform(i * 360f / 12);
1 A 10 красных кругов
args.Graphics.FillEllipse(Brushes.Green, radius - size / 2, -size / 2, size, size);
args.Graphics.RotateTransform(i * 360f / 10);
2 B 6 желтых квадратиков
args.Graphics.FillEllipse(Brushes.Red, radius - size / 2, -size / 2, size, size);
args.Graphics.RotateTransform(i * 360f / 8);
3 args.Graphics.FillRectangle(Brushes.Green, radius - size / 2, -size / 2, size, C 12 зеленых кругов
size);
args.Graphics.RotateTransform(i * 360f / 6);
4 args.Graphics.FillRectangle(Brushes.Yellow, radius - size / 2, -size / 2, size, D 8 зеленых квадратиков
size);
3. Определи истинность утверждения: «С помощью относительной ссылки можно указать путь к не-
скольким файлам».
4*. Объясни назначение символа “@” в относительной ссылке:
string pathFile = Application.StartupPath + @"/1/" + Convert.ToString(k) + ".jpg";
5*. Воспроизведи предложенную на рисунке простую анимацию.
Form1
Добавь кнопку для остановки анимации.
Старт
215
Оптимизация кода
8.5
ЗАДАНИЕ 1. Айбару необходимо ввести с клавиатуры 15 чисел и найти суммы
положительных и отрицательных чисел. Он использовал 17 переменных веще-
Как оптимизировать про-
ственного типа, каждое из чисел вводил с клавиатуры, проверял знак числа и
граммный код?
находил соответствующие суммы. Помоги ему оптимизировать программный
код.
216
private void button1_Click(object sender, private void button2_Click(object sender,
EventArgs e) EventArgs e)
{ {
int a, b, c; int a, b, c;
a = Convert.ToInt32(textBox1. a = Convert.ToInt32(textBox1.
Text); Text);
b = Convert.ToInt32(textBox2. b = Convert.ToInt32(textBox2.
Text); Text);
c=a; a = a + b;
a=b; b = a - b;
b=c; a = a - b;
textBox1.Text = Convert. textBox1.Text = Convert.
ToString(a); ToString(a);
textBox2.Text = Convert. textBox2.Text = Convert.
ToString(b);