IZONE - http://www.izcity.com/ - бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

 IZONE 


Базовые знания - 3

Дмитрий Турецкий

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

Алгоритм

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

Создание алгоритмя является одним из наиболее сложных моментов в программировании и ошибки в алгоритме, как правило, являются наиболее тяжелыми - зачастую такие ошибки приводят к необходимости переписывания всей программы "с нуля". Сложность написания алгоритма заключается в том, что во-первых вам требуется расписать требуемые действия при всех возможных условиях (а дерево условий растет очень быстро), а во-вторых требуется выбрать оптимальный путь решения задачи из множества возможных.

Рассмотрим простой пример. Вы хотите написать программу, вычисляющую среднюю скорость роста человека. Пишем алгоритм: запросить рост, запросить возраст, разделить рост на возраст и выдать ответ. Правильно? А что будет, если на вопрос о возрасте пользователь введет ноль? Ага, вот и ошибка "деления на ноль" и программа "падает"... Меняем алгоритм: запросить рост, запросить возраст, проверить, что возраст больше нуля (если нет, то перейти на начало), разделить и выдать ответ. Теперь правильно? Но мы не учли, что человек (самая ненадежная и непредсказуемая часть :) может, скажем, опечататься и ввести возраст в 1000 лет или рост в два сантиметра... Значит появляются дополнительные условия для проверки. Это пример ветвления условий. А насчет оптимального пути - пользователю может не понравиться повторно вводить оба параметра, если он ошибся только в одном из них, значит проверку корректности данных надо проводить сразу после ввода каждого параметра и в случае ошибки просить ввести правильное значение. Действительно, представьте, например, что параметров не два, а, сажем, десяток и вы опечатались в последнем...

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

Для облегчения подготовки алгоритмов используются блок-схемы - нарисованные на бумажке (или в компьютере) чертежи, где в прямоугольниках зписываются выполняемые действия, в ромбиках - условия, а стрелочки между ними показывают ход выполнения задачи. Блок-схемы позволяют увидеть решение задачи, обнаружить "подвисшие" ветви, а благодаря тому, что можно использовать разные степени детализации вы сможете рассматривать решение задачи в целом, или какого-то отдельного ее куска. Кстати, умение разрабатывать алгоритмы важно далеко не только в программировании, но и практически в любой области деятельности...

Интерфейс.

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

Таким образом мы сможем написать множество вариантов нашей программы, чтобы каждый пользователь мог выбрать себе что-то по душе. И при всем разнообразии выбора, это будет все та же программа... Используя этот принцип, в последнее время получили широкое распространение программы, поддерживающие "шкуры" (skins) - у таких программ вы можете сами выбрать понравившийся вам интерфейс и скачать его в виде отдельного файла, или даже создать свой собственный!

Горячие клавиши (hotkeys)

Горячие клавиши - это комбинации клавиш, выполняющие те или иные действия. Как правило, в клавиатурных сокращениях (это еще одно название горячих клавиш) задействуется несколько кнопок, например запись Alt + Tab означает, что надо одновременно нажать клавиши Alt и табуляцию.

Горячие клавиши можно разделить на "глобальные" (относящиеся к Windows) и "локальные" - действующие в какой-то программе. Локальные имеют приоритет, т.е. если в программе переопределено сочетание славиш Alt + Esc и программа активна, то при нажатии этих клавиш выполнится действие, определенное в программе, а не откроется меню "Пуск". Множество горячих клавиш можно найти, например, на diskovod.ru.

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

А второй способ связан с назначением горячих клавиш ярлыкам (shortcut). Допустим, у вас на рабочем столе есть ярлык к какой-то программе. Щелкнув по нему правой кнопкой мыши и выбрав "Свойства", в появившемся окне вы увидите адрес запускаемого файла, рабочую директорию и т.п. И там же будет графа Shortcut key. Если вы щелкните по ней мышкой, а потом нажмете сочетание клавиш, которое вам бы хотелось использовать для запуска этой программы, то так оно все и случится!

Есть и несколько программ, специально ориентированных на работу с горячими клавишами. Я бы посоветовал взглянуть на BossKey, KeyText 2000, HotKey, AllChars...

А вообще, знание (и использование!) горячих клавиш делает работу в Windows на порядок более удобной... С моей точки зрения...

Продолжение следует...

Источник: http://www.diskovod.ru

 


Copyright © "Internet Zone"info@izcity.com
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас.