Разделы презентаций


Алгоритмизация и введение в программирование

Содержание

2 Алгоритмизация и введение в программирование 50Блок-схема отличается следующим:каждому действию соответствует определенный вид фигуры (овал, прямоугольник, параллелограмм, ромб, шестиугольник);внутри

Слайды и текст этой презентации

Слайд 1Информатика и программирование
Лебедева Т.Ф.
КЕМЕРОВСКИЙ ИНСТИТУТ (филиал)
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА

ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Информатика и программированиеЛебедева Т.Ф.КЕМЕРОВСКИЙ ИНСТИТУТ (филиал)РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Слайд 2 2 Алгоритмизация и введение

в программирование 50
Блок-схема отличается

следующим:
каждому действию соответствует определенный вид фигуры (овал, прямоугольник, параллелограмм, ромб, шестиугольник);
внутри фигур записываются формулы или краткая инструкция;
фигуры соединяются линиями со стрелками, которые называются линиями потока и указывают направления перехода от одной операции к другой. Причем, если выбирается направление вниз или вправо, то стрелки можно не ставить;
фигуры или блоки в блок-схемах могут иметь номера, проставляемые слева в разрыве верхней линии;
линии потока не должны пересекаться, поэтому при необходимости используются соединители – элементы с буквой или цифрой внутри.
Конфигурация элементов схем определена
ГОСТ 19.701-90 «Схемы алгоритмов, программ, данных и систем»
2 Алгоритмизация и введение в программирование

Слайд 3 2 Алгоритмизация и введение

в программирование 51

пример блок-схемы
2 Алгоритмизация и введение в программирование

Слайд 4 2 Алгоритмизация и введение

в программирование 52
В 1977

году математики Бем и Якопини доказали, что алгоритмы сколь угодно сложной структуры могут быть реализованы с использованием всего 3-х управляющих структур:
Последовательное выполнение операций - следование;
Ветвление алгоритма на группы операций в зависимости от выполнения некоторых условий - ветвление;
Циклическое многократное выполнение группы операций до выполнения некоторого условия, формируемого в процессе вычислений - цикл.
Соответствующие операторы в записи алгоритмов называются условными операторами и операторами циклов (следование не имеет специального оператора и выражается просто последовательной записью инструкций вычисления, ввода, вывода).
2 Алгоритмизация и введение в программирование

Слайд 5 2 Алгоритмизация и введение

в программирование 53
Условные операторы

в наших примерах звучат как:
если <условие выполнено> то последовательность операций иначе другая последовательность операций.
Операторы циклов в описаниях на естественном языке мы формулируем словами:
1. "Пока истинно некоторое условие - повторять заданные действия" (цикл с предусловием);
2. "Повторять заданные действия пока ложно некоторое условие" (цикл с постусловием);
3. "Повторять заданные действия N раз" (цикл со счетчиком).
2 Алгоритмизация и введение в программирование

Слайд 6 2 Алгоритмизация и введение

в программирование 54
В зависимости

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

Слайд 7 2 Алгоритмизация и введение

в программирование 55
В алгоритмах

разветвленной структуры в зависимости от выполнения или невыполнения какого-либо условия производятся различные последовательности действий. Каждая такая последовательность действий называется ветвью алгоритма.
2 Алгоритмизация и введение в программирование

Слайд 8 2 Алгоритмизация и введение

в программирование 56
В алгоритмах

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

2 Алгоритмизация и введение в программирование

Слайд 9 2 Алгоритмизация и введение

в программирование 57
Цикл со

счетчиком


2 Алгоритмизация и введение в программирование

Слайд 10 2 Алгоритмизация и введение

в программирование 58
2.4 Понятие

алгоритмического языка
Языки программирования (алгоритмические языки) – специально разработанные искусственные языки, предназначенные исключительно для записи алгоритмов, исполнение которых поручается ЭВМ.
Наиболее общей классификацией языков программирования является по степени зависимости от машинного языка:
Машинно-зависимые – машинные, машинно-ориентированные – низкий уровень
Машинно-независимые – процедурные, проблемные – высокий уровень
Машинно-зависимые языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, адресности, структуры памяти и т.д.).
Машинный язык – это система команд компьютера. Программы, написанные на машинном языке не требуют компиляции. Пример фрагмента программы для трехадресной ЭВМ:
код операции адрес 1-го операнда адрес 2-го операнда адрес результата
001 0 0 1 1 0 1 1 0 0 1 0 1
Машинно-ориентированные языки - языки символического кодирования: (Автокод, Ассемблер). Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена, например:
ADD 1, B
2 Алгоритмизация и введение в программирование

Слайд 11 2 Алгоритмизация и введение

в программирование 59
Языки программирования

высокого уровня машинно-независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.
В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий. Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.
Проблемно-ориентированные языки предназначены для пользователей-непрограммистов и направлены для решения узкого круга задач. На них определяется что делать, а не как это делать.
К непроцедурному программированию относятся функциональные и логические языки
2 Алгоритмизация и введение в программирование

Слайд 12 2 Алгоритмизация и введение

в программирование 60
Еще один

вид классификации языков программирования определяется существующей методологией программирования:
методология императивного программирования
языки программирования: FORTRAN (1954), ALGOL (1960) , PASCAL (1972) , C (1974)
методология объектно-ориентированного программирования
языки программирования: Simula (1962), Smalltalk (1972), C++ (1983), Object Pascal (1984), Java (1995), C# (2000)
методология функционального программирования
языки программирования: LISP (1958), Refal (1968), Miranda (1985), F# (2008)
методология логического программирования
языки программирования: PROLOG (1971)
методология программирования в ограничениях
языки программирования: УТОПИСТ (1980), IDEAL (1981), OPS5 (1987)
Ядра методологий определяются способом описания алгоритма.

2 Алгоритмизация и введение в программирование

Слайд 13 2 Алгоритмизация и введение

в программирование 61
2.5 Основные

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

2 Алгоритмизация и введение в программирование

Слайд 14 2 Алгоритмизация и введение

в программирование 62
Методология императивного

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


2 Алгоритмизация и введение в программирование

Слайд 15 2 Алгоритмизация и введение

в программирование 63
::=

оператор> | <структурный оператор>
<простой оператор> ::= <оператор присваивания>|
<оператор вызова >
<структурный оператор> ::= <оператор последовательного исполнения>| <оператор ветвления>|<оператор цикла>
<оператор присваивания> ::= <переменная>:=<выражение>
<оператор вызова > ::= <имя подпрограммы>[(<параметр> * )]
<оператор последовательного исполнения> ::= begin <оператор> * end
<оператор ветвления> ::= if <логическое выражение> then <оператор>* [ else <оператор> *]
<оператор цикла> ::= while <логическое выражение> do <оператор>



2 Алгоритмизация и введение в программирование

Слайд 16 3 Основы программирования на языке Паскаль

64
Язык программирования Паскаль. Знакомство

со средой программирования Турбо Паскаль.
Паскаль – язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан в 1968–1971 гг. Никлаусом Виртом. Первоначально был разработан для обучения, но вскоре стал использоваться для разработки программных средств в профессиональном программировании.
Турбо Паскаль – это система программирования, созданная для повышения качества и скорости разработки программ (80-е гг.). Слово Турбо в названии системы программирования – это отражение торговой марки фирмы-разработчика Borland International (США).
Систему программирования Турбо Паскаль называют интегрированной (integration – объединение отдельных элементов в единое целое) средой программирования, т.к. она включает в себя редактор, компилятор, отладчик, имеет сервисные возможности.
Основные файлы Турбо Паскаля:
Turbo.exe – исполняемый файл интегрированной среды программирования;
Turbo.hlp – файл, содержащий данные для помощи;
Turbo.tp – файл конфигурации системы;
Turbo.tpl – библиотека стандартных модулей, в которых содержатся встроенные процедуры и функции (SYSTEM, CRT, DOS, PRINTER, GRAPH, TURBO3, GRAPH3).
3 Основы программирования на языке Паскаль          64Язык

Слайд 17 3 Основы программирования на языке Паскаль

65

Структура программы
Программа на Borland Pascal состоит из трех частей:
заголовка,
раздела описаний,
раздела операторов.
Заголовок программы не является обязательным, он состоит из служебного
слова program и идентификатора - имени программы.
Р а з д е л о п и с а н и й содержит описания всех используемых программой
ресурсов (полей данных, подпрограмм и т.д.).
Р а з д е л о п е р а т о р о в заключается в так называемые операторные
скобки begin ...end и заканчивается точкой.
Между операторными скобками записывают управляющие операторы программы, которые разделяют специальным знаком - точкой с запятой «;». Если точка с запятой стоит перед end, то считается, что после точки с запятой стоит «пустой» оператор.
В тексте программы возможны комментарии, которые помещают в
фигурные скобки.
Посмотрим, как выглядит Pascal программа, которая реализует алгоритм Евклида для определения наибольшего общего делителя двух чисел а и в:
3 Основы программирования на языке Паскаль

Слайд 18 3 Основы программирования на языке Паскаль

66
Program example; {заголовок

программы}
{раздел описаний}
Var a,b : integer; {объявление переменных}
{раздел операторов}
Begin
Write ('Введите два натуральных числа:') ;
{запрашиваем ввод данных}
Readln(a,b); {вводим значения}
while a<>b do {цикл-пока а ≠b}
if a>b then a:=a - b {если a>b, тогда a:=a-b} else b:= b - a;
{иначе b:=b-a}
Writeln(‘Hauбoльшuй общий делитель равен ‘,a);
{выводим результат}
End. {конец программы}

3 Основы программирования на языке Паскаль

Слайд 19 3 Основы программирования на языке Паскаль

67
Программы

на языке Паскаль имеют блочную структуру:
1. Блок типа PROGRAM – имеет имя, состоящее только из латинских букв и цифр. Его присутствие не обязательно, но рекомендуется записывать для быстрого распознавания нужной программы среди других листингов.
2. Блок описаний состоит в общем случае из 7 разделов:
раздел описания модулей (uses);
раздел описания меток (label);
раздел описания констант (const);
раздел описания типов данных (type);
раздел описания переменных (var);
раздел описания процедур и функций;
3. Операторный блок, который содержит раздел описания операторов.
Общая структура программы на языке Паскаль следующая:
Рrogram ИМЯ..; {заголовок программы}
Uses ...; {раздел описания модулей}
Var ..; {раздел объявления переменных}
...
Begin {начало исполнительной части программы}
... {последовательность
... операторов}
End. {конец программы}

3 Основы программирования на языке Паскаль

Слайд 20 3 Основы программирования на языке Паскаль

68
Алфавит языка

программирования TURBO Pascal 7.0 включает:
строчные и прописные буквы латинского алфавита (a..z, A..Z) и знак подчеркивания ( _ ), который также во многих случаях считается буквой;
цифры (0...9);
специальные знаки, состоящие из одного и более символов:
знаки арифметических операций : + - * / mod div
служебные знаки: = : < > [ ] $ # ; { } ( ) ‘ @ := (* *) . ,
знаки операций отношения: <= >= = > < <>
знаки логических операций: not and or xor

3 Основы программирования на языке Паскаль

Слайд 213 Основы программирования на языке Паскаль

69

служебные слова (эти сочетания считаются

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

Слайд 22 3 Основы программирования на языке Паскаль

70
Константы и

переменные. Типы переменных
Все данные, с которыми оперирует программа на Pascal, должны быть описаны.
Все объекты программы – переменные, константы, функции, процедуры, типы, модули имеют имена, которые называются идентификаторами.
Идентификаторы образуются из букв и цифр (к буквам относится и знак подчеркивания). Первый символ – обязательно буква.
Запоминаются первые 63 символа. Регистр символа не имеет значения.
Поэтому SUMMA, summa, Summa – это одно и тоже имя.
Данные в программе могут присутствовать в виде констант и переменных.
Константы.
Константы определяются один раз и не изменяются во время
выполнения программы. Используют следующие типы констант :
целые и вещественные десятичные числа, например, 25, 6.12,
0.125е10 (см. примечание);
шестнадцатеричные числа - должны начинаться со знака «$»,
например, $64;
логические константы - true (истина) и false (ложь);
символьные константы - записываются либо в апострофах,
3 Основы программирования на языке Паскаль

Слайд 23 3 Основы программирования на языке Паскаль

71
Например, 'А', либо в

виде соответствующих кодов по таблице ASCII, причем в последнем случае перед кодом ставится знак «#», например #65 (этот код соответствует символу А латинское);
строки символов - записываются в апострофах, например 'ABCD';
конструкторы множеств [3,6,8] ;
«нулевой» адрес - nil
Примечания. 1. В программировании принято при записи вещественных чисел вместо запятой для разделения целой и дробной частей числа использовать точку.
2. Обычно при записи в программе или выполнении операций ввода-вывода вещественные числа записывают в так называемом формате с фиксированной точкой, указывая в начале целую часть числа, а затем, после точки, дробную, например: 0.5, -3.85 . Но иногда бывает удобно задавать числа в формате с плавающей точкой, т.е. в виде мантиссы и порядка. При этом мантиссу записывают перед порядком и отделяют от него строчной или прописной латинской буквой «е»,
например: запись 1.5е-10 соответствует значению 1,5 х 10 ^ (-10), а запись 0.5Е23 соответствует значению 0,5x10^23.
3 Основы программирования на языке Паскаль          71Например,

Слайд 24 3 Основы программирования на языке Паскаль

72
Константы используются в

трех формах: как литералы, как поименованные константы и как типизированные константы.
Литерал представляет собой значение константы, записанное непосредственно в программе (например, в выражении
2+5.1*х использованы два литерала «2» и «5.1»).
Поименованные константы объявляются в инструкции раздела описаний const. Обращение к ним осуществляется по имени (идентификатору).
Например;
Const min=23; мах=45; {десятичные константы}
a16=$А0; {шестнадцатеричная константа}
Ch1 = #94; ch2 = ‘a’; {символьные константы}
stroka= ‘end’ ; {строковая константа}
V=[3,6,8..9]; {конструктор множества}

3 Основы программирования на языке Паскаль

Слайд 25 3 Основы программирования на языке Паскаль

73
типизированные константы

представляют собой переменные, объявленные в разделе Const , которым присвоены начальные значения, например:
Const k : integer = 10;
a : array[1..4] of real=(2.5, -7.96, 7.54, 32.89);
Переменные. Переменные - поименованные объекты программы, которые могут изменяться в процессе выполнения программы.
Их объявление также выполняют в разделе описаний программы, причем при этом указывается не только идентификатор переменной, но и ее тип. Обращение к переменным также осуществляют по идентификатору.
Тип переменной определяет возможный набор значений данной переменной, размер ее внутреннего представления и множество операций, которые могут выполняться над переменной.
На рисунке показана классификация типов
3 Основы программирования на языке Паскаль

Слайд 26Простые
Стандартные
Действительный
(вещественный)
Целый
Символьный
Логический
Нестандартные
(переменные)
Перечисляемый
Ограниченный
структурные
Массив
Запись
Множество
Типы данных
Файл
3 Основы программирования на языке Паскаль

74
Классификация типов переменных
ПростыеСтандартныеДействительный(вещественный)ЦелыйСимвольныйЛогическийНестандартные (переменные)ПеречисляемыйОграниченныйструктурныеМассивЗаписьМножествоТипы данныхФайл3 Основы программирования на языке Паскаль

Слайд 27 3 Основы программирования на языке Паскаль

75

Простые (скалярные) типы описывают упорядоченные наборы значений. Они делятся на порядковые и вещественные.
Группа порядковых типов объединяет типы переменных, набор значений которых конечен, группа вещественных типов - типы с условно бесконечным набором значений.
Порядковые типы переменных делятся на стандартные, перечисляемые и диапазоны. Стандартно заданы следующие типы:
целые типы (представлены в табл. 1);
булевский тип Boolean включает только два значения - false (0) и true (1), но в памяти значения данного типа занимают целый байт. Логический тип данных часто называют булевым по имени английского математика Д. Буля, создателя математической логики. В языке Паскаль имеются две логические константы TRUE и FALSE. Логическая переменная принимает одно из этих значений и имеет тип Boolean. Для сравнения данных предусмотрены следующие операции отношений: <, <=, =, <>, >, >=. А также существуют специфичные для этого типа логические операции OR - или; AND - и; NOT - не. При проверке некоторых условий результат операции может быть истинным или ложным. Например, 3>5 ложь.
символьный тип Char Значениями данного типа является множество всех символов по таблице ASCII : русская или латинская большая или маленькая буква, цифра, знак препинания, специальный знак (например, "+", "-", "*", "/", "", "=" и др.) или пробел " ". Каждый из символов имеет уникальный номер от 0 до 255, т. е. внутренний код, который возвращает функция ORD. Символьная константа или символьная переменная - любой символ языка, заключённый в апострофы. Например,
Var Simvol : char;
Нестандартные порядковые типы необходимо описывать при объявлении переменных: перечисляемый и диапазон.

3 Основы программирования на языке Паскаль

Слайд 283 Основы программирования на языке Паскаль

76 Таблица

1 – Целые типы данных
3 Основы программирования на языке Паскаль

Слайд 29 3 Основы программирования на языке Паскаль

78
Перечисляемый

тип формируется из значений, определенных программистом
при объявлении типа. Перечень значений задают, через запятую в круглых скобках, например:
Var D : (Mon, The, Wed, Thu, Fr, Set, Sun); ...{переменная D может принимать только указанные значения}
Примечание. Во внутреннем представлении значения перечисляемого типа кодируются целыми числами, начиная с нуля. Tак, идентификатору Моn будет соответствовать О, The – 1 и т. д.
Объявляя переменную перечисляемого типа, можно сначала определить новый тип, а затем уже переменную этого типа, например:
Туре Day=(Mon, The, Wed, Thu, Fr, Set, Sun); {объявление нового типа}
Var D: Day;.., {объявление переменной данного типа}
Тип переменной диапазон определяется как диапазон значений некоторого уже определенного ранее или стандартного порядкового типа. При его описании также можно использовать конструкцию объявления типа, например:
Туре Data=1..31; {диапазон одного из целых типов}
Var DataN : Data;..,
или, не описывая тип отдельно, ту же переменную можно объявить следующим образом:
Var DataN :1..31; letter : ‘A’ .. ‘K’ ;
3 Основы программирования на языке Паскаль

Слайд 30 3 Основы программирования на языке Паскаль

79
Вещественные типы используют

для представления чисел, содержащих дробную часть. Во внутреннем представлении мантисса и порядок вещественных чисел хранятся раздельно, причем количество разрядов под мантиссу и порядок регламентируются типом числа. Соответственно обработка вещественных чисел в компьютерах выполняется с некоторой конечной точностью, которая зависит от количества двоичных разрядов, отведенных для размещения мантиссы.
Количество разрядов для записи порядка числа определяет диапазон чисел, для представления которых можно использовать разрядную сетку данного типа. В табл. 2 приведены характеристики вещественных типов Turbo Pascal.

3 Основы программирования на языке Паскаль

Слайд 31Простые типы (стандартные)

Таблица 2 - Вещественные

типы данных Real, Single, Double

тип

диапазон значений требования к памяти
в байтах

Real ± 2.9*10-39 – ± 1.7*1038 6
Single ± 1.5*10-45 – ± 3.4*1038 4
Double ± 5.0*10-324 – ± 1.7*10308 8


3 Основы программирования на языке Паскаль 80

Простые типы (стандартные)   Таблица 2 -  Вещественные типы данных Real, Single, Doubleтип

Слайд 32 3 Основы программирования на языке Паскаль

81

Компьютер, по умолчанию, представляет действительные числа в виде чисел с плавающей точкой. Такое представление чисел не очень нравится пользователям. Поэтому мы будем “заставлять” компьютер выдавать действительные числа в более привычном варианте следующим образом:
R:m:n, где R – действительное число, m – количество позиций, отводимых для всего числа, n – количество позиций, отводимых для дробной части.
Например, если мы хотим вывести на экран число Chislo с фиксированной точкой, причем знаем, что для вывода этого числа достаточно 7 мест, а вывод дробной части ограничим сотыми, то мы запишем вывод так:
Write (Chislo:7:2);

3 Основы программирования на языке Паскаль

Слайд 33 3 Основы программирования на языке Паскаль

82
Строковый тип

(string)
Значением строковой величины является строка переменной длины до 255 символов (быть может пустая). Строковая константа или строковая переменная представляет собой произвольную последовательность символов, заключенную в апострофы. Например,
Var Stroka : string[20];

3 Основы программирования на языке Паскаль

Слайд 34 3 Основы программирования на языке Паскаль

83
Пример программы с описаниями данных

различных типов:
Program TipDann;
Uses Crt
Var
Chislo1 : Integer;
Chislo2 : Real;
Simvol : Char;
Stroka : String;
Logika : Boolean;
Begin
ClrScr;
Chislo1 : =12;
Chislo2 : =Chislo1*2;
Chislo2 : =Chislo2/5;
Simvol : =‘d’;
Stroka : =‘Строчка’;
Logika : = Chislo1> Chislo2;
WriteLn (‘Вывод значений:’);
WriteLn (‘Значение переменной Chislo1 : ’,Chislo1);
WriteLn (‘Значение переменной Chislo2 : ’,Chislo2:5:2);
WriteLn (‘Значение переменной Simvol : ’,Simvol);
WriteLn (‘Значение переменной Stroka : ’,Stroka);
WriteLn (‘Значение переменной Logika : ’,Logika);
End.
3 Основы программирования на языке Паскаль         83Пример программы

Слайд 35 3 Основы программирования на языке Паскаль

84
Выражения
Все вычисления

и другие преобразования данных в программе записываются в виде выражений. Обычно выражение включает несколько операций, которые выполняются в порядке их приоритетности. Различают:
арифметические операции: + (сложение), - (вычитание), * (умножение), / (деление вещественное) - эти операции применяют к вещественным и целым числам, результат - также число;
div (деление целочисленное), mod (остаток целочисленного деления) - эти операции применяют к целым числам, результат - также целое число;
операции отношения: > (больше), < (меньше), = (равно),<> (не равно), >= (не меньше), <= (не больше) - эти операции применяют к числам, символам, символьным строкам и некоторым другим типам данных, результат - значение логического типа;
3  Основы программирования на языке Паскаль

Слайд 36 3 Основы программирования на языке Паскаль

85

логические операции: and (и), or (или), хог (исключающее или), not (не) - эти операции выполняют с логическими переменными и константами, результат - значение логического типа;
поразрядные операции: and (и), or (или), хог (исключающее или), not
shr (сдвиг вправо), shl (сдвиг влево) - эти операции выполняют с целыми числами, результат - целое число;
строковая операция: + (сцепление строк) - выполняется над символами и строками, результат - строка;
операции над множествами: + (объединение), - (дополнение), * (пересечение), результат - множество; in (определение принадлежности элемента множеству), результат ~ значение логического типа ;
операция над указателями: @ (определение адреса программного объекта), результат - адрес
3 Основы программирования на языке Паскаль

Слайд 373 Основы программирования на языке Паскаль

86 Таблица 3 – Приоритеты операций
3 Основы программирования на языке Паскаль

Слайд 38 3 Основы программирования на языке Паскаль

87
Для изменения порядка

выполнения операций в выражении используют круглые скобки. В выражениях также допускается использование стандартных и определенных программистом функций. Им присваивается высший приоритет.
Арифметические выражения
Арифметические выражения формируются из констант, переменных, функций, знаков операций и круглых скобок.
Запись выражений, содержащих арифметические операции, выполняется «в строку», порядок выполнения операций определяется скобками. Особенно внимательно следует программировать выражения, включающие операции различных приоритетов. Например:
1) запись а+Ь/с предполагает, что вначале выполняется операция деления,
а затем сложения;
2) запись (a+b)/c*d предполагает, что сумма а+Ь делится на с, а затем умножается (!) на d.
При программировании арифметических выражений также следует учитывать
правила выполнения операций, перечисленные ниже.
1. Операции «целочисленное деление» и «определение остатка от деления» применимы только к операндам целых типов, например: 6 div 4 =1, а
6 mod 4 = 2. Если в операции участвуют переменные, то они должны быть
объявлены как целые.
3 Основы программирования на языке Паскаль

Слайд 39 3 Основы программирования на языке Паскаль

88
Для получения

при делении целых значений результата с точностью до дробной части необходимо использовать операцию вещественного деления: 6/4=1.5.
2. При выполнении арифметических операций над числами различных
типов выполняется неявное преобразование типов:
а) если один операнд целого типа, а другой - вещественного, то переменная целого типа преобразуется к вещественному типу; результат операции - значение вещественного типа;
б) если в качестве операндов использованы вещественные или целые переменные различных типов, то их значения преобразуются к типу с наибольшей разрядной сеткой; результат операции того же типа. Так, если в выражении есть переменные integer и longint, то значения будут преобразованы в тип longint и того же типа будет полученный результат.
Порядок выполнения операций при вычислении арифметических выражений можно регулировать при помощи скобок по обычным правилам. Там, где скобки отсутствуют, ЭВМ выполняет операции в следующем порядке:
вычисляет значение всех функций, определенных программистом и стандартных функций;
выполняет слева направо все операции умножения и деления;
выполняет слева направо все операции сложения и вычитания.
3  Основы программирования на языке Паскаль

Слайд 40 3 Основы программирования на языке Паскаль

89
I Арифметические

функции
1) Abs(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет модуль (абсолютную величину) числа х;
2) cos(x), где аргумент и результат являются переменными вещественного типа – вычисляет косинус х;
3) Sin(x), где аргумент и результат являются переменными вещественного типа – вычисляет синус х;
4) Frac(x), где аргумент и результат являются переменными вещественного типа – выделяет дробную часть числа х;
5) Int(x), где аргумент и результат являются переменными вещественного типа – выделяет целую часть числа х;
6) Pi, где результат является переменной вещественного типа – вычисляет значение
π= 3.4157….
7) Random(x), где аргумент и результат являются переменными целого типа – генерирует случайное число в пределах от 0 до х включительно. Если параметр х не задан, то формируется вещественное число от 0 до 1. Перед использованием данной функции нужно инициализировать генератор случайных чисел при помощи процедуры Randomize (см. ниже);
8) Sqr(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет x2;
9) Sqrt(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет √x.
10) ln(x), где где аргумент и результат являются переменными вещественного типа – вычисляет логарифм натуральный х;
11) exp(x), где аргумент и результат являются переменными вещественного типа – вычисляет экспоненту х (ex) ;

