Как сделать программу для процессора
На крышке процессора и на упаковке с ним указывается базовая тактовая частота. Это количество циклов вычислений, которые процессор может выполнить за одну секунду.
Разгон процессора, или оверклокинг, — это повышение его тактовой частоты. Если он будет выполнять больше циклов вычислений, то станет работать производительнее. В результате, например, программы будут загружаться быстрее, а в играх вырастет FPS (количество кадров в секунду).
Для оверклокинга предназначены прежде всего процессоры с разблокированным множителем. У Intel это серии К и Х, у AMD — Ryzen.
Что такое разблокированный множитель
Тактовая частота работы процессора — это произведение тактовой частоты (BCLK, base clock) системной шины материнской платы (FSB, front side bus) на множитель самого процессора. Множитель процессора — это аппаратный идентификатор, который передаётся в BIOS или UEFI (интерфейсы между операционной системой и ПО материнской платы).
Если увеличить множитель, тактовая частота работы процессора вырастет. А с ней — и производительность системы.
Если же множитель заблокирован, у вас не получится изменить его с помощью стандартных инструментов. А использование нестандартных (кастомных) BIOS/UEFI чревато выходом системы из строя — особенно если у вас нет опыта в оверклокинге.
Какие параметры важны для производительности
В BIOS/UEFI и программах для оверклокинга вы, как правило, сможете менять такие параметры:
- CPU Core Ratio — собственно, множитель процессора.
- CPU Core Voltage — напряжение питания, которое подаётся на одно или на каждое ядро процессора.
- CPU Cache/Ring Ratio — частота кольцевой шины Ring Bus.
- CPU Cache/Ring Voltage — напряжение кольцевой шины Ring Bus.
Кольцевая шина Ring Bus связывает вспомогательные элементы процессора (помимо вычислительных ядер), например контроллер памяти и кеш. Повышение параметров её работы также поможет нарастить производительность.
Набор параметров бывает и другим, названия могут отличаться — всё зависит от конкретной версии BIOS/UEFI или программы для оверклокинга. Часто встречается параметр Frequency — под ним понимают итоговую частоту: произведение CPU Core Ratio (множителя) на BCLK Frequency (базовую тактовую частоту).
Насколько безопасно разгонять процессор
В AMD прямо заявляют AMD Ryzen Master 2.1 Reference Guide : «На убытки, вызванные использованием вашего процессора AMD с отклонением от официальных характеристик или заводских настроек, гарантия не распространяется». Похожий текст есть и на сайте Intel Ответы на часто задаваемые вопросы о программе Intel Performance Maximizer : «Стандартная гарантия не действует при эксплуатации процессора, если он превышает спецификации».
Вывод: если при разгоне что‑то пойдёт не так, ответственность за это будет лежать только на вас.
Подумайте дважды, прежде чем повышать рабочую частоту процессора: так ли важен прирост производительности, или стабильность и отсутствие рисков всё же в приоритете.
Для разгона новых процессоров Intel Core i5, i7, i9 десятого поколения с разблокированным множителем можно купить Turing Protection Plan. Он предполагает однократную замену процессора, который вышел из строя в результате оверклокинга.
Также отметим, что существует «кремниевая лотерея». Процессоры одной и той же модификации могут демонстрировать разные показатели после разгона. Всё дело в том, что чипы не идентичны — где‑то микроскопические дефекты после нарезки кристаллов кремния более выражены, где‑то менее. Таким образом, если вы зададите для своего процессора параметры удачного разгона, который выполнил опытный и успешный оверклокер, нет гарантии, что добьётесь тех же результатов.
Как подготовиться к разгону процессора
Для начала стоит понять, получится ли вообще безопасно разогнать систему.
Определите модель процессора
Кликните правой кнопкой по значку «Мой компьютер» («Этот компьютер», «Компьютер») и выберите пункт «Свойства». В открывшемся окне будет указана модель процессора.
Чтобы получить о нём более подробную информацию, можно установить бесплатную программу CPU‑Z. Она покажет ключевые характеристики чипсета и других компонентов, которые отвечают за производительность вашей системы.
Если у вас чипсет Intel серий К или Х либо AMD Ryzen, вам повезло. Это процессоры с разблокированным множителем, и их можно разгонять без «грязных хаков».
Повышать производительность других моделей не рекомендуем — по крайней мере, новичкам.
Все возможные нештатные ситуации, которые могут возникнуть в процессе оверклокинга, выходят за пределы этой инструкции.
Отметим, что производители регулярно выпускают патчи безопасности для программного обеспечения процессоров, защищающие от разгона. Конечно, они не дают оверклокерам годами использовать одни и те же инструменты, но также предохраняют систему от внезапного выхода из строя.
Проверьте материнскую плату
Если чипсет материнской платы не поддерживает оверклокинг, то у вас не получится изменить значение даже разблокированного множителя. Узнать модель материнской платы можно в приложении «Сведения о системе» для Windows 7 или 10. Нажмите Win + R, введите msinfo32 и посмотрите на пункты «Изготовитель основной платы» и «Модель основной платы».
Затем найдите в Сети информацию о чипсете, на котором построена плата.
- Модели на базе чипсетов B350, B450, B550, X370, X470, X570 для процессоров AMD поддерживают разгон, на А320 — нет. Информация о платах и чипсетах есть на этой странице. Можно установить галочку Overclock, чтобы сразу видеть нужную информацию.
- Платы для процессоров Intel на чипсетах Х- и Z‑серий позволяют без проблем разгонять процессоры с разблокированным множителем. Платы на чипсетах W-, Q-, B- и H‑серий разгон не поддерживают. Смотреть спецификации чипсетов Intel удобно здесь.
Кроме того, модели со словами Gaming, Premium и так далее обычно подходят для оверклокинга.
Рекомендуем обновить BIOS/UEFI материнской платы. Новую версию ПО и инструкции по установке можно найти на сайте производителя.
Уточните характеристики блока питания
Разгон потребует дополнительной энергии. Причём, если вы рассчитываете на 10% роста мощности процессора, ресурсопотребление вырастет не на 10%, а куда сильнее.
Вы можете воспользоваться калькулятором мощности BeQuiet и определить энергопотребление системы. А затем посмотреть на наклейку на блоке питания: если цифра там меньше рассчитанного значения или равна ему, стоит выбрать модель большей мощности.
Оцените систему охлаждения
Если у вас не слишком мощный, бюджетный кулер, то перед разгоном стоит установить модель большей производительности. Или перейти на водяное охлаждение: это недёшево, но значительно эффективнее единственного «вентилятора на радиаторе».
Всё дело в том, что с ростом рабочей частоты процессора тепловыделение повышается очень сильно. Например, когда Ryzen 5 2600 работает на частоте 3,4 ГГц, он выделяет около 65 Вт тепла. При разгоне до 3,8 ГГц — более 100 Вт.
Загрузите ПО для стресс‑тестов и оценки результатов разгона
Стресс‑тесты и бенчмарки помогут проверить стабильность конфигурации вашей системы после разгона. Такие функции есть в этих программах:
-
; ; ; (есть бесплатные демоверсии); (при использовании нужно выбрать вариант Just stress testing); .
Другие бенчмарки можно найти, например, в Steam.
Сбросьте характеристики
Перед разгоном стоит сбросить все настройки в BIOS/UEFI до заводских — по крайней мере те, что касаются работы процессора. Как правило, комбинация клавиш для этого выводится на экран после входа в BIOS/UEFI.
Клавиша или их сочетание для входа в BIOS/UEFI обычно выводится при загрузке компьютера. Чаще всего это F2, F4, F8, F12 или Del. Нужно нажимать эти кнопки до загрузки системы. Если ни один из вариантов не подошёл, поищите комбинацию для своей модели материнской платы в Сети.
Также рекомендуем отключить Turbo Boost в BIOS/UEFI. Эта технология автоматически повышает характеристики процессора на высоких нагрузках, но её активация может повлиять на результаты разгона. Название конкретных пунктов зависит от модели вашей материнской платы и версии ПО для неё.
Не забудьте сохранить внесённые изменения перед выходом.
Как разогнать процессор в BIOS/UEFI
Алгоритм одинаковый и для процессоров Intel, и для AMD.
Определите исходные характеристики системы
Запустите один из бенчмарков (Cinnebench, Fire Strike, Time Spy, встроенные инструменты CPU‑Z, AIDA64 и так далее) в режиме для одного и всех ядер процессора и определите исходные характеристики системы. Например, Cinnebench выведет не только оценку вашей системы в баллах, но и сравнит её с популярными моделями процессоров.
У CPU‑Z аналитика проще, но эти баллы вы сможете использовать в качестве отправной точки для оценки эффективности разгона.
Также рекомендуем определить температуру процессора под нагрузкой. Эта информация выводится, например, в AIDA64 и некоторых бенчмарках.
Увеличьте один из параметров
В BIOS/UEFI найдите параметр CPU Core Ratio (CPU Ratio, название может отличаться в зависимости от версии ПО) и увеличьте его значение. Рекомендуем наращивать мощность постепенно, добавлять одну‑две единицы к множителю, чтобы риск выхода системы из строя был минимальным.
Сохраните настройки, и компьютер перезагрузится. Вы также можете наращивать производительность только для определённых ядер.
Посмотрите на результат после перезагрузки
Запустите тест в бенчмарке и оцените результаты: насколько повысилась производительность системы, стабильно ли она работает, как сильно нагревается процессор.
Максимально допустимую температуру для продуктов Intel ищите на этой странице: выберите семейство и модель процессора, найдите параметр T Junction.
На сайте AMD можно ввести модель процессора и посмотреть на значение максимальной температуры в характеристиках.
Повторите
Если система смогла загрузиться, продолжайте постепенно увеличивать значения CPU Ratio. Если после изменения параметров работа нестабильная, установите предыдущее значение.
Затем постепенно увеличивайте другие доступные параметры: CPU Core Voltage, CPU Cache/Ring Ratio, CPU Cache/Ring Voltage и так далее. Можно наращивать значения и попарно (частоту вместе с напряжением), чтобы быстрее добиться нужных результатов.
Параллельно следите за температурой процессора. Она должна быть стабильно ниже максимальных значений.
Проведите нагрузочный тест
Запустите бенчмарк и оставьте его работать на полчаса‑час. Желательно в это время находиться рядом с компьютером и следить за изменением показателей. Если в какой‑то момент температура процессора достигнет критической отметки, система станет работать нестабильно или перезагрузится, сделайте ещё один шаг назад: уменьшите значения параметров в BIOS/UEFI и снова запустите бенчмарк на полчаса‑час.
Сравните результаты до и после разгона, чтобы узнать, насколько сильно выросла производительность вашей системы.
Как разогнать процессор с помощью утилит
Производители процессоров облегчили задачу оверклокерам и выпустили удобные программы для разгона.
Intel Performance Maximizer
Утилита для автоматического разгона разработана для процессоров Intel Core девятого поколения — моделей с индексом К: i9‑9900K, i9‑9900KF, i7‑9700K, i7‑9700KF, i5‑9600K, i5‑9600KF. Для её работы нужны от 8 ГБ оперативной памяти, от 16 ГБ свободного места на диске, материнская плата с поддержкой оверклокинга, улучшенное охлаждение и 64‑битная Windows 10.
Intel Performance Maximizer использует собственные тесты, чтобы подобрать оптимальные параметры для вашего процессора. Эксперименты проводятся отдельно для каждого ядра и порой длятся несколько часов, но затем вы сможете использовать найденную конфигурацию для максимальной производительности.
После установки достаточно запустить утилиту и нажать «Продолжить». Компьютер перезагрузится, запустится UEFI, там будут меняться параметры и проводиться тесты. По завершении процедуры вы увидите такое окно:
Intel Extreme Tuning Utility
Утилита подходит для разгона процессоров Intel серий К и Х (конкретные модели перечислены на этой странице). Для корректной работы нужны 64‑битная Windows 10 RS3 или новее, материнская плата с поддержкой оверклокинга.
Работа с Intel Extreme Tuning Utility похожа на разгон процессора в BIOS/UEFI, но в более комфортном интерфейсе. Здесь есть и бенчмарк, и функции измерения температуры, и другие инструменты.
После установки вам нужно запустить утилиту, перейти на вкладку Basic Tuning и нажать Run Benchmark. Программа оценит производительность вашей системы до разгона и выдаст результат в баллах.
После этого вы можете постепенно увеличивать значения множителя для всех ядер процессора в разделе Basic Tuning или более тонко настроить параметры производительности на вкладке Advanced Tuning. Алгоритм один и тот же: увеличиваете на одну‑две единицы, запускаете бенчмарк, оцениваете результаты.
После того как вы достигли максимально возможных значений, перейдите на вкладку Stress Test. Пяти минут хватит для базовой проверки. Получасовой тест даст понять, не перегревается ли процессор под нагрузкой. А длящийся 3–5 часов позволит проверить стабильность системы, которая сможет работать с максимальной производительностью круглые сутки.
AMD Ryzen Master
Утилита для комплексного разгона: она может повысить не только производительность процессора, но также видеокарты и памяти. Здесь мы расскажем только о разгоне процессора с AMD Ryzen Master.
Отметим, что раньше производитель предлагал утилиту AMD Overdrive. Но она больше не поддерживается официально, а у AMD Ryzen Master гораздо шире возможности.
После запуска вы увидите компактное окно:
Здесь можно постепенно повышать значения CPU Clock Speed и CPU Voltage, затем нажимать Apply & Test, чтобы применить и проверить новые настройки.
Опция Advanced View позволяет менять значения отдельных параметров (напряжения и частоты ядер, частоты встроенной видеокарты, тайминга памяти) и сохранять их в виде профилей для разных игр и режимов работы.
Также есть функция Auto Overclocking для автоматического разгона системы.
Здравствуйте! В этой статье я расскажу какие шаги нужно пройти для создания простого процессора и окружения для него.
Для начала нужно определиться с тем, каким будет процессор. Важны такие параметры как:
- Размер машинного слова и регистров(разрядность/"битность" процессора)
- Машинные команды (инструкции) и их размер
Архитектуры процессоров можно разделить по размеру инструкций на 2 вида (на самом деле их больше, но другие варианты менее популярны):
Основное их отличие в том, что RISC процессоры имеют одинаковый размер инструкций. Их инструкции простые и выполняются сравнительно быстро, тогда как CISC процессоры могут иметь разный размер инструкций, некоторые из которых могут выполняться достаточно продолжительное время.
Я решил сделать RISC процессор во многом похожий на MIPS.
Я это сделал по целому ряду причин:
- Довольно просто создать прототип такого процессора.
- Вся сложность такого вида процессоров перекладывается на такие программы как ассемблер и/или компилятор.
Вот основные характеристики моего процессора:
- Машинное слово и размер регистров — 32 бита
- 64 регистра (включая счетчик команд)
- 2 типа инструкций
Register type(досл. Регистровый тип) выглядит вот так:
Особенность таких инструкций заключается в том, что они оперируют с тремя регистрами.
Immediate type(досл. Немедленный тип):
Инструкции этого типа оперируют с двумя регистрами и числом.
OP — это номер инструкции, которую нужно выполнить (или же для указания, что эта инструкция Register type).
R0, R1, R2 — это номера регистров, которые служат операндами для инструкции.
Func — это дополнительное поле, которое служит для указания вида Register type инструкций.
Imm — это поле куда записывается то значение, которое мы хотим явно предоставить инструкции в качестве операнда.
Полный список инструкций можно посмотреть в github репозитории.
Вот лишь пару из них:
NOR это Register type инструкция, которая делает логическое ИЛИ НЕ на регистрах r1 и r2, после записывает результат в регистр r0.
Для того, чтобы использовать эту инструкцию нужно изменить поле OP на 0000 и поле Func на 0000000111 в двоичной системе счисления.
LW это Immediate type инструкция, которая загружает значение памяти по адресу r1 + n в регистр r0.
Для того, чтобы использовать эту инструкцию в свою очередь нужно изменить поле OP на 0111, а в поле IMM записать число n.
После создания ISA можно приступить к написанию процессора.
Для этого нам нужно знание какого нибудь языка описания оборудования. Вот некоторые из них:
- Verilog
- VHDL (не путать с предыдущим!)
Я выбрал Verilog, т.к. программирование на нем было частью моего учебного курса в университете.
Для написания процессора нужно понимать логику его работы:
- Получение инструкции по адресу Счетчика команд (PC) инструкции
- Выполнение инструкции
- Прибавление к Cчетчику команды размера выполненной инструкции
И так до бесконечности.
Получается нужно создать несколько модулей:
Разберем по отдельности каждый модуль.
Регистровый файл
Регистровый файл предоставляет доступ к регистрам. С его помощью нужно получать значения каких то регистров, или изменять их.
В моем случае у меня 64 регистра. В один из регистров записывается результат операции над двумя другими, так что мне нужно предоставить возможность изменять только один, а получать значения из двух других.
Декодер
Декодер это тот блок, который отвечает за декодирование инструкций. Он указывает какие операции нужно выполнить АЛУ и другим блокам.
Например, инструкция addi должна сложить значение регистра $zero(Он всегда хранит 0) и 20 и положить результат в регистр $t0.
На этом этапе декодер определяет, что эта инструкция:
- Immediate type
- Должна записать результат в регистр
И передает эти сведения следующим блокам.
После управление переходит в АЛУ. В нем обычно выполняются все математические, логические операции, а также операции сравнения чисел.
То есть, если рассмотреть ту же инструкцию addi, то на этом этапе происходит сложение 0 и 20.
Другие
По мимо вышеперечисленных блоков, процессор должен уметь:
- Получать и изменять значения в памяти
- Выполнять условные переходы
Тут и там можно увидеть как это выглядит в коде.
После написания процессора нам нужна программа, которая бы преобразовывала текстовые команды в машинный код, чтобы не делать этого вручную. Поэтому нужно написать ассемблер.
Я решил реализовать его на языке программирования Си.
Так как мой процессор имеет RISC архитектуру, то для того, чтобы упростить себе жизнь, я решил спроектировать ассемблер так, чтобы в него можно было легко добавлять свои псевдоинструкции(комбинации из нескольких элементарных инструкций или из других псевдоинструкций).
Можно реализовать это с помощью структуры данных, хранящей в себе тип инструкции, ее формат, указатель на функцию, которая возвращает машинные коды инструкции, и ее название.
Обычная программа начинается с объявления сегмента.
Для нас достаточно двух сегментов .text — в котором будет храниться исходный код наших программ — и .data — в котором будет хранится наши данные и константы.
Инструкция может выглядеть вот так:
Сначала указывается название инструкции, потом операнды.
В .data же указываются объявления данных.
Объявление должно начинаться с точки и названия типа данных, после же идут константы или аргументы.
Удобно парсить (сканировать) ассемблер файл в таком виде:
- Сначала сканируем сегмент
- Если это .data сегмент, то мы парсим разные типы данных или .text сегмент
- Если это .text сегмент, то мы парсим команды или .data сегмент
Для работы ассемблеру нужно проходить исходный файл 2 раза. В первый раз он считает по каким смещениям находятся ссылки (они служат для), они обычно выглядят вот так:
А во второй проход можно уже и генерировать файл.
В дальнейшем, можно запускать выходной файл из ассемблера на нашем процессоре и оценивать результат.
Также готовый ассемблер можно использовать в Си компиляторе. Но это уже позже.
Вы думаете, что в России никто не умеет делать микропроцессоры, что у нас все пропало, все ученые давно уехали за рубеж, а на месте производств остались одни руины? Вы не правы. Все не настолько плохо. Сперва посмотрим, что у нас делается в этой области, а потом перейдем к главному: в конце статьи ссылка на место, где можно получить знания о том, как проектировать микропроцессоры.
Понятное дело, Россия не является лидером в этой области. Но нельзя сказать, что мы находимся совсем уж в аутсайдерах (иначе наших выпускников не брали бы на работу такие фирмы как Intel и AMD). Итак, посмотрим, что же мы сейчас в России выпускаем.
МЦСТ Эльбрус
МЦСТ Эльбрус разрабатывает две ветки процессоров: собственно Эльбрус и SPARC.
Последняя разработка содержит 8 ядер архитектуры «Эльбрус» 5-го поколения с тактовой частотой до 1.5 ГГц. Позволяет строить многопроцессорные серверы и рабочие станции, а также бортовые компьютеры.
ФГУ ФНЦ НИИСИ РАН
Серия процессоров КОМДИВ. Микросхемы производятся иностранными компаниями: тайваньскими TSMC и UMC, американской GlobalFoundries и немецкой X-Fab. Название говорящее, не правда ли? Информации почти нет, разработка почти полностью наша, известно что процессоры стойки к радиации. Скорее всего используются в космосе.
Байкал Электроникс
«Байкал Электроникс» лицензировал процессорные ядра у Imagination Technologies (бывший MIPS). Производство на Тайване. В основе процессора ядро MIPS P5600.
Процессор можно использовать в станках, офисной технике, сетевом оборудовании и много еще где.
Можно еще назвать таких производителей как Элвис, Миландр, Модуль, КМ211, Мультиклет, КБ «ГеоСтар навигация», IVA Technologies.
Кроме этого есть некоторое количество фирм не имеющих собственных фабрик для производства и разрабатывающих только IP-ядра (это нечто типа схем отдельных модулей и целых процессоров).
Производства микропроцессоров в России
Не все микропроцессоры производятся за границей. В России и Белоруссии есть пять производств микропроцессорной техники: Микрон и Ангстрем (Зеленоград), фабрика в Курчатове/НИИСИ, фабрика в Воронеже и фабрика Интеграл (Белорусь).
Согласитесь, что мы не такая уж банановая республика. Хотя, могли бы и лучше.
Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.
Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.
Создание простейшего приложения состоит из нескольких этапов:
- проект в Android Studio;
- создание пользовательского интерфейса;
- добавление активностей, навигации и действий;
- тест-драйв приложения в эмуляторе.
А пока мы описываем азы, студенты курса «Профессия Мобильный разработчик» уже получают деньги за свои приложения.
Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.
Необходимые инструменты
Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.
Если на компьютере не установлены Android SDK и другие компоненты, то Android Studio автоматически скачает их. Android SDK — это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.
Android SDK компилирует код вместе с любыми данными и ресурсами в файл с расширением .apk. Он содержит всё необходимое для установки приложения на Android-устройство.
Полезно установить и эмулятор Android, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с Android Studio.
Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.
Из чего состоит приложение
на Android
Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.
- Активность (activity) — элементы интерактивного пользовательского интерфейса.
Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения — ссылкам между ними. Запуск приложения — это активность Main. - Сервис (service) — универсальная точка входа для поддержания работы приложения в фоновом режиме.
Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса. - Широковещательный приемник (broadcast receiver) транслирует нескольким участникам намерения из приложения.
Теперь попробуем сделать своё приложение для Android.
Создаём Android-приложение
в Android Studio
Шаг 1
Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.
Шаг 2
Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).
Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.
Шаг 3
Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.
Шаг 4
После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.
Windows: Как создать программу
Cоздать программу самому? Это очень просто! Не верите? Давайте сделаем небольшую программу, которая станет вашей отправной точкой в мир программирования.
Оглавление к статье
- Этапы создания программы
- Установка среды разработки
- Создание программы
1 . Этапы создания программы
Из выше сказанного, написание программы можно разделить на следующие этапы:
2 . Установка среды разработки
Так как большинство из нас не гениальные мальчики и девочки, родившиеся с клавиатурой в руках и не впитали языки программирования с молоком матери, нам понадобится текстовый редактор более функциональный и наглядный чем блокнот.
Из ключевых возможностей Visual Studio хочется отметить:
Примечание.
Ранее, когда Visual Studio не была бесплатной, как альтернативу можно было рассматривать SharpDevelop, бесплатную IDE с открытым исходным кодом, которая предоставляла функционал сходный с Visual Studio и в некоторых случаях его было достаточно для создания проэктов любой сложности. Но теперь, в виду стагнации процесса разработки SharpDevelop, и стремительного развития Visual Studio, альтернативы продукту от Microsoft просто нет.
Загрузите и установите последнюю версию, которая доступна для загрузки на сайте разработчика. С этим не должно возникнуть сложностей. После установки запустите среду разработки.
3 . Создание программы
Открылось главное окно Visual Studio,
Перетащите кнопку Button на форму главного окна, только что созданного проекта.
Настройте только что добавленную кнопку в панели свойств:
- Свойство Text, меняем значение на Close
- Name меняем на bnClose
- Anchor: Bottom,Right
Добавьте обработчик события нажатия кнопки: делаем двойное нажатие на кнопке, программа автоматически создаст необходимый метод bnClose_Click. Внутри метода пишем: this.Close();
При нажатии кнопки Close, окно программы закроется, в след за этим завершит работу и сама программа.
Примечание
За всеми проделанными выше действиями с созданием конпки и редактирования ее свойств, лежит создание кода программы средой разработки VisualStudio.
Откойте файл Form1.Designer.cs. Как видите, все те действия, что вы делали в настройках, отображены здесь в виде кода программы:
То-есть для среды разработки, элементы управления окна выглядят в виде кода, но для удобства, настройки графического интерфейса создаваемой программы в VisualStudio можно делать в наглядном визуальном представлении.
Сделаем что-нибудь посложнее, чем просто вывод текста на экран
Итак, давайте создадим следующие элементы интерфейса программы
Примечание: Очень удобно использовать копирование элементов пользовательского интерфейса. Для того, чтоб это сделать, нужно выделить элементы, которые нужно скопировать и при нажатой кнопке Ctrl, потянуть мышью выделенные элементы в сторону.
Попробуйте закончить настройку внешнего вида программы, чтоб она стала выглядеть так:
Высота текстового поля tbResult регулируется за счет изменения размера шрифта.
Назначим обработчики событий нажатия кнопок
Пишем код обработчика
Как видите, все методы-обработчики отличаются только одним символом. Это не есть красиво, но наведением порядка в коде мы займемся немножко позже. Сейчас для наглядности путь обработчики событий нажатия кнопки остаются как есть.
Давайте на примере операции сложения разберем как работает наша программа.
Из курса школьной программы математики мы знаем, что действия, заключенные в скобки выполняются в первую очередь. В программировании то-же самое:
Более сложные типы, такие как DateTime, могут иметь несколько мeтодов ToString().
Проверяем работу программы
Программа работает и делает то, что от нее требовалось:
Давайте теперь перепишем программу, чтоб она могла выводить предупреждение, в случае, если было введено некорректное значение одного из операторов. Скопируйте следующий метод к себе в файл Form1.cs, там где находятся остальные обработчики *_Click:
Теперь перейдите в конструктор формы (Shift + F7) и для каждой кнопки, в качестве обработчика события Click выберите метод bnMathAction_Click.
В итоге вы должны получить файл Form1.cs следующего вида:
Читайте также: