Лекция: Интерфейс программы

Элементы интерфейса:

  • Строка заголовка
  • Верхнее меню
  • Панель инструментов
  • Строка ввода
  • Табличное поле
  • Строка состоянии

 

 

 

 

20. Компьютерные сети (общее понятие).

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

Классификация По территориальной распространенности

· PAN (PersonalAreaNetwork) — персональная сеть, предназначенная для взаимодействия различных устройств, принадлежащих одному владельцу.

· LAN (LocalAreaNetwork) — локальные сети, имеющие замкнутую инфраструктуру до выхода на поставщиков услуг. Термин «LAN» может описывать и маленькую офисную сеть, и сеть уровня большого завода, занимающего несколько сотен гектаров. Зарубежные источники дают даже близкую оценку — около шести миль (10 км) в радиусе. Локальные сети являются сетями закрытого типа, доступ к ним разрешен только ограниченному кругу пользователей, для которых работа в такой сети непосредственно связана с их профессиональной деятельностью.

· CAN (CampusAreaNetwork — кампусная сеть) — объединяет локальные сети близко расположенных зданий.

· MAN (MetropolitanAreaNetwork) — городские сети между учреждениями в пределах одного или нескольких городов, связывающие много локальных вычислительных сетей.

· WAN (WideAreaNetwork) — глобальная сеть, покрывающая большие географические регионы, включающие в себя как локальные сети, так и прочие телекоммуникационные сети и устройства. Пример WAN — сети с коммутацией пакетов (Framerelay), через которую могут «разговаривать» между собой различные компьютерные сети. Глобальные сети являются открытыми и ориентированы на обслуживание любых пользователей.

· Термин «корпоративная сеть» также используется в литературе для обозначения объединения нескольких сетей, каждая из которых может быть построена на различных технических, программных и информационных принципах.

21. Локальные компьютерные сети (ЛВС).

Локальная сеть(локальная вычислительная сеть, ЛВС) – это комплекс оборудования и программного обеспечения, обеспечивающий передачу, хранение и обработку информации.

Назначение локальной сети — осуществление совместного доступа к данным, программам и оборудованию. Локальная сеть предоставляет возможность совместного использования оборудования

В состав локальной сети (ЛВС) входит следующее оборудование:
Активное оборудование – коммутаторы, маршрутизаторы, медиаконвекторы;
Пассивное оборудование – кабели, монтажные шкафы, кабельные каналы, коммутационные панели, информационные розетки;
Компьютерное и периферийное оборудование – серверы, рабочие станции, принтеры, сканеры.

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

 

22. Глобальные компьютерные сети.

Глобальная сеть — это объединение компьютеров, расположенных иа большом расстоянии, для общего использования мировых информационных ресурсов.

В настоящее время для обеспечения связи в глобальных сетях выработаны единые правила — технология Интернет. Эти правила устанавливают:
— единый способ подключения отдельного компьютера или локальной сети к глобальной;
— единые правила передачи данных;
— единую систему идентификации компьютера в сети (сетевой адрес).

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

23. Этапы решения задачи на ЭВМ.

1) Постановка задачи (исходные данные, определённые конечные цели, задача записывается с использованием естественного языка).

2) Разработка математической модели задачи. Задача записывается на языке математики.

3) Выбор метода решения задачи. Разработка эффективного метода решения полученной математической задачи.

4) Разработка алгоритма решения задачи. Алгоритм – конечная последовательность однозначных предписаний (команд), использование которых к решению задачи.

5) Разработка программы решения задачи. Алгоритм решения задачи записывается на языке программирования.

6) Отладка программы – процесс выявления и устранения ошибок в программе, синтаксических и семантических (логических). Следует запустить программу на исполнение, ввести исходные данные, произвести вычисления, проанализировать.

7) Передача программы на эксплуатацию.

 

 

24. Понятие алгоритма. Основы алгоритмизации. Структурный подход.

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

Основными свойствами алгоритма являются:

· дискретность — представление алгоритма в виде последовательности шагов;

· массовость — применимость алгоритма к некоторому множеству исходных данных;

· определенность — за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;

· однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.

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

 

Для изображения алгоритмов будем использовать блок-схемы, формируемые из типовых блоков, показанных на рис. 1.

В теории алгоритмов доказано, что любой, сколь угодно сложный алгоритм может быть составлен из трех основных алгоритмических структур: линейной, ветвления и цикла, показанных, соответственно на рис. 2, 3, 4.

Линейная структура предполагает последовательное выполнение действий, без их повторения или пропуска некоторых действий. Обычно программисты стремятся к тому, чтобы алгоритм имел линейную структуру.

Структура «ветвление» предполагает выполнение одной из двух групп действий в зависимости от выполнения условия в блоке ветвления. На рис. 3 знаком "+" показано выполнение условия, а знаком "-" — его невыполнение..

Структура «цикл» имеет несколько разновидностей. На рис. 4 показан цикл типа «пока» с предусловием. Действия внутри этого цикла повторяются пока выполняется условие в блоке ветвления, причем сначала проверяется условие, а затем выполняется действие. Достаточно часто используются другие типы цикла, показанные на рис. 5 и 6.

В цикле с постусловием проверка условия выхода из цикла выполняется после очередного действия. Цикл «для» является модификацией цикла «пока» для ситуации, когда заранее известно количество повторений некоторых действий. Запись в блоке заголовка цикла на рис.6 показывает пример описания заголовка цикла, в котором действия повторяются столько раз, сколько целых значений приобретает параметр цикла i от своего начального значения 1 до конечного N с шагом 1. Обычно шаг не указывается, если он равен 1.

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

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

 

 

25. Языки программирования. Системы программирования.

Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

При классификации языков выделяют следующие типы языков:

1. Ассемблерные языки — являются символьным представлением машинных языков конкретного компьютера.

2. Метаязыки — языки, используемые для формального описания других языков.

3. Императивные языки — это языки, оперирующие командами, изменяющими значение элементов данных, располагают операциями присваивания и циклами. К ним относятся все современные языки программирования.

4. Декларативные языки — языки, оперирующие инструкциями данным и отношениями между ними. Алгоритм скрывается семантикой языка. Это аппликативные языки, языки логики и объектно-ориентированные языки. Примеры декларативных свойств — сложные множества и инструкции поиска по шаблону.

5. Процедурные языки — позволяют определять отдельные методы вычисления какой-нибудь проблемы. Включают в себя императивные и функциональные языки.

6. Аппликативные языки — функции применяются к значениям без побочного эффекта. Это Функциональные языки во всем своем многообразии.

7. Функциональные языки — оперируют функциями высокого порядка. В них манипуляции совершаются напрямую функциями, а не данными. К категории функциональных языков относятся Lisp, FP, APL, Nial, Krc.

8. Объектно-ориентированные языки — языки, в которых данные и функции, имеющие доступ к ним рассматриваютс как один модуль. Пример: ObjectPascal, С++, Java, ObjectiveCaml.

9. Языки запросов — обеспечивают интерфейс к базам данных.

10. Языки четвертого поколения (4GL) — высокоуровневые языки, могут использовать естественный английский язык или визуальные конструкции. Алгоритмы или структуры данных обычно выбираются компилятором.

11. Языки логики — языки, оперирующие предикатами и их отношениями p(x, Y)

Системы программирования – языки программирования + соответствующие им трансляторы. Транслятор представляет собой программу, на основе которой машина преобразует вводимые в нее программы на машинный язык, поскольку вычислительная машина может выполнять программы, записанные только на языке машины, и алгоритмы, заданные на другом языке, должны быть перед их выполнением переведены на машинный язык.

Языки программирования делятся на низкоуровневые и высокоуровневые в зависимости от степени детализации.

 

26. Понятие моделирования. Математическое моделирование.

Моделирование – метод познания, состоящий в создании и исследовании модели.

Модель – некий новый объект, который отражает существенные особенности изучаемого объекта, явления или процесса.

· Предметные (материальные модели) – воспроизводят геометрические, физические и др. свойства объекта в материальной форме.

· Информационные – объекты в образной и знаковой форме

ü Образные — зрительные образы объектов, зафиксированные на каком-либо носителе информации

ü Знаковые –строятся с использованием различных языков (знаковых систем)

Математическая модель — это приближенное описание какого-либо класса явлений или объектов реального мира на языке математики.

Основные типы задач при математическом моделировании:

1) Решение линейных, алгебраических, трансцендентных уравнений и систем уравнений

2) Решение дифференциальных уравнений и систем

3) Аппроксимация ( приближение функции) — интерполирование, средне квадратическое приближение и др.

4) Решение задач оптимизации

ü Решение задач линейного и нелинейного программирования и др.

ü Задача планирования эксперимента и т.д.

27. Метод деление отрезков пополам для решения уравнений вида f(x)=0

В интервале [a;b], содержащем один простой корень ( на концах интервала функция имеет разные знаки). Поделим его пополам x=(a+b)/2 [a;x] [x;b]. Выбираем тот на концах которого функция имеет разные знаки, далее цикл до требуемой точности (длинна интервала < ε)

Алгоритм:

Def FNF(x) = ….

Input a,b,eps

2_x = (a+b)/2

If FNF(a)*FNF(x)<0 then b=x else a=x

If b-a >eps then 2

Print x,FNF(x)

End

28. Метод Ньютона для решения нелинейных уравнений вида f(x)=0

При известном хорошем приближении.

Строим последовательность сходящуюся к точности

Условия сходимости:

Если точка определена и дважды дифференцируема, причём f(a)*f(b)<0 и f `(x), f ``(x) сохраняется на интервале [a;b]. f(x0)*f ``(x0)>=0.

f(b)>0

f ``(b)>0

Алгоритм

Def FNF (x) = …

Def FNP (x) = …

Input x,eps

2_y = x – FNF(x)/FNP(x)

if ABS (y-x)<ε then 3

x = y: GOTO 2

3_Print y,FNF(y)

End

 

 

29. Метод простой итерации для решения уравнений вида f(x)=0

Замена исходного уравненияf(x)=0 на эквивалентноеx = ξ(x) и построение последовательностиxk+1=ξ(xk), сходящуюся к точному значению.

Замену можно выполнить разными способами, но самый распространённый

f(x)=0 x=x+

Достаточное условие сходимости:

Функция ξ(x) определена и дифференцируема на интервале [a;b] причём все её значения принадлежат этому интервалу, тогда существует такое число q что <=q<1 то последовательность xk+1=φ(xk)k = 0,1,2,3 …. сводится к единственному на [a;b] корню уравнения.

Для оценки точности можно

a) c – искомый корень

b)

Алгоритм

Def FNF (x) = …

Def FNP (x) = …

Input x,eps

2_y = x – FNF(x)/N

if ABS (y-x)<ε then 3

x = y: GOTO 2

3_Print y,FNF(y)

End

 

30. Прямые методы решения СЛАУ ( систем линейных алгебраических уравнений). Метод прогонки.

Решение СЛАУ – одно из самых распространённых задач.

Для решения существуют: формула Крамера (через определитель), метод Гаусса, метод прогонки.

Метод прогонки.

При решении систем с матрицами, содержащие много нулевых элементов. В матрицах коэффициентов ненулевые элементы только главные диагонали. Метод прогонки – частный случай метода Гаусса. Метод состоит из прямого и обратного хода. Прямой ход – приведение системы к виду xi=uixi+vi ,ui,vi – прогоночные коэффициенты, их нахождение – цель прямого хода, для это (i-1) – ое уравнение xi-1=ui-1xi+vi-1 aixi-1+bixi+cixi+1=di

i-ое xi=

 

ui=

vi=

Обратный ход: при n=ixn=vn, т.к. un=0

xi= uixi+1+vi i=n;n-1…1

 Прямой ход метода прогонки (вычисление вспомогательных величин):

2 =-c1 / d12 =b1 / d1i+1 =-ci / [di + cii], i=2, ..., n-1 i+1 = [-cii + bi] / [di + cii], i=2, ..., n-1  

 Обратный ход метода прогонки (нахождение решения):

xn = [-cnn + bn] / [dn + cnn] xi = i+1xi+1 + i+1, i = n-1, ..., 1

Алгоритм метода прогонки:

1) Ввести коэффициенты системы

2) Выполнить прямой ход

3) Выполнить обратный ход

4) Вычислить невязки ri=aixi-1+bixi+cixi+1-di

5) Вывести результаты xi,ri

Достаточное условие устойчивости:

Матрица удовлетворяет условию диагоналей приближений (коэффициенты диагонали больше чем сумма остальной строки)

 

31. Итерационные методы решения СЛАУ.

Итерационный процесс — последовательное приближение и проверка условия достижения искомого результата.

Позволяют получить решение с любой заданной точностью и не накапливают погрешность округления.

Метод Якоби:

Итерация сходится к точному решению

Достаточное условие сходимости: +

Метод Зейгеля:

Условие остановки итерационного процесса при требуемой точности ε:

32. Аппроксимация функции. Постановка задачи и способы её решения.

Аппроксимация, или приближение — замена одних объектов другими, в том или ином смысле близкими к исходным, но более простыми.

Задачи:

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

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

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

 

 

еще рефераты
Еще работы по информатике