3 Основы программирования на языке Паскаль

Слайд 41 3 Основы программирования на языке Паскаль

90
II Функции преобразования типов
1) Chr(x),

где аргумент типа Byte, а результат типа Char– возвращает символ, у которого код в таблице ASCII равен х;
2) Ord(x), где аргумент может быть любого порядкового типа, а результат типа LongInt – возвращает порядковый номер значения х при начале нумерации с нуля;
3) Round(x), где аргумент вещественного типа, результат типа Longint – округляет число х до ближайшего целого;
4) Trunc(x), где аргумент вещественного типа, результат типа Longint – выделяет целую часть числа х.
III Функции для порядковых типов
1) Odd(x), где аргумент типа Longint, а результат логического типа – определяет, является ли число четным (результат false) или нечетным (результат true);
2) Pred(x), где аргумент и результат любого порядкового типа – получает предшествующее значение;
3) Succ(x), где аргумент и результат любого порядкового типа – получает последующее значение;
4) Upcase(x), где аргумент и результат типа Char – преобразует букву латинского алфавита в соответствующую ей заглавную (буква х может быть как строчной, так и заглавной).
3 Основы программирования на языке Паскаль        90II Функции преобразования

Слайд 42 3 Основы программирования на языке Паскаль

91
IV Процедуры для

порядковых типов
1) Dec(x), где аргумент любого порядкового типа – уменьшает значение переменной х на 1;
2) Dec(x,n), где х любого порядкового типа, а n типа LongInt – уменьшает значение переменной х на n;
3) Inc(x), где аргумент любого порядкового типа – увеличивает значение переменной х на 1;
4) Inc(x,n), где х любого порядкового типа, а n типа LongInt – увеличивает значение переменной х на n;
5) Randomize – инициализирует генератор случайных чисел.
Правила применения функций:
чтобы воспользоваться функцией, нужно указать ее в правой части оператора присваивания;
при обращении к функции необходимо в круглых скобках указать ее аргументы;
в разделе описания переменных правильно указывайте типы переменных, которые хотите употребить в качестве аргумента или результата функции;
в одном выражении можно обратиться к нескольким функциям.
Правила применения процедур:
для выполнения процедуры ее надо вызвать в программе в виде оператора;
в разделе описания переменных правильно указывайте тип переменной, которую хотите употребить в качестве аргумента процедуры.

3 Основы программирования на языке Паскаль

Слайд 433 Основы программирования на языке Паскаль

92 Примеры записи формул




3 Основы программирования на языке Паскаль

Слайд 44 3 Основы программирования на языке Паскаль

93
Комментарии к примерам
1)

Из-за отсутствия операции возведения в степень при записи выражений со степенями рекомендуется:
Возведение в целую положительную степень заменяется умножением (пример 2)
Возведение в целую отрицательную степень заменяется делением на произведение сомнохителей (пример 2)
Для четных положительных степеней использовать функцию sqr (примеры 1,3)
Во всех других случаях (xa ) возведение в степень вычисляется как экспонента от показателя степени, умноженного на натуральный логарифм основания (exp(a * ln(x)) (примеры 5,6,8)
2) Отсутствие функций tg, ctg приводит к усложнению выражений (примеры 2,3,4,8). Если аргумент у функции tg или ctg достаточно сложное выражение (примеры 4,8), рекомендуется ввести новую переменную для обозначения аргумента, например:
……………………..
t := cos(exp(1/5*ln(x/y)));
z := sin(t) /cos(t);
………………………………….


3 Основы программирования на языке Паскаль

Слайд 45 3 Основы программирования на языке Паскаль

94
Оператор

присваивания
a := b;
С помощью оператора присваивания в программе записываются действия, связанные с изменением значений переменных. При выполнении этого оператора вычисляется выражение b , приведенное в правой части, и его результат заносится в переменную a, имя которой указано слева. Если оператор присваивания записывается в последовательности операторов, то после него ставится точка с запятой.
Например:
а) Var a,b,c:real;
Begin ...
c:=(a*a - sin(b))/(a+25.1); ...
б) Var v: boolean; a: integer; b:real;
Begin a:=8;b:=5.1;
v: =(a>5) and (b> =8); {v получит значение false}...
Для корректного выполнения операции присваивания результат выражения и переменная, записанная в правой части оператора присваивания, должны иметь одинаковые или совместимые типы.
Совместимыми считаются:
• все целые типы;
• все вещественные типы;
• диапазон некоторого базового типа и базовый тип;
• два диапазона одного базового типа;
• символ и строка.
Если тип переменной и выражения несовместимы, то возникает синтаксическая ошибка:
Type mismatch
3 Основы программирования на языке Паскаль

Слайд 46 3 Основы программирования на языке Паскаль

95
При несовпадении

типов правой и левой частей оператора присваивания
для совместимых типов происходит неявное преобразование результата выражения
к типу переменной, указанной в правой части. Например:
Var
s1, s2 :string; {переменные типа string}
k : char {переменные типа char}
I,j : integer {переменные типа integer}
x,y:real; {переменные типа real}
Begin
................
X:=sqrt(y);
x:=sqrt(i);
Y:=sin(j);
i:= cos(x);
X:= trunc(y);
i:= I / j;
S1:=s2 + k;
S2:= s1 + x;
I: = j * round(x);
……….
Какой из этих операторов присваивания вызовет ошибку несоответствия типов?
3 Основы программирования на языке Паскаль

Слайд 47 3 Основы программирования на языке Паскаль

96
Операторы Write

и WriteLn
Мы уже использовали операторы Write и WriteLn, но нам необходимо подробнее остановиться на правилах применения этих операторов.
Write (англ. писать) – оператор, который используется для вывода информации на экран. Оператор WriteLn выполняет то же самое действие, но так как у него есть еще окончание Ln (line - англ. линия, строка), то после вывода на экран нужного сообщения, он дополнительно переводит курсор на следующую строчку.
Общий вид:
Write (список выражений);
WriteLn (список выражений);
Процедуры Write и WriteLn используются не только для вывода результата, но и для вывода различных сообщений или запросов. Это позволяет вести диалог с пользователем, сообщать ему, когда ему нужно ввести значения , когда он получает результат, когда он ошибся и др. Оператор WriteLn можно применить и без параметров. В этом случае напечатается строка, состоящая из пробелов, и курсор будет переведен на другую строку. Это иногда нам нужно для лучшего восприятия ввода данных.
3 Основы программирования на языке Паскаль

Слайд 48 3 Основы программирования на языке Паскаль

97
Операторы

Read и ReadLn
Вспомним, что основное назначение ЭВМ – сэкономить человеческий труд. Поэтому необходимо обеспечить возможность, однажды написав программу, многократно ее использовать, вводя каждый раз другие данные. Такая гибкость в языке обеспечивается операторами Read и ReadLn. Этими операторами вводится информация с клавиатуры.
Общий вид:
Read(переменная, переменная...)
ReadLn(переменная, переменная...)
При выполнении процедуры Read ожидается ввод перечисленных в скобках значений. Вводимые данные нужно отделить друг от друга пробелами. Присваивание значений идет по очереди.
Например, если вводятся значения 53 и Х, то при выполнении оператора Read(a, b) переменной а будет присвоено число 53, а переменной Х – буква Х. Причем, отметим, чтобы не было аварийной ситуации, нужно правильно определить тип данных в разделе Var; в нашем случае а:integer, а b:char.
Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. После выполнения оператора ReadLкурсор переходит на новую строку и следующий оператор чтения считывает данные с новой строки.
Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу результат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.
3 Основы программирования на языке Паскаль

Слайд 49 3 Основы программирования на языке Паскаль

98


Блок-схема к примеру 1

Блок-схема к примеру 2
3 Основы программирования на языке Паскаль          98Блок-схема

Слайд 50 3 Основы программирования на языке Паскаль

100
Программа для примера 1
Program primer_1;
Uses

Crt;
Var
a, b, c, p , s : Real;
Begin
ClrScr; {процедура очистки экрана, входящая в модуль CRT}
write(‘введите через пробел значения сторон треугольника a,b,c,’);
readln(a,b,c );
p : =(a + b + c) / 2;
S : = sqrt ((p * (p – a)*(p – b)*(p – c));
WriteLn (‘Значение площади s = ’,s :8:2, ‘ кв.см.’);
readln; {задержка}
End.

3 Основы программирования на языке Паскаль         100Программа для

Слайд 51 3 Основы программирования на языке Паскаль

99
Программа для примера 2
Program

primer_2;
Uses Crt;
Const k=3.75;
Var
a,b,c,x,t,p,y,z,s : Real;
Begin
ClrScr; {процедура очистки экрана, входящая в модуль CRT}
write(‘введите через пробел значения a, b, c, x’);
readln (a, b, c, x );
t : =a+b; p : = c * x;
y : =(t * t* t - sin (p) / (a – k);
z: =ln (p) – exp (1/3 * ln ((t + k) / a);
S : = y + z;
WriteLn (‘Значение переменной y = ’,y :8:2);
readln; {задержка}
End.

3 Основы программирования на языке Паскаль          99Программа

Слайд 52Вопросы?

Вопросы?

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика