Вопрос 52. Установка и удаление приложений Windows.

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

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

Несколько иначе обстоит дело с приложениями, загруженными из интернета. Как правило, скачанная из сети программа – это один файл. При этом, это может быть EXE или MSI-инсталлятор (будет видно по расширению файла или появлению у него соотвествующего значка), кликнув на который мышкой, сразу же запустится процесс установки приложения на компьютер. Но не менее часто дистрибутив программы может поставляться в виде архива – множества файлов и папок, сжатых и упакованных в одну единственную папку с помощью специальной программы-архиватора. Тогда, после клика на нем мышкой, перед вами откроется окно с папкой, содержащей дистрибутив программы. Внутри этой папки, среди других файлов и папок, необходимо найти тот файл, который запускает программу установки, и щелкнуть на нем два раза левой кнопкой мыши. Как правило, в своем названии, он содержит слово Setup или Install.

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

Для запуска установленной программы воспользуйтесь ярлыком на Рабочем столе, ну а если в процессе инсталляции он создан не был, то тогда найдите папку и значок свежеустановленного приложения в меню Все программы кнопки Пуск. Не забывайте, что значки (ярлыки) самых необходимых программ можно скопировать на Панель задач или Рабочий стол для ускорения их запуска.

Удаление программ.Со временем, некоторые установленные программы теряют свою актуальность или просто пользователь перестает нуждаться в их использовании. Что бы ни плодить на компьютере информационный мусор и не забивать место на жестком диске ненужными приложениями, стоит позаботиться об их своевременном удалении. Более того, множество установленных программ не только отягощает реестр Windows своими настройками, но и запускается в фоновом режиме, что может привести к ощутимому снижению производительности системы.

Многие начинающие пользователи совершают одну характерную ошибку, считая, что удалив папку с файлами программы с жесткого диска, они удаляют и саму программу. На самом деле это не так, а пытаться удалять приложения с компьютера таким образом, ни в коем случае нельзя. Дело в том, что при установке программы происходит не только размещение ее служебных файлов на диске, но и запись всевозможных настроек в реестр Windows(специальную базу данных системы). Поэтому после удаления лишь папки с файлами программы, операционная система будет продолжать считать, что это приложение все еще установлено, что в свою очередь может привести к появлению различных сообщений об ошибках.

Правильно удалить программу можно двумя способами. Первый – воспользоваться собственным «деинсталлятором» программы, который можно найти в ее папке в меню Все программы, щелкнув по кнопке Пуск. Как правило, этот файл содержит в своем названии слово uninstall или же так и называется.

Второй, более простой и универсальный способ – воспользоваться разделом Панели Управления системы, который в Windows 7 называется Программы (Программы и компоненты), а в Windows XP – Установка и удаление программ. После щелчка по значку этого раздела перед вами откроется список всех программ, установленных в систему. Щелкнув на любой из них, вы запустите процедуру удаления выбранного приложения.

 

Вопрос 53. Циклические алгоритмы…

Циклом называют повторение одних и тех же действий (шагов). Последовательность действий, которые повторяются в цикле, называют телом цикла. Существует несколько типов алгоритмов циклической структуры. На рис. 2.1 изображен цикл с предусловием, а на рис. 2.2 - цикл с постусловием, которые называют условными циклическими алгоритмами. Нетрудно заметить, что эти циклы взаимозаменяемы и обладают некоторыми отличиями.

· в цикле с предусловием условие проверяется до тела цикла, в цикле с постусловием - после тела цикла;

· в цикле с постусловием тело цикла выполняется хотя бы один раз, в цикле с предусловием тело цикла может не выполниться ни разу;

· в цикле с предусловием проверяется условие продолжения цикла, в цикле с постусловием - условие выхода из цикла.

Рис. 2.1. Алгоритм циклической структуры с предусловием Рис. 2.2. Алгоритм циклической структуры с постусловием

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

Кроме того, существует так называемый безусловный циклический алгоритм (рис. 2.3), который удобно использовать, если известно, сколько раз необходимо выполнить тело цикла.

Рис. 2.3. Алгоритм циклической структуры без условия

Выполнение безусловного циклического алгоритма начинается с присвоения переменной i стартового значения in. Затем следует проверка, не превосходит ли переменная i конечное значение . Если превосходит, то цикл считается завершенным, и управление передается следующему за телом цикла оператору. В противном случае выполняется тело цикла, и переменная i меняет свое значение в соответствии с указанным шагомdi. Далее, снова производится проверка значения переменной i и алгоритм повторяется. Понятно, что безусловный циклический алгоритм можно заменить любым условным. Например, так как показано на рис. 2.4.

Рис. 2.4. Условный циклический алгоритм с известным числом повторений

Отметим, что переменную i называют параметром цикла, так как это переменная, которая изменяется внутри цикла по определенному закону и влияет на его окончание.

ПРИМЕР 2.1. Найти наибольший общий делитель (НОД) двух натуральных чисел А и В.

return false">ссылка скрыта

Входные данные: А и В.
Выходные данные: А - НОД.

Для решения поставленной задачи воспользуемся алгоритмом Евклида: будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба значения не станут равными, так, как показано в таблице 2.1.

Таблица 2.1. Поиск НОД для чисел А=25 и В=15.
Исходные данные Первый шаг Второй шаг Третий шаг НОД(А,В)=5
А=25 А=10 А=10 А=5  
В=15 В=15 В=5 В=5  

В блок-схеме решения задачи, представленной на рис. 2.5, для решения поставленной задачи используется цикл с предусловием, то есть тело цикла повторяется до тех пор, пока А не равно В.

Рис. 2.5. Поиск наибольшего общего делителя двух чисел

ПРИМЕР 2.2. Вводится последовательность чисел, 0 - конец последовательности. Определить, содержит ли последовательность хотя бы два равных соседних числа.

Входные данные: x0 - текущий член последовательности, x1 - следующий член последовательности.
Выходные данные: сообщение о наличии в последовательности двух равных соседних элементов.
Вспомогательные переменные: Fl - логическая переменная, сохраняет значение "истина", если в последовательности есть равные рядом стоящие члены и "ложь" - иначе.

Блок-схема решения задачи приведена на рис.2.6. Применение здесь цикла с постусловием обосновано тем, что необходимо вначале сравнить два элемента последовательности, а затем принять решение об окончании цикла.

Рис. 2.6. Поиск равных соседних элементов последовательности

В приведенных примерах условие задачи таково, что неизвестно, сколько раз повторится тело цикла. Такие циклы называют циклами с неизвестным числом повторений (вообще говоря, неизвестно, закончится ли цикл вообще). Цикл, количество повторений которого известно заранее или его можно определить по исходным данным, называют циклом с известным числом повторений.

Рассмотрим несколько примеров с использованием таких циклов.

ПРИМЕР 2.3. Составить таблицу значений функции y = esin(x)cos(x) на отрезке [0;π] с шагом 0.1.

Входные данные: начальное значение аргумента - 0, конечное значение аргумента - π , шаг изменения аргумента - 0.1.
Выходные данные: множество значений аргумента X и соответствующее им множество значений функции Y.

 

Рис. 2.7. Создание таблицы значений функции y = esin(x)cos(x) (1-й способ) Рис. 2.8. Создание таблицы значений функции y = esin(x)cos(x) (2-й способ)

В условии задачи количество повторений цикла явно не задано, поэтому решить ее можно, используя цикл с предусловием (рис. 2.7). С другой стороны известно, как изменяется параметр цикла X и каковы его начальное и конечное значения, следовательно, предварительно определив количество повторений тела цикла n, так как показано на рис. 2.8, можно воспользоваться безусловным циклическим оператором. Итак, если параметр цикла X принимает значения в диапазоне от xn до xk, изменяясь с шагом , то количество повторений тела цикла можно определить по формуле:

(2.1)

округлив результат деления до целого числа.

ПРИМЕР 2.4. Вычислить факториал числа N (N!=1 2 3 … N).

Входные данные: N- целое число, факториал которого необходимо вычислить.
Выходные данные: factorial- значение факториала числа N, произведение чисел от 1 до N, целое число.
Промежуточные данные:i- целочисленная переменная, принимающая значения от 2 до N с шагом 1, параметр цикла. Блок-схема приведена на рис. 2.9.

Рис. 2.9. Вычисление факториала

Итак, вводится число N. Переменной factorial, предназначенной для хранения значения произведения последовательности чисел, присваивается начальное значение, равное единице. Затем организуется цикл, параметром которого выступает переменная i. Если значение параметра цикла меньше или равно N, то выполняется оператор тела цикла, в котором из участка памяти с именем factorial считывается предыдущее значение произведения, умножается на текущее значение параметра цикла, а результат снова помещается в участок памяти с именем factorial. Когда параметр i становится больше N, цикл заканчивается, и на печать выводится значение переменой factorial, которая была вычислена в теле цикла.

ПРИМЕР 2.5. Вычислить an (n > 0).

Входные данные:a - вещественное число, которое необходимо возвести в целую положительную степень n.
Выходные данные: p (вещественное число) - результат возведения вещественного числа a в целую положительную степень n.
Промежуточные данные: i- целочисленная переменная, принимающая значения от 1 до n с шагом 1, параметр цикла.

Блок-схема приведена на рис. 2.10.

Рис. 2.10. Возведение вещественного числа в целую степень

Известно, что для того, чтобы получить целую степень n числа a, нужно умножить его само на себя n раз. Результат этого умножения будет храниться в участке памяти с именем p. При выполнении очередного цикла из этого участка предыдущее значение будет считываться, умножаться на основание степени a и снова записываться в участок памяти p. Цикл выполняется n раз.

В таблице 2.2 отображен протокол выполнения алгоритма при возведении числа 2 в пятую степень: a = 2, n = 5. Подобные таблицы, заполненные вручную, используются для тестирования - проверки всех этапов работы программы.

Таблица 2.2. Процесс возведения числа a в степень n
i  
P

ПРИМЕР 2.6. Вычислить сумму натуральных четных чисел, не превышающих N.

Входные данные: N - целое число.
Выходные данные: S- сумма четных чисел.
Промежуточные данные: i - переменная, принимающая значения от 2 до N с шагом 2, следовательно, также имеет целочисленное значение.

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

Рис. 2.11. Вычисление суммы четных, натуральных чисел

В таблице 2.3 приведены результаты тестирования алгоритма для n = 7. Несложно заметить, что при нечетных значениях параметра цикла значение переменной, предназначенной для накапливания суммы, не изменяется.

Таблица 2.3. Суммирование четных чисел
i  
S

ПРИМЕР 2.7. Дано натуральное число N. Определить К - количество делителей этого числа, не превышающих его (N = 12, его делители 1, 2, 3, 4, 6,K = 5).

Входные данные: N - целое число.
Выходные данные: целое число K - количество делителей N.
Промежуточные данные: i - параметр цикла, возможные делители числа N.

В блок-схеме, изображенной на рис. 2.12, реализован следующий алгоритм: в переменную K, предназначенную для подсчета количества делителей заданного числа, помещается значение, которое не влияло бы на результат, т.е. нуль. Далее организовывается цикл, в котором изменяющийся параметр i выполняет роль возможных делителей числа N. Если заданное число делится нацело на параметр цикла, это означает, что i является делителем N, и значение переменной K следует увеличить на единицу. Цикл необходимо повторить N/2 раз.

В таблице 2.4 отображены результаты тестирования алгоритма при определении делителей числа N = 12.

Таблица 2.4. Определение делителей числа N
i  
K

 

Рис. 2.12. Определение делителей натурального числа

ПРИМЕР 2.8. Дано натуральное число N. Определить, является ли оно простым. Натуральное число N называется простым, если оно делится нацело без остатка только на единицу и N. Число 13 - простое, так как делится только на 1 и 13, N = 12 не является простым, так как делится на 1, 2, 3, 4, 6 и 12.

Входные данные: N - целое число.
Выходные данные: сообщение.
Промежуточные данные: i - параметр цикла, возможные делители числа N.

Рис. 2.13. Определение простого числа

Алгоритм решения этой задачи (рис. 2.13) заключается в том, что число Nделится на параметр цикла i, изменяющийся в диапазоне от 2 до N/2. Если среди значений параметра не найдется ни одного числа, на которое заданное число N делится нацело, то N - простое число, иначе оно таковым не является. Обратите внимание на то, что в алгоритме предусмотрено два выхода из цикла. Первый - естественный, при исчерпании всех значений параметра, а второй - досрочный. Нет смысла продолжать цикл, если будет найден хотя бы один делитель из указанной области изменения параметра.

ПРИМЕР 2.9. Определить количество простых чисел в интервале от N до M, где N и M - натуральные числа.

Рис. 2.14 Поиск простых чисел в заданном интервале

ПРИМЕР 2.10. Вычислить значения y, соответствующие каждому значению x (xnxxk, dx) по формуле:

Найти максимальное и минимальное значение у.

Входные данные: xn, xk, dx, a.
Выходные данные: множество значений у, ymax- максимальное значение у, ymin - минимальное значение у.

Алгоритм поиска минимального (максимального) значения переменной у можно описать следующим образом. Пусть минимальное (максимальное) значение y хранится в переменной ymin (ymax). До начала цикла этой переменной присваивается очень большое (маленькое) значение, например, 1020 (-1020). Затем в цикле сравниваются значения y и ymin (ymах), и если встречается значение у меньшее (большее), чем хранится в ymin (ymах), то его необходимо записать в переменную ymin (ymах). Таким образом, все значения у неявно сравниваются между собой, а по окончании цикла в переменной ymin (ymах) будет храниться наименьшее (наибольшее) среди значений у.

Блок-схема алгоритма изображена на рис. 2.15.

Рис. 2.15. Блок-схема алгоритма примера 2.10