Скачать презентацию Язык программирования Pascal 1 Тема Основы алгоритмизации Скачать презентацию Язык программирования Pascal 1 Тема Основы алгоритмизации

к докладу.ppt

  • Количество слайдов: 25

Язык программирования Pascal 1 Язык программирования Pascal 1

Тема «Основы алгоритмизации» 1 Алгоритмы и исполнители 2 Способы записи алгоритмов 3 Объекты алгоритмов Тема «Основы алгоритмизации» 1 Алгоритмы и исполнители 2 Способы записи алгоритмов 3 Объекты алгоритмов 4 Алгоритмическая конструкция «следование» . 5 Алгоритмическая конструкция «ветвление» . Полная форма ветвления. 6 Сокращённая форма ветвления. 7 Алгоритмическая конструкция «повторение» . Цикл с заданным условием продолжения работы. 8 Цикл с заданным условием окончания работы. 9 Цикл с заданным числом повторений. 10 Конструирование алгоритмов 11 Алгоритмы управления 12 Обобщение и систематизация основных понятий темы «Основы алгоритмизации» . Проверочная работа 2

Тема «Начала программирования» 1 Общие сведения о языке программирования Паскаль 2 Организация ввода и Тема «Начала программирования» 1 Общие сведения о языке программирования Паскаль 2 Организация ввода и вывода данных 3 Программирование как этап решения задачи на компьютере 4 Программирование линейных алгоритмов 5 Программирование разветвляющихся алгоритмов. Условный оператор. 6 Составной оператор. Многообразие способов записи ветвлений. 7 Программирование циклов с заданным условием продолжения работы. 8 Программирование циклов с заданным условием окончания работы. 9 Программирование циклов с заданным числом повторений. 10 Различные варианты программирования циклического алгоритма. 11 Одномерные массивы целых чисел. Описание, заполнение, вывод массива. 12 Вычисление суммы элементов массива 13 Последовательный поиск в массиве 14 Сортировка массива 15 Запись вспомогательных алгоритмов на языке Паскаль 16 Обобщение и систематизация основных понятий темы «Начала программирования» . Проверочная работа. 3

Общая структура программ program name_of_program; {Раздел описаний} begin (* Тело программы *) end. 4 Общая структура программ program name_of_program; {Раздел описаний} begin (* Тело программы *) end. 4

Подразделы раздела описаний Обозначение Служебное слово Метки label Типы type Переменные var Константы const Подразделы раздела описаний Обозначение Служебное слово Метки label Типы type Переменные var Константы const Процедуры procedure Функции function 5

Типы переменных Обозначение Тип Целые числа integer, byte Вещественные числа real Символы char Строки Типы переменных Обозначение Тип Целые числа integer, byte Вещественные числа real Символы char Строки string Массивы array Логические переменные boolean Пример: Var a, b: integer; x: real; d: char; 6

Константы Const Pi = 3. 1415; Комментарии Способ 1: (* комментарий внутри обычных скобок Константы Const Pi = 3. 1415; Комментарии Способ 1: (* комментарий внутри обычных скобок со знаком умножения *) Способ 2: { комментарий внутри фигурных скобок } 7

Линейный алгоритм: program <имя программы>; const <список постоянных значений>; var <описание переменных>; begin <оператор Линейный алгоритм: program <имя программы>; const <список постоянных значений>; var <описание переменных>; begin <оператор 1>; <оператор 2>; … <оператор n> end. 8

Оператор присваивания: <имя переменной> : = <выражение> a: =8; c: =a+b; 9 Оператор присваивания: <имя переменной> : = <выражение> a: =8; c: =a+b; 9

Организация вывода данных write (<выражение 1>, <выражение 2>, …<выражение. N>) write (‘площадь прямоугольника =‘ Организация вывода данных write (<выражение 1>, <выражение 2>, …<выражение. N>) write (‘площадь прямоугольника =‘ , s); writeln (a); { вывод и переход на новую строку} Вывод целых чисел write ( 1, 2 , 5); write ( 1, ‘ ‘ , 2 , ’ ‘, 5); write ( 1, ‘, ‘ , 2 , ’ , ‘, 5); write ( 1: 3, 2: 5 , 5: 3); 125 1, 2, 5 1 2 3 a: =22/7 write ( a ); write ( a: 4: 3 ); 3. 14285714 3. 1 E+000 3. 143 10

Организация ввода данных read ( < имя переменной_1>, < имя переменной_n>); Пример: var i, Организация ввода данных read ( < имя переменной_1>, < имя переменной_n>); Пример: var i, j: integer, x: real, a: char; { i=1 j=2 x=2. 5 a=‘red’ } read ( i, j, x, a); 1 2 2. 5 r 1, 2 1 2. 5, r 2. 5 r 11

program prog_1; const pi=3. 14; var r, c, s: real; begin writeln (‘введите радиус’, program prog_1; const pi=3. 14; var r, c, s: real; begin writeln (‘введите радиус’, r); {вывод сообщения} readln (r); {вводим радиус с клавиатуры} C: =2*pi*r; s: =pi*r*r; Writeln ( ‘C=‘, c); Writeln (‘S=‘, s) end. 12

Стандартные функции языка Pascal Наименование функции Тип аргумента значения Abs(x) integer real Результат вычисления Стандартные функции языка Pascal Наименование функции Тип аргумента значения Abs(x) integer real Результат вычисления integer real Абсолютное значение "х" real квадратный корень из "х" Sqrt(x) real Sqr(x) integer real значение "х" в квадрате ( x 2 ) Power(a, x) real значение "a" в степени "x" ( ax ) Frac(x) real дробная часть "х" Int(x) real целая часть "х" real случайное число от до 1 integer случайное число от 0 до x Random(x) integer 13

операции с целыми числами: + - * / - арифметические действия x: = a операции с целыми числами: + - * / - арифметические действия x: = a mod b - получение целого частного от деления a на b у: = с mod d - получение целого остатка при делении c на d Операции с символьными и строковыми переменными: ord (a) - получить код символа { указать перед этим a: =’S’ } chr (b) – символ по его коду a: =b+c – соединение строковых переменных значение логических переменных: true и false причём true > false логические функции and (и ) or (или) not (не) 14

Общий вид условного оператора if (условие) then begin {Серия команд 1} end else begin Общий вид условного оператора if (условие) then begin {Серия команд 1} end else begin {Серия команд 2} end; Неполный условный оператор if (условие) then begin {Команда 1} {Команда 2} {…} end 15

a<b Цикл с параметром for k : = a to b do begin {Команда a

a<b Цикл с параметром for k : = b downto a do begin {Команда a

Цикл с предусловием while (условие выполнения цикла) do begin {Команда 1; } {Команда 2; Цикл с предусловием while (условие выполнения цикла) do begin {Команда 1; } {Команда 2; } … {Команда n; } end; Особенности: Цикл может не выполниться ни разу. При неправильно составленном алгоритме цикл может стать бесконечным. 18

Цикл с постусловием repeat {Команда 1; } {Команда 2; } … {Команда n; } Цикл с постусловием repeat {Команда 1; } {Команда 2; } … {Команда n; } until (Условие выхода из цикла); Особенности Цикл выполнится минимум 1 раз. При неправильно составленном алгоритме цикл может стать бесконечным. Служебные слова begin/end для ограничения тела цикла не используются. 19

Выбор цикла if (Известно количество повторений) then {Используйте цикл FOR} else if(Известно что цикл Выбор цикла if (Известно количество повторений) then {Используйте цикл FOR} else if(Известно что цикл будет выполняться как минимум один раз)then {Используйте цикл REPEAT} else {Используйте цикл WHILE} 20

Описание массива var <имя_массива>: array [диапазон индексов] of <тип элементов>; Пример: var a: array Описание массива var <имя_массива>: array [диапазон индексов] of <тип элементов>; Пример: var a: array [1. . 10] of integer; Заполнение массива for i=1 to 10 do read (a[i]) {ввод с клавиатуры} randomize; for i=1 to 10 do {заполнение случайными числами} a[i]: =random(100); Вывод массива на экран for i=1 to 10 do write( a[i], ‘ ’); { в строку} for i=1 to 10 do writeln ( ‘a[, i, ‘]=’, a[i] ); { столбцом} 21

Вычисление суммы элементов массива s: =0 for i: =1 to n do s: =s+a[i]; Вычисление суммы элементов массива s: =0 for i: =1 to n do s: =s+a[i]; Поиск максимального элемента imax: =1 for i: =2 to n do If a[i] > a[imax] then imax: =I; write (a[imax]) 22

Определение номера элемента, равного заданному числу n: =0 for i=1 to 10 do If Определение номера элемента, равного заданному числу n: =0 for i=1 to 10 do If a[i] =50 then n: =I; If n=0 then write ( ‘Нет’) else write (i) Количество элементов, удовлетворяющих условию k: =0 for i=0 to n do If a[i] >10 then k: =k+1; write ( ‘k=‘, k) 23

function name_function ([входные данные]) : [тип возвращаемого значения]; {Раздел описаний функции} begin {Операторы} name_function: function name_function ([входные данные]) : [тип возвращаемого значения]; {Раздел описаний функции} begin {Операторы} name_function: = [Возвращаемое значение]; end; Функция всегда возвращает значение, которые вычисляется на основании входных данных. 24

procedure name_procedure (<описание параметровзначений>; var: <описание параметров-переменных>); {Раздел описаний процедуры} begin {Операторы} end; В procedure name_procedure (<описание параметровзначений>; var: <описание параметров-переменных>); {Раздел описаний процедуры} begin {Операторы} end; В отличие от функций, процедуры не возвращают конкретной значение, но, на основании входных данных выполняют некоторые действия 25