АЛГОРИТМЫ И ПРОГРАММЫ Выполнила: студентка 3100 группы, Мустафина Румия Р.

Презентация:



Advertisements
Похожие презентации
Познакомиться с основными понятиями языка Pascal 2.
Advertisements

Файловый тип данных Файл – это область памяти на внешнем носителе, в которой хранится некоторая информация. В языке Паскаль файл представляет собой последовательность.
Тема урока Переменная. Тип данных. Ввод и вывод данных.
10 класс Урок 55.. Выражения и операции Любое выражение имеет определенный тип и после вычисления возвращает некоторое значение. Простейшими.
ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ НАЧАЛА ПРОГРАММИРОВАНИЯ.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Основы языка Pasсal.
Технология составления алгоритмов и программы для решения линейных задач на языке Паскаль.
Язык программирования ПАСКАЛЬ Алфавит языка. Организация данных. Структура программы. Оператор присваивания.
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Основы алгоритмизации Алгоритмы. Типы алгоритмов. Алгоритмы. Типы алгоритмов. Блок-схемы. Вопросы и задания. Вопросы и задания.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Алгоритмизация и программирование Программирование. Основные алгоритмы и приемы программирования. (на примере языка программирования Turbo Pascal) Дибиров.
Алгоритмический язык и язык Бейсик Ученицы 11-А класса ОШ 15 Бондаренко Натальи.
«Типы данных». Целочисленные типы данных Тип ДиапазонТребуемая память (байт) byte shortint integer word longint
Язык программирования Pascal. Программа это упорядоченный список команд, необходимых для решения некоторой задачи. Языком программирования называют систему.
Данные в программах и алгоритмах Программы и их алгоритмы пишутся для обработки данных. Чтобы реализовать алгоритм, программам необходимо работать с данными.
Структура программы на языке Pascal. Программа на языке «Паскаль» Программа состоит из заголовка и блока В заголовок входят: служебное слово program и.
Транксрипт:

АЛГОРИТМЫ И ПРОГРАММЫ Выполнила: студентка 3100 группы, Мустафина Румия Р.

Содержание 1 Принтер – для вывода на бумагу 2 Основы алгоритмического управления 3 Алгоритм и его свойства 4 Разветвляющийся алгоритм 5 Циклический алгоритм 6 Определите значение переменной a после выполнения фрагмента алгоритма 6 Определите значение переменной a после выполнения фрагмента алгоритма 7 Алгоритмический язык 8 Символьное кодирование 9 Алгоритмический язык 10 Язык программирования ПАСКАЛЬ 11 Описание переменных 12 Описание констант 13 Описание меток 14 Описание типов 15 Логический тип 16 Символьный тип 17 Массивы 18 Процедурный тип 19 Файловые типы 20 Логические операции 21 Побитовые операции 22 Строковые операции

ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА( УСТРОЙСТВА ВВОДА – ВЫВОДА) Клавиатура или манипулятор мышь - для ввода задания ПК Монитор – для вывода итогов работы ПК на экран Принтер – для вывода на бумагу Сканер – ввод графического изображения Дисковод – для получения информации из внешней памяти Проектор – для вывода на экран слайдов Модем – модулятор – демодулятор преобразует цифровые сигналы своего компьютера в аналоговые и посылает их в телефонную сеть. На конце телефонной линии другой модем преобразует аналоговые сигналы в цифровые.

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

Алгоритм и его свойства Алгоритмы – это организованная последовательность действий, допустимых для некоторого БИ. Алгоритм не роскошь, а средство достижения цели. Линейный алгоритм – набор команд, выполняемых последовательно во времени друг за другом. начало А,В,СА,В,С D=AB/В+С D конец

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

Циклический алгоритм Многократное повторение одного и того же действия над новыми исходными данными. Цикл программы – последовательность команд(серия, тело цикла), которая которая может выполняться до удовлетворения некоторого условия. Проверка условия повторения Тело цикла Проверка в начале цикла Тело цикла Проверка условия повторения Проверка в конце цикла

b=4 b:=b+1 a:=a*2 Определите значение переменной a после выполнения фрагмента алгоритма a:=1 b:=0 да нет * Умножение := присваивание

Алгоритмический язык АЯ – это система обозначений формальной записи алгоритмов, предназначенных для анализа их исполнителем – человеком,а затем и для реализации на машине. В общем виде имеются операторы ( описание однородных этапов изучаемого процесса ) четырех типов: 1.Действующие; определяют изменение в объекте. 2.Логические; описывают условия, от которых зависит направление процесса. 3.Варьирующие;определяют изменения вспомогательных величин, называемых параметрами. 4. Операторы перехода; определяют порядок выполнения операторов первых трех типов. Кроме операторов, применяются знаки начала и конца процесса. Оператор предписывает исполнителю алгоритма команду. Команды обозначают одним полным или сокращенным словом,а также определенным значком. Эти обозначения команд назыв. служебными словами и символами. Алгоритм вычисления суммы пяти чисел алг сумма ( цел S, цел N, таб M[1:5]) арг N рез S S:=0 - действующий N:=5 - действующий нач цел i - знак начала процесса i:=0 - действующий пока i <=N -логический нц - перехода i:=i+1 - действующий S:=S+M[i] - действующий кц -перехода кон - знак конца процесса АЯ – это система обозначений формальной записи алгоритмов, предназначенных для анализа их исполнителем – человеком,а затем и для реализации на машине. В общем виде имеются операторы ( описание однородных этапов изучаемого процесса ) четырех типов: 1.Действующие; определяют изменение в объекте. 2.Логические; описывают условия, от которых зависит направление процесса. 3.Варьирующие;определяют изменения вспомогательных величин, называемых параметрами. 4. Операторы перехода; определяют порядок выполнения операторов первых трех типов. Кроме операторов, применяются знаки начала и конца процесса. Оператор предписывает исполнителю алгоритма команду. Команды обозначают одним полным или сокращенным словом,а также определенным значком. Эти обозначения команд назыв. служебными словами и символами. Алгоритм вычисления суммы пяти чисел алг сумма ( цел S, цел N, таб M[1:5]) арг N рез S S:=0 - действующий N:=5 - действующий нач цел i - знак начала процесса i:=0 - действующий пока i <=N -логический нц - перехода i:=i+1 - действующий S:=S+M[i] - действующий кц -перехода кон - знак конца процесса

СИМВОЛЬНОЕ КОДИРОВАНИЕ Cчитая, что каждый символ кодируется 16 – ю битами, оцените информационный объем следующей пушкинской фразы в кодировке Unicode: Привычка свыше нам дана: Замена cчастию она. Cчитая, что каждый символ кодируется 16 – ю битами, оцените информационный объем следующей пушкинской фразы в кодировке Unicode: Привычка свыше нам дана: Замена cчастию она. Бит – 0 или 1 ; Байт – последовательность битов ( 8 или 16 битов),один символ соответствует 1 байту. 1 килобайт = 1024 байта, 1 мегабайт = 1024 кбайт, 1 гигабайт = 1024 мегабайт. Световое табло состоит из лампочек, каждая из которых может находиться в двух состояниях ( вкл и выкл). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 50 различных сигналов? Сколько единиц в двоичной записи числа 195? Сколько единиц в двоичной записи числа 195? Значение выражения 16+8*2 в двоичной системе счисления равно: ?

Алгоритмический язык Ада Алгол Бейсик В память дочери поэта лорда Байрона первой программистки 1980 год Один из первых универсальных языков Алгол – 60, Алгол – 68 и др Самый распространенный в мире Имеет много диалектов Кобол, Паскаль, ПЛ -1, Си, Фортран, Ассемблер и т. д.

Язык программирования ПАСКАЛЬ Язык Паскаль был разработан Никлаусом Виртом в 1970 г. как язык со строгой типизацией и интуитивно понятным синтаксисом. В 80-е годы наиболее известной реализацией стал компилятор Turbo Pascal фирмы Borland, в 90-е ему на смену пришла среда программирования Delphi, которая стала одной из лучших сред для быстрого создания приложений под Windows. Delphi ввела в язык Паскаль ряд удачных объектно-ориентированных расширений, обновленный язык получил название Object Pascal PascalABC.NET - достаточно зрелая среда. Ее прототип - учебная система Pascal ABC - появилась в 2002 году и достаточно активно используется в российских школах. PascalABC.NET - развивающаяся среда. Ведутся разработки новых языковых возможностей, новых библиотек и новых языков программирования, которые будут интегрированы в общую среду

Описание переменных Переменные могут быть описаны в разделе описаний, а также непосредственно внутри любого блока begin/end. Раздел описания переменных начинается со служебного слова var, после которого следуют элементы описания вида список имен: тип; или имя: тип := выражение; или имя := выражение; Имена в списке перечисляются через запятую. Например: var a,b,c: integer; d: real := 3.7; s := 'Pascal forever'; al := new ArrayList; p1 := 1; В последних трех случаях тип переменной определяется по типу правой части. Переменные могут описываться непосредственно внутри блока. Внутриблочные описания переменных имеют тот же вид, что и в разделе описаний, с тем исключением, что в каждой секции var может быть лишь один элемент описания:блока begin var a1,a2,a3: integer; var s := '';... end. Кроме того, переменные-параметры цикла могут описываться в заголовке операторов for и foreach

Описание констант Раздел описания именованных констант начинается со служебного слова const, после которого следуют элементы описания вида имя константы = значение; или имя константы : тип = значение; Например: const Pi = 3.14; Count = 10; Name = 'Mike'; DigitsSet = ['0'..'9']; Arr: array [1..5] of integer = (1,3,5,7,9); Rec: record name: string; age: integer end = (name: 'Иванов'; age: 23); Arr2: array [1..2,1..2] of real = ((1,2),(3,4)); Описание констант Раздел описания именованных констант начинается со служебного слова const, после которого следуют элементы описания вида имя константы = значение; или имя константы : тип = значение; Например: const Pi = 3.14; Count = 10; Name = 'Mike'; DigitsSet = ['0'..'9']; Arr: array [1..5] of integer = (1,3,5,7,9); Rec: record name: string; age: integer end = (name: 'Иванов'; age: 23); Arr2: array [1..2,1..2] of real = ((1,2),(3,4));

Описание меток Раздел описания меток начинается с зарезервированного слова label, после которого следует список меток, перечисляемых через запятую. В качестве меток могут быть использованы идентификаторы и положительные целые числа: label a1,l2,777777;

Описание типов Раздел описания типов начинается со служебного слова type, после которого следуют строки вида имя типа = тип; Например, type myint = integer; arr10 = array [1..10] of integer; pinteger = ^integer; A = class i: integer; constructor Create(ii: integer); begin i:=ii; end; end; При описании рекурсивных структур данных указатель на тип может фигурировать раньше описания самого типа в определении другого типа: type PNode = ^TNode; TNode = record data: integer; next: PNode; end; При этом важно, чтобы определения обоих типов находились в одном разделе type. В отличие от Delphi Object Pascal следующее рекурсивное описание верно: type TNode = record data: integer; next: ^TNode; end; Отметим, что для ссылочных типов (классов) разрешается описание поля с типом, совпадающим с типом текущего класса: type Node = class data: integer; next: Node; end;

Логический тип Значения логического типа boolean занимают 1 байт и принимают одно из двух значений, задаваемых предопределенными константами True (истина) и False (ложь). Для логического типа определены статические функции: boolean.Parse(s) - функция, конвертирующая строковое представление числа в значение типа boolean. Если преобразование невозможно, то генерируется исключение; boolean.TryParse(s,res) - функция, конвертирующая строковое представление числа в значение типа boolean и записывающая его в переменную res. Если преобразование возможно, то возвращается значение True, в противном случае - False. Кроме этого, определена экземплярная функция ToString, возвращающая строковое представление переменной типа boolean. Логический тип является порядковым. В частности, False < True, Ord(False) =0, Ord(True) =1.порядковым

Символьный тип Символьный тип char занимает 2 байта и хранит Unicode-символ. Символы реализуются типом System.Char платформы.NET. Стандартные подпрограммы работы с символами представлены здесь. Члены класса char приведены здесь. Для преобразования между символами и их кодами в кодировке Windows (CP1251) используются стандартные функции Chr и Ord : Chr(n) - функция, возвращающая символ с кодом n в кодировке Windows; Ord(с) - функция, возвращающая значение типа byte, представляющее собой код символа c в кодировке Windows. Для преобразования между символами и их кодами в кодировке Unicode используются стандартные функции ChrUnicode и OrdUnicode : ChrUnicode(w) - возвращает символ с кодом w в кодировке Unicode; OrdUnicode(с) - возвращает значение типа word, представляющее собой код символа c в кодировке Unicode. Кроме того, выражение # число возвращает Unicode-символ с кодом число (число должно находиться в диапазоне от 0 до 65535). Аналогичную роль играют явные преобразования типов: char(w) возвращает символ с кодом w в кодировке Unicode; word(с) возвращает код символа c в кодировке Unicode.

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

Процедурный тип Переменные, предназначенные для хранения процедур и функций, называются процедурными. Тип процедурной переменной представляет собой заголовок процедуры или функции без имени. Например: type procI = procedure(i: integer); funI = function: integer; Процедурной переменной можно присвоить процедуру или функцию с совместимым типом: procedure my(i: integer); begin... end; function f: integer; begin end;... var p1: procI; f1: funI;... p1 := my; f1 := f; После этого можно вызвать процедуру или функцию через эту процедурную переменную, пользуясь обычным синтаксисом вызова: p1(5); write(f1); Для процедурных переменных принята структурная эквивалентность типов: можно присваивать друг другу и передавать в качестве параметров процедурные переменные, совпадающие по структуре (типы и количество параметров, тип возвращаемого значения).структурная эквивалентность типов

Файловые типы Файл представляет собой последовательность элементов одного типа, хранящихся на диске. В PascalABC.NET имеется два типа файлов - двоичные и текстовые. Текстовые файлы хранят символы, разделенные на строки символами #13#10 (Windows) и символом #10 (Linux). Двоичные файлы в свою очередь делятся на типизированные и бестиповые. Для описания текстового файла используется стандартное имя типа text, бестиповые файлы имеют тип file, а для описания типизированного файла используется конструкция file of тип элементов : var f1: file of real; f2: text; f3: file; В качества типа элементов в типизированном файле не могут фигурировать указатели, ссылочные типы, а также тип записи, содержащий ссылочные поля или указатели. Стандартные файловые процедуры и функции описываются в пункте Процедуры и функции для работы с файлами.Процедуры и функции для работы с файлами Кроме того, в.NET имеется ряд классов, связанных с работой с файлами.

Логические операции К логическим относятся бинарные операции and, or и xor, а также унарная операция not, имеющие операнды типа boolean и возвращающие значение типа boolean. эти операции подчиняются стандартным правилам логики: a and b истинно только тогда, когда истинны a и b, a or b истинно только тогда, когда истинно либо a, либо b, a xor b истинно только тогда, когда только одно из a и b истинно, not a истинно только тогда, когда a ложно. Выражения с and и or вычисляются по короткой схеме: в выражении x and y если x ложно, то все выражение ложно, и y не вычисляется; в выражении x or y если x истинно, то все выражение истинно, и y не вычисляется.

Побитовые операции К побитовым относятся бинарные операции and, or, not, xor, shl, shr. Они производят побитовые манипуляции с операндами целого типа. Результирующий тип для and, or, xor будет наименьшим целым, включающим все возможные значения обоих типов операндов. Для shl, shr результирующий тип совпадает с типом левого операнда, для not - с типом операнда. Побитовые операции осуществляются следующим образом: с каждым битом (0 принимается за False, 1 - за True) производится соответствующая логическая операция. Например: and = or = xor = not = (операнды и результат представлены в двоичной форме).

Строковые операции К строкам применимы все операции сравнения, =, =, <>. Кроме этого, к строкам и символам применима операция конкатенации (слияния) +, ее результат имеет строковый тип.операции сравнения Например, 'a'+'b'='ab'. К строкам также применима операция +=: s += s1; означает s := s + s1;