Реферат Курсовая Конспект
Конспект лекций по дисциплине Информатика Введение в информатику - раздел Информатика, Конспект Лекций По Дисциплине “Информатика” ...
|
Конспект лекций по дисциплине “Информатика”
Введение в информатику
Формы существования информации
Информация может существовать в самых разнообразных формах:
· в виде текстов, рисунков, чертежей, фотографий;
· в виде световых или звуковых сигналов;
· в виде радиоволн;
· в виде электрических и нервных импульсов;
· в виде магнитных записей;
· в виде жестов и мимики;
· в виде запахов и вкусовых ощущений;
· в виде хромосом, посредством которых передаются по наследству признаки и свойства организмов и т.д.
Предметы, процессы или явления, рассматриваемые с точки зрения их информационных свойств, называются информационными объектами.
Понятие об информационных процессах
Информацию можно:
· создавать; · передавать; · воспринимать; · иcпользовать; · запоминать; · принимать; · копировать; | формализовать; распространять; преобразовывать; комбинировать; обрабатывать; делить на части; упрощать; | собирать; хранить; искать; измерять; разрушать; и др. |
Все эти процессы, связанные с определенными операциями над информацией, называются информационными процессами.
Обработка информации
Обработкой информации называют получение одних информационных данных из других информационных данных путем выполнения определенных алгоритмов. |
Обработка является одной из основных операций, выполняемых над информацией, и главным средством увеличения объёма и разнообразия информации.
Средства обработки информации — это всевозможные устройства и системы, созданные человечеством, и в первую очередь, компьютер — универсальная машина для обработки информации.
Компьютеры обрабатывают информацию путем выполнения определенных алгоритмов.
Общие принципы организации и работы компьютеров
Введение. Краткая история вычислительной техники.
Первыми вычислительными машинами можно считать:
Абак – счетная доска;
Счеты – появились в России.
В XVII веке появляется суммирующая машина фр. ученого Блеза Паскаля. В XIX веке создаются механические арифмометры (Чебышев, Ч.Бэббидж). Первое программируемое устройство счета было разработано при участии Ады Лавлейс – дочери Дж. Байрона (в ее честь разработан язык программирования АДА).
Теоретическую базу электронных вычислительных машин заложили А. Тьюринг (Англия), Э. Пост (США).
Основные принципы построения цифровых вычислительных машин разработаны Нейманом, Голдстайлом, Берксом.
I Поколение
Первая ЭВМ на ламповых схемах появилась в США в 1946г. Первая русская ЭВМ появилась в 1951 году, называлась МЭСМ (малая электронная счетная машина), в 1952 – БЭСМ
(быстродействующая электронная счетная машина),
II Поколение
Конец 50-х – начало 60-х годов. Это ЭВМ на полупроводниковых схемах. Минск – 2, Минск – 22, Минск – 32.
Для ввода информации кроме перфоленты, появляются перфокарта, а для запоминания информации – магнитные карты. АЦТУ есть.
III Поколение
Конец 60-х годов. ЭВМ на малых интегральных схемах. В этих машинах для общения с ЭВМ стали использовать видеотерминальные устройства – дисплеи. К таким ЭВМ относятся IBM – 360, IBM – 370 (США), ЕС-ЭВМ (СССР), ЕС-1022, ЕС-1035, ЕС-1066.
VI Поколение
Конец 70-х – начало 80-х годов. Компьютеры на базе БИС (больших интегральных схем). ПК относятся к отдельному классу машин 4 поколения. Компьютер фирмы IBM AT (286) появился в 1981году.
Устройства внутренней памяти
В состав внутренней памяти входят оперативная память, кэш-память и специальная память.
Кэш-память
Кэш (англ. cache), или сверхоперативная память — очень быстрое ЗУ небольшого объёма, которое используется при обмене данными между микропроцессором и менее быстродействующей оперативной памятью. |
Кэш-памятью управляет контроллер, который определяет, какие данные и команды нужны в ближайшее время процессору, и подкачивает их в кэш-память. Кэш-память реализуется на микросхемах статической памяти, более быстродействующих и малоёмких, чем память DDR.
Современные микропроцессоры имеют кэш-память размером до 2Мбайт.
Накопители на компакт-дисках.
Диск CD-ROM состоит из прозрачной полимерной основы диаметром 12 см и толщиной 1,2 мм, одна сторона которой тонким алюминиевым слоем. Двоичная информация представляется чередованием углублений и основного слоя. Ёмкость CD до 780 Мбайт. Информация заносится на диск один раз и не может быть изменена. Для работы с CD ROM используется накопитель CD-ROM (CD-ROM Drive).
Наряду с CD-ROM используются цифровые видеодиски DVD . Эти диски имеют тот же размер, что и обычные CD, но вмещают 4,7 Гбайт данных.
Записывающий накопитель CD-RW способен, наряду с прочтением компакт - дисков, записывать информацию на специальные оптические диски ёмкостью 650 Мбайт.
Используются также накопители на магнитной ленте (стримеры):
Стример — устройство для копирования больших объёмов информации. В качестве носителя применяются кассеты с магнитной лентой большой ёмкостью. |
Аудиоадаптер.
Аудиоадаптер (Sound Blaster или звуковая плата) это специальная электронная плата, которая позволяет записывать, воспроизводить и создавать звук программными средствами (с помощью микрофона, наушников, динамиков, встроенного синтезатора и т.д.). |
Аудиоадаптер содержит в себе два преобразователя информации:
· аналого-цифровой преобразователь – АЦП, который преобразует аналоговые звуковые сигналы (речь, музыку, шум) в цифровой двоичный код, который может быть записан на магнитный носитель (диск);
· цифро-аналоговый преобразователь - ЦАП, выполняющий обратное преобразование сохранённого в цифровом виде звука в аналоговый сигнал, который затем воспроизводится с помощью акустической системы или наушников.
Видеоадаптер и графический акселератор.
Видеоадаптер — это электронная схема, которая обрабатывает видеоданные (текст и графику) и управляет работой дисплея. |
Наиболее распространен видеоадаптер SVGA, который может отображать на экране дисплея 1280х1024 пикселей при 256 цветах и 1024х768 пикселей при 16 миллионах цветовых оттенков.
· Графические акселераторы (ускорители) — это специализированные графические сопроцессоры, увеличивающие производительность видеосистемы. Их применение освобождает центральный процессор компьютера от операций с видеоданными.
· TV-тюнеры — видеоплаты, позволяющие компьютеру принимать телевизионные программы на антенну и выводить их на экран дисплея.
Сенсорный экран
Разновидность монитора — это терминал с сенсорным экраном. Здесь общение с компьютером осуществляется путём прикосновения к меню чувствительного экрана терминала. Меню представляет выведенный на экран список различных вариантов работы компьютера, по которому можно сделать конкретный выбор действия.
Сенсорными экранами оборудуют рабочие места операторов и диспетчеров, их используют в информационно-справочных системах и т.д.
Плоттер
Плоттер (графопостроитель) — устройство, которое чертит графики, рисунки или диаграммы под управлением компьютера. |
Плоттеры используются для получения сложных конструкторских чертежей, архитектурных планов, географических и метеорологических карт, деловых схем. Плоттеры рисуют изображения с помощью пера.
Роликовые плоттеры прокручивают бумагу под движущимся вдоль оси пером, а планшетные плоттеры перемещают перо через всю поверхность горизонтально лежащей бумаги.
Плоттеру, так же, как и принтеру, обязательно нужна специальная программа — драйвер, позволяющая прикладным программам передавать ему инструкции: поднять, перенести и опустить перо, провести линию и т.п.
Сканер.
Сканер — устройство для ввода в компьютер графических изображений, это устройство ввода. Создает оцифрованное изображение документа и передает его в память компьютера. |
Сканеры переносят информацию с бумажных документов в память компьютера. Существуют ручные сканеры, которые прокатывают по поверхности документа рукой, и планшетные сканеры.
Если при помощи сканера вводится текст, то компьютер воспринимает его как картинку в виде набора пикселей, а не как набор символов. Для преобразования такого графического текста в обычный символьный формат используют специальные программы оптического распознавания образов (программа FineReader).
Классификация компьютерных сетей по степени их географического распространения
По степени географического распространения сети делятся на локальные, городские, корпоративные, глобальные и др.
Локальная сеть (ЛВС или LAN — Local Area NetWork) — сеть, связывающая ряд компьютеров в зоне, ограниченной пределами одной комнаты, здания или предприятия. |
Небольшая офисная локальная сеть называется корпоративной сетью.
Глобальная сеть (ГВС или WAN — World Area NetWork) — сеть, соединяющая компьютеры, удалённые географически на большие расстояния друг от друга. Отличается от локальной сети более протяженными коммуникациями (спутниковыми, кабельными и др.). Глобальная сеть объединяет локальные сети. |
Городская сеть (MAN — Metropolitan Area NetWork) — сеть, которая обслуживает информационные потребности большого города. |
Арифметические основы компьютеров
Целые числа в позиционных системах счисления.
Целые числа в любой системе счисления порождаются с помощью общего Правила счета:
Для образования целого числа, следующего за любым данным целым числом, нужно увеличить самую правую цифру числа на единицу; если в результате этой операции какая-либо цифра стала нулем, то тогда нужно увеличить цифру, стоящую слева от неё на единицу. |
Применяя это правило, можно записать первые десять целых чисел
· в двоичной системе: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001;
· в троичной системе: 0, 1, 2, 10, 11, 12, 20, 21, 22, 100;
· в пятеричной системе: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14;
· восьмеричной системе: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11.
Системы счисления для компьютера.
Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:
· двоичная (используются цифры 0, 1);
· восьмеричная (используются цифры 0, 1, ..., 7);
· шестнадцатеричная (для первых десяти цифр от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих цифр — от десяти до пятнадцати – в качестве цифр используются символы A, B, C, D, E, F).
Для технической реализации в компьютерах используется двоичная система счисления, потому, что она намного проще десятичной в реализации:
а) для нее нужны технические устройства только с двумя устойчивыми состояниями (есть ток — нет тока, намагничен — не намагничен и т.п.);
б) возможно применение аппарата булевой алгебры для выполнения логических преобразований информации.
Недостатком двоичной системы является быстрый рост числа разрядов, необходимых для записи чисел.
Перевод целого числа из десятичной системы в другую позиционную систему счисления.
Правило:При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не останется остаток, меньший или равный q–1. Число в системе с основанием q записывается тогда, как последовательность остатков от деления, но записанных в обратном порядке, начиная с последней цифры. |
Пример: Перевести число 7510 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Ответ: 7510 = 1 001 0112 = 1138 = 4B16.
2 8 16
75 | 1 75 | 3 75 | B (11)
37 | 1 9 | 1 4 | 4
18 | 0 1 | 1 0 |
9 | 1 0 |
4 | 0 /\
2 | 0 |
1 | 1 |
0 |
Пеpевод числа из двоичной (восьмеpичной,шестнадцатеpичной) системы в десятичную.
Правило: При переводе числа из двоичной (восьмеричной, шестнадцатеричной) системы в десятичную надо это число представить в виде суммы степеней основания его системы счисления. |
Примеp: 1138 = 1*82 + 1*81 + 3*80 = 64+ 8 + 3 = 7510.
Арифметические операции в позиционных системах счисления.
Правила выполнения арифметических операций в десятичной системе— это сложение, вычитание, умножение столбиком и деление углом. Эти правила также применимы и ко всем другим позиционным системам счисления.
Вычитание
Представление в компьютере целых чисел.
Целые числа могут представляться в компьютере в двоичной системе счисления со знаком или без знака.
Целые числа без знака обычно занимают в памяти один или два байта и принимают в однобайтовом формате значения от 000000002 до 111111112 , а в двухбайтовом формате — от 00000000 000000002 до 11111111 111111112.
Диапазоны значений целых чисел без знака
Формат числа в байтах | Диапазон | |
Запись с порядком | Обычная запись | |
0 ... 28–1 | 0 ... 255 | |
0 ... 216–1 | 0 ... 65535 |
Примеры:
а) число в однобайтовом формате: 7210 = 010010002
б) это же число в двубайтовом формате: 7210 = 00000000010010002
в) число 65535 в двубайтовом формате: 6553510 = 11111111111111112
Целые числа со знаком
Целые числа со знаком обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак “плюс” кодируется нулем, а “минус” — единицей.
Выполнение арифметических действий над целыми числами компьютером
Умножение и деление
Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.
Другой же регистр АЛУ, участвующий в выполнении операции умножения, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.
Деление для компьютера является еще более трудной операцией, чем умножение. Обычно деление реализуется путем многократного прибавления к делимому дополнительного кода делителя.
Выполнение арифметических действий
Над нормализованными числами.
К началу выполнения арифметического действия операнды операции помещаются в соответствующие регистры АЛУ процессора компьютера.
Умножение
При умножении двух нормализованных чисел их порядки складываются, а мантиссы перемножаются. |
Пример 3. Выполнить умножение двоичных нормализованных чисел:
(0.11101•2101) • (0.1001•211) = (0.11101•0.1001) • 2(101+11) = 0.100000101•21000.
0.11101•2101
* 0.1001 •211
¾¾¾¾¾¾
11101
+ 11101
¾¾¾¾¾¾¾¾¾
= 0.100000101•21000
Деление
При делении двухнормализованных чисел из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя. Затем в случае необходимости полученный результат нормализуется. |
Пример 4. Выполнить деление двоичных нормализованных чисел:
0.1111•2100 : 0.101•211 = (0.1111: 0.101) • 2(100–11) = 1.1•21 = 0.11•210,
где мантиссы делятся друг на друга методом – в столбик:
0.1111 | 0.101
- 0.101 1.1
0.0101
- 0.0101
Вывод: Использование представления чисел с плавающей точкой существенно усложняет электронную схему арифметико-логического устройства процессора в компьютере.
Схемы И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ
Классификация программного обеспечения.
В первом приближении, грубо все программы, работающие на компьютере, можно условно разделить на три ОСНОВНЫЕ категории:
1. системные программы, выполняющие различные инструментальные функции, например:
o управление ресурсами компьютера;
o создание копий используемой информации;
o проверка работоспособности устройств компьютера;
o выдача справочной информации о компьютере и др.;
2. инструментальные программные системы, предназначенные для создания новых программ для компьютера.
3. прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям конкретных задач.
На сегодняшний день сложились следующие группы программного обеспечения:
· операционные системы и оболочки;
· системы программирования (трансляторы, библиотеки подпрограмм,
отладчики и другие средства);
· инструментальные системы;
· интегрированные пакеты программ;
· динамические электронные таблицы;
· системы машинной графики;
· системы управления базами данных (СУБД);
· прикладное программное обеспечение.
Прикладные программы.
Прикладная программа — это программа, используемая для решения конкретной задачи в какой-либо области. |
Например, прикладной будет бухгалтерская программа подготовки платежных ведомостей какой-либо фирмы.
Прикладные программы могут носить и общий характер, например, обеспечивать составление и печатание документов и т.п. Этим они отличаются от операционной системы или инструментальных средств ПО пользователя.
Прикладные программы могут использоваться либо автономно, то есть решать поставленную задачу без помощи других программ, либо в составе программных комплексов или пакетов программ.
К прикладным программам относится бухгалтерская программа “1С”.
Инструментальные программы.
Инструментальные программные средства — это программы, которые используются в ходе разработки, корректировки или развития других прикладных или системных программ. |
По своему назначению они близки к инструментальным системам программирования. К инструментальным программам, например, относятся:
· редакторы;
· средства компоновки программ;
· отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;
· вспомогательные программы, реализующие часто используемые системные действия;
· графические пакеты программ и т.п.
Инструментальные программные средства могут оказать помощь на всех стадиях разработки ПО.
Библиотеки стандартных подпрограмм.
Библиотека стандартных подпрограмм — это совокупность подпрограмм, составленных на одном из языков программирования и удовлетворяющих определенным единым требованиям к структуре, организации их входов и выходов, описаниям подпрограмм. |
Стандартные подпрограммы имеют единую форму обращения, что обеспечивает простоту и удобство настройки параметров подпрограммы на решение конкретной задачи.
В качестве примера можно привести библиотеку стандартных подпрограмм по численным математическим методам решения уравнений, вычисления интегралов, нахождения экстремумов и т.п.
Органайзеры
Органайзеры — это специальные программы, так называемые электронные секретари. |
Они позволяют эффективно управлять рабочим временем, финансовыми средствами и т.п. Обладают возможностью автоматизации регулярных действий, составления персональных и групповых расписаний, планирования встреч, ведения записной книжки. В их состав входят календарь, часы, калькулятор и т.п.
Сетевое программное обеспечение.
Сетевое программное обеспечение предназначено для организации совместной работы группы пользователей на разных компьютерах. Позволяет организовать общую файловую структуру, общие базы данных, доступные каждому члену группы. Обеспечивает возможность передачи сообщений и работы над общими проектами, возможность разделения ресурсов. |
Novell NetWare — сетевая операционная система. Предоставляет пользователям возможность совместно использовать файлы, принтеры и другое оборудование. Содержит службу каталогов, общую распределённую базу данных пользователей и ресурсов сети.
Алгоритмы, алгоритмизация и алгоритмические языки
Основные свойства алгоpитма.
Основные свойства алгоритмов следующие:
Понятность— т.е. исполнитель алгоритма должен знать, как его выполнять.
Дискpетность — т.е. алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых действий (шагов).
Опpеделенность — т.е. каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола исполнения.
Pезультативность (или конечность). Это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи (за конечное число шагов).
Массовость. Это свойство означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он может быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными.
Формы записи алгоритма.
На практике наиболее распространены следующие четыре формы представления алгоритмов:
· словесная (записи на естественном языке);
· графическая (изображение в виде графических символов);
· псевдокоды (полуформализованное описание алгоритма на условном алгоритмическом языке, включающие элементы языка программирования, фразы естественного языка, математические обозначения и др.);
· программная (тексты, записанные на языке программирования).
Графический способ записи алгоритмов.
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. |
Понятие о псевдокоде.
Псевдокод представляет собой систему обозначений и правил, служащих для записи алгоритмов. |
Он занимает промежуточное место между естественным и формальным языками.
С одной стороны, псевдокод близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой стороны, в псевдокоде используются формальные конструкции и математическая символика, что приближает запись алгоритма к формализованной математической записи.
В псевдокоде нет строгих синтаксических правил для записи команд, присущих формальным языкам, что облегчает запись алгоритма. Однако в псевдокоде имеются конструкции, присущие формальным языкам, что облегчает переход от записи на псевдокоде к записи алгоритма на формальном языке. Возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций.
Запись на алгоритмическом языке
Алгоритм, записанный на алгоритмическом языке, представляет собой программу, содержащую операторы и другие конструкции языка. Такой алгоритм является наиболее формализованным и, поэтому, сложен для понимания.
Базовая структура - цикл.
Цикл обеспечивает многократное выполнение некоторой последовательности действий, которая называется телом цикла.
Пример алгоритма с циклом.
В этом примере вычисляется сумма чисел ряда по общей формуле: S = или S = 1 + 1/2 + 1/3 +1/4+ … +1/N.
Итерационные циклы.
Итерационным циклом называется цикл, в котором число повторений операторов тела цикла заранее неизвестно. |
Для организации итераций используется цикл типа пока. Выход из итерационного цикла осуществляется в случае выполнения заданного условия, записанного после пока.
На каждом шаге вычислений происходит проверка условия об окончании цикла.
Примером итерационного цикла служит алгоритм вычисления суммы ряда с заданной точностью. В такой задаче число повторений тела цикла заранее неизвестно. Поэтому выполнение цикла завершается в момент достижения требуемой точности.
Алгоритм, в состав которого входит итерационный цикл, называется итеpационным. В итерационных алгоритмах необходимо обеспечить условие выхода из цикла. В противном случае произойдет зацикливание алгоритма.
Вложенные циклы.
Возможны случаи, когда внутри внешнего тела цикла необходимо повторять отдельную группу операторов, т. е. присутствует другой внутренний цикл. Такая структура получила название цикла в цикле или вложенных циклов. Глубина вложенности циклов (то есть количество вложенных друг в друга циклов) может быть различной.
Особенности программного способа записи алгоритмов.
При записи алгоритма в словесной форме, в виде блок-схемы или на языке псевдокода допускается определенный произвол выполнения команд.
Однако алгоритм, предназначенный для исполнения на компьютере, должен быть записан на "понятном" ему языке, т.е. необходима точная запись команд, не оставляющая места для произвольного толкования их исполнителем.
Поэтому язык для записи алгоритмов на компьютере должен быть строго формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке называется программой для компьютера.
Достоинства и недостатки машинных языков
Каждый компьютер имеет свой машинный язык, то есть свою совокупность машинных команд, которая отличается количеством адресов в команде, информацией, задаваемой в адресах, а также набором операций, которые может выполнить машина и др.
При программировании на машинном языке программист может использовать каждую команду и каждую ячейку памяти компьютера, использовать все возможности имеющихся машинных операций для конкретного компьютера.
Но процесс написания программы на машинном языке очень трудоемкий и утомительный. Программа получается громоздкой, ее очень трудно отлаживать, изменять и развивать.
Поэтому в случае, когда нужно иметь эффективную программу, учитывающую специфику конкретного компьютера, вместо машинных языков используют близкие к ним машинно-ориентированные языки (т.н. ассемблеры).
Язык ассемблера.
Язык ассемблера — это система обозначений команд, используемая для программ, записанных в машинном коде. |
Он позволяет программисту пользоваться текстовыми мнемоническими кодами, присваивать символические имена регистрам компьютера и памяти, а также задавать удобные для себя способы адресации. Кроме того, он позволяет использовать различные системы счисления (например, десятичную или шестнадцатеричную) для представления числовых констант, использовать в программе комментарии и др.
Перевод программы с языка ассемблера на машинный язык осуществляется специальной программой, которая также называется ассемблером и является простейшим транслятором.
Преимущества алгоритмических языков перед машинными.
Алгоритмические языки являются машинно-независимыми, что облегчает работу программиста и повышает надежность создаваемых программ.
Основные преимущества алгоритмических языков таковы:
· текст программы на алгоритмическом языке более понятен, чем на машинном языке;
· набор операций, применяемых в языке, определяется классом решаемых задач;
· формат операторов языка позволяет с помощью одного оператора задавать целый этап обработки данных с помощью нескольких машинных команд;
· требуемые операции задаются с помощью обыкновенных математических обозначений;
· данным в алгоритмических языках присваиваются индивидуальные имена, выбираемые программистом;
· в языке может быть применен более широкий набор типов данных по сравнению с набором машинных типов данных.
Основные компоненты алгоритмического языка
Алгоритмический язык (как и любой другой язык) образуют три составляющие: алфавит, синтаксис и семантика. |
Алфавит — это фиксированный для данного языка набор символов (т.е. "букв алфавита"), из которых должен состоять текст на этом языке.
Синтаксис — это правила построения конструкций языка, позволяющие определить правильность её написания. Точнее говоря, синтаксис языка представляет собой набор правил, устанавливающих, какие комбинации символов и ключевые слова применяются на этом языке.
Семантика определяет смысловое значение конструкций языка. Семантика устанавливает, какие последовательности действий описываются теми или иными конструкциями языка и, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке.
Основные понятия алгоритмического языка.
Каждое понятие алгоритмического языка подразумевает некоторую синтаксическую единицу (конструкцию) и определяемые ею свойства программных объектов или процесса обработки данных.
Понятие языка определяется во взаимодействии синтаксических и семантических правил. Синтаксические правила показывают, как образуется данное понятие из других понятий и букв алфавита, а семантические правила определяют свойства данного понятия. |
Основными понятиями в алгоритмических языках обычно являются следующие.
Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.).
Опеpации определяют действия, совершаемые над данными.
Типы операций:
· аpифметические опеpации + , - , * , / и дp. ;
· логические опеpации и, или, не;
· опеpации отношения < , > , <=, >= , = , <> ;
· опеpация сцепки (иначе, "присоединения", "конкатенации") символьных значений дpуг с другом с образованием одной строки; изображается знаком "+".
Данные — те величины, обpабатываемые пpогpаммой. Имеется тpи основных вида данных: константы, пеpеменные и массивы.
· Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.
Пpимеpы констант:
o Числовые 7.5, 12;
o логические да (истина) и нет (ложь);
o символьные "А", "+"и т.д.
o литеpные или текстовые "abcde", "информатика", "" (пустая строка).
· Пеpеменные – данные, которые обозначаются именами и могут изменять свои значения в ходе выполнения пpогpаммы. Пеpеменные бывают целые, вещественные, логические, символьные и литерные.
· Массив — последовательность однотипных элементов, число которых фиксировано и которым присвоено одно общее имя. Положение отдельного элемента в массиве определяется его индексами и именем масива (одним, в случае одномерного массива, или несколькими, если массив многомерный).
Выpажения — пpедназначаются для выполнения вычислений и состоят из констант, пеpеменных, указателей функций ( напpимеp, экспонента - exp(x) ), объединенных знаками опеpаций.
Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, "многоэтажных" дробей и т.д.), что позволяет легко вводить их в компьютер с помощью клавиш клавиатуры.
Различают выражения арифметические, логические и строковые.
· Арифметические выражения служат для определения одного числового значения. Например, (1+sin(x))/2.
· Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения — "истина" или "ложь" (да или нет). Рассмотрим в качестве примера логическое выражение: x*x + y*y < r*r , определяющее принадлежность точки с координатами (x,y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения — "истина" (TRUE), а при x=2, y=2, r=1 — "ложь"(FALSE).
· Значения строковых (литерных) выражений — текcты. В них могут входить литерные константы, литерные переменные и литерные функции, разделенные знаком операции “+”. Например, А + В означает присоединение строки В к концу строки А. Если А = "куст ", а В = "зеленый", то значение выражения А+В есть "куст зеленый".
Оператор — это конструкция языка, представляющая собой законченную фразу алгоритмического языка, в которой определяется некоторый этап обработки данных. В состав опеpатоpов входят:
· ключевые слова;
· данные;
· выpажения и т.д.
Операторы подpазделяются на исполняемые и неисполняемые. Неисполняемые опеpатоpы пpедназначены для описания типа данных или стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий в программе (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).
Стандартные функции языка
При решении различных задач с помощью компьютера бывает необходимо вычислить логарифм или модуль числа, синус угла и т.д.
Вычисления часто употребляемых математических функций осуществляются с помощью подпрограмм, называемых стандартными функциями языка, которые заранее запрограммированы и встроены в транслятор языка. |
Таблица стандартных функций алгоритмического языка
Название и математическое обозначение функции | Указатель функции | |
Абсолютная величина (модуль) | | х | | abs(x) |
Корень квадратный | sqrt (x) | |
Натуральный логарифм | ln x | ln(x) |
Десятичный логарифм | lg x | lg(x) |
Экспонента (степень числа е = 2.72) | e x | exp(x) |
В качестве аргументов функций можно использовать константы, переменные и выражения. Например:
Sin (3.05) min (a, 5) | Sin(x) min (a, b) | sin(2*y+t/2) min(a+b, a*b) | sin( (exp(x)+1)**2) min(min(a,b), min(c,d)) |
Каждый язык программирования имеет свой набор стандартных функций.
Примеры записи арифметических выражений.
Математическая запись | Запись на алгоритмическом языке |
x*y / z | |
x / ( y*z ) или x / y / z | |
( a**3+b**3 ) / (b*c) |
Технология решения задач с помощью компьютера
Анализ результатов решения задачи и уточнение математической
модели ( требует повторного выполнения этапов 2 – 5).
7. Сопровождение программы при внедрении в эксплуатацию :
· доработка программы для решения конкретных задач;
· составление документации к pешенной задаче, к математической модели, к алгоpитму, к набору тестов, к пpогpамме и ее использованию.
Отладка программы современными средствами.
В современных программных системах (Visual Basic, Turbo Pascal, Delphi, Turbo C и др.) отладка осуществляется часто с использованием специальных инструментальных средств, называемых отладчиками.
Программа-отладчик обычно обеспечивает следующие возможности:
· пошаговое исполнение программы с остановкой после каждого оператора (команды);
· просмотр текущего значения любой переменной или нахождение значения любого выражения, в том числе, с использованием стандартных функций; при необходимости можно установить новое значение переменной;
· установку в программе "контрольных точек", т.е. точек, в которых программа временно прекращает свое выполнение (создается пауза), так что можно оценить промежуточные результаты, и др.
Основные этапы процесса тестирования.
Процесс тестирования можно разделить на три этапа.
1. Проверка в нормальных условиях. Предполагает тестирование на основе данных, которые характерны для обычных реальных условий работы программы.
2. Проверка в экстремальных условиях. Тестовые данные включают граничные значения для области изменения входных переменных, которые ещё воспринимаются программой как правильные данные. Типичными примерами таких значений являются очень маленькие или очень большие числа и отсутствие данных.
3. Проверка в исключительных ситуациях. Проводится с использованием данных, значения которых лежат за пределами допустимой области изменений.
Все программы разрабатываются для обработки ограниченного набора данных. Поэтому программа должна сама отвергать те данные, которые она не в состоянии обрабатывать правильно
Сопровождение программы.
Сопровождение программы — это техническое обслуживание программы в процессе её эксплуатации в реальных условиях. |
В случае многократного использования разработанной программы для решения ряда задач заданного класса часто требуется проведение дополнительных работ, связанных с доработками программы для решения определенных задач, а также проведения дополнительных тестовых расчетов и т.д.
Если программа, предназначена для длительной эксплуатации, она должна иметь соответствующую документацию и инструкцию по её использованию.
Области применения информатики и компьютерной техники
Системы автоматизированного проектирования (САПР)
Системы автоматизированного проектирования (САПР) предназначены для выполнения проектных работ с применением компьютерной техники и математических методов. (Автокад) |
Системы САПР широко используются в архитектуре, электронике, энергетике, механике и др. В процессе автоматизированного проектирования в качестве входной информации используются технические знания специалистов, которые вводят проектные требования, уточняют результаты, проверяют полученную конструкцию, изменяют ее и т.д.
Кроме того, в САПР накапливается информация, поступающая из библиотек стандартов (данные о типовых элементах конструкций, их размерах, стоимости и др.). В процессе проектирования разработчик вызывает определенные программы и выполняет их. Из САПР информация выдается в виде готовых комплектов законченной технической и проектной документации.
Автоматизированные системы научных исследований (АСНИ)
Автоматизированные системы научных исследований (АСНИ) предназначены для автоматизации научных экспериментов, а также для моделирования с помощью компьютеров исследуемых объектов, явлений и процессов, изучение которых традиционными средствами затруднено или невозможно. |
В современных условиях эффективность научных исследований в значительной степени связана с уровнем использования компьютерной техники.
Компьютеры в АСНИ используются в информационно-поисковых и экспертных системах, а также решают следующие задачи:
· управление экспериментом;
· подготовка отчетов и документации;
· содержание базы экспериментальных данных и др.
Школьный алгоритмический язык
1. Запись алгоритмов на школьном алгоритмическом языке?
Команды школьного языка программирования АЯ
Оператор присваивания. Служит для вычисления выражений и присваивания их значений переменным. Общий вид оператора: А := В, где знак ":=" означает операцию присвоения, т.е. команду заменить прежнее значение переменной А, стоящей в левой части, на вычисленное значение выражения В, стоящего в правой части.
Например, a:=(b+c)*sin(Pi/4);
i:=i+1.
Для ввода и вывода данных используют команды
· ввод имена переменных
· вывод имена переменных, выражения, тексты.
Для ветвления в алгоритме применяют команды— если и выбор.
Для организации циклов — команды для ипока, описанные далее.
Пример записи алгоритма на школьном языке АЯ.
алг Сумма квадратов (арг цел n, рез цел S)дано | n > 0надо | S = 1*1 + 2*2 + 3*3 + ... + n*nнач цел i ввод n; S :=0 нцдля i от 1 до n S :=S+i*i кц вывод "S = ", SконТаблица стандартных функций школьного алгоритмического языка
Название и математическое обозначение функции | Указатель функции | |
Абсолютная величина (модуль) | | х | | abs(x) |
Корень квадратный | sqrt(x) | |
Натуральный логарифм | ln x | ln(x) |
Десятичный логарифм | lg x | lg(x) |
Экспонента (степень числа е " 2.72) | ex | exp(x) |
Знак числа x (-1,если х<0; 0,если x=0; 1,если x>0) | sign x | sign(x) |
Целая часть х (т.е. максимальное целое число, не превосходящее х) | int(x) | |
Минимум из чисел х и y | min(x,y) | |
Максимум из чисел х и y | max(x,y) | |
Частное от деления целого х на целое y | div(x,y) | |
Остаток от деления целого х на целое y | mod(x,y) | |
Случайное число в диапазоне от 0 до х-1 | rnd(x) | |
Синус (угол в радианах) | sin x | sin(x) |
Косинус (угол в радианах) | cos x | cos(x) |
Тангенс (угол в радианах) | tg x | tg(x) |
Котангенс (угол в радианах) | ctg x | ctg(x) |
Арксинус (главное значение в радианах) | arcsin x | arcsin(x) |
Арккосинус (главное значение в радианах) | arccos x | arccos(x) |
Арктангенс (главное значение в радианах) | arctg x | arctg(x) |
Арккотангенс (главное значение в радианах) | arcctg x | arcctg(x) |
7. Как записываются арифметические выражения?
Арифметические выражения записываются по следующим правилам:
· Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
· Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
· Для обозначения переменных используются буквы латинского алфавита.
· Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
· Операции одного старшинства выполняются слева направо. Например, a/b*c соответствует a/b*c. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 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 | |
x/(y*z) или x/y/z | |
(a**3+b**3)/(b*c) | |
(a[i+1]+b[i-1])/(2*x*y) | |
(-b+sqrt(b*b-4*a*c))/(2*a) | |
, (x<0) | sign(x)*abs(x)**(1/5) |
0.49*exp(a*a-b*b)+ln(cos(a*a))**3 | |
x/(1+x*x/(3+(2*x)**3)) |
Типичные ошибки в записи выражений:
5x+1 a+sin x ((a+b)/c**3 | Пропущен знак умножения между 5 и х Аргумент x функции sin x не заключен в скобки Не хватает закрывающей скобки |
8. Как записываются логические выражения?
В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не.
Примеры записи логических выражений, истинных при выполнении указанных условий.
Условие | Запись на школьном алгоритмическом языке |
Дробная часть вещественного числа a равна нулю | int(a) = 0 |
Целое число a — четное | mod(a,2) = 0 |
Целое число a — нечетное | mod(a,2) = 1 |
Целое число k кратно семи | mod(k,7) = 0 |
Каждое из чисел 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) |
Число x имеет значение в промежутке [1,3] | (x>=1) и (x<=3) |
Целые числа a и b имеют одинаковую четность | ((mod(a,2)=0) и (mod(b,2)=0) или ((mod(a,2)=1) и (mod(b,2)=1)) |
Точка с координатами (x,y) лежит в круге радиуса r с центром в точке (a,b) | (x-a)**2+(y-b)**2<r*r |
Уравнение ax^2+bx+c=0 не имеет действительных корней | b*b-4*a*c<0 |
Точка (x,y) принадлежит первому или третьему квадранту | ((x>0) и (y>0)) или ((x<0) и (y<0)) |
Точка (x,y) принадлежит внешности единичного круга с центром в начале координат или его второй четверти | (x*x+y*y>1) или ((x*x+y*y<=1) и (x<0) и (y>0)) |
Целые числа a и b являются взаимно противоположными | a = -b |
Целые числа a и b являются взаимно обратными | a*b = 1 |
Число a больше среднего арифметического чисел b,c,d | a>(b+c+d)/3 |
Число a не меньше среднего геометрического чисел b,c,d | a>=(b*c*d)**(1/3) |
Хотя бы одна из логических переменных F1 и F2 имеет значение “да” (истина). | F1 или F2=истина |
Обе логические переменные F1 и F2 имеют значение “да” (истина). | F1 и F2=истина |
Обе логические переменные F1 и F2 имеют значение “нет” (ложь). | не F1 и не F2=истина |
Логическая переменная F1 имеет значение “да” (истина), а логическая переменная F2 имеет значение “нет” (ложь) | F1 и не F2=истина |
Только одна из логических переменных F1 и F2 имеет значение “да” (истина). | (F1 и не F2) или (F2 и не F1)=истина |
Примеры. Определите значение целочисленной переменной S после выполнения операторов:
а) S:=128нц для i от 1до 4 S:=div(S,2)кц | Решение
Ответ: S=8 | г) S:=0 нц для i от 1до2 нц для j от 2 до 3 S:=S+i+j кцкц | Решение
Ответ: S=16 | ||||||||||||||||||||||||||||||
б) S:=1; a:=1нц для i от 1 до 3 S:=S+i*(i+1)*a a:=a+2кц | д) нц для i от 1 до 3 S:=0 нц для j от 2 до 3 S:=S+i+j кцкц | ||||||||||||||||||||||||||||||||
в) S:=1; a:=1нц для i от 1 до 3 S:=S+i нц для j oт 2 до 3 S:=S+j кцкц | е) нц для i от 1 до 2 S:=0 нц для j oт 2 до 3 нц для k oт 1 до 2 S:=S+i+j+k кц кцкц | ||||||||||||||||||||||||||||||||
10. Определите значение переменной S после выполнения операторов:
а) i:=0; S:=0нц пока i<3 i:=i+1; S:=S+i*iкц | г) S:=0; N:=125нц пока N>0 S:=S+mod(N,10) | S — сумма цифр числа 125 N:=div(N,10) | текущие числа Nкц | ||||||||||||||||||||||||||||||||||||
Решение
Ответ: S=14 | Решение
Ответ: S=8 | ||||||||||||||||||||||||||||||||||||
б) S:=0; i:=1нц пока i>1 S:=S+1/i i:=i-1кц | д) а:=1; b:=1; S:=0;нц пока a<=5 a:=a+b; b:=b+a; S:=S+a+bкц | ||||||||||||||||||||||||||||||||||||
в) S:=0; i:=1; j:=5нц пока i<j S:=S+i*j i:=i+1 j:=j-1кц | е) a:=1; b:=1нц пока a+b<10 a:=a+1 b:=b+aкцS:=a+b |
– Конец работы –
Используемые теги: Конспект, лекций, дисциплине, информатика, Введение, информатику0.089
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Конспект лекций по дисциплине Информатика Введение в информатику
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов