Предмет и объект прикладной информатики
Архитектура персональных компьютеров, классификация сетей (глобальные, региональные, локальные), методы доступа к передаче данных и протоколы. Динамические структуры данных; списки, их основные виды и способы реализации; технологии программирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | шпаргалка |
Язык | русский |
Дата добавления | 09.03.2010 |
Размер файла | 584,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
<протокол_передачи>://<имя_хоста>/<путевое_имя>
Например: http://support.nchti.ru:80/proxy.pac
FTP (File Transfer Protocol). Для передачи файлов по сети Internet, представляют собой файловые архивы. Содержимое ftp-серверов представляет собой часть файловой системы сервера, к которой предоставлен доступ через сеть. Адреса ftp архивов подчиняются тем же правилам, что и адреса www сайтов, только указывается другое имя протокола. Например: ftp://mp3.int.ru
Для доступа к таким серверам необходимо знать login и пароль, которые нужно ввести на запрос ftp-клиента (браузера) или использовать url вида:
ftp://:@<доменное_имя_ftp_сервера>
Предпочтение следует отдавать первому способу, т.к. пользовательские регистрационные данные, передаваемые в строке url могут быть легко перехвачены при передаче по сети.
Информатика как наука. Предмет и объект прикладной информатики. Системы счисления
Инфоpматика -- это основанная на использовании компьютерной техники дисциплина, изучающая структуру и общие свойства информации, а также закономерности и методы её создания, хранения, поиска, преобразования, передачи и применения в различных сферах человеческой деятельности.
Инфоpматика -- научная дисциплина с широчайшим диапазоном применения.
Её основные направления:
- pазpаботка вычислительных систем и пpогpаммного обеспечения;
- теоpия инфоpмации, изучающая процессы, связанные с передачей, приёмом, преобразованием и хранением информации;
- методы искусственного интеллекта, позволяющие создавать программы для решения задач, требующих определённых интеллектуальных усилий при выполнении их человеком (логический вывод, обучение, понимание речи, визуальное восприятие, игры и др.);
- системный анализ, заключающийся в анализе назначения проектируемой системы и в установлении требований, которым она должна отвечать;
- методы машинной графики, анимации, средства мультимедиа;
- средства телекоммуникации, в том числе, глобальные компьютерные сети, объединяющие всё человечество в единое информационное сообщество;
- разнообразные пpиложения, охватывающие производство, науку, образование, медицину, торговлю, сельское хозяйство и все другие виды хозяйственной и общественной деятельности.
Термином информатика обозначают совокупность дисциплин, изучающих свойства информации, а также способы представления, накопления, обработки и передачи информации с помощью технических средств.
Информационная технология есть совокупность конкретных технических и программных средств, с помощью которых мы выполняем разнообразные операции по обработке информации во всех сферах нашей жизни и деятельности.
Информатика является комплексной, междисциплинарной отраслью научного знания.
ПРЕДМЕТОМ ИНФОРМАТИКИ ЯВЛЯЕТСЯ ЗНАНИЕ. ОБЪЕКТОМ ИНФОРМАТИКИ ЯВЛЯЕТСЯ СИСТЕМА ЧЕЛОВЕК-ВМ
знание исторически всегда подразумевает человека, а не ВМ. Этому можно возразить так: ВМ используется человеком и для человека непосредственно или в конечном счете. слова «мыслить», «думать» и «знать», примененные к ВМ, начинают применяться без кавычек: ВМ мыслит, ВМ думает и ВМ знает.
Системы счисления
Для записи информации о количестве объектов используются числа. Числа записываются с использованием особых знаковых систем, которые называются системами счисления. Алфавит системы счисления состоит из символов, которые называются цифрами.
Система счисления - это знаковая система, в которой числа записываются по определенным правилам с помощью символов некоторого алфавита, называемых цифрами.
Все системы счисления делятся на две большие группы: позиционные и непозиционные.
В позиционных системах количественное значение цифры зависит от ее положения в числе, а в непозиционных -- не зависит.
Непозиционные системы счисления. Система записи чисел называется единичной, так как любое число в ней образуется путем повторения одного знака, символизирующего единицу. Примером непозиционной системы: римская система счисления в её основе лежат знаки I (один палец) для числа 1, V (раскрытая ладонь) для числа 5, X (две сложенные ладони) для числа 10. При записи чисел в римской системе счисления есть правило: каждый меньший знак, поставленный слева от большего, вычитается из него, в остальных случаях знаки складываются. Недостатком непозиционных систем, является отсутствие арифметических действий над ними.
Позиционные системы счисления. Для записи чисел используется отличных друг от друга знаки. Число таких знаков называется основанием системы счисления. Пример некоторых позиционных систем: двоичная, троичная, четверичная, пятеричная, восьмеричная, десятичная, двенадцатеричная (0,1,2,3,4,5,б,7,8,9,А,В), шестнадцатеричная (0,1,2,3,4,5,6,7,8,9,A.B,D,E,F)
В позиционной системе счисления, число может быть представлено в виде суммы произведений коэффициентов на степени основания системы счисления:
AnAn-1An-2 … A1,A0,A-1,A-2 =
АnВn + An-1Bn-1 +... + A1B1 + А0В0 + A-1B-1 + А-2В-2 +...
(знак «точка» отделяет целую часть числа от дробной; знак «звездочка» здесь и ниже используется для обозначения операции умножения). Таким образом, значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа. Именно поэтому такие системы счисления называют позиционными. Примеры (десятичный индекс внизу указывает основание системы счисления): 23,43(10) = 2*101 + З*10° + 4*10-1 + З*10-2
(в данном примере знак «З» в первом случае число единиц, а в другом - число сотых долей единицы);
692(10) = 6* 102 + 9*101 + 2.
(«Шестьсот девяносто два» с формальной точки зрения представляется в виде «шесть умножить на десять в степени два, плюс девять умножить на десять в степени один, плюс два»).
1101(2)= 1*23 + 1*22+0*21+ 1*2°;
A1F4(16) = A*162 + 1*161 + F*16° + 4*16-1.
При работе с компьютерами используется несколько позиционных систем счисления, большое значение имеют перевод чисел из одной системы счисления в другую. Результат является десятичным числом.
Двоичная система счисления
В двоичной системе внутреннее представление информации является двоичным, т.е. описываемым наборами только из двух знаков (0 и 1).
Целая и дробная части переводятся порознь. Для перевода просто целого числа необходимо разделить ее на основание системы счисления и продолжать делить частные от деления до тех пор, пока частное не станет равным 0. Получившиеся остатки, взятые в обратной последовательности, образуют двоичное число. Например:
Остаток
25: 2 = 12 (1),
12: 2 = 6 (0),
6: 2 = 3 (0),
3: 2 = 1 (1),
1: 2 = 0 (1).
Таким образом 25(10)=11001(2).
Для перевода дробной части (или числа, у которого «0» целых) надо умножить ее на 2. Целая часть произведения будет первой цифрой числа в двоичной системе. Затем, отбрасывая у результата целую часть, вновь умножаем на 2 и т.д.
Заметим, что конечная десятичная дробь при этом вполне может стать бесконечной {периодической) двоичной. Например:
0,73 * 2 = 1,46 (целая часть 1),
0,46 * 2 = 0,92 (целая часть 0),
0,92 * 2 = 1,84 (целая часть 1),
0,84 * 2 = 1,68 (целая часть 1) и т.д.
В итоге 0,73(10) =0,1011...(2).
Над числами, записанными в любой системе счисления, можно; производить различные арифметические операции. Так, для сложения и умножения двоичных чисел необходимо использовать табл. 1.5.
Таблица 1.5. Таблицы сложения и умножения в двоичной системе
Заметим, что при двоичном сложении 1 + 1 возникает перенос единицы в старший разряд - точь-в-точь как в десятичной арифметике:
Восьмеричная и шестнадцатеричная системы счисления
Перевод чисел из десятичной системы счисления в восьмеричную производится с помощью делений и умножений на 8. Например, переведем число 58,32(10):
58: 8 = 7 (2 в остатке),
7: 8 = 0 (7 в остатке).
0,32 * 8 = 2,56,
0,56 * 8 = 4,48,
0,48-8=3,84,...
Таким образом, 58,32(10) =72,243... (8)
Для перевода целого двоичного числа в восьмеричное необходимо разбить его справа налево на группы по 3 цифры (самая левая группа может содержать менее трех двоичных цифр), а затем каждой группе поставить в соответствие ее восьмеричный эквивалент. Например:
11011001= 11011001, т.е. 11011001(2) =331(8).
Заметим, что группу из трех двоичных цифр часто называют «двоичной триадой».
Перевод целого двоичного числа в шестнадцатеричное производится путем разбиения данного числа на группы по 4 цифры - «двоичные тетрады»:
1100011011001 = 1 1000 1101 1001, т.е. 1100011011001(2)= 18D9(16).
Для перевода дробных частей двоичных чисел в восьмеричную или шестнадцатиричную системы аналогичное разбиение на триады или тетрады производится от точки вправо (с дополнением недостающих последних цифр нулями):
0,1100011101(2) =0,110 001 110 100 = 0,6164(8),
0,1100011101(2) = 0,1100 0111 0100 = 0,C74(16).
Перевод восьмеричных (шестнадцатиричных) чисел в двоичные производится обратным путем - сопоставлением каждому знаку числа соответствующей тройки (четверки) двоичных цифр.
Таблица 1.6 Соответствие чисел в различных системах счисления
Десятичная |
Шестн-чная |
Восьмеричная |
Двоичная |
|
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
1 |
|
2 |
2 |
2 |
10 |
|
3 |
3 |
3 |
11 |
|
4 |
4 |
4 |
100 |
|
5 |
5 |
5 |
101 |
|
6 |
6 |
6 |
110 |
|
7 |
7 |
7 |
111 |
|
8 |
8 |
10 |
1000 |
|
9 |
9 |
11 |
1001 |
|
10 |
А |
12 |
1010 |
|
11 |
В |
13 |
L011 |
|
12 |
С |
14 |
1100 |
|
13 |
D |
15 |
1101 |
|
14 |
E |
16 |
1110 |
|
15 |
F |
17 |
1111 |
Преобразования чисел из двоичной в восьмеричную и шестнадцатиричную системы и наоборот столь просты (по сравнению с операциями между этими тремя системами и привычной нам десятичной) потому, что числа 8 и 16 являются целыми степенями числа 2.
Арифметические действия с числами в восьмеричной и шестнадцатиричной системах счисления выполняются по аналогии с двоичной и десятичной системами. Для этого необходимо воспользоваться соответствующими таблицами. Для примера табл. 1.7 иллюстрирует сложение и умножение восьмеричных чисел.
Есть еще способ перевода чисел из одной позиционной системы счисления в другую - метод вычитания степеней. В этом случае из числа вычитается максимально допустимая степень, умноженная на максимально возможный коэффициент, меньший основания; этот коэффициент и является значащей цифрой числа в новой системе.
Например, число 114(10):
114 - 26 = 114 - 64 = 50,
50 - 25 = 50 - 32 = 18,
18 - 24 = 2,
2 - 21 = 0.
Таким образом, 114(10) = 1110010(2).
114 - 1 • 82 = 114 - 64 = 50,
50 - 6 • 81 = 50 - 48 = 2,
2 - 2 • 8° = 2 - 2 = 0.
Итак, 114(10)= 162(8).
Таблица 1.7 Таблицы сложения и умножения в восьмеричной системе
Производственная функция, издержки производства
Производственная функция, также функция производства -- экономико-математическая количественная зависимость между величинами выпуска (количество продукции) и факторами производства, (затраты ресурсов, уровень технологий и др.)
Агрегированная производственная функция может описывать объёмы выпуска народного хозяйства в целом.
В зависимости от анализа влияния факторов производства на объём выпуска в определённый момент времени или в разные промежутки времени производственные функции делятся на статические: P = f(x1,x2,...,xn) и динамические: P = f(x1(t),...,xk(t),...,xn).
Линейные
функция производства-- экономико-математическое уравнение, связывающее переменные величины затрат (ресурсов) с величинами продукции (выпуска).
Издержки производства -- затраты, связанные с производством и обращением произведенных товаров. В бухгалтерской и статистической отчетности отражаются в виде себестоимости. Включают в себя: материальные затраты, амортизационные отчисления, расходы на оплату труда, проценты за кредиты, расходы, связанные с продвижением товара на рынок и его продажей.
Количество товара, которое предприятие может предложить на рынке, зависит от уровня издержек (затрат) на его производство и цены, по которой товар будет продаваться на рынке.
Из этого следует, что знание издержек на производство и реализацию товара является одним из важнейших условий эффективного хозяйствования предприятия.
Издержки - это денежное выражение затрат производственных факторов, необходимых для осуществления предприятием своей производственной и коммерческой деятельности.
Они могут быть представлены в показателях себестоимости продукции, характеризующей в денежном измерении все материальные затраты и затраты на оплату труда, которые необходимы для производства и реализации продукции.
Существует несколько классификаций издержек
1. Бухгалтерские издержки - это реальные расходы фирмы по приобретению сырья, необходимого оборудования; затраты на заработную плату рабочим и аренду помещения, территории и т.д.
2. Внутренние издержки представляют собой доход, который мог бы быть получен в результате более рационального использования имеющихся ресурсов. Очень часто фирма имеет в собственности и помещение, и землю, и собственный капитал. В этом случае фирма не имеет постоянных затрат на эти факторы производства, для нее они являются «бесплатными».
3. Экономические издержки включают бухгалтерские и внутренние. При принятии экономических решений должны учитываться все ресурсы, вовлеченные в процесс производства, и расходы по ним. Это способствует их более эффективному использованию.
4. Частные издержки представляют собой все расходы фирмы по оплате нужных ресурсов.
5. Общественные издержки оцениваются с точки зрения общества с учетом положительных и отрицательных внешних эффектов.
6. Возвратные издержки - это все расходы фирмы, которая
она способна вернуть после очередного производственного цикла или по окончании своего функционирования.
7. Невозвратные издержки не имеют альтернативного использования. Это единовременные затраты по регистрации предприятия, его страхованию, изготовлению вывески.
В зависимости от объема выпускаемой продукции фирмы в краткосрочном периоде издержки подразделяются на две большие группы:
1) постоянные издержки, которые не зависят от объема производства в релевантном периоде. Они включают арендную плату, оплату электроэнергии и оклад рабочих;
2) переменные издержки, которые зависят от количества произведенного продукта, так как идут на покупку сырья и рабочей силы.
Постоянные и переменные издержки в сумме дают общие валовые. По мере развития предприятия и роста производства меняются средние и предельные издержки. Средние издержки представляют собой расходы на единицу произведенного продукта, в то время как предельные зависят от каждой дополнительно созданной единицы. Заметим, что в долгосрочном периоде все издержки фирмы являются переменными.
Кодирование числовой, текстовой, графической и др. информации
Языки программирования высокого уровня.
Кодирование текстовой информации
Информация передается в виде сообщений.
Дискретная информация записывается в виде конечного набора знаков- букв. Буква- элемент некоторого конечного набора отличных друг от друга знаков. Множество знаков, в котором определен их порядок, - алфавитом.
Правило, описывающее однозначное соответствие букв алфавитов при таком преобразовании, называют кодом. Саму процедуру преобразования сообщения называют перекодировкой. Устройства, обеспечивающие кодирование и декодирование, называют кодировщиком и декодировщиком. На рис. 1.5 приведена схема, процесс передачи сообщения в случае перекодировки, и воздействия помех (см. следующий пункт).
Рис. 1.5. Процесс передачи сообщения от источника к приемнику
кодирования-декодирования следует пользоваться равномерными кодами, т.е. двоичными группами равной длины.
Системы «байтового» кодирования.
Наиболее распространены две такие системы: EBCDIC (Extended Binary Coded Decimal Interchange Code) и ASCII (American Standard Information Interchange).
Первая - исторически тяготеет к «большим» машинам, вторая чаще используется на мини- и микро-ЭВМ (включая персональные компьютеры).
ASCII, в 1963 г. это - система семибитного кодирования. Она ограничивалась одним алфавитом (английским), цифрами и набором различных символов. Примеры на клавиатуре компьютера: DEL - знак удаления символа.
В следующей версии фирма IBM перешла на 8-битную кодировку. В ней первые 128 символов совпадают с исходными и имеют коды со старшим битом равным нулю.
Одним из достоинств этой системы кодировки русских букв является упорядочение номера букв стоят как в русском алфавите.
Кодирование числовой информации
Сходство в кодировании числовой и текстовой информации состоит в следующем: чтобы можно было сравнивать данные этого типа, у разных чисел (как и у разных символов) должен быть различный код. Основное отличие числовых данных от символьных заключается в том, что над числами кроме операции сравнения производятся разнообразные математические операции: сложение, умножение, извлечение корня, вычисление логарифма и пр. Правила выполнения этих операций в математике подробно разработаны для чисел, представленных в позиционной системе счисления. Многовековая история развития математики показывает, что именно позиционный принцип позволяет использовать эти правила как универсальные алгоритмы, справедливые для системы счисления с любым основанием: 2,3, 8, 10, 16, 60 и пр.
Кодирование графической информации
Языки программирования
Исполнитель алгоритма -- это некоторая абстрактная или реальная система, способная выполнить действия, предписываемые алгоритмом. Исполнителя хаpактеpизуют:
· сpеда;
· элементаpные действия;
· cистема команд;
· отказы.
Сpеда -- это "место обитания" исполнителя.
Система команд. Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка -- системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды. Напpимеp, команда Pобота "ввеpх" может быть выполнена, если выше Pобота нет стены. Ее pезультат -- смещение Pобота на одну клетку ввеpх.
После вызова команды исполнитель совеpшает соответствующее элементаpное действие.
Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды. Обычно исполнитель ничего не знает о цели алгоpитма. Он выполняет все полученные команды, не задавая вопросов "почему" и "зачем".
В информатике универсальным исполнителем алгоритмов является компьютер.
При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм. Исполнителем алгоритма является компьютер, поэтому алгоритмы должны быть написаны на понятное ему язык. Язык для записи алгоритмов должен быть формализован.
Такой язык принято называть языком программирования, а запись алгоритма на этом языке -- программой для компьютера.
Любой алгоритм выполняется за конечное число шагов, переходим от исходных данных к конечному результату. От степени детализации предписаний определяется уровень языка программирования -- чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
· машинные;
· машинно-оpиентиpованные (ассемблеpы);
· машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки -- это языки низкого уровня, указать мекие детали обработки данных. Языки же высокого уровня имитируют естественные языки, используют общепринятые математические символы и разговорный язык.
Языки высокого уровня делятся на:
1. процедурные (алгоритмические) (Basic, Pascal, C и др.), предназначены:
для однозначного описания алгоритмов;
для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;
2. логические (Prolog, Lisp и др.), которые ориентированы на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
3. объектно-ориентированные (Object Pascal, C++, Java и др.), в основе лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче.
Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
Основные преимущества алгоритмических языков перед машинными таковы:
· алфавит алгоритмического языка значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы;
· набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;
· формат предложений достаточно гибок и удобен для использования, что позволяет с помощью одного предложения задать достаточно содержательный этап обра ботки данных;
· требуемые операции задаются с помощью общепринятых математических обозначений;
· данным в алгоритмических языках присваиваются индивидуальные имена, выбираемые программистом;
· в языке может быть предусмотрен значительно более широкий набор типов данных по сравнению с набором машинных типов данных.
Алгоритмические языки в значительной мере являются машинно-независимыми, они облегчают работу программиста и повышают надежность создаваемых программ.
Алгоритмический язык (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика.
Алфавит -- это фиксированный набор основных символов, из которых должен состоять любой текст на этом языке.
Синтаксис -- это правила построения фраз. Позволяет определить правильность написания фразы. Синтаксис языка представляет собой набор правил, устанавливающих, какие комбинации символов являются осмысленными предложениями на этом языке.
Семантика -определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций. Семантика устанавливает, какие последовательности действий описываются теми или иными фразами языка и, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке.
Каждое понятие алгоритмического языка подразумевает некоторую синтаксическую единицу (конструкцию) и определяемые ею свойства программных объектов или процесса обработки данных.
Понятие языка определяется во взаимодействии синтаксических и семантических правил. Синтаксические правила показывают, как образуется данное понятие из других понятий и букв алфавита, а семантические правила определяют свойства данного понятия
Основными понятиями в алгоритмических языках обычно являются следующие.
1. Имена (идентификаторы) -- употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.).
2. Опеpации. Типы операций:
· аpифметические опеpации +, --, *, / и дp.;
· логические опеpации и, или, не;
· опеpации отношения <, >, <=, >=, =, <>;
· опеpация сцепки (иначе, "присоединения", "конкатенации") символьных значений дpуг с другом с образованием одной длинной строки; изображается знаком "+".
3. Данные -- величины, обpабатываемые пpогpаммой.
Имеется тpи основных вида данных: константы, пеpеменные и массивы.
Константы -- это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения. Пpимеpы констант: -числовые 7.5, 12; -логические да (истина), нет (ложь); -символьные (содержат ровно один символ) "А", "+"; -литеpные (содержат произвольное количество символов) "a0", "Мир", "" (пустая строка).
Пеpеменные обозначаются именами и могут изменять свои значения в ходе выполнения пpогpаммы. Пеpеменные бывают целые, вещественные, логические, символьные и литерные.
Массивы -- последовательности однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его индексами (одним, в случае одномерного массива, или несколькими, если массив многомерный). Иногда массивы называют таблицами.
4. Выpажения -- пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей функций (напpимеp, exp(x)), объединенных знаками опеpаций.
Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, "многоэтажных" дробей и т.д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры.
Различают выражения арифметические, логические и строковые.
· Арифметические выражения служат для определения одного числового значения. Например, (1+sin(x))/2. Значение этого выражения при x=0 равно 0.5, а при x=p/2 -- единице.
· Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения -- "истина" или "ложь" (да или нет). Рассмотрим в качестве примера логическое выражение x*x + y*y < r*r, определяющее принадлежность точки с координатами (x, y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения -- "истина", а при x=2, y=2, r=1 -- "ложь".
· Cтроковые (литерные) выражения, значениями которых являются текcты. В строковые выражения могут входить литерные и строковые константы, литерные и строковые переменные, литерные функции, разделенные знаками операции сцепки. Например, А + В означает присоединение строки В к концу строки А. Если А = "куст ", а В = "зеленый", то значение выражения А + В есть "куст зеленый".
5. Операторы (команды). Оператор -- это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет вполне законченный этап обработки данных. В состав опеpатоpов входят:
· ключевые слова;
· данные;
· выpажения и т.д.
Операторы подpазделяются на исполняемые и неисполняемые.
Неисполняемые служат описания данных и стpуктуpы пpогpаммы, а исполняемые -- для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор).
При решении различных задач с помощью компьютера бывает необходимо вычислить логарифм или модуль числа, синус угла и т.д. Вычисления часто употребляемых функций осуществляются посредством подпрограмм, называемых стандартными функциями, которые заранее запрограммированы и встроены в транслятор языка.
Примеры функций:
Название и математическое обозначение функции |
Указатель функции |
||
Абсолютная величина (модуль) |
| х | |
abs(x) |
|
Корень квадратный |
sqrt(x) |
||
Синус (угол в радианах) |
sin x |
sin(x) |
|
Косинус (угол в радианах) |
cos x |
cos(x) |
Каждый язык программирования имеет свой набор стандартных функций.
Арифметические выражения записываются по следующим правилам:
· Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
· Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
Для обозначения переменных используются буквы латинского алфавита.
Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь -- сложение и вычитание.
Операции одного старшинства выполняются слева направо. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычисляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).
Математическая запись |
Запись на школьном алгоритмическом языке |
|
x * y / z |
||
(a**3 + b**3) / (b*c) |
В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не.
Условие |
Запись на школьном алгоритмическом языке |
|
Целое число a -- четное |
mod(a, 2) = 0 |
|
Целое число a -- нечетное |
mod(a, 2) = 1 |
|
Каждое из чисел a, b положительно |
(a>0) и (b>0) |
|
Только одно из чисел a, b положительно |
((a>0) и (b<=0)) или ((a<=0) и (b>0)) |
|
Хотя бы одно из чисел a, b, c является отрицательным |
(a<0) или (b<0) или (c<0) |
|
Число x удовлетворяет условию a < x < b |
(x>a) и (x<b) |
|
Хотя бы одна из логических переменных F1 и F2 имеет значение да |
F1 или F2 |
|
Обе логические переменые F1 и F2 имеют значение да |
F1 и F2 |
|
Обе логические переменые F1 и F2 имеют значение нет |
не F1 и не F2 |
|
Логическая переменная F1 имеет значение да, а логическая переменная F2 имеет значение нет |
F1 и не F2 |
|
Только одна из логических переменных F1 и F2 имеет значение да |
(F1 и не F2) или (F2 и не F1) |
Алгоритм и его свойства, способы записи алгоритма; стандартные типы данных; представление основных структур: следование, ветвление, повторение
Алгоритмом называется точная инструкция исполнителю, определяющая процесс достижения поставленной цели на основе имеющихся исходных данных за конечное число шагов.
Основными свойствами алгоритмов являются:
1. Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных.
2. Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия.
3. Однозначность - правила и порядок выполнения действий алгоритма имеют единственное толкование.
4. Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются.
5. Результативность - по завершении выполнения алгоритма обязательно получается конечный результат.
6. Выполнимость - результата алгоритма достигается за конечное число шагов.
Алгоритм считается правильным, если его выполнение дает правильный результат.
Выделяют три крупных класса алгоритмов:
- вычислительные алгоритмы, работают с простыми видами данных: числа и матрицы, хотя сам процесс вычисления может быть долгим и сложным;
- информационные алгоритмы- набор простых процедур, работающих с большими объемами информации (алгоритмы баз данных);
- управляющие алгоритмы, генерирующие различные управляющие воздействия на основе данных, полученных от внешних процессов, которыми алгоритмы управляют.
Виды алгоритмов:
Разветвляющийся алгоритм - действия выполняются в зависимости от условия (можно ответить "да" или "нет"). Каждая такая последовательность действий называется ветвью алгоритма.
Линейный алгоритм - действия следуют друг за другом.
Циклический алгоритм -действия повторяются. Вложенным называется цикл, находящийся внутри тела другого цикла. Различают циклы с предусловием и послеусловием: Итерационным называется цикл, число повторений определяется в ходе выполнения цикла. Одно повторение цикла называется итерацией.
Разнообразие же алгоритмов определяется тем, что любой алгоритм распадается на части, фрагменты и каждый фрагмент представляет собой алгоритм одного из трех указанных видов.
Способы записи алгоритмов
Распространены следующие формы представления алгоритмов:
словесная (запись на естественном языке);
графическая (изображения из графических символов);
псевдокоды (включающие в себя элементы языка программирования, и фразы естественного языка)
программная (тексты на языках программирования).
Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись - алгоритмического языка.
Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур. Порядок действий указывается стрелками. Написание алгоритмов с помощью блок-схем регламентируется ГОСТом.
Cловесный способ - описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.
Словестный способ не имеет широкого распространения, так как такие описания:
1. строго не формализуемы;
2. страдают многословностью записей;
3. допускают неоднозначность толкования отдельных предписаний.
Псевдокод - система обозначений и правил предназначена для единообразной записи алгоритмов. Псевдокод занимает промежуточное место между естественным и формальным языками. Алгоритмы могут на нем записываться и читаться как обычный текст. В псевдокоде не приняты строгие синтаксические правила для записи команд, что облегчает запись алгоритма на стадии его проектирования. В псевдокоде, есть служебные слова, смысл которых определен. Они выделяются в печатном тексте жирным шрифтом, а в рукописном тексте подчеркиваются.
Графически алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий (операторов). Такое графическое представление называется схемой алгоритма или блок-схемой.
В блок-схеме каждому типу действий соответствует геометрическая фигура, представленная в виде блочного символа. Эти символы соединяются линиями переходов, определяющими очередность выполнения действий.
В таблице приведены наиболее часто употребляемые символы.
Стандартные типы данных;
Целочисленный тип - содержит числовые значения, целые числа. Числа упорядочены по возрастанию:..., -2, -1, 0, 1, 2, 3..
Логический тип - содержит всего 2 значения - True, False, которые тоже упорядочены: False, True (следует из соответствия False - 0, True - 1).
Символьный тип - символы кодовой таблицы. Поскольку каждому символу соответствует свой код, то символы расположены в порядке увеличения кода.
Из того, что перечисленных типы данных упорядочены, следует, что все значения образуют конечную последовательность.
Целочисленные типы. позволяют хранить целые числа. Они хранят числа положительные или отрицательные, а некоторые хранят только положительные. Чем больше значений содержит тип, тем больше он памяти занимает. Рассмотрим целочисленные типы данных.
Сначала рассмотрим беззнаковые типы- хранят только положительные числа и ноль:
Byte - значения 0..255 - занимает в памяти 1 байт.
Word - значения 0..65535 - 2 байта.
LongWord - значения 0..4294967295 - 4 байта.
Теперь типы со знаком (отрицательные "-" впереди, неотрицательные "+", так и без него):
ShortInt - значения -128..127 - 1 байт.
SmallInt - значения -32768..32767 - 2 байта.
LongInt - значения -2147483648..2147483647 - 4 байта.
Int64 - значения -2^53..2^53-1 - 8 байт.
Рекомендуется использовать именно эти типы, т.к. компилятор создаёт более быстрый код:
Integer - значения -2147483648..2147483647 - 4 байта.
Cardinal - значения 0..4294967295 - 4 байта.
Целые числа представляются как в десятичной, так шестнадцатеричной системе счисления, $xxxxxxxx, где x - один из символов 0, 1,..E, F. Все цвета представляются в виде шестнадцатеричных чисел.
Логические типы. Существуют следующие логические типы: Boolean, принимает значение True и False, ByteBool, WordBool и LongBool, Последние для обеспечения совместимости с другими языками и системами программирования. Используется только Boolean. Логическое значение в памяти занимает 1 байт.
Символьные типы. Обеспечивают хранение отдельных символов. Основной тип данных - Char, который содержит символы с кодами 0..255. Существуют ещё типы AnsiChar и WideChar. Тип AnsiChar эквивалентен типу Char. Занимает в памяти 1 байт.
Для кодирования используется код ANSI (American National Standards Institute). Тип WideChar кодируется международным кодом Unicode и занимает в памяти 2 байта. Таблица Unicode включает символы практически всех языков мира.
Вещественные типы. Для хранения вещественных- действительных чисел. Отличаются, числом цифр после запятой. Вот эти типы:
Real (он же Double) - значения от 5.0x10^-324 до 1.7x10^308, точность - 15-16 цифр, занимает в памяти 8 байт.
Real48 - значения от 2.9x10^-39 до 1.7x10^38, точность - 11-12 цифр, 6 байт памяти.
Single - значения от 1.7x10^-45 до 3.4x10^38, точность - 7-8 цифр, 4 байта.
Extended - от 3.6x10^-4951 до 1.1x10^4932, точность - 19-20 цифр, 10 байт памяти.
Comp - от -2x10^63+1 до 2x10^63-1, точность - 19-20 цифр, 8 байт.
Currency - от -922337203685477.5808 до 922337203685477.5807, точность - 19-20 цифр, в памяти занимает 8 байт.
Перед вещественными числами может стоять знак "+" или "-". Возможны 2 записи вещественных чисел - с фиксированной точкой и с плавающей.
С фиксированной точкой целая и дробная части отделяются точкой или запятой.
С плавающей точкой, запись которая отделяется от самого числа буквой "E". Например, запись 1.5e2 означает число 1.5 с порядком +2, т.е. это 1.5x10^2 = 150.
Типы Comp и Currency служат для точных денежных расчётов. Comp, хранит целые числа, при задании чисел с дробной частью они преобразуются в целое число.
Интервальные типы данных. (ограниченные) получаются из имеющихся типов путём ограничения диапазона значений. Интервал задаётся двумя константами - начальной и конечной границей. При присвоении значения переменной выполняется проверка нового значения. Если значение не попадает в диапазон, выдаётся сообщение об ошибке. Ограниченный тип данных задается на основе простого упорядоченного типа. Значение правой границы должно быть больше значения левой границы.
Ограниченные типы данных также описывают в разделе type, между константами-границами ставятся две точки.
Например, мы хотим в программе работать с датами. Можно создать ограниченные типы данных для значений дня, месяца и года
type
TDay = 1..31;
TMonth = 1..12;
TYear = 1900..2100;
Составные (структурированные) типы данных
Структуры данных хранят сразу несколько значений, некоторые не имеют ограничения на количество значений - редел определяется объёмом памяти.
Представление основных структур: следование, ветвление, повторение.
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых элементов.
Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование; ветвление; цикл.
Базовая структура Следование Образуется из последовательности действий, следующих одно за другим: |
Базовая структура Ветвление.
Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма.
Структура ветвление существует в четырех основных вариантах:
Базовая структура цикл.
Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.
Основные разновидности цикла:
Цикл пока |
|
Цикл для. |
Общее равновесие, эффективность и благосостояние
Общее равновесие - это система взаимосвязанных цен, обеспечивающая одновременное равенство спроса и предложения на всех рынках. Общее экономическое равновесие - это такое состояние экономики, когда все рынки одновременно находятся в равновесии, а каждый субъект максимизирует свою целевую функцию.
Эффективность производства - это такая ситуация, в которой при данных производственных ресурсах и существующем уровне знаний нельзя произвести больший объем одного блага, не жертвуя при этом возможностью производства некоторого объема другого блага. Понятие эффективности производства, как и более широкое понятие экономической эффективности, включает в себя избежание ущерба.
Эффективность производства достигается тогда, когда ресурсы распределяются таким образом, чтобы обеспечить максимально возможный чистый выигрыш от их применения. Эффективность производства выступает критерием успеха хозяйственной деятельности людей, применяющих ресурсы. Если достигнута эффективность производства, то никакое изменение методов производства или дальнейший обмен благами не приведет к дополнительному выигрышу.
В качестве инструмента в анализе производства и распределения ресурсов в экономике, которые отвечают критерию эффективности производства, используется диаграмма (ящик, коробка) Эджуорта.
Считается, что при данном предложении благ потребление является экономически эффективным, если уровень благосостояния одного лица можно улучшить только посредством понижения уровня благосостояния другого лица.
Считается, что при данном предложении ресурсов наблюдается эффективное их размещение, если невозможно увеличить выпуск одного блага, не сократив одновременно выпуск другого блага.
Благосостояние -- обеспечение населения государства, социальной группы или класса, семьи, отдельной личности необходимыми для жизни материальными, социальными и духовными благами. Б. находится в прямой зависимости от уровня развития производительных сил и характера экономических отношений. Чем выше уровень развития производительных сил, тем быстрее повышается Б. населения. В еще большей степени Б. связано с эффективностью социально-экономической политики в данном обществе.
Подобные документы
История развития компьютерной техники. Появление и распространение персональных компьютеров. Виды конфигурации локальных сетей. Интегрированные приложения для работы в Интернете. Правовое регулирование и проблемы информационной безопасности в России.
презентация [474,3 K], добавлен 10.12.2011Классификация компьютерных сетей. Взаимодействие компьютеров в сети. Сетевые модели и архитектуры. Мосты и коммутаторы, сетевые протоколы. Правила назначения IP-адресов сетей и узлов. Сетевые службы, клиенты, серверы, ресурсы. Способы доступа в Интернет.
курсовая работа [1,5 M], добавлен 11.05.2014Проблемы с организацией данных. Определение и классификация динамических структур данных. Линейные односвязные, двухсвязные, кольцевые списки. Очередь, стеки. Описание основных типов данных и функции для работы с ними. Листинг программы, пример ее работы.
контрольная работа [290,6 K], добавлен 17.07.2012Распространенные сетевые протоколы и стандарты, применяемые в современных компьютерных сетях. Классификация сетей по определенным признакам. Модели сетевого взаимодействия, технологии и протоколы передачи данных. Вопросы технической реализации сети.
реферат [22,0 K], добавлен 07.02.2011Принцип построения компьютерных сетей: локальные вычислительные сети и глобальные компьютерные сети Internet, FidoNet, FREEnet и другие в деле ускорения передачи информационных сообщений. LAN и WAN сети, права доступа к данным и коммутация компьютеров.
курсовая работа [316,0 K], добавлен 18.12.2009Классификация и характеристика сетей доступа. Технология сетей коллективного доступа. Выбор технологии широкополосного доступа. Факторы, влияющие на параметры качества ADSL. Способы конфигурации абонентского доступа. Основные компоненты DSL соединения.
дипломная работа [1,6 M], добавлен 26.09.2014Выбор системы программирования. Разработка программного обеспечения для ведения складского учета (инвентаризации) персональных компьютеров и комплектующих на предприятии. Обоснование даталогической модели данных. Рекомендации по применению программы.
курсовая работа [1,9 M], добавлен 14.01.2013Компьютерные сети и их классификация. Аппаратные средства компьютерных сетей и топологии локальных сетей. Технологии и протоколы вычислительных сетей. Адресация компьютеров в сети и основные сетевые протоколы. Достоинства использования сетевых технологий.
курсовая работа [108,9 K], добавлен 22.04.2012Виды компьютерных сетей. Преимущества, получаемые при сетевом объединении персональных компьютеров в виде внутрипроизводственной вычислительной сети. Базовая модель OSI. IP-адресация и передача данных. Сетевые устройства и средства коммуникаций.
курсовая работа [2,1 M], добавлен 04.05.2014Понятие, содержание, объект, предмет информатики. Основные виды и способы обработки и кодирования данных. Информация, информационные процессы и системы как объект правового регулирования общественных отношений. Архитектура, программное обеспечение ПЭВМ.
курс лекций [6,5 M], добавлен 20.06.2009