История развития информатики — КиберПедия 

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

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

История развития информатики

2017-11-18 221
История развития информатики 0.00 из 5.00 0 оценок
Заказать работу

КОТОВ ВЛАДИСЛАВ ВИКТОРОВИЧ

доцент, профессор кафедры робототехники и автоматизации
производства, доктор технических наук

 

КОНСПЕКТ ЛЕКЦИЙ

по дисциплине

 

ИНФОРМАТИКА

 

 

Направление подготовки: 15.03.02 Технологические машины и оборудование

Профиль подготовки: Бытовые машины и приборы

Квалификация (степень) выпускника: 63 академический бакалавр

 

Форма обучения: очная

 

Тула 2016 г.


 

 

Рассмотрено на заседании кафедры

Протокол № 11 от 11 мая 2016 г.

 

Зав кафедрой __________________Е.В. Ларкин

 

 

Раздел №1 (1 час)

Введение в информатику

План:

Информатика как научная и инженерная дисицлипна

Структура курса. Рекомендуемая литература

История развития вычислительной техники

 

Введение в информатику

Понятие информации

Информация и её свойства

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

Термин «информация» происходит от латинского слова informatio, означающего «разъяснение», «изложение». Первоначально под информацией понималась сведения, передаваемые людьми тем или иным способом, например, устно, письменно, или с помощью специальных средств. С развитием технологии значение термина расширялось, и с середины XX века понятие информации стало включать в себя не только обмен сведениями между людьми, но и между человеком и автоматом, между несколькими автоматами, обмен сигналами в животном и растительном мире, передачу признаков от клетки к клетке (обмен генетической информацией) и т.д.

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

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

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

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

Можно сформулировать следующие специфическое черты информации:

1) не исчезает при потреблении;

2) не передается полностью при обмене;

3) является «неделимой», т.е. имеет смысл только при достаточно полном объеме сведений;

4) зависит от потребителя.

Существуют различные классификации информации. Например, по видам человеческой деятельности можно выделить: научную и техническую информацию. К научной можно отнести информацию логически структурированную, адекватно отражающую те или иные природные закономерности. К технической относят информацию, отражающую закономерности функционирования различных технических систем, конструкций, материалов, технологических процессов и т.п. Часто эти виды информации объединяют в научно-техническую информацию.

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

По назначению: массовая и специальная.

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

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

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

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

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

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

Мера информации по Хартли

Очевидно, что неопределённость, и, как следствие, количество информации, возрастает с ростом числа состояний источника. Например, подбрасываемая монета может упасть на одну из двух сторон. Соответственно, чтобы передать её состояние, достаточно использовать двухсимвольный алфавит (например {0,1}), из которого формируются односимвольные сообщения.

В то же время, подбрасываемый кубик может упасть на одну из шести граней. Поэтому для передачи его состояния следует использовать либо алфавит большего объема (например, шестисимвольный алфавит {0,1,2,3,4,5} и односимвольные сообщения), либо сообщения большей длины (например, исходный двухсимвольный алфавит {0,1} и трехсимвольные сообщения вида 000, 001, 010 и т.п.).

Во втором случае неопределённость и количество информации очевидно больше, чем в первом.

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

Однако такая мера противоречит некоторым интуитивным представлениям. Например, при N = 1, когда источник может находиться лишь в одном состоянии и неопределённость вообще отсутствует, количество информации получается ненулевым.

Другой важный недостаток заключается в том, что подобная мера не является аддитивной. Суть этого требования заключается в следующем: если два независимых источника с числом равновероятных состояний N A и N B рассматривать как один составной источник, одновременно генерирующий пары состояний aibi, то естественно ожидать, что неопределённость состояния (и, соответственно, количество информации) для такого объединенного источника должно определяться суммой неопределённостей каждого из источников в отдельности, т.е.

.

С другой стороны, из комбинаторики известно «правило умножения», которое определяет общее количество состояний подобного составного источника, как произведение чисел состояний отдельных источников:

где: N AB – число вариантов составного сообщения,

N A и N B – числа вариантов первой и второй частей сообщения.

Однако приведенная формула неудобна тем, что в ней объемы информации не складываются, а перемножаются. Другими словами, подобная мера не удовлетворяет условию аддитивности. Формула приводится к желательному аддитивному виду логарифмированием. В результате получается так называемая формально - логическая логарифмическая мера информации

.

Одновременно выполняется и первое требование, т.е. при N = 1 .

Эта мера информации была предложена в 1928 году американским ученым Р. Хартли. Основание логарифма не имеет принципиального значения, однако т.к. современная цифровая техника использует в качестве основной двоичную систему счисления, то обычно выбирают основание логарифм основания, равный двум. При этом минимальная единица информации называется битом, от (bit – bi nary digi t – двоичная цифра). Для однобуквенных сообщений N равно числу букв в алфавите информационного устройства. В частности, при числе букв, равном двум

.

При 32 буквах (как в русском алфавите) каждая буква оценивается в

.

В случае выбора натурального логарифма говорят о натах – натуральных единицах информации.

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

Как уже было сказано, основной единицей количества информации является бит. Однако для практического применения это – слишком мелкая единица. Более удобной единицей является байт (byte), равный восьми битам. Прибавляя к слову «байт» децимальные приставки «кило», «мега» и т. д. можно получать более крупные единицы измерения. Нужно только помнить об условности таких обозначений, так как их связывает множитель, равный не 1000, а 1024 =210.

Мера информации по Шеннону

Мера Хартли связывает неопределённость (и, следовательно, количество информации) только с общим числом состояний источника. При этом вероятности возникновения этих состояний игнорируются. Вместе с тем, начальная неопределённость состояния источника зависит не только от числа его состояний, но также и от вероятностей их возникновения. Например, рассмотрим две ситуации. В первой в качестве источника информации выступает человек, подбрасывающий монету и сообщающий, на какую сторону – аверс или реверс – она упала. Общее число исходов этого опыта равно двум и, следовательно, в соответствии с формулой Хартли объем такого сообщения составляет 1 бит. Во второй ситуации источник информации сообщает, выпадал или нет снег за последние сутки (для наглядности и определённости предположим, что рассматривается один из летних дней). Поскольку в последнем случае число возможных ответов также равно двум, то в соответствии с мерой Хартли объем сообщений также равен 1 биту.

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

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

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

Будем считать, что алфавит дискретного источника информации образован N различными символами, обозначаемыми (u 1, u 2, …, uN). Вероятности pi выбора того или иного символа могут отличаться. Полная совокупность допустимых символов и соответствующих им вероятностей называется ансамблем U:

,

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

.

Оценивая количество информации, приходящееся на каждый из символов ансамбля (каждое состояние источника), Шеннон предложил использовать выражение вида

.

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

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

,

где N – число возможных сообщений, – вероятность i -го сообщения.

Полученная мера неопределённости получила название статистической меры по Шеннону или энтропии дискретного источника информации.

 

• Пример 1. При вынимании шаров из урны, где находится один черный и один белый шар, неопределенность составляет

Неопределенность оказалась равной одному биту.

• Пример 2. В урне находятся семь черных шаров и один белый. На этот раз неопределенность составит

.

Мера неопределенности уменьшилась почти вдвое по сравнению с первым примером.

Рассмотрим связь меры Шеннона и Хартли. Если источник равновероятно генерирует N различных символов, то вероятность появления каждого из них составляет . При этом неопределенность по Хартли, приходящаяся на каждый символ равна

.

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

.

Следовательно, мера Шеннона является естественным обобщением меры Хартли на случай ансамбля с неравномерным распределением вероятностей появления символов.

Раздел №3 (2 часа)

Общая характеристика процессов сбора, передачи, обработки и накопления информации

План:

Процессы сбора, передачи, обработки и накопления информации

Этапы обращения информации в информационно-измерительных и управляющих системах

 

Понятие алгоритма

Понятие алгоритма является одним из главных понятий информатики. Само слово происходит от имени средневекового математика аль-Хорезм, (в некоторых источниках его полное имя приводится как Мухаммед аль-Хорезми, в других – Абу Джафар ибн Муса аль-Хорезми, в СЭС – Мухаммед бен Муса аль-Хорезми). Искаженное «аль-Хорезми», означающее буквально «из Хорезма» (Хорезм – название древнего государства на территории современного Узбекистана) и породило слово «алгоритм».

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

Пример: представим в виде алгоритма метод Евклида для нахождения наибольшего общего делителя пары натуральных чисел :

1. {Нахождение остатка}

2. {Замена}

3. {Остановка?} Если , то переход к п.1

4. {Остановка процесса} – искомое число.

 

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

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

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

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

.

Обычно для каждого алгоритма можно выделить семь независимых параметров:

1) совокупность возможных исходных данных

2) совокупность возможных промежуточных результатов

3) совокупность результатов

4) правило начала

5) правило непосредственной переработки

6) правило окончания

7) правило извлечения результата

Примеры простейших алгоритмов

1) Привести пример линейного алгоритма для вычисления полинома:

Входные данные: x

Выходные данные (результат работы алгоритма): y

y = 2x^2 + 5x +3

 

2) Привести пример алгоритма с ветвлением для вычисления корней квадратного уравнения

ax^2 + bx + c = 0

Входные данные: a, b, c

Выходные данные: x1, x2

Внутренние переменные (промежуточные результаты) – D — дискриминант

 

дискриминант D = b^2 – 4ac

Если D > 0, то два корня X1,2 = (-b +/- sqrt(D))/(2a)

Если D = 0, – один корень

Если D < 0 – вещественных корней нет (выдать сообщение).

 

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

Раздел №8 (2 часа)

Языки программирования высокого уровня. Основы языка Паскаль

План:

Языки программирования высокого уровня

Запись программы на Паскале

Основные типы данных в Паскале

Структура Паскаль-программы

 

8. Языки программирования высокого уровня.
Основы языка Паскаль

Запись программы на Паскале

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

Программа на Паскале состоит из лексем и разделителей.

Лексема – это один или несколько последовательных символов, имеющих в программе определенный смысл.

В лексему входят следующие элементы:

– специальные символы;

– символы-слова (зарезервированные слова);

– имена (идентификаторы);

– числа;

– строки символов;

– метки;

– директивы.

Чуть позже мы подробнее поговорим обо всех этих элементах.

 

Лексемы в программе разделяются между собой с помощью так называемых разделителей. К ним относятся:

– пробел;

– конец строки (разделитель строк);

– примечание (комментарий).

Пробел – это пустое место в тексте на бумаге или на экране дисплея, формируется нажатием на клавишу «Пробел» (“Space”).

Лексемы в Паскаль-программе обязательно разделяются одним или несколькими символами-разделителями. Обычно это пробелы.

При конструировании лексем используются буквы и цифры. К буквам относятся большие и малые латинские буквы: A B C D... X Y Z a b c d... x y z, а к цифрам – 0 1 2 3 4 5 6 7 8 9

1. Специальные символы:

+ - * /

.,:; ' ^

= <> > < >= <=

() [ ]:=..

2. Зарезервированные слова.

Эти слова имеют четко установленный смысл в Паскаль-программе. Примеры таких слов:

Begin End If And Array For

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

Большие и малые буквы в зарезервированных словах эквивалентны. Например, BEGIN эквивалентно Begin или begin. Однако рекомендуется придерживаться единого стиля написания ключевых слов по всей программе. Это повышает ее читаемость и упрощает отладку и модификацию программы.

3. Идентификатор (имя). Это последовательность букв и цифр, начинающаяся с буквы.

Примеры идентификаторов:

X A8 alpha Massiv z52d9 eps

Большие и малые буквы в идентификаторах считаются эквивалентными. Поэтому PASCAL, Pascal, pascal – это один и тот же идентификатор. Длина идентификатора в стандартном Паскале не ограничивается. В Турбо-Паскале значимыми считаются первые 63 символа идентификатора.

4. Числа. В Паскаль-программе числа записываются в десятичном представлении. Целые числа записываются в той же форме, что и в математике:

0 15 9800 -10 и т.п.

А вот при записи дробных чисел для разделения целой и дробной частей используется не запятая, а точка. Поэтому числа типа 0,54 или –0,025 в программе на Паскале должны записываться как 0.54 и –0.025 соответственно.

Кроме того, существует ещё так называемый экспоненциальный формат чисел. Он применяется для представления очень больших или очень маленьких чисел.

Например, число 0,00015 в математике можно было бы представить как . Однако в обычном текстовом редакторе невозможно напечатать символы в верхнем или нижнем индексе, поэтому для формирования признака десятичного порядка используется буква E. Таким образом, это число в программе на Паскале можно было бы представить как 1.5E-4. Аналогично можно представлять очень большие числа, например 123000000 можно представить как 1.23E8.

5. Строка символов (строка, литерная строка, цепочка литер).

Апостроф определяет границы строки. Если внутри строки нужно поставить апостроф, то он ставится дважды.

Примеры.

'A' 'a+b=c'

'This string has 30 characters'

' Символ '' - это апостроф'

В строке большие и малые буквы считаются различными. Поэтому

'PASCAL' <> 'Pascal'

'ПРОГРАММА' <> 'программа'

6. Метки и директивы

Метка в Паскале представляет собой целое без знака и используется для маркировки операторов программы. В Turbo-Pascal в качестве меток могут также использоваться идентификаторы.

Директива – это идентификатор, обозначающий обращение к процедуре или функции.

Подробнее с метками и директивами мы познакомимся чуть позже.

Структура Паскаль-программы

Паскаль-программа состоит из заголовка программы и некоторого блока:

 

Заголовок программы;

Блок.

 

Заголовок состоит из ключевого слова program и имени программы:

Program Example;

Блок содержит разделы описаний, в которых определяются все локальные по отношению к данной программе объекты, и раздел операторов, где заданы действия, которые необходимо выполнить над данными объектами. Блок состоит из следующих разделов:

1. Раздел описания меток.

2. Раздел описания констант

3. Раздел описания типов

4. Раздел описания переменных.

5. Раздел описания процедур и функций.

6. Раздел операторов.

В блоке может отсутствовать любой из разделов кроме раздела операторов.

1. Раздел описания меток

Любой оператор в программе может быть промаркирован меткой. Метка ставится перед оператором и отделяется от него двоеточием. Все метки должны быть описаны в разделе описания меток.

Пример.

Label 10, 20, Met15;

2. Раздел описания констант

Этот раздел определяет некоторые идентификаторы как синонимы констант.

Пример.

Const g = 9.81;

Nmax = 1000;

TextString = 'Нажмите клавишу Enter';

Константа pi является предописанной и равна

pi = 3.1415926536.

Использование идентификаторов констант улучшает читаемость программы и облегчает ее модификацию.

3. Раздел описания типов

Типы данных real, integer, boolean, char являются предопределенными и используются в разделе описания переменных. Если программисту требуется ввести новый тип данных, то его нужно описать в разделе описания типов.

Подробнее об описании новых типов мы поговорим позднее.

4. Раздел описания переменных

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

Пример.

Var i, j, k: integer;

a, b: real;

5. Раздел описания процедур и функций

Назначение и структура раздела будут изложены при рассмотрении процедур и функций.

6. Раздел операторов

Раздел содержит в себе операторы, реализующие обработку информации в программе. Раздел операторов - это частный случай составного оператора, который включает в себя один или несколько операторов, заключенных в «операторные скобки» begin … end. Разделителем между операторами является точка с запятой. На последующих лекциях мы будем изучать основные операторы языка Паскаль.

 

Раздел №9 (2 часа)

Оператор присваивания. Ввод-вывод
в программах на Паскале

План:

Оператор присваивания. Запись арифметических выражений

Процедуры ввода данных с клавиатуры

Процедуры вывода данных на экран

 

Var

a, b: real;

m, n: integer;

Begin

a:= 55.85; m:= 15;

b:= m;

n:= a;

В операторе n:= a не выполняется требование совместимости по типу. Если бы допустить выполнение такого оператора, то имела бы место потеря точности, так как переменной n можно присвоить только целую часть значения переменной a (при присваивании b:= m потери точности не происходит). Если в программе действительно нужно присвоить переменной n значение переменной a, то это нужно сделать следующим образом:

n:= Trunc(a) или n:= Round(a).

Другие варианты совместимости по типу будут рассмотрены позже.

Пример

Var i: integer;

l: longint;

Begin

i:=555; l:=123456789;

Writeln('i=',i); Writeln('l=',l);

i:=-555; l:=-123456789;

Writeln('i=',i); Writeln('l=',l);

 

Будет отпечатано:

i=555

l=123456789

i=-555

l=-123456789

 

Для вещественного значения отводится 17 позиций. Число печатается в виде мантиссы и порядка. Длина мантиссы – 11 цифр, из них одна цифра целой части числа.

Пример.

Var R: real;

Begin

R:=555; Writeln('R=',R);

R:=-555; Writeln('R=',R);

 

Будет отпечатано:

R= 5.5500000000E+02

R=-5.5500000000E+02

Здесь E -признак порядка.

 

Формат w указывает ширину поля (количество позиций), отводимых для изображения значения v.

Пусть n - количество цифр целой переменной, включая знак "-", если он имеется.

Если w > n, то значение v печатается в правой части поля w; если w < n, то для печати значения v отводится n позиций (отсекание "лишних" цифр не производится).

Если для вещественной переменной w > 17, то слева от значения переменной печатается соответствующее количество пробелов;

если w < 17, то соответственно уменьшается количество цифр мантиссы. Минимальное количество цифр мантиссы равно 2, в этом случае значение w < 8 воспринимается как w = 8. Значение мантиссы округляется по последней печатаемой цифре.

Формат d применяется только для вещественных значений и означает, что число должно печататься в виде целой и дробной частей, разделенных точкой; при этом значение d указывает, сколько позиций из общего количества w должно быть отведено для печати дробной части числа. Если d = 0, то печатается только целая часть числа без разделяющей точки. Если поля w недостаточно для печати всех цифр числа, то к значению w добавляется необходимое количество позиций.

 

Раздел №10 (2 часа)

Условный оператор

План:

Алгоритмы с ветвлением

Структура и синтаксис условного оператора

Задание логических выражений для передачи управления

Составные условия с использованием логических операторов

 

10. Условный оператор

Алгоритмы с ветвлением

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

В алгоритмах ветвление осуществляется с помощью блока

Пример: разработать алгоритм, вычисляющий модуль числа.

Модулем скалярной величины называется её абсолютное значение. Для положительных чисел модуль совпадает с самим числом, для отрицательных – знак меняется на противоположный. Например: , . Это позволяет предложить следующий алгоритм:

 

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

Var

x: integer;

y: shortint;

Begin

Ввод x

If x > 0 then y:= 1

Else

If x < 0 then y:= -1

Else y:= 0;

Печать y

End.

Задание логических выражений для передачи управления

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

x > 0

y <= 0.25

Key!= ‘q’

и т.п.

Var

m, n, d, r: word;

Begin
Write('Введите m: '); Read(m);

Write('Введите n: '); Read(n);

If m < n then
Begin

r:= m; m:= n; n:= r;

End;

While n <> 0 do
Begin

r:= m mod n;

m:= n;

n:= r;

End;

d:= m;

Writeln('d=',d);
End.

11.3. Структура и синтаксис оператора repeat … until

Имеет следующий синтаксис:

 

repeat оператор until условие_завершения;

 

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

Другим отличием оператора repeat…until является то, что входящее в его состав условие рассматривается как условие завершения цикла. То есть, если на очередной итерации результат вычисления условия оказывается равным true, цикл завершается. В противном случае управление вновь передается на тело цикла.

Пример. Алгоритм Евклида (с использованием цикла с постусловием)

 

Var

m, n, d, r: word;

Begin
Write('Введите m: '); Read(m);

Write('Введите n: '); Read(n);

If m < n then
Begin

r:= m; m:= n; n:= r;

End;

If n > 0 then
Repeat
r:= m mod n;

m:= n;

n:= r;
Until n = 0;

 

d:= m;

Writeln('d=',d);

End.

 

 

Раздел №12 (2 часа)

Оператор цикла с параметром

План:

• Цикл с параметром. Структура и синтаксис оператора for

Примеры программирования итерационных алгоритмов

 

12. Оператор цикла с параметром

Примеры программирования итерационных алгоритмов

Пример 1. Вычислить y = x^n путем многократного умножения (n- целое положительное число).

Program Mult;

Var x,y: real;

i,n: word;

Begin

Ввод и печать x,n

y:=x;

For i:=1 to n do y:=y*x;

Печать y

End.

Раздел №13 (2 часа)

Диапазонный тип данных. Массивы

План:

Понятие диапазонного типа данных

Массивы. Описание и использование массивов

 

13. Диапазонный тип данных. Массивы

Диапазонные типы данных

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

Синтаксис объявления можно пояснить следующими примерами:

Type

Positive = 1.. MaxInt;

Natural = 0.. MaxInt;

Rist = -20.. 20;

Parn = 'a'.. 'k';

В этих примерах MaxInt – предопределённая константа, соответствующая максимальному целому числу, допустимому для используемой платформы/компилятора.

Использование диапазонных типов данных позволяет, с одной стороны, экономить память, а с другой, – контролировать значения переменных диапазонного типа, предотвращая их выход за установленный диапазон.

Type

Имя_типа_массива = array [диапазон] of тип_элементов;

 

Рассмотрим несколько примеров декларации массивов:

Type

Ar = array [1..100] of integer;
Var

<

Поделиться с друзьями:

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.016 с.