Android Linux Windows

Презентация на тему программирование языке паскаль. Презентация "язык программирования «паскаль»

Чтобы пользоваться предварительным просмотром презентаций создайте себе аккаунт (учетную запись) Google и войдите в него: https://accounts.google.com


Подписи к слайдам:

Язык программирования Pascal Основные понятия А. Жидков

Язык программирования Язык программирования (ЯП) – это формализованная система для описания алгоритмов, которая определяет Алфавит (набор символов) Лексику (набор лексических элементов) Синтаксис (правила написания операторов) Семантику (правила исполнения операторов)

АЛФАВИТ ЯЗЫКА Алфавит – упорядоченный набор символов. Цифры 0 1 2 …. 9 Латинские буквы a b c …. z A B C …Z Знаки операций + * / - >

Лексические элементы языка ключевые слова (begin, end, if, for…) константы (2, "ABC", #5) идентификаторы (a, b1) спецсимволы (:= += * + /) комментарии (3 вида { .. } (* .. *) // ..)

Ключевые слова языка (Внимание!!! Нельзя использовать как идентификаторы) and array as begin break case class const constructor continue destructor div do downto else end exit external externalsync file finalization for forward function if in inherited initialization is mod not of or private procedure program property protected public record repeat set shl shr sizeof string then to type unit until uses var while with xor

Структура Pascal- программы program First; const Pi = 3.14; var r: real ; S,C: real; begin write ("Введите радиус окружности: "); readln (r); S:= Pi*r*r; C:= 2*Pi*r; writeln ("Длина окружности равна C= ",С); writeln ("Площадь круга равна S= ",S); end . Имя программы Заголовок Секция описаний Операторы (блок) Начало блока операторов Конец блока операторов Внимание!!! Операторы языка отделяются знаком; Внимание!!! Программа заканчивается end.

Составной оператор (блок) Составной оператор – это группа операторов заключенных в “ операторные скобки ” Begin … . е nd . Пустой оператор содержит только; , никаких действий не выполняет.

Идентификаторы (имена) Идентификатор – это имя объекта (модуля, функции, переменной). Синтаксис: Идентификатор - последовательность латинских букв и цифр, начинающаяся с буквы. Заглавные и строчные транслятор не различает. Ограничение длины идентификатора (63 символа). Рекомендуется!!! Использовать осмысленные идентификаторы и общепринятые сокращения – это улучшает читаемость программ. Примеры: srednee; V; F; m; massa; m1; skorost

Константы Константа – это величина, которая не может измениться. Числовые константы - это числа 3 3.5 1.75е2 $4ff Строковые константы – это символы в апострофах ‘ Привет кадет ’ . ВНИМАНИЕ!!! Именованные константы надо описать в секции описаний const . Синтаксис: const = ; Например: const Pi = 3.14; Count = 10; Name = "Mike";

Переменные и их описание Переменная - это группа ячеек памяти, имеющая имя, тип и значение. Имя переменной – идентификатор. Тип переменной - определяет: множество принимаемых ею значений количество связанных с ней ячеек памяти. Значение переменной – содержимое группы ячеек памяти отведенных под нее. ВНИМАНИЕ!!! Переменная должна быть описана в секции описаний VAR .

Секция описаний переменых VAR - группа имен переменных, разделенных запятыми. ВНИМАНИЕ!!! Знаки: и; обязательны. Пример: var a,b,c: integer ; d: real ; e,f: integer ; s,s1: string ; ch: char ; Синтаксис: VAR: ;

Типы переменных boolean (логический) real (вещественный) complex (комплексный) string (строковый) тип " массив ” тип " запись ” тип " указатель ” Процедурный Файловый Классовый Типы: integer (целый) byte (байтовый) char (символьный) Перечислимый Диапазонный называются порядковыми. Только эти типы могут быть индексами массивов, переключателями оператора case и параметром цикла for .

Необходимые для нас типы тип длина комментарий string (текстовый) 256 байт Последовательность символов, в нулевом байте хранится длина строки. integer (целый) 4 байта Целые от - 2 147 483 648 до 2 147 483 647 real (вещественный) 8 байт C одержат 15-16 десятичных цифр и по модулю

Типы данных Какие из приведенных чисел являются константами целого типа? 1 2.1E3 4 0.7E-1 7 22.78 2 128 5 +0.9 8 -2100 3 -350 6 +71 9 1E5 2 3 6 8

Типы данных Какие из приведенных чисел являются вещественными константами в экспоненциальной форме? 1 11 4 -0,5E-2 7 2.7E05 2 1.3 5 1050 8 -1.38 3 -1.2E5 6 37.75 9 +3.21E-03 3 7 9

Идентификаторы Какие из приведенных выражений могут служить именами переменных? 1 5B 4 SIN 7 1AB 2 E6 5 G 8 +LN 3 Л1 6 10 9 L5 2 5 9

Стандартные функции Pascal Имя и параметры Действие Abs(x) модуль |x| Sqr(x) квадрат x 2 Sqrt(x) квадратный корень из Sin(x) синус Sin x Cos(x) косинус Cos x Ln(x) натуральный логарифм Ln(x) Exp(x) (где e =2.718281...) Arctan(x) арктангенс arctg x Power(x,y) x в степени y x y Int(x) целая часть х Frac(x) дробную часть х Random случайное число в диапазоне A := 7; МАССИВЫ Массив объявляется в разделе Var: {Имя} : Array [ {нач_зн} .. {кон_зн} ] of {тип} ; Примеры объявления массивов: Var A: Array of String; B: Array of Real; С: Array of Integer; Примеры заполнения массивов значениями: A:=‘Вася’; A:=‘Петя’; A:=‘Маша’; A:=‘Олеся’; Write (A); For f:=1 to 10 do C[f] := f*2; For f:=1 to 10 do WriteLn (C[f]); 51 УПРАЖНЕНИЕ 52 Напишите программу, которая запрашивает у пользователя 7 целых чисел и заносит их в массив. В массиве находится максимальный элемент и отображается на экране. Например: Введите 1 число: 4 Введите 2 число: 8 Введите 3 число: 9 Введите 4 число: 2 Введите 5 число: 4 Введите 6 число: 5 Введите 7 число: 0 Максимальное число: 9 Используемый материал: Объявления массива: <Имя> : Array [<нач_зн> … <кон_зн> ] of <тип> ; Доступ к массиву: <Имя массива> [ <Индекс> ] ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ (ГСЧ) Для генерации в программе случайных чисел, используют следующие операторы: Randomize – инициализация ГСЧ. Объявляется только в самом начале программы; Random – генерирует случайное число от 0 до 1 (вещественный тип); Random (N) – генерирует случайное число от 0 до N-1 (целый тип); 53 МНОГОМЕРНЫЕ МАССИВЫ 54 Список интервалов для каждой размерности массива {Имя} : Array [ {нач_зн} .. {кон_зн} , {нач_зн} .. {кон_зн} , {и т.д.} ] of {тип} ; Пример объявления двухмерного массива (матрицы, таблицы) на 4 строки и 6 столбцов: Var A: Array of Integer; Пример заполнения массива: For i:=1 to 4 do For j:=1 to 6 do A := i+j; Ai , j 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 УПРАЖНЕНИЕ Напишите программу, которая заполняет двухмерный массив случайными числами от -10 до 20 и выводит суммы элементов расположенных по диагонали таблицы. Используемый материал: Инициализация ГСЧ: Randomize Случайное число от 0 до N-1: Random (N) 55 РАБОТА С ФАЙЛАМИ РАБОТА С ФАЙЛАМИ 57 Файл: Начало файла Указатель)a@$ku⌂|"Hd9v*9(L*M=БYGRMxduВ █ 8e*ВOtCDrTVzHGJ1aBD>@Б\(r8sE} █ :wcJvAmRa"v/.Wai;$`SWI=y2]suB █ ?Hq>vF(LmBcV^Adz4P4.6b]o{QkВ8 █ cu<6`8Z":M^1;:8ANwak;,b2-4…u5 █ 2]suB?Hq>vF(LmBcAdz4wcP]o{QkВ █ 8c8df]e"v,su>+),VAEFБjFV,W$Q- █ y0G1GjN$-eБ|sqZ0`QnВ%\БD%y █ █ █ - признак конца строки █ - признак конца файла Переменная Создание, чтение, запись, закрытие. РАБОТА С ФАЙЛАМИ Последовательность действий, при работе с файлами: 1. Объявление файловой переменной (ФП); 2. Ассоциация ФП с файлом; 3. Открытие файла для чтения/записи; 4. Операции с файлом; 5. Закрытие файла (так же разрывается связь между файлом и ФП); 1. Объявление ФП <Имя> : File of <тип> ; <Имя> : Text; Var f: Text; h: File of Integer; 2. Ассоциация ФП с файлом Assign (<ФП>, <имя файла>); Assign (f, ‘c:\my\Data.ghm’) 58 РАБОТА С ФАЙЛАМИ 3. Открытие файла для чтения/записи Reset (<ФП>); - открывает файл для чтения Rewrite (<ФП>); - открывает файл для записи 4. Операции с файлом Read (<ФП>, <П1> , <П2> , …); - считывает в переменные <П1>, <П2> и т.д. по одному элементу с позиции указателя. Write (<ФП> , <П1> , <П2> , …); - записывает в файл значения переменных <П1>, <П2> и т.д. по одному элементу с позиции указателя. EoLn (<ФП>); - возвращает True, если достигнут конец строки. EoF (<ФП>); - возвращает True, если достигнут конец файла. 5. Закрытие файла Close (<ФП>); 59 РАБОТА С ФАЙЛАМИ Упростите программу, если известно, что матрица размером 5x5 (используйте цикл For) 60 УПРАЖНЕНИЕ 61 Напишите программу «ДОМ-3». В первом файле содержаться имена участников в именительном падеже. Во втором, те же самые имена, но в винительном. В третьем – список выражения чувств или какое-то действие (любит, не любит, целует, хочет укусить, обожает, уважает, ненавидит, хочет видеть, обнимает). Программа должна случайно брать информацию из этих файлов и создавать новый по следующему принципу: <имя в им. пад> <чувство/действие> <имя в вин. пад> Ольга любит Сергей Олег хочет видеть Романа Катя уважает Настю И т.д. Используемый материал: Название операторов: Assign, Rewrite, Reset, Write, Read, Close. ГРАФИКА ГРАФИКА Для работы с графикой в Pascal необходимы два файла – модуль graph.tpu и драйвер графического адаптера egavga.bgi. Первый находится в каталоге \UNITS, а второй – в \BGI. ! Драйвер egavga.bgi. Необходим при работе exe файла! Чтобы рисовать, надо: 1. подключить модуль GRAPH (в разделе Uses); 2. инициализировать графику (InitGraph); 3. что-нибудь нарисовать; 4. закрыть графический режим (CloseGraph) 63 ГРАФИКА Инициализация графического режима Рисование линии. Перо переходит из точки (0,0) в точку (639, 479). PROGRAM Primer_1; Uses Graph, crt; Var Gd,Gm: Integer; BEGIN Gd:=0; InitGraph (Gd,Gm,‘d:\BP\bgi"); Line (0,0,639,479); ReadKey; CloseGraph; END. 639 пикс. Система координат 479 пикс. 64 Закрытие графического режима УПРАЖНЕНИЕ 65 1. Изобразить в центре экрана прямоугольный треугольник 2. Изобразить в центре экрана прямоугольник с сторонами в двое меньшими, чем соответствующие стороны экрана Используемый материал: Графический модуль: Graph Инициализация графики: InitGraph Закрытие графического режима: CloseGraph; ГРАФИКА + ЦВЕТ SetColor(Color: word); Устанавливает цвет пера GetColor: word; Возвращает цвет пера SetBkColor(color: word); Устанавливает цвет фона. GetBkColor: word; Возвращает цвет фона. Цвета Black Blue Green Cyan Red Magenta Brown LightGray DarkGray LightBlue LightGreen LightCyan LightRed LightMagenta Yellow White 66 – чёрный – синий – зелёный – циановый – красный – сиреневый – коричневый – светло-серый – тёмно-серый – голубой – светло-зелёный – светло-циановый – розовый – светло-сиреневый – жёлтый – белый ГРАФИЧЕСКИЕ ПРИМИТИВЫ Line (x, y); Чертит линию от текущей координаты пера до координат (x,y). MoveTo (x, y); Устанавливает перо в координаты (x,y). PutPixel (x, y, Color); Рисует точку с координатами (x,y) цветом Color. GetPixel (x, y): word; Возвращает цвет точки с координатами (x,y). Rectangle (x1, y1, x2, y2); Строит контур прямоугольника. Circle (x, y, r); Рисует окружность с центром в (x,y) и радиусом r. SetLineStyle (Ln, 0, T) Изменяет параметры контуров. Ln - стиль линии (0..3): 67 x1, y1 T - толщина линии: 1 = нормальная; 3 = толстая. FillEllipse (x, y, Xr, Yr); Рисует закрашенный эллипс с центром в (x,y) и радиусами Xr и Yr. SetFillStyle (Type, Color); Устанавливает тип (0..11) и цвет штриховки замкнутых фигур ClearDevice; Очищает графический экран закрашивая его в текущий цвет фона x2, y2 ГРАФИЧЕСКИЕ ПРИМИТИВЫ 68 УПРАЖНЕНИЕ 69 1. Напишите программу, рисующее на экране монитора домик; 2. Напишите программу, рисующая на экране монитора звёздное небо со звёздами случайного радиуса (от 1 до 5 пикс.) и случайным расположением. Цвет тоже случайный (белый, светло-серый, тёмносерый); Используемый материал: SetColor (Color: word); - Устанавливает цвет рисования SetBkColor (color: word); - Устанавливает текущий цвет фона. Line (x, y); - Чертит линию от текущей координаты пера до координат (x,y). MoveTo (x, y); - Устанавливает перо в координаты (x,y). PutPixel (x, y, Color); - Рисует точку с координатами (x,y) цветом Color. Rectangle (x1, y1, x2, y2); - Строит контур прямоугольника из линий текущего цвета. Circle (x, y, r); - Рисует окружность с центром в (x,y) и радиусом r. FillEllipse (x, y, Xr, Yr); - Рисует закрашенный эллипс с центром в (x,y) и радиусами Xr и Yr. ГРАФИКА + АНИМАЦИЯ Пауза в мСек. 70 ПОДПРОГРАММЫ ПОДПРОГРАММЫ Подпрограммы позволяют выделять повторяющуюся часть кода в отдельные фрагменты и вставлять из в нужные места программы. Функция, в отличие от процедуры возвращает результат вызова. Процедуры Функции Подпрограммы: пишутся между ключевыми словами Begin End; идентифицируются по именам, которые пишутся по правилам задания идентификаторов; могут иметь входные и выходные параметры; полностью повторяют структуру основной программы. 72 Program My; Подпрограмма 1 [Код подпрог-мы 1] Подпрограмма 2 [Код подпрог-мы 2] Begin Подпрограмма 2 Подпрограмма 1 Пример системных подпрограмм: Write(“Ок”); ClrScr; Length (S); Random; // // // // процедура с одним параметром процедура без параметров функция с одним параметров функция без параметров Подпрограмма 2 End. ПОДПРОГРАММЫ (ППР) Вложенность подпрограмм Программа Подпрограмма 1 Подпрограмма 3 Подпрограмма 4 Подпрограмма 2 73 Область доступности переменных Переменные, описанные в некоторой ППР, известны в пределах её тела, ВКЛЮЧАЯ и все вложенные ППР (переменная описанная в ППР1 будет доступна и в ППР3,4). Имена переменных, описанных в ППР, могут совпадать с именами переменных из других ППР (в каждой из ППР может быть объявлена одинаковая переменная). Имя переменной, описанное в ППР, экранирует одноимённые переменные из ППР, объемлющих данный (если в ППР1 и ППР3 объявлены одинаковые переменные, то в каждой ППР эти переменные будут уникальны). Переменные программы называются глобальные, А переменные подпрограмм – локальные. ПРОЦЕДУРЫ БЕЗ ПАРАМЕТРОВ Синтаксис записи: Procedure {имя процедуры}; {Раздел переменных, констант, типов, меток, модулей} Begin {Тело процедуры}; End; Пример использования процедуры без параметров: 74 ПРОЦЕДУРЫ БЕЗ ПАРАМЕТРОВ Пример экранирования одноимённых переменных: Program My_program; Uses Crt; Var A:String; // Описание процедуры Procedure My_Procedure; Var A:String; Begin A:= "Подпрограмма"; Writeln(A); End; Begin A:= "Тело"; Writeln(A); My_Procedure; Writeln(A); End. // Вызов процедуры 75 ПРОЦЕДУРЫ С ПАРАМЕТРАМИ 76 Для того, чтобы подпрограммы были более универсальными, применяются специальные механизмы обмена данными между программой и её подпрограммами. Системные процедуры с параметрами: SetColor (Red); { Процедура с Rectangle (0, 0, 639, 479); { Процедура с InitGraph (Gd,Gm,‘d:\BP\bgi"); { Процедура с { параметрами одним параметром } несколькими параметрами } несколькими разнотипными } } Синтаксис записи процедуры с параметрами Procedure {Имя} ({Область входных переменных} Var {Область выходных переменных (для каждой переменной свой Var)}); Структура областей: Переменная_1, Переменная_2, … : Тип; ........................ Переменная_N-1, Переменная_N, … : Тип; Любая из областей может отсутствовать ПРОЦЕДУРЫ С ПАРАМЕТРАМИ Использование входных параметров Процедура рисования окаймляющего экран прямоугольника, заданного цвета Без параметров С параметрами Procedure Cir; Begin SetColor (i); SetBkColor (b); Rectangle (0, 0, 639, 479); End; Procedure Cir (i, b:Integer); Begin SetColor (i); SetBkColor (b); Rectangle (0, 0, 639, 479); End; Вызов процедуры в программе: Вызов процедуры в программе: i:=6; b:=12; Cir; Cir(6, 12); 77 ПРОЦЕДУРЫ С ПАРАМЕТРАМИ Использование выходных параметров Процедура преобразования угла из градусной меры в радианную. PROGRAM EX_26_3; VAR x,a: real; PROCEDURE Rad(alfa: real; var betta: real); {выходная переменная} BEGIN Betta:= pi*alfa/180; END; BEGIN Write("Введите угол в градусах: "); Readln(x); Rad(x, a); {Вызов процедуры} Writeln("Ему равен угол в радианах = ",a:6:4); END. 78 УПРАЖНЕНИЕ 79 1. Напишите процедуру, рисующую треугольник, в следующем формате: Triangle (x1,y1, x2,y2, x3,y3, Color) 2. Напишите процедуру вычисления площади прямоугольника в следующем формате: SRect (a, b, S) где, S – выходной параметр процедуры. Используемый материал: Procedure {Имя} ({Область входных переменных} Var {Область выходных переменных}); Структура областей: Переменная_1, Переменная_2, … : Тип; ........................ Переменная_N-1, Переменная_N, … : Тип; ФУНКЦИИ 80 Синтаксис записи функции Function ({Область входных переменных} Var {Область выходных переменных}): {Тип} ; Оформление процедуры Оформление функции Procedure S(a,b:real; var s:real); Begin s:= a+b; End; Function Sum (a,b: real): real; Begin Sum:= a+b; End; Вызов процедуры Вызов функции S(10, 20, A); Write (A); A:= S(10, 20); WriteLN (A); WriteLN (S(20, 30)); Оформлять некоторую подпрограмму как функцию целесообразно только в том случае, если ожидается некоторый результат её работы. Если подпрограмма ориентирована только на выполнение некоторой последовательности действий (вывод на экран, рисование и т.д.), лучше оформить её как процедуру. УПРАЖНЕНИЕ Напишите функцию вычисления площади прямоугольника в следующем формате: SRect (a, b) Используемый материал: Function {Имя} ({Область входных переменных} Var {Область выходных переменных}): {Тип} ; Структура областей: Переменная_1, Переменная_2, … : Тип; ........................ Переменная_N-1, Переменная_N, … : Тип; 81 МОДУЛИ МОДУЛИ 83 Модуль (UNIT) - самостоятельная программная единица, ресурсы (процедуры и функции) которой могут быть использованы другими программами. Program My1; Uses Модуль1, Модуль2 ; __________________________ __________________________ __________________________ __________________ МОДУЛЬ 1 Набор ресурсов 1 … Program My2; Uses Модуль1, Модуль2 ; __________________________ __________________________ __________________________ __________________ МОДУЛЬ N Набор ресурсов N Модули подключаются к программе через раздел USES МОДУЛИ. СТРУКТУРА 84 Модуль состоит из следующих частей: 1. Заголовок модуля. 2. Интерфейсная часть. (описания видимых объектов) 3. Реализационная часть. (описания скрытых объектов) 4. Инициализационная часть (не обязательна). Unit {Имя модуля}; Interface { Раздел глобальных переменных, констант, типов} { модулей } { Список заголовков процедур и функций } Implementation { Раздел локальных переменных, констант, типов} { Реализация процедур и функций } Begin {Часть инициализации } End. ! Имя заголовка модуля должно совпадать с именем файла модуля! МОДУЛИ Пример модуля: Unit My_Unit; Interface Var ms: Array of Real; { Глобальный массив } Function Cub(x:integer):Integer; { Функция Cub = x^3 } Function ext4(x:integer):Integer; { Функция ext4 = x^4 } Implementation Function Cub(x:integer):Integer; { Реализация функции Cub } Begin Cub:= x*x*x; End; Function Ext4(x:integer):Integer; { Реализация функции ext4 } Begin Ext4:= x*x*x*x; End; End. 85 УПРАЖНЕНИЕ 86 Напишите модуль одной функцией и одной процедурой: { Функция вычисление X1=1/x } X1(a:real):real; { Процедура печати на экране слова S, в позиции X, Y WriteXY(S:String; X,Y:Iteger); Используемый материал (структура модуля): Unit {Имя модуля}; Interface { Раздел глобальных переменных, констант, типов} { модулей } { Список заголовков процедур и функций } Implementation { Раздел локальных переменных, констант, типов} { Реализация процедур и функций } Begin {Часть инициализации } End. }

Тема урока: «Циклы (повтор) в программах»

1)Повторить и закрепить знания составления линейных, разветвляющихся программ; 2)Научиться составлять программы, используя циклический оператор – FOR i:=1 TO n DO Begin операторы(тело цикла) end ; 3)Применять операторы в решении типовых задач. Цель урока:

Вставьте пропущенное: Program Sql; Var A,B,C,D, XI, Х2: ??? ; Begin Writeln ("Введите коэффициенты квадратного уравнения ’); Readln (???); D:=B*B-4*A*C; If D

Вопросы группе: 1)В чем отличие программ с ветвлением от линейных? 2)С помощью каких операторов осуществляется выбор в программах? 3) begin….end – Что это? Каковы правила использования в программе?

1)Операторы Ввода/вывода; 2)Операторы выбора; 3) а:=а+3 – что произойдет? 4)Перечислить типы данных; 5)Убрать лишнее AND,OR,END, NOT,IF ; 6) ; - что обозначает? 7) Как обозначается конец программы? 8) Перечислить арифметические операции. 9) Чему равно 120 mod 65 = ? 10) Операторы цикла.

Расставьте соответственно: 1. Read 2. End 3. Begin 4. Integer 5. ; 6. If .. Then 7. := 8. Ввод 9. Конец 10. Целые 11. Прис- воить 12. Следу-ющее действие 13.Начало 14.Если..то

Действительно ли результат а меньше 3 ? a:= 7 b:= - 10 a:=a*(- 7) b:=159 a:=b+a

Найдите 5 ошибок в программе: Program krug ; VAR Pi, r, S: real; Pi:=3.14, WRITELN(‘vvedite radiuc r=’), READ(r); S=Pi *r*r; WRITELN(‘Ploshad kruga S= ’, S) end

Program krug ; VAR Pi, r, S: real; begin Pi:=3.14 , WRITELN(‘vvedite radiuc r=’) , READ(r); S: =Pi *r*r; WRITELN(‘Ploshad kruga S= ’, S) end .

Задача №1 Дано целое N , определить является ли оно четным или нечетным. 2, 4, 6, …- четные, т.к. делятся без остатка на 2(N mod 2 =0) 1, 3, 7, … - нечетные, т.к. делятся на 2 с остатком 1(N mod 2 =1)

Алгоритм Алгоритм Chislo ; перем N: целые; начало Вывод(‘vvedite chislo’) ; Ввод (N) ; ЕСЛИ N mod 2 =0 Т O Вывод(N,‘- chetnoe‘); ЕСЛИ N mod 2 =1 Т O Вывод(N,‘- nechetnoe‘); конец.

Задача № 2 Дано целое двузначное число N (DE), где D – количество десятков, Е – единиц. Определить будет ли сумма цифр этого числа равна 10. Пример: у 28-ми сумма S =2+8=10 – будет, а у 27-ми S=2+7=9 не будет Будем считать десятки: D= N div 10 , а единицы: E= N mod 10

Алгоритм Алгоритм Chislo ; перем N,E,D,S: целые; начало Вывод(‘vvedite chislo’) ; Ввод (N) ; E:=N mod 10; D:=N div 10; S:=E+D; ЕСЛИ S = 10 Т O Вывод(‘summa= 10’) Иначе (‘summa10‘); конец.

Определение: Программы в которых многократно повторяются однотипные действия – циклические программы (с повтором).

Задача: Дано 100 натуральных чисел от 1 до 100 (1,2,3, … 99,100) Посчитать их сумму и вывести в переменную S.

Алгоритм сумма; Перем i,S: целые; Начало S:=0; Для i:=1 до 100 повторять Начало S:= S + i тело Конец; цикла Вывод (S) Конец.

Program summa; VAR i , S: integer; Begin S:=0; FOR i:=1 TO 100 DO begin S:=S+i тело end; цикла WRITE(S) end.

Program summa; VAR i , S: integer; Begin S:=0; FOR i:=1 TO 100 DO begin S:=S+i ; тело WRITE(‘S’, i, ’=‘, s) цикла end; end.

Тело цикла – те самые действия, которые нужно многократно повторять. Тело цикла заключаем в операторные скобки begin … .. end;

ALT + F9 - исправление ошибок CTRL + F9 – запуск программы ALT + F5 – просмотр результата

Задача: 1)Вывести столбец таблицы умножения любого целого числа N на числа от 1 до 10. Пример: N =5, то столбец будет такой- 1*5=5 2*5=10 3*5=15 i * N = P, где i изменяется от …… .. 1…10 10*5=50

Домашнее задание: прокомментировать программу для задачи «Про столбец таблицы умножения»

СПАСИБО ЗА ВНИМАНИЕ!

  1. 1. Pascal
  2. 2. Pascal Паскаль был разработан швейцарским ученым Никлаусом Виртом. Паскаль считается важнейшим инструментом для обучения методам структурного программирования и с 1983 г. введен в учебные курсы в школах для учащихся, которые специализируются в области информатики. В дальнейшем язык Паскаль совершенствовался и приобрел новые свойства, отличные от авторского варианта.
  3. 3. Язык Паскаль относительно прост в изучении, довольно ясен и логичен и, будучи первым изучаемым языком программирования, приучает к хорошему стилю.
  4. 4. Как и естественные языки, каждый язык программирования имеет свой стиль и свои правила. Синтаксис языка программирования – это набор правил, которые определяют способы построения правильных программ из символов алфавита.
  5. 5. Алфавит языка Паскаль 26 латинских строчных и 26 латинских прописных букв: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z подчеркивание _ 10 цифр: 0 1 2 3 4 5 6 7 8 9 знаки операций: + - * / = <> < > <= >= := @ ограничители (разделители): . , " () (. .) { } (* *) .. : ; спецификаторы: ^ # $
  6. 6. Структура программы {1. заголовок программы} program Имя_Программы; {2. раздел указания используемых модулей} uses Список_Используемых_Модулей; {3. Раздел описаний} label Описания_меток; const Описания_Констант; type Описания_Типов; var Описания_Переменных; procedure Описания_Процедур_и_функций; function exports Описания_Экспортируемых_Имен; {4. Раздел операторов} begin Операторы end.
  7. 7. Упрощенная структура программы {1. заголовок программы} program Имя_Программы; {2. раздел указания используемых модулей} uses Список_Используемых_Модулей; {3. Раздел описаний} const Описания_Констант; var Описания_Переменных; {4. Раздел операторов} begin Операторы программы end.
  8. 8. Команды языка программирования называются операторами Разделителем операторов в Паскале является; (точка с запятой)
  9. 9. Комментарий представляет собой фрагмент текста программы, ограниченный символами { }. Комменнтарии в программе выполняют информационную функцию. {Моя первая программа } program first; begin writeln(‘Hello, World!’) end.
  10. 10. Пример: периметр прямоугольника program perimetr; {заголовок программы} uses crt; {crt – необходим для очистки экрана} var a,b:integer; {объявление переменных} P:integer; Begin {начало программы} clrscr; {очистка экрана} a:=12; {присваиваем переменной а значение 12} b:=7; {присваиваем переменной b значение 7} P:=2*(a+b); {значение выражения присваиваем P} write("P = ",P); {выводим на экран значение P} end. {конец программы}
  11. 11. Программа в своей работе имеет дело с данными. Некоторые данные устанавливаются еще до того, как программа начнет выполняться, а после ее запуска сохраняют свои значения неизменными на всем протяжении работы программы. Это константы. Другие данные могут изменяться во время выполнения программы. Они называются переменными.
  12. 12. Различие между переменной и константой довольно очевидно: во время выполнения программы значение переменной может быть изменено, а значение константы нет. переменныепеременные константыконстанты данныеданные
  13. 13. Под переменной мы будем понимать ячейку («коробку»), куда компьютер может записывать («складывать») данные. Под ячейкой мы в действительности подразумеваем «кусочек памяти» в котором хранится информация. Чтобы воспользоваться информацией, хранящейся в ячейке, нужно, чтобы каждая ячейка имела свое имя или, как часто говорят, - идентификатор. a b sum 5 3 8
  14. 14. Идентификаторы. Именами (идентификаторами) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатором является последовательность букв, цифр и знаков подчеркивания, которая начинается с буквы или символа подчеркивания и не содержит пробелов.
  15. 15. Имя может содержать произвольное количество символов, но значащими являются 63 символа. Не разрешается в языке ПАСКАЛЬ использовать в качестве имен служебные слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции и файлы. Примеры имен языка ПАСКАЛЬ: A b12 r1m SIGMA gamma I80_86
  16. 16. В Паскале разница между строчными и прописными буквами игнорируется, поэтому имена NaMe и name одинаковы.
  17. 17. Служебное слово – это слово, которое в языке ПАСКАЛЬ имеет определенное смысловое значение, которое не может быть изменено. Иногда его называют ключевым словом.
  18. 18. Служебные (зарезервированные) слова: ABSOLUTE EXPORTS LIBRARY SET ASSEMBLER EXTERNAL MOD SHL AND FAR NAME SHR ARRAY FILE NIL STRING ASM FOR NEAR THEN ASSEMBLER FORWARD NOT TO BEGIN FUNCTION OBJECT TYPE CASE GOTO OF UNIT CONST IF OR UNTIL CONSTRUCTOR IMPLEMENTATION PACKED USES DESTRUCTOR IN PRIVATE VAR DIV INDEX PROCEDURE VIRTUAL DO INHERITED PROGRAM WHILE DOWNTO INLINE PUBLIC WITH ELSE INTERFACE RECORD XOR END INTERRUPT REPEAT EXPORT LABEL RESIDENT
  19. 19. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов. Существуют имена которые называются стандартными. sin cos real true В отличие от служебных слов смысл стандартных имен может быть переопределен программистом.
  20. 20. Это указание компилятору, сколько памяти необходимо зарезервировать для переменных нашей программы. В откомпилированной программе для всех переменных отведено место в памяти, и всем переменным присвоены нулевые значения. Все переменные, используемые в программе необходимо объявить в разделе описания переменных после зарезервированного слова var. Объявление переменных
  21. 21. Данные бывают различных типов...
  22. 22. Типы данных Имена стандартных типов являются предопределенными идентификаторами и действуют в любой точке программы. Они описаны в стандартном модуле System, который по умолчанию подключается в список используемых модулей. Пользовательские типы – это дополнительные типы (простые и структурированные) описанные пользователем.
  23. 23. Стандартные типы данных 1. группа целых типов (Shortint, Integer, Longint, Byte, Word); 2. группа действительных типов(Single, Real, Double, Extended, Comp); 3. логические (булевские типы)(Boolean, ByteBool, WordBool, LongBool); 4. символьный(Char); 5. строковый (String); 6. указательный (Pointer); 7. текстовый тип (Text).
  24. 24. Группа целых типов Название типа Тип диапазон значений требуемая память Короткое целое со знаком Shortint -128 .. 127 1 байт Целое со знаком Integer -32768 .. 32767 2 байта Длинное целое со знаком Longint -2147483648 .. 2147483647 4 байта Короткое целое без знака Byte 0 .. 255 1 байт Целое без знака Word 0 .. 65535 2 байта
  25. 25. Var b: byte; summa, count: integer; Объявление переменных целого типа summa:= -365; Испозование
  26. 26. Числа в языке ПАСКАЛЬ обычно записываются в десятичной системе счисления. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например: 217 -45 8954 +483
  27. 27. Группа вещественных типов определяет те данные, которые реализуются подмножеством действительных чисел. Var A: real; begin ... A:=0.65; … End.
  28. 28. Название типа Тип Диапазон значений Количество цифр мантиссы Размер (байт) Вещественное число одинарной точности Real 2.9e-39 .. 1.7e+38 11 6 Вещественное число Single 1.5e-45 .. 3.4e+38 7 4 Вещественное число двойной точности Double 5.0e-324 .. 1.7e+308 15 8 Вещественное число повышенной точности Extended 3.4e-4932 .. 1.1e+4932 19 10 Целое число в формате вещественного Comp -9.2e+18 .. 9.2e+18 19 8
  29. 29. Действительные числа записываются в форме с десятичной точкой или в форме с использованием десятичного порядка, который изображается буквой Е: 28.6 0.65 -0.018 4.0 5Е12 -1.72Е9 73.1Е-16
  30. 30. Булевскому типу данных соответствует идентификатор Boolean. Переменные булевского типа имеют размер 1 байт и могут содержать значения TRUE или FALSE. Значению FALSE соответствует 0, любое число отличное от нуля считается TRUE. Var knopka, flag: boolean; Begin knopka:=true;
  31. 31. Символьному типу соответствует стандартный идентификатор Char. Переменные и константы символьного типа могут принимать значения из множества символов кода ASCII. Var simvol, bukva, z: char; Объявление символьных переменных
  32. 32. Строковому типу соответствует стандартный идентификатор String. Var S: String; {строка от 0 до 255 символов} S2: String; {стока из 5-ти символов}
  33. 33. Строка символов представляет собой последовательность символов из набора символов кода ASCII, заключенную в одиночные кавычки. Строки в языке ПАСКАЛЬ - это последовательность символов, записанная между апострофами. Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа. Примеры строк: "СТРОКА" "STRING" "АД""ЮТАНТ"
  34. Символьный тип, а также целые и булевские типы относят к, так называемым, порядковым типам.  Множество допустимых значений любого порядкового типа представляет собой упорядоченную последовательность, каждый элемент которой имеет свой порядковый номер (начиная с 0).
  35. 35. Функция Ord возвращает порядковый номер этого значения в описании типа. Ord(2)=2, Ord(‘0’)=48 Writeln(ord(‘e’)); Writeln(ord(‘9’));
  36. 36. Таблица кодировки ASCII ASCII (American Standard Code for Information Interchange; произносится «а́ски») -компьютерная кодировка для представления латинского алфавита, арабских цифр, некоторых знаков пунктуации и управляющих символов. Ее ввел американский институт стандартизации ANSI.

1 слайд

«ЗНАКОМСТВО С ЯЗЫКОМ ПАСКАЛЬ» УРОК НА ТЕМУ: Учитель математики и информатики МБО УСОШ № 2 г. Калача-на-Дону Волгоградской области Анисимовой Н.А.

2 слайд

ЦЕЛЬ УРОКА: выяснить структуру программы, операторы, правила оформления и пунктуацию языка Turbo Pascal.

3 слайд

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

4 слайд

1)язык программирования Тurbo Pascal; 2)интегрированная среда программирования(компилятор: переводит программу в машинный код и интерпретатор: исполняет команды) СОСТАВ СИСТЕМЫ ПРОГРАММИРОВАНИЯ ТР:

5 слайд

1)латинские буквы – большие и малые; 2)буквы русского алфавита - большие и малые; 3)цифры – от 0 до 9; 4)знаки операций - +, -, /, *,=, =; 5)разделительные знаки – () { } ; . , ‘ _% & # и т. Д. Алфавит языка программирования TURBO PASCAL

6 слайд

7 слайд

Заголовок программы Раздел описания переменных Раздел операторов (основная часть)

8 слайд

Раздел описания переменных начинается со слова Var , за которым идет список имен однотипных переменных через запятую. В языке Паскаль существует два числовых типа величин: вещественный (Real) и целый (Integer). Имена переменных составляются из латинских букв и цифр, причем первым символом - буква. VAR список однотипных переменных: INTEGER; список однотипных переменных:REAL;

9 слайд

Раздел операторов – основная часть программы. Начало и ко-нец раздела отмечаются служебными словами BEGIN и END , которые являются операторными скобками. Между этими сло-вами помещаются все команды алгоритма, записанные на языке Паскаль (операторы). Разделителем операторов являет-ся точка с запятой. В самом конце программы ставится точка. BEGIN READ(список ввода); READLN(список ввода); переменная:=арифметическое выражение; WRITE(список вывода); WRITELN(список вывода); END.

10 слайд

Ввод исходных данных с клавиатуры происходит по опе-ратору READ или READLN (читать). Оператор READLN отличается от READ только тем, что после ввода данных курсор перемещается в начало новой строки. переменная:=арифметическое выражение; WRITE(список вывода); WRITELN(список вывода); END. READ(список ввода); READLN(список ввода);

11 слайд

переменная:=арифметическое выражение; Арифметический оператор присваивания: слева- переменная, справа - арифметическое выражение, которое должно быть вычислено. Составной символ:= читается как «присвоить». Сначала вычисляется арифметическое выражение, затем полученное значение присваивается переменной.Пример: a:= sqr (x) + sin (y) / (12*z + 5)

12 слайд

mod div / * - + SIN (x) COS (x) SQR (x) SQRT (x) ABS (x) Sin x Cos x x 2 |x| x сложение вычитание умножение деление деление нацело Остаток от деления

13 слайд

Правила записи арифметических выражений Арифметическое выражение записывается в строку Нельзя ставить подряд два знака арифметических операций Нельзя опускать знак умножения между сомножителями Используются только круглые скобки Последовательность выполнения операций определяется по их приоритетам () F(x) * / + - div mod

14 слайд

Вывод результатов происходит по WRITE или WRITELN (писать). Результаты выводятся в порядке их перечисле-ния в списке. Разница в выполнении операторов WRITE и WRITELN состоит в том, что после выполнения операции вывода по оператору WRITELN курсор перемещается в начало новой строки. WRITE(список вывода); WRITELN(список вывода);

15 слайд

Задание 1: AXby 6) TU154 2) R&B 3) 4Wheel 4) Вася 5) “PesBarbos” 7) 8) _ABBA 9) A+B

16 слайд

program zadacha1; var a, b: integer; x, y: real; begin a:= 5; 10:= x; y:= 7,8; b:= 2.5; x:= 2*(a + y); a:= b + x; end. имя переменной должно быть слева от знака:= целая и дробная часть отделяются запятой и несоответствие типов Несоответствие типов ЗАДАНИЕ 2: Найдите ошибки в записи программы.