Инфоурок Другое ПрезентацииПрезентации «Программирование на Delphi»

Презентации «Программирование на Delphi»

Скачать материал

Выберите документ из архива для просмотра:

Выбранный для просмотра документ 1.ppt

Скачать материал

Описание презентации по отдельным слайдам:

  • Занятие 1Основные понятия языка PascalНовиков Алексей Константинович

Препод...

    1 слайд

    Занятие 1

    Основные понятия языка Pascal
    Новиков Алексей Константинович

    Преподаватель СПК МГППУ
    Программирование на Delphi

  • Поколения ЭВМ

    2 слайд

    Поколения ЭВМ

  • Поколения языков программированияЯзыки 1-го и 2-го поколения – машинно-зависи...

    3 слайд

    Поколения языков программирования
    Языки 1-го и 2-го поколения – машинно-зависимы.
    Языки 3-го поколения это – Fortran, Algol, Basic, Pascal.
    Языки 4-го поколения – языки баз данных электронных таблиц.
    Языки 5-го поколения – СМОЛТОК, ЛИСП, ПРОЛОГ.

  • Потребность в эффективных средствах разработки программного обеспечения приве...

    4 слайд

    Потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентируемых на так называемую «быструю разработку», среди которых можно выделить Borland Delphi, Microsoft Visual Basic.
    В основе систем быстрой разработки (RAD-систем) лежит технология визуального проектирования и событийного программирования. Суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий.

  • Считается, что производительность программиста при использовании RAD-систем ф...

    5 слайд

    Считается, что производительность программиста при использовании RAD-систем фантастическая!
    Delphi- это среда быстрой разработки. В основе языка Delphi лежит Паскаль.
    Delphi рассчитан на работу с операционной системой Windows 95/98/2000/NT. А на Delphi 7 можно программировать и для ОС Linux.

  • Работа над проектом,так в Delphi называется разрабатываемое приложение, начин...

    6 слайд

    Работа над проектом,
    так в Delphi называется разрабатываемое приложение, начинается с создания стартовой формы.
    Стартовая форма создается путем изменения значений свойств формы и добавления к форме компонентов.
    Свойства формы определяют ее внешний вид, размер, положение на экране, текст заголовка, вид рамки.

  • Свойства формы (таблица 1)

    7 слайд

    Свойства формы (таблица 1)

  • Свойства формы (продолжение)

    8 слайд

    Свойства формы (продолжение)

  • Свойства формы (продолжение)

    9 слайд

    Свойства формы (продолжение)

  • Свойства формы (продолжение)

    10 слайд

    Свойства формы (продолжение)

  • Свойства компонента Edit

    11 слайд

    Свойства компонента Edit

  • Свойства компонента Edit (продолжение)

    12 слайд

    Свойства компонента Edit (продолжение)

  • Событие и процедура обработки событияВид созданной формы подсказывает, как ра...

    13 слайд

    Событие и процедура обработки события
    Вид созданной формы подсказывает, как работает приложение. Очевидно, что пользователь должен ввести данные и щелкнуть мышью на кнопке «Вычислить». Щелчок на изображении командной кнопки – это пример того, что в Windows называется событием.
    Событие (Event) – это то, что происходит во время работы программы. В Delphi каждому событию присвоено свое имя.

  • События в Delphi

    14 слайд

    События в Delphi

  • В результате этого откроется окно редактора кода, в которое будет добавлен ша...

    15 слайд

    В результате этого откроется окно редактора кода, в которое будет добавлен шаблон процедуры обработки события, а в окне Object Inspector рядом с именем события появится имя функции его обработки. Delphi присваивает функции обработки события имя, которое состоит из двух частей. Первая часть имени идентифицирует форму, содержащую объект (компонент). Вторая часть имени идентифицирует сам объект и событие. Procedure Tform1. Button1 Click (Sender:Tobject) .

  • В окне редактора кода между словами begin и  end  можно печатать инструкции,...

    16 слайд

    В окне редактора кода между словами begin и end можно печатать инструкции, реализующие функцию обработки события.
    Хочется отметить как представлена программа: ключевые слова выделены полужирным, комментарии – курсивом, инструкции программы набраны с отступами. Все это выполняет редактор кода.

  • Алфавит и словарь языка PascalЯзыком называется совокупность символов, соглаш...

    17 слайд

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

  • Алфавит языка Pascal содержит:Все буквы латинского алфавита (прописные и стро...

    18 слайд

    Алфавит языка Pascal содержит:
    Все буквы латинского алфавита (прописные и строчные);
    десятичные (0,1, …, 9) и шестнадцатеричные цифры (0,1,…, 9,A,B,C,D,E,F);
    специальные символы +, -, *, /, =,>,<,[],(),@(коммерческая а),{}, . ,запятая,:,; ,’ (апостроф), №(номер), $, ^(тильда(каре)),пробел, знак подчеркивания.
    составные символы := (присваивание), <> (не равно), .. (диапазон значений), <=, >= (Примечание: в программе эти символы нельзя разъединить пробелами).

  • Слова в PascalНеделимые последовательности знаков алфавита образуют слова, от...

    19 слайд

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

  • Сохранение проектаПроект – это набор файлов, используя который компилятор соз...

    20 слайд

    Сохранение проекта
    Проект – это набор файлов, используя который компилятор создает исполняемый файл программы Exe-файл. В простейшем случае проект состоит из файлов:
    описания проекта dof-файл;
    файла главного модуля dpr-файл;
    файла ресурсов res-файл;
    файла описания формы dfm-файл;
    файла модуля формы cfg-файл.

Выбранный для просмотра документ 2.ppt

Скачать материал

Описание презентации по отдельным слайдам:

  • Занятие 2Структура программы. Типы данных. Основные операторы языка Pascal.Но...

    1 слайд

    Занятие 2
    Структура программы. Типы данных. Основные операторы языка Pascal.
    Новиков Алексей Константинович

    Преподаватель СПК МГППУ
    Программирование на Delphi

  • Структура программыProgram ИмяПрограммы; 
Uses ИмяМодуля1, ИмяМодуля2,…;
Labe...

    2 слайд

    Структура программы
    Program ИмяПрограммы;
    Uses ИмяМодуля1, ИмяМодуля2,…;
    Label ИмяМетки1, ИмяМетки1, …;
    Const
    ИмяКонстанты = ЗначениеКонстанты;
    Type ИмяТипа = ЗначениеТипа;
    Var ИмяПеременной: Тип;
    Begin
    {инструкция основной программы}
    end.

  • Раздел usesРаздел uses позволяет подключать стандартные и пользовательские би...

    3 слайд

    Раздел uses
    Раздел uses позволяет подключать стандартные и пользовательские библиотечные модули.
    Пример: uses Crt, Dos, MyLib.

  • Раздел описания метокПеред любым оператором языка Паскаль можно поставить мет...

    4 слайд

    Раздел описания меток
    Перед любым оператором языка Паскаль можно поставить метку, что позволяет выполнить прямой переход на этот оператор с помощью оператора перехода go to из любого места программы.
    Формат.
    Label <имя, …>;
    Пример.
    Label
    Metka1, Metka2, 111, Blok10;

  • Раздел описания меток (продолжение)После записи метки в разделе операторов сл...

    5 слайд

    Раздел описания меток (продолжение)
    После записи метки в разделе операторов следует двоеточие, показывающее компилятору, что идентификатор используется как метка:
    Label
    M1, M2; {описание меток}
    Begin
    . . .
    M1: <оператор> {Использование М1 в разделе операторов}
    . . .
    M2: <оператор> {Использование М2 в разделе операторов}
    End.

  • Раздел описания константКонстантами называются элементы данных, значения кото...

    6 слайд

    Раздел описания констант
    Константами называются элементы данных, значения которых в процессе выполнения программы не изменяются.
    В Pascal используются константы следующих видов: числовые, логические (булевские), символьные и строковые.
    Формат
    Const ИмяКонстанты = ЗначениеКонстанты;

  • Примеры записи константНапример:      
G = 9.8;             {вещественная кон...

    7 слайд

    Примеры записи констант
    Например:
    G = 9.8; {вещественная константа}
    L = maxint/2+1; {maxint – зарезервированная константа}
    nmax = 100; {целая константа}
    nmin = -nmax;
    s = ‘абвгд’; {строковая константа}
    kod = $123; {шестнадцатеричная константа}
    Name = ‘Петя’; {строковая константа}

  • Зарезервированные константы

    8 слайд

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

  • Раздел описания типов данных Тип данных может быть либо описан непосредственн...

    9 слайд

    Раздел описания типов данных
    Тип данных может быть либо описан непосредственно в разделе описания переменных, либо определяться идентификатором типа. Стандартные типы не требуют описания в отличие от типов, образованных пользователем.
    Формат:type <имя типа> =<значение типа>;
    Пример.
    Type
    LatLetter = (‘A’ . . ’z’);
    Days = 1 . . 31;
    Matr = array [1 . . 10] of integer;

  • Раздел описания переменных	Пример.
Type matr=array [1 . . n, 1 . . m] of real...

    10 слайд

    Раздел описания переменных
    Пример.
    Type matr=array [1 . . n, 1 . . m] of real;
    {задан тип mart- таблица с n строк и m столбцов}
    var martiha: mart;
    {задан массив marticha типа mart, который был объявлен ранее в разделе type}
    x1, x2: integer;
    svm: real;
    znak: char;
    flag: boolean;

  • Все типы данных, используемые в Turbo Pascal можно разделить на две большие г...

    11 слайд

    Все типы данных, используемые в Turbo Pascal можно разделить на две большие группы:
    скалярные (простые) – базовые типы, не содержащие в себе каких-либо компонентов;
    структурированные (составные) – строятся на базе скалярных.

  • Целостные типы данных

    12 слайд

    Целостные типы данных

  • Вещественные типы данныхReal (вещественный);
Single (с одинаковой точностью);...

    13 слайд

    Вещественные типы данных
    Real (вещественный);
    Single (с одинаковой точностью);
    Double (с двойной точностью);
    Extended (с повышенной точностью);
    Comp (сложный).

  • Символьный тип данныхСимвольный тип char определяется множеством значений код...

    14 слайд

    Символьный тип данных
    Символьный тип char определяется множеством значений кодовой таблицы ЭВМ. Каждому символу приписывается целое число в диапазоне от 0 до 255. Для кодировки используется код ASCII. Для размещения в памяти переменной символьного типа требуется 1 байт.

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

    15 слайд

    Логический тип данных
    Логическим или булевским называется тип данных, представляемых двумя значениями True (истина) и False (ложь). При описании величин этого типа используется слово boolean. При размещении в памяти переменной булевского типа требуется 1 байт.

  • Перечисляемый тип –тип данных, заданных списком принадлежащих ему значений. Ф...

    16 слайд

    Перечисляемый тип –
    тип данных, заданных списком принадлежащих ему значений. Формат:
    type <Имя типа> = (<значение1,…, значениеN>);
    var ИмяПеременной: ИмяТипа;
    Пример.
    type days = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
    var day: days;
    season: (winder, spring, summer, autumn);

  • Интервальный тип Формат.
type  
  =  . . Константа2&gt;;
var     ИмяПеременной:...

    17 слайд

    Интервальный тип
    Формат.
    type
    <Имя Типа> = <Константа1> . . Константа2>;
    var ИмяПеременной: ИмяТипа;
    Пример.
    const min=1; max=31;
    type days=min . . max;
    var rab_days, bol_days: days;

  • Структурированные типы данных:строки;
массивы;
множества;
записи;
файлы;
указ...

    18 слайд

    Структурированные типы данных:
    строки;
    массивы;
    множества;
    записи;
    файлы;
    указатели;
    процедурные типы.

  • МассивМассив - совокупность данных одного типа с общим для всех элементов име...

    19 слайд

    Массив
    Массив - совокупность данных одного типа с общим для всех элементов именем. Элементы массива пронумерованы, а обратиться к каждому из них можно по номеру. Номер элементов массива называется индексом, а сами элементы массива — переменные с индексами.
    Характеристики массива:
    тип:;
    размерность (ранг) — количество индексов массива;
    диапазон изменения индекса — определяется количеством элементов в массиве.

  • Описание массиваВ общем виде описание массива выглядит так:
Var ИмяМассива: a...

    20 слайд

    Описание массива
    В общем виде описание массива выглядит так:
    Var ИмяМассива: array [НижняяГраница . . ВерхняяГраница] of ТипЭлементов;
    Например:
    Var a: array [1..100] of integer;
    b: array [0..50] of char;
    c: array [-3..4] of boolean;
    Для двумерного массива:
    var a: array [1..3, 1..4] of integer;

  • Операции с массивамиДругое способ описания массива
type day = [ Monday . . Su...

    21 слайд

    Операции с массивами
    Другое способ описания массива
    type day = [ Monday . . Sunday];
    var temperature: array[day] of real;
    Типичными операциями при работе с массивами являются:
    Вывод массива;
    Ввод массива;
    Поиск максимального и минимального элемента массива;
    Поиск заданного элемента массива;
    Сортировка массива.

  • Описание строкVar ИмяСтроки: ключевое слово   ];
В [  ] помещается константа...

    22 слайд

    Описание строк
    Var ИмяСтроки: ключевое слово  ];
    В [ ] помещается константа целого типа, которая задает максимально допустимую длину строки.
    Например:
    1) Var Z : string;
    2) Var Z:string длина
    3) Var Stroka: string 255;

  • Процедуры и функции работы со строками1. delete (s, p, n,);
Удаление n символ...

    23 слайд

    Процедуры и функции работы со строками
    1. delete (s, p, n,);
    Удаление n символов строки s начиная c позиции p.
    2. insert (s1, s2, p);
    Вставка строки s1 в строку s2, начиная с позиции p.
    3. length (s) - вычисляет текущую длину в стволах строки s. Результат – целочисленный тип.
    n: =length (‘Иванов’); n=6
    m: =length (‘Невский проспект’); m =16

  • Процедуры и функции работы со строками (продолжение)4. copy (s,p,n) - выделяе...

    24 слайд

    Процедуры и функции работы со строками (продолжение)
    4. copy (s,p,n) - выделяет из строки s подстроку длиной n символов, начиная с позиции p.
    5. contact (s1, s2, …, sn) - выполняет сцепление строк s1, s2, … , sn в том порядке, в каком они указаны в списке параметров.
    6. pos ( s1, s2) - обнаруживает первое появление в строке s2 подстроки s1.

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

    25 слайд

    Процедуры преобразования данных числового типа в строку символов, а строку в число
    7. str (number, s) - преобразование числового значения величины number в строку s.
    8. val (s, number, code) - преобразует значение s в величину целочисленного или вещественного типа и помещает результат в number. Code - целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение code = 0, если ошибка обнаружена (строковое значение не переводится в цифровое), code будет содержать номер позиции 1-го ошибочного символа, а значение number не определено.

  • Примеры.S1: = ‘5.78’;   S2: = ‘5,78’;
Val (S1, num1,cod1);
Val (S2, num2, cod...

    26 слайд

    Примеры.
    S1: = ‘5.78’; S2: = ‘5,78’;
    Val (S1, num1,cod1);
    Val (S2, num2, cod2);
    в результате cod1 = 0; cod2 = 2- второй символ ошибочный

  • Условный оператор ifI вариант.
If      then
	begin
		эти инструкции выполняю...

    27 слайд

    Условный оператор if
    I вариант.
    If <Условие> then
    begin
    эти инструкции выполняются, если Условие истинно
    end
    else
    begin
    эти инструменты выполняются, если Условие ложно
    end;

  • Условный оператор ifII вариант
if          then 
  begin 

  end.

В последне...

    28 слайд

    Условный оператор if
    II вариант
    if <Условие> then
    begin

    end.

    В последнем случае говорят о сокращённой форме условного оператора.

  • Оператор CaseИнструкция case имеет вид:
case I of
M1, …, Mn: S1;
N1, …,Nn: S2...

    29 слайд

    Оператор Case
    Инструкция case имеет вид:
    case I of
    M1, …, Mn: S1;
    N1, …,Nn: S2;
    . . . . . . . .
    P1, …, Pn: SJ
    else K
    end;

  • Примерысase i of
1: z : = i+10;
2: z : = i+100;
3: z : = i+1000;
   end;
 cas...

    30 слайд

    Примеры
    сase i of
    1: z : = i+10;
    2: z : = i+100;
    3: z : = i+1000;
    end;
    case i of
    1..10 : writeln (‘Число’, i:4, ‘в диапазоне 1-10’);
    11..20: writeln (‘Число’,i:4, ‘в диапазоне 11-20’);
    21..30 : writeln (‘Число’, i:4, ‘в диапазоне 21-30’)
    else (‘Число вне диапазона’)
    end;
    выражение i может быть integer, char, boolean.

Выбранный для просмотра документ 3.ppt

Скачать материал

Описание презентации по отдельным слайдам:

  • Занятие 3Процедуры и функции.Новиков Алексей Константинович
Преподаватель СПК...

    1 слайд

    Занятие 3
    Процедуры и функции.
    Новиков Алексей Константинович
    Преподаватель СПК МГППУ
    Программирование на Delphi

  • Разработанные программистом самостоятельные программные блоки называются подп...

    2 слайд

    Разработанные программистом самостоятельные программные блоки называются подпрограммами пользователя. Они являются основой модульного программирования.

  • Достоинства подпрограмм: Программы, написанные с учетом подпрограмм, легче те...

    3 слайд

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

  • Все процедуры и функции подразделяются на две группы: встроенные и определенн...

    4 слайд

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

  • Стандартные функции

    5 слайд

    Стандартные функции

  • Стандартные функции (продолжение)

    6 слайд

    Стандартные функции (продолжение)

  • ПроцедураПроцедура - это независимая именованная часть программы, которую пос...

    7 слайд

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

  • ПроцедураФормат:
Procedure ИмяПроцедуры (ФормальныйПараметр1: Тип; Формальный...

    8 слайд

    Процедура
    Формат:
    Procedure ИмяПроцедуры (ФормальныйПараметр1: Тип; ФормальныйПараметр : Тип;…);
    Begin
    {инструкции исполнительной части программы}
    end;

  • Формат процедурыДля обращения к процедуре используется оператор вызова процед...

    9 слайд

    Формат процедуры
    Для обращения к процедуре используется оператор вызова процедуры. Он состоит из имени процедуры и списка фактических параметров, отделимых друг от друга запятыми и заключенных в круглые скобки. Список параметров отсутствует, если процедуре не предается никаких значений.
    Формат:
    ИмяПроцедуры (ФактическийПараметр1, ФактическийПараметр2,..);

  • Пример.Var d: integer; {дюйм}Sm: real; {см}
{процедура для вывода горизонталь...

    10 слайд

    Пример.
    Var d: integer; {дюйм}Sm: real; {см}
    {процедура для вывода горизонтальной линии}
    procedure horline;
    Var i: integer;
    Begin
    For i: =1 to 30 do write (‘--’);
    Writeln;
    End;

  • Пример{основная программа}
Begin   horline;
write ln (‘ дюймы    |   см   ‘),...

    11 слайд

    Пример
    {основная программа}
    Begin horline;
    write ln (‘ дюймы | см ‘),
    horline;{считаем и выводим строки таблицы}
    for d:=1 to 10 do begin
    sm:=2.54*d;
    writeln (‘|’, d: 13, ‘|’, sm: 14: 3, ‘|’);
    end;
    horline; end.

  • Пример № 2Усовершенствуем процедуру вывода линии, введя в нее два параметра:...

    12 слайд

    Пример № 2
    Усовершенствуем процедуру вывода линии, введя в нее два параметра: длину выводимой строки и символ, которым рисуется линия.
    Procedure horline (l:integer; s: char);
    {l--pазмер линии в символах;
    s--символ, которым рисуется линия}

  • Пример № 2Var i: integer;
Begin
For i:=1 to l do write (s);
Writeln;
End;
{Ос...

    13 слайд

    Пример № 2
    Var i: integer;
    Begin
    For i:=1 to l do write (s);
    Writeln;
    End;
    {Основная программа}
    Begin
    Horline (10,’/’);
    Horline (20,’*’);
    Horline (30, ‘#’); end.

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

    14 слайд

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

  • Procedure Имя (Var параметр1: тип1;  Var параметра2: тип2;…  Var параметрК: т...

    15 слайд

    Procedure Имя (Var параметр1: тип1; Var параметра2: тип2;… Var параметрК: типК);
    Var
    //здесь объявление локальных переменных;
    begin
    //здесь инструкция процедуры
    end;

  • Пример № 3Запишем процедуру, выполняющую возведение в целую неотрицательную с...

    16 слайд

    Пример № 3
    Запишем процедуру, выполняющую возведение в целую неотрицательную степень любого члена.
    1 Кб = 210 б; 1 Мб = 220 б; 1 Гб = 230 б.
    Procedure degree (x: real; n: byte; var res: real)
    Процедура возведения числа Х в целую неотрицательную степень N, результатом является параметр переменная res.

  • Var i: integer;
Begin res: =1;
For i:=1 to n do res: =res * x;
End;
{основная...

    17 слайд

    Var i: integer;
    Begin res: =1;
    For i:=1 to n do res: =res * x;
    End;
    {основная программа }
    var kb, mb, gb: real;
    begin
    degree (2,10, kb); degree (2, 20, kw); degree (2, 30, gb);
    writeln (kb, mb, gb); end.

  • Функция пользователяЕсли результатом подпрограммы является только одно значен...

    18 слайд

    Функция пользователя
    Если результатом подпрограммы является только одно значение, то имеет смысл оформить такую подпрограмму не в виде процедуры, а в виде функции. Функция пользователя аналогично процедуре, но имеются два отличия.

  • Отличия процедуры от функцииФункция передаёт в программу результат своей рабо...

    19 слайд

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

  • ФорматФормат:
Function ИмяФункции (ФормальныеПараметры): Тип результата;
{Опи...

    20 слайд

    Формат
    Формат:
    Function ИмяФункции (ФормальныеПараметры): Тип результата;
    {Описательная часть функции}
    Begin
    {инструкции исполнительной части функции}
    ИмяФункции: = Результат;
    End;

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

    21 слайд

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

  • Рассмотрим возведения числа в действительную степень.Function instep (a, b: r...

    22 слайд

    Рассмотрим возведения числа в действительную степень.
    Function instep (a, b: real): real);
    Begin
    If a>0 then instep: = exp(b*ln(a)) else instep: = 0;
    End;
    {основная программа }

  • var a, b, c;: real;
begin
writeln ( ‘Введите положительное основание и показа...

    23 слайд

    var a, b, c;: real;
    begin
    writeln ( ‘Введите положительное основание и показатель степени);
    readln (a,b);
    c: = instep (a,b);
    if с<>0 then writeln (a, ‘ в степени ’, b, ‘=’, c);
    else writeln (‘основание должно быть положительным‘);
    end.

  • Список формальных параметров может включать в себя: параметры – значения, за...

    24 слайд

    Список формальных параметров может включать в себя:
    параметры – значения, за которыми указывается их тип;
    параметры – переменные, перед которыми должно стоять служебное слово var и за которыми указывается их тип;
    параметры – процедуры
     параметры – функции
    нетипированные параметры

  • Например: Function kvadru (a, b, c: real; var X1, X2: real): Integer ;

    25 слайд

    Например:
    Function kvadru (a, b, c: real; var X1, X2: real): Integer ;

  • Соответствие между формальными и фактическими параметрами: формальных и факти...

    26 слайд

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

  • Параметры – значения используются только для передачи исходных данных из осно...

    27 слайд

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

  • Каждому формальному параметру, объявленному как параметр – переменная, должен...

    28 слайд

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

Выбранный для просмотра документ 4.ppt

Скачать материал

Описание презентации по отдельным слайдам:

  • Занятие 4Операции ввода/выводаНовиков Алексей Константинович

Преподаватель С...

    1 слайд

    Занятие 4
    Операции ввода/вывода
    Новиков Алексей Константинович

    Преподаватель СПК МГППУ
    Программирование на Delphi

  • Особенность файлов:Каждому файлу при создании указывается имя, по которому об...

    2 слайд

    Особенность файлов:
    Каждому файлу при создании указывается имя, по которому обрабатывающая его программа может отличить один файл от другого. Одна программа может работать одновременно с несколькими файлами.
    Файл содержит элементы только одного типа или тип его компонентов не оговаривается
    Длина файла – это число его элементов. При создании файла длина файла не задается заранее и ограничивается только емкостью устройств внешней памяти.

  • Виды файлов в Pascal 	В Pascal имеются три вида файлов: 
текстовый файл (опре...

    3 слайд

    Виды файлов в Pascal
    В Pascal имеются три вида файлов:
    текстовый файл (определяется типом text);
    типизированный файл (задается предложением file of Тип);
    не типизированный файл (определяется типом file).

  • Описание файловой переменнойtype
	ИмяТипа1=text;
	ИмяТипа2=file of Тип;
	ИмяТ...

    4 слайд

    Описание файловой переменной
    type
    ИмяТипа1=text;
    ИмяТипа2=file of Тип;
    ИмяТипа3= file;
    Var
    ИмяПеременной1: ИмяТипа1;
    ИмяПеременной2: ИмяТипа2;
    ИмяПеременной3: ИмяТипа3;

  • или
Var
	ИмяПеременной1= text;
	ИмяПеременной2=file of;
	ИмяПеременной3=file;...

    5 слайд

    или
    Var
    ИмяПеременной1= text;
    ИмяПеременной2=file of;
    ИмяПеременной3=file;
    Например:
    type fak= text; файловый тип
    var a, b, x: fak, файловые переменные
    или
    var a, x: text; с: file;

  • Виды файловФайлом последовательного доступа называется файл, к элементам кото...

    6 слайд

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

  • Операции при работе с файлами	При работе с файлами программа должна провести...

    7 слайд

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

  • Процедуры и функции, применимые для файлов любых типовAssignFile;
Reset;
Rewr...

    8 слайд

    Процедуры и функции, применимые для файлов любых типов
    AssignFile;
    Reset;
    Rewrite;
    Close;
    Rename;
    Erase;
    Ioresult;
    Eof.


  • Процедура AssignFileДля того, чтобы программа могла выводить данные в файл ил...

    9 слайд

    Процедура AssignFile
    Для того, чтобы программа могла выводить данные в файл или считывать данные из файла необходимо указать конкретный файл, то есть связать файловую переменную с конкретным файлом.
    Описание процедуры AssignFile выглядит следующим образом:
    AssignFile (ФайловаяПеременная, ИмяФайла);
    Имя файла должно представлять собой выражение строкового типа.

  • Примеры:
AssignFile (f, ‘a:\result.txt’);
AssignFile (f, ‘c:\students\ivanov\...

    10 слайд

    Примеры:
    AssignFile (f, ‘a:\result.txt’);
    AssignFile (f, ‘c:\students\ivanov\korni.txt’);
    fname: =(‘otchet.txt’);
    AssignFile (f, fname);

  • Процедура resetПроцедура reset открывает файл для ввода (чтения) и ставит ука...

    11 слайд

    Процедура reset
    Процедура reset открывает файл для ввода (чтения) и ставит указатель на начало первого элемента файла. Если при чтении файла возникает необходимость вернуть указатель в его начало, достаточно будет просто применить процедуру reset к этому файлу еще раз.
    Reset (ФайловаяПеременная);
    Например: AssignFile (f, ‘c:\data.txt’);
    Reset (f);
    Файловая переменная должна быть связана с конкретным файлом. При отсутствии внешнего файла с указанием имени возникает сообщение об ошибке.

  • Процедура rewriteПроцедура rewrite (ФайловаяПеременная) создаёт и открывает н...

    12 слайд

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

  • Процедура CloseПроцедура Close (ФайловаяПеременная);
Позволяет закрыть файл,...

    13 слайд

    Процедура Close
    Процедура Close (ФайловаяПеременная);
    Позволяет закрыть файл, после того как в программе будет завершена его обработка. В противном случае может произойти потеря данных. При закрытии внешний файл обновляется, его автоматически завершает символ конца файла.

  • Процедура renameПроцедура rename (ФайловаяПеременная, ИмяФайла) используются...

    14 слайд

    Процедура rename
    Процедура rename (ФайловаяПеременная, ИмяФайла) используются для того, чтобы переименовать неоткрытый внешний файл любого типа. Новое имя задаётся строкой ИмяФайла.

  • Процедура eraseПроцедура erase (ФайловаяПеременная) удаляет неоткрытый внешни...

    15 слайд

    Процедура erase
    Процедура erase (ФайловаяПеременная) удаляет неоткрытый внешний файл любого типа, задаваемый параметром Файловая Переменная.
    Обратите внимание! Процедуры rename и erase нельзя использовать для открытых файлов.

  • Функция ioresultФункция ioresult проверяет существование файла на диске. Как...

    16 слайд

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

  • Функция eofЛогическая функция eof (ФайловаяПеременная) выполняет проверку, не...

    17 слайд

    Функция eof
    Логическая функция eof (ФайловаяПеременная) выполняет проверку, не достигнут ли конец файла (End Of File) при чтении из него данных. Функция возвращает true, если конец файла обнаружен, и указатель текущей позиции находится в конце файла за его последним символом. Это значит, что последний элемент в файле уже прочитан, или файл после открытия оказался пуст. В противном случае функция выполняет false.

  • Текстовый файлТекстовый файл – это последовательность символов char, сгруппир...

    18 слайд

    Текстовый файл
    Текстовый файл – это последовательность символов char, сгруппированных в строки, заканчивающиеся специальным символом end. В конце любого файла, в том числе и текстового, ставится символ #26 (SUB) – конец файла eof.
    Объявление текстовых файлов в программе выглядит так:
    Type ИмяТипа = text;
    var ФайловаяПеременная: Имя Типа;
    или
    var ФайловаяПеременная: Text File;
    Файловая Переменная – имя файловой переменной.

  • Процедуры и функции для текстовых файлов.Процедура Append (ФайловаяПеременная...

    19 слайд

    Процедуры и функции для текстовых файлов.
    Процедура Append (ФайловаяПеременная) открывает существующий файл для дозаписи - примененима только для текстовых файлов. Указатель становится в конце файла, куда и будут дописываться новые компоненты. Файловая Переменная должна быть связана с внешним файлом с помощью процедуры assign.
    Если файл ранее уже был открыт с помощью reset или rewrite, использование append приведёт к закрытию этого файла и открытию его вновь для добавления.

  • Процедур write, writelnВывод в текстовый файл осуществляется при помощи проце...

    20 слайд

    Процедур write, writeln
    Вывод в текстовый файл осуществляется при помощи процедур write, writeln. Инструкция процедуры записи выглядит так:
    write (ФайловаяПеременная, y1, y2, …, yN);
    writeln (ФайловаяПеременная, y1, …, yN);
    writeln (ФайловаяПеременная);
    где у1, у2, …, уN – список вывода, то есть имена переменных, значения которых нужно вывести в файл, начиная с позиции текущего указателя. Список вывода содержит выводимые выражения разных типов (integer, real, char, string, boolean). Файл должен быть открыт для вывода.

  • Процедуры read, readln Чтение из файла выполняется при помощи read и readln....

    21 слайд

    Процедуры read, readln
    Чтение из файла выполняется при помощи read и readln.
    Процедура чтения
    read (ФайловаяПеременная x1, x2, …, xN);
    readln (ФайловаяПеременная x1, x2, …, xN);
    readln (ФайловаяПеременная);
    x1, x2, …, xN – список ввода, содержащий имена переменных разных типов (integer, real, char, string), значения которых процедура read считывает из текстового файла, начиная чтение с элемента, на который установлен текущий указатель. ФайловаяПеременная имеет тип text.

  • ПримерНапример, если текстовый файл а:\ data.txt содержит следующие строки:
2...

    22 слайд

    Пример
    Например, если текстовый файл а:\ data.txt содержит следующие строки:
    23 15
    45 28
    56 71
    то в результате выполнения инструкций:
    Assignfile (f, ‘а:\ data.txt’);
    Reset (f); // открытие для чтения
    read (f, a);
    read (f, b, c.);
    read (f, d);
    значения переменных будут следующими a=23, b=15, c=45, d=28,

  • а в результате выполнения инструкций: 
Assignfile (f, ‘а:\ data.txt’); 
Reset...

    23 слайд

    а в результате выполнения инструкций:
    Assignfile (f, ‘а:\ data.txt’);
    Reset (f); // открытие для чтения
    readln (f, a);
    readln (f, b. c);
    readln (f, d)
    значения переменных будут а=23; b=45; c=28; d=56.

  • Функция eolnДля контроля конца строки используется функция eoln (Файловая Пер...

    24 слайд

    Функция eoln
    Для контроля конца строки используется функция eoln (Файловая Переменная), принимающая true, если указатель текущей позиции находится на маркере конца строки (CR/LF), иначе - false. Если eof – true, то и eoln – true.

  • Варианты выбора буферной переменной:Массив или связанный список строк, в кото...

    25 слайд

    Варианты выбора буферной переменной:
    Массив или связанный список строк, в который будет считан сразу весь файл;
    Одна переменная строкового типа, в которую будут считываться по очереди строки файла;
    Одна переменная символьного типа, в которую по очереди будут считываться символы.

  • Типизированные файлыТипизированный файл состоит из последовательности элемент...

    26 слайд

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

  • Объявление типизированных файловType ИмяТипа = file of Тип
Var ФайловаяПереме...

    27 слайд

    Объявление типизированных файлов
    Type ИмяТипа = file of Тип
    Var ФайловаяПеременная: ИмяТипа;
    Или
    Var ФайловаяПеременная =file of Тип;

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

    28 слайд

    При обработке таких файлов могут использоваться некоторые дополнительные процедуры и функции, ряд известных нам общих имеют свои особенности.
    Открытия типизированного файла можно произвести стандартными способами: reset и rewrite.
    Следует знать:
    типизированные и нетипизированные файлы всегда допускают одновременно как чтение, так и запись, независимо от того, были ли они открыты с помощью reset или rewrite;
    для чтения и записи типизированного файла применяются только процедуры reset или write. Использование readln и writeln – запрещено.

  • Процедуры и функции для типизированных файловФункция filepos (ФайловаяПеремен...

    29 слайд

    Процедуры и функции для типизированных файлов
    Функция filepos (ФайловаяПеременная) возвращает целое число – текущую позицию в файле. Функцию нельзя использовать для текстовых файлов. Файл должен быть открыт. Если текущей позицией является начало файла – его первый компонент, например, после выполнения reset, то функция возвращает значение ноль. При переходе от одного элемента к другому его значение увеличивается на единицу. Но номер физической записи будет по-прежнему на единицу меньше номера логической записи, хотя их общее число совпадает. Для случая конца файла, когда eof возвращает true, filepos возвращает номер последнего элемента файла (совпадает со значением функции filesize). Результат – longint.

  • Функция filesizeФункция filesize (ФайловаяПеременная) возвращает число элемен...

    30 слайд

    Функция filesize
    Функция filesize (ФайловаяПеременная) возвращает число элементов файла, но не текущий размер файла в байтах. Если файл пуст, возвращает 0. функцию нельзя использовать для текстовых файлов. Файл должен быть открыт. Результат – longint.

  • Процедура seekПроцедура seek (ФайловаяПеременная, НомерПозиции)  перемещает у...

    31 слайд

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

  • Процедура truncateПроцедура truncate (ФайловаяПеременная) усекает размер файл...

    32 слайд

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

  • Нетипизированные файлыПри выполнении копирования или обработке баз данных при...

    33 слайд

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

  • Объявление нетипизированных файлов    type ИмяТипа = file;
    var ФайловаяПе...

    34 слайд

    Объявление нетипизированных файлов
    type ИмяТипа = file;
    var ФайловаяПеременная: ИмяТипа;
    или
    var ФайловаяПеременная = file ;

  • За исключением процедуры read и rewrite для всех нетипизированных файлов допу...

    35 слайд

    За исключением процедуры read и rewrite для всех нетипизированных файлов допускается использование любой стандартной процедуры, которая пригодна для типизированных файлов. Вместо процедур read и write здесь используются соответственно процедуры blockread (считывает из файла в переменную одну или более записей) и block write (записывает одну или более запись из переменной в файл), которые пересылать данные с высокой скоростью.

Выбранный для просмотра документ 5.ppt

Скачать материал

Описание презентации по отдельным слайдам:

  • Занятие 5Динамические структуры данныхНовиков Алексей Константинович

Препода...

    1 слайд

    Занятие 5
    Динамические структуры данных
    Новиков Алексей Константинович

    Преподаватель СПК МГППУ
    Программирование на Delphi

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

    2 слайд

    Указатель
    Обычно переменная хранит некоторые данные. Однако существуют переменные, которые ссылаются на другие переменные. Такие переменные называются указатели.
    Указатель – это переменная, значением которой является адрес другой переменной или структуры данных.
    Более точно определить указатель как адрес 1-го байта области памяти, которую занимает переменная.

  • Типизированный указатель – это указатель на переменную определенного типа, на...

    3 слайд

    Типизированный указатель – это указатель на переменную определенного типа, например, целого, строкового или типа массива.
    Нетипизированный – это адрес первого байта области памяти, в которой может размещаться любая информация вне зависимости от ее типа.
    Var Имя:^Тип;
    Где имя – это имя переменной – указателя; тип – это тип переменной, на которую указывает переменная – указатель, значок ^ показывает, что объявляемая переменная является указателем.

  • Var Имя:^Тип; 
Где имя – это имя переменной–указателя; 
	тип – это тип переме...

    4 слайд

    Var Имя:^Тип;
    Где имя – это имя переменной–указателя;
    тип – это тип переменной, на которую указывает переменная–указатель;
    значок ^ показывает, что объявляемая переменная является указателем.

  • Примеры объявления указателейVar  P1:^integer;		 {указатель на 		переменную ц...

    5 слайд

    Примеры объявления указателей
    Var P1:^integer; {указатель на переменную целого типа}
    P2:^real; {указатель на переменную вещественного типа}
    P3:^string; {указатель на строку}
    P4:pointer; {нетипизированный указатель}

  • Тип pointer совместим со всеми типами указателей.
Тип переменной, на которую...

    6 слайд

    Тип pointer совместим со всеми типами указателей.
    Тип переменной, на которую ссылается указатель, называют типом указателя.
    P1:^integer, то говорят «P1 – указатель целого типа».
    В начале работы программы переменная – указатель «ни на что не указывает». В этом случае говорят, что значение указателя равно nil.

  • Идентификатор nilможно использовать в инструкциях присваивания и в условиях....

    7 слайд

    Идентификатор nil
    можно использовать в инструкциях присваивания и в условиях. Например, если переменные P1 и P2 объявлены как указатели, то инструкция P1:=nil; устанавливает значение переменной, а инструкция if P2=nil then ShowMessage (‘указатель P2 не инициализирован!’);
    проверяет, инициализирован ли указатель P2.

  • Указателю можно присвоить значение другого указателя при условии, что они явл...

    8 слайд

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

  • ПримерНапример, если P указывает на переменную i, то в результате выполнения...

    9 слайд

    Пример
    Например, если P указывает на переменную i, то в результате выполнения инструкции P^:=5; значение переменной i будет равно 5. В приведенном примере значок ^ показывает, что значение 5 присваивается переменной, на которую указывает переменная – указатель.

  • Динамическая переменнаяДинамической переменной называется переменная, память...

    10 слайд

    Динамическая переменная
    Динамической переменной называется переменная, память для которой выделяется во время работы программы.
    Так как бывают два разных типа указателей, то в соответствии с ними бывают две разные процедуры создания динамических переменных
    для типизированных указателей – new (p);
    для нетипизированных указателей – getmem (p, size).
    Размер size не может превышать 54 килобайта.

  • При выполнении процедуры new  в динамической памяти выделяется столько байтов...

    11 слайд

    При выполнении процедуры new в динамической памяти выделяется столько байтов сколько требуется для хранения переменной заданного типа. Для нетипизированных указателей в памяти выделяется size байтов, а указатель получает значение адреса первого байта выделенной области.
    Обратите внимание – динамические переменные не имеют собственного имени, в процедурах выделения памяти задается не имя переменной, а имя указателя.

  • При выделении динамической памяти полезными являются следующие функции:
memav...

    12 слайд

    При выделении динамической памяти полезными являются следующие функции:
    memavail – возвращает общий размер свободной памяти в байтах;
    maxavail – возвращает размер наибольшего непрерывного участка свободной памяти.

  • Процедуры «уничтожения динамических переменных»Для типизированных указателей...

    13 слайд

    Процедуры «уничтожения динамических переменных»
    Для типизированных указателей можно использовать:
    dispose (p) – освобождает память, на которую указывал p;
    mark (p) и release (p) – эти две процедуры используются только вместе и позволяют сразу очистить целую область памяти.
    При этом процедура mark (p) запоминает в указателе p адрес начала области динамической памяти, а процедура release (p) очищает всю память, начиная с адреса p. Процедура mark обычно помещается в начало программы, release, наоборот, в конец.

  • Процедуры «уничтожения динамических переменных»В  случае нетипизированных ука...

    14 слайд

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

  • Динамические переменные используются1) для работы с массивными больших размер...

    15 слайд

    Динамические переменные используются
    1) для работы с массивными больших размеров;
    2) для работы с особыми структурами переменных размеров, которые получили название динамические структуры данных (динамический список данных - ДСД). (Именно они представляют наибольший интерес для программистов).

  • Особенности ДСД 	Динамические списки данных были предложены для быстрой обраб...

    16 слайд

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

  • Память, занимаемая структурой, не представляет собой непрерывную область, т.е...

    17 слайд

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

  • Связанный списокСамый распространенный ДСД – связанный список. Каждый элемент...

    18 слайд

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

  • Типовые действия со списками:добавить новый узел непосредственно перед заданн...

    19 слайд

    Типовые действия со списками:
    добавить новый узел непосредственно перед заданным узлом;
    удалить заданный узел;
    объединить два (или более) линейных списка в один список;
    разбить линейный список на два (или более) списка;
    сделать копию списка;
    выполнить сортировку узлов списка в возрастающем порядке по некоторым полям в узлах;
    найти в списке узел с заданным значением в некотором поле.

  • Стек, очередь, декОчень часто встречаются линейные списки, в которых добавлен...

    20 слайд

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

Выбранный для просмотра документ 6.ppt

Скачать материал

Описание презентации по отдельным слайдам:

  • Занятие 6РекурсияНовиков Алексей Константинович

Преподаватель СПК МГППУ
Прог...

    1 слайд

    Занятие 6
    Рекурсия
    Новиков Алексей Константинович

    Преподаватель СПК МГППУ
    Программирование на Delphi

  • Рекурсивный свод правилНайдите в словаре слово.
Прочитайте статью, объясняющу...

    2 слайд

    Рекурсивный свод правил
    Найдите в словаре слово.
    Прочитайте статью, объясняющую значение этого слова.
    Если объяснение понятно, то есть статья не содержит слов, вызывающих затруднение, продолжите чтение с последнего прерванного места.
    Если в объяснении встречается незнакомое слово, то прекратите чтение, запомните место прекращения и выясните значение слова, придерживаясь правилам 1-4.

  • Определение рекурсииРекурсия – это такой способ организации вычислительного п...

    3 слайд

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

  • ПримерРекурсивное определение суммы первых n натуральных чисел. Сумма первых...

    4 слайд

    Пример
    Рекурсивное определение суммы первых n натуральных чисел. Сумма первых n натуральных чисел равна сумме первых (n-1) натуральных чисел плюс n, а сумма первого числа равна 1. Или Sn=S n-1+n;
    S1=1.

  • Рекурсия полезна, прежде всего, в случаях, когда основную задачу можно раздел...

    5 слайд

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

  • ИнтерацияИнтерация – повторяемое выполнение некоторых действий до тех пор, по...

    6 слайд

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

  • Особенности рекурсии:Использование рекурсивной формы организации алгоритма об...

    7 слайд

    Особенности рекурсии:
    Использование рекурсивной формы организации алгоритма обычно выглядит изящнее интерационной и дает более компактный текст программы;
    Недостатки рекурсии:
    Если глубина рекурсии очень велика, то программа будет требовать во время выполнения много памяти – это может привести к переполнению стека;
    Рекурсивные алгоритмы, как правило, выполняются более медленно;
    При рекурсивном программировании велика вероятность ошибок, способных вынудить программиста к перезагрузке компьютера.

  • Пример Рассмотрим листинг программы, которая вычисляет сумму первых n членов...

    8 слайд

    Пример
    Рассмотрим листинг программы, которая вычисляет сумму первых n членов гармонического ряда 1+1/2+1/3+... с использованием процедуры sumset, предусматривающей традиционное накопление суммы в цикле for и процедуры recursion.

  • Var n: integer;
	S: real;
Procedure sumset (n: integer; var sum: real); var i...

    9 слайд

    Var n: integer;
    S: real;
    Procedure sumset (n: integer; var sum: real); var i: integer;
    Begin
    Sum:=0;
    For i:=1 to n do sum:=sum+1/i;
    End;

  • Procedure recursion (n: integer; var sum: real);
Begin
	If n=1 then sum:=1+su...

    10 слайд

    Procedure recursion (n: integer; var sum: real);
    Begin
    If n=1 then sum:=1+sum
    Elsebegin
    Sum:=sum+1/n;
    Recursion (n-1,sum);
    End;
    End;

  • Begin
Writeln (‘Введите количество суммированных членов ряда’); Readln (n);
S...

    11 слайд

    Begin
    Writeln (‘Введите количество суммированных членов ряда’); Readln (n);
    Sumset (n, s);
    Writeln (‘Сумма членов ряда равна (цикл)’,s);
    S:=0; recursion (n, s);
    Writeln (‘Сумма членов ряда равна (рекурсия)’,s); end.

  • Пример нахождения чисел ряда Фибоначчи с обычной процедурой.Procedure fibo (n...

    12 слайд

    Пример нахождения чисел ряда Фибоначчи с обычной процедурой.
    Procedure fibo (n: integer);
    var fn, fn1, fn2, k: integer;
    begin
    fn1:=1; fn:=0;
    for k:=1 to n do begin
    fn2:=fn1; fn1:=fn;
    fn:=fn1+fn2;
    writeln (fn);
    end;
    end;

  • {основная программа}
var 
n: integer;
begin
write  (‘Введите число членов ряд...

    13 слайд

    {основная программа}
    var
    n: integer;
    begin
    write (‘Введите число членов рядов Фибоначчи ’);
    readln(n),
    fibo(n);
    end.

  • F-1=1, F0=0.
Если превратить фиктивные члены в параметры, то можно получить...

    14 слайд

    F-1=1, F0=0.
    Если превратить фиктивные члены в параметры, то можно получить процедуру, печатающую n членов ряда, идущих за двумя данными членами. Модифицируем процедуру с fibo, превратив переменные fn1 и fn в параметры, не приписывая им начальных значений.

  • {рекурсивная процедура вычисления и печати чисел Фибоначчи}
Procedure fibonac...

    15 слайд

    {рекурсивная процедура вычисления и печати чисел Фибоначчи}
    Procedure fibonachi (n, fn1, fn: integer);
    begin if n>o then begin writeln (fn1+fn);
    fibonachi (n-1, fn, fn1+fn);
    end;
    end;

  • {основная программа}
var n, a, b: integer;
begin 
write (Введите число членов...

    16 слайд

    {основная программа}
    var n, a, b: integer;
    begin
    write (Введите число членов ряда Фибоначчи:);
    readln (n);
    write (‘…следующих за двумя данными членами:’)
    readln (a, b); fibonachi (n, a, b);
    end.

  • Если пользователь захочет вывести на экран n=10 первых членов ряда Фибоначчи,...

    17 слайд

    Если пользователь захочет вывести на экран n=10 первых членов ряда Фибоначчи, то он должен указать в качестве а и b два фиктивных члена - 1 и 0 соответственно. Если нужно вывести 10 членов ряда, начиная с 6-го, необходимо вывести для n, a, b числа 10, 3 и 5 соответственно.

Краткое описание документа:

Презентации, посвящённые программированию в среде Borlanr Delphi. Это мой авторский материал. Можно начинать изучение программирования с этих лекций, там описано всё с самого начала, с самых основ, вроде типов данных и компонентов. И заканчивается довольно сложными вещами, например рекурсивными процедурами. Данный материал можно использовать на занятиях по информатике в старшей школе или колледже.довольно сложными вещами, вроде рекурсивных процедур. Данный материал можно использовать на уроках информатики в старшей школе или на занятиях по програмированию, к примеру, в колледже. Я по этим лекциям веду занятия по предмету Основы програмирования в своём коллдже.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 013 408 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 26.01.2013 7712
    • RAR 88.7 кбайт
    • 46 скачиваний
    • Рейтинг: 5 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Новиков Алексей Константинович. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    • На сайте: 7 лет и 5 месяцев
    • Подписчики: 0
    • Всего просмотров: 9072
    • Всего материалов: 2

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой