Инфоурок Информатика ПрезентацииПрезентация по информатике на тему Основы языка Паскаль

Презентация по информатике на тему Основы языка Паскаль

Скачать материал
Скачать материал "Презентация по информатике на тему Основы языка Паскаль"

Получите профессию

Секретарь-администратор

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Специалист по автотранспорту

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

  • Программирование на языке Паскаль Тема 1. Введение

    1 слайд

    Программирование на языке Паскаль Тема 1. Введение

  • Алгоритм Свойства алгоритма дискретность: состоит из отдельных шагов (команд)...

    2 слайд

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

  • Программа Программа – это алгоритм, записанный на каком-либо языке программир...

    3 слайд

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

  • Языки программирования Машинно-ориентированные (низкого уровня) - каждая кома...

    4 слайд

    Языки программирования Машинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер) Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера для обучения: Бейсик, ЛОГО, Паскаль профессиональные: Си, Фортран, Паскаль для задач искусственного интеллекта: Пролог, ЛИСП для Интернета: JavaScript, Java, Perl, PHP, ASP

  • Язык Паскаль 1970 – Никлаус Вирт (Швейцария) язык для обучения студентов разр...

    5 слайд

    Язык Паскаль 1970 – Никлаус Вирт (Швейцария) язык для обучения студентов разработка программ «сверху вниз» разнообразные структуры данных (массивы, структуры, множества)

  • Из чего состоит программа? program ; const …;{константы} var …; {переменные}...

    6 слайд

    Из чего состоит программа? program <имя программы>; const …;{константы} var …; {переменные} begin … {основная программа} end. { процедуры и функции } комментарии в фигурных скобках не обрабатываются

  • Из чего состоит программа? Константа – постоянная величина, имеющая имя. Пере...

    7 слайд

    Из чего состоит программа? Константа – постоянная величина, имеющая имя. Переменная – изменяющаяся величина, имеющая имя (ячейка памяти). Процедура – вспомогательный алгоритм, описывающий некоторые действия (рисование окружности). Функция – вспомогательный алгоритм для выполнения вычислений (вычисление квадратного корня, sin).

  • Имена программы, констант, переменных Имена могут включать латинские буквы (A...

    8 слайд

    Имена программы, констант, переменных Имена могут включать латинские буквы (A-Z) цифры знак подчеркивания _ заглавные и строчные буквы не различаются Имена НЕ могут включать русские буквы пробелы скобки, знаки +, =, !, ? и др. имя не может начинаться с цифры Какие имена правильные?? AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B

  • Константы const 	 	i2 = 45; { целое число } 	pi = 3.14; { вещественное число...

    9 слайд

    Константы const i2 = 45; { целое число } pi = 3.14; { вещественное число } qq = 'Вася'; { строка символов } L = True; { логическая величина } целая и дробная часть отделяются точкой можно использовать русские буквы! может принимать два значения: True (истина, "да") False (ложь, "нет")

  • Переменные Переменная – это величина, имеющая имя, тип и значение. Значение п...

    10 слайд

    Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Типы переменных: integer{ целая } real{ вещественная } char{ один символ } string{ символьная строка } boolean { логическая } Объявление переменных (выделение памяти): var a, b: integer; Q: real; s1, s2: string;

  • Как изменить значение переменной? Оператор – это команда языка программирован...

    11 слайд

    Как изменить значение переменной? Оператор – это команда языка программирования высокого уровня. Оператор присваивания служит для изменения значения переменной. Пример: program qq; var a, b: integer; begin a := 5; b := a + 2; a := (a + 2)*(b – 3); end. a ? 5 5 b ? 5+2 7 a 5 7*4 28

  • Оператор присваивания Общая структура: 	 := ; Арифметическое выражение может...

    12 слайд

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

  • program qq; 	var a, b: integer; 		 x, y: real; 	begin 	 a := 5; 10 := x; y :...

    13 слайд

    program qq; 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. Какие операторы неправильные? имя переменной должно быть слева от знака := целая и дробная часть отделяются точкой нельзя записывать вещественное значение в целую переменную

  • Ручная прокрутка программы program qq; var 	a, b: integer; begin a := 5; b :=...

    14 слайд

    Ручная прокрутка программы program qq; var a, b: integer; begin a := 5; b := a + 2; a := (a + 2)*(b – 3); b := a div 5; a := a mod b; a := a + 1; b := (a + 14) mod 7; end. ab ?? 5 7 28 5 3 4 4

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

    15 слайд

    Порядок выполнения операций вычисление выражений в скобках умножение, деление, div, mod слева направо сложение и вычитание слева направо 2 3 5 4 1 7 8 6 9 z := (5*a*c+3*(c-d))/a*(b-c)/ b; 2 6 3 4 7 5 1 12 8 11 10 9 x:=(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a));

  • Сложение двух чисел Задача. Ввести два целых числа и вывести на экран их сумм...

    16 слайд

    Сложение двух чисел Задача. Ввести два целых числа и вывести на экран их сумму. Простейшее решение: program qq; var a, b, c: integer; begin read ( a, b ); c := a + b; writeln ( c ); end.

  • Оператор ввода read ( a ); { ввод значения переменной a} read ( a, b ); { вво...

    17 слайд

    Оператор ввода read ( a ); { ввод значения переменной a} read ( a, b ); { ввод значений переменных a и b} Как вводить два числа? через пробел: 25 30 через Enter: 25 30

  • Оператор вывода write ( a ); { вывод значения переменной a} writeln ( a ); {...

    18 слайд

    Оператор вывода write ( a ); { вывод значения переменной a} writeln ( a ); { вывод значения переменной a и переход на новую строчку} writeln ( 'Привет!' ); { вывод текста} writeln ( 'Ответ: ', c ); { вывод текста и значения переменной c} writeln ( a, '+', b, '=', c );

  • Форматы вывода program qq; var i: integer; x: real; begin i := 15; writeln (...

    19 слайд

    Форматы вывода program qq; var i: integer; x: real; begin i := 15; writeln ( '>', i, '<' ); writeln ( '>', i:5, '<' ); x := 12.345678; writeln ( '>', x, '<' ); writeln ( '>', x:10, '<' ); writeln ( '>', x:7:2, '<' ); end. >15< > 15< >1.234568E+001< > 1.23E+001< > 12.35< всего символов всего символов в дробной части

  • Полное решение 	program qq; 	var a, b, c: integer; 	begin writeln(&#039;Введите дв...

    20 слайд

    Полное решение program qq; var a, b, c: integer; begin writeln('Введите два целых числа'); read ( a, b ); c := a + b; writeln ( a, '+', b, '=', c ); end. Протокол: Введите два целых числа 25 30 25+30=55 это выводит компьютер это вводит пользователь

  • Блок-схема линейного алгоритма начало конец c := a + b; ввод a, b вывод c бло...

    21 слайд

    Блок-схема линейного алгоритма начало конец c := a + b; ввод a, b вывод c блок "начало" блок "ввод" блок "процесс" блок "вывод" блок "конец"

  • Задания &quot;4&quot;: Ввести три числа, найти их сумму и произведение. Пример: 	 Введи...

    22 слайд

    Задания "4": Ввести три числа, найти их сумму и произведение. Пример: Введите три числа: 4 5 7 4+5+7=16 4*5*7=140 "5": Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа: 4 5 7 4+5+7=16 4*5*7=140 (4+5+7)/3=5.33

  • Программирование на языке Паскаль Тема 2. Ветвления

    23 слайд

    Программирование на языке Паскаль Тема 2. Ветвления

  • Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран н...

    24 слайд

    Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого. Особенность: действия исполнителя зависят от некоторых условий (если … иначе …). Алгоритмы, в которых последовательность шагов зависит от выполнения некоторых условий, называются разветвляющимися.

  • Вариант 1. Блок-схема полная форма ветвления блок &quot;решение&quot;

    25 слайд

    Вариант 1. Блок-схема полная форма ветвления блок "решение"

  • Вариант 1. Программа 	program qq; 	var a, b, max: integer; 	begin writeln(&#039;Вв...

    26 слайд

    Вариант 1. Программа program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); if a > b then begin end else begin end; writeln ('Наибольшее число ', max); end. max := a; max := b; полная форма условного оператора

  • Условный оператор 	if  then begin {что делать, если условие верно} end else b...

    27 слайд

    Условный оператор if <условие> then begin {что делать, если условие верно} end else begin {что делать, если условие неверно} end; Особенности: перед else НЕ ставится точка с запятой вторая часть (else …) может отсутствовать (неполная форма) если в блоке один оператор, можно убрать слова begin и end

  • Что неправильно? 	if a &gt; b then begin a := b; end else b := a; end; 	if a &gt; b...

    28 слайд

    Что неправильно? if a > b then begin a := b; end else b := a; end; if a > b then begin a := b; else begin b := a; end; if a > b then begin a := b; end; else begin b := a; end; if a > b then begin a := b; end else b > a begin b := a; end; begin end begin end

  • Вариант 2. Блок-схема неполная форма ветвления

    29 слайд

    Вариант 2. Блок-схема неполная форма ветвления

  • Вариант 2. Программа 	program qq; 	var a, b, max: integer; 	begin writeln(&#039;Вв...

    30 слайд

    Вариант 2. Программа program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); max := a; if b > a then writeln ('Наибольшее число ', max); end. max := b; неполная форма условного оператора

  • Вариант 2Б. Программа 	program qq; 	var a, b, max: integer; 	begin writeln(&#039;В...

    31 слайд

    Вариант 2Б. Программа program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); max := b; if ??? then ??? writeln ('Наибольшее число ', max); end. max := a; a > b

  • Что неправильно? 	if a &gt; b then begin a := b; else b := a; 	if a &gt; b then beg...

    32 слайд

    Что неправильно? if a > b then begin a := b; else b := a; if a > b then begin a := b; end; else b := a; if a > b then else begin b := a; end; if a > b then a := b; else b := a; end; a := b end a := b if b >= a then b := a;

  • Задания &quot;4&quot;: Ввести три числа и найти наибольшее из них. Пример: 		Введите тр...

    33 слайд

    Задания "4": Ввести три числа и найти наибольшее из них. Пример: Введите три числа: 4 15 9 Наибольшее число 15 "5": Ввести пять чисел и найти наибольшее из них. Пример: Введите пять чисел: 4 15 9 56 4 Наибольшее число 56

  • Программирование на языке Паскаль Тема 3. Сложные условия

    34 слайд

    Программирование на языке Паскаль Тема 3. Сложные условия

  • Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включитель...

    35 слайд

    Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ "подходит" или "не подходит"). Особенность: надо проверить, выполняются ли два условия одновременно.

  • Вариант 1. Алгоритм начало ввод x &#039;подходит&#039; конец да нет x &gt;= 25? да нет x

    36 слайд

    Вариант 1. Алгоритм начало ввод x 'подходит' конец да нет x >= 25? да нет x <= 40? 'не подходит' 'не подходит'

  • Вариант 1. Программа 	program qq; 	var x: integer; 	begin writeln(&#039;Введите во...

    37 слайд

    Вариант 1. Программа program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); if x >= 25 then if x <= 40 then writeln ('Подходит') else writeln ('Не подходит') else writeln ('Не подходит'); end.

  • Вариант 2. Алгоритм начало ввод x &#039;подходит&#039; да нет x &gt;= 25 и x

    38 слайд

    Вариант 2. Алгоритм начало ввод x 'подходит' да нет x >= 25 и x <= 40? 'не подходит'

  • Вариант 2. Программа 	program qq; 	var x: integer; 	begin writeln(&#039;Введите во...

    39 слайд

    Вариант 2. Программа program qq; var x: integer; begin writeln('Введите возраст'); read ( x ); if (x >= 25) and (x <= 40) then writeln ('Подходит') else writeln ('Не подходит') end. сложное условие

  • Сложные условия Сложное условие – это условие, состоящее из нескольких просты...

    40 слайд

    Сложные условия Сложное условие – это условие, состоящее из нескольких простых условий (отношений), связанных с помощью логических операций: not – НЕ (отрицание, инверсия) and – И (логическое умножение, конъюнкция, одновременное выполнение условий) or – ИЛИ (логическое сложение, дизъюнкция, выполнение хотя бы одного из условий) xor – исключающее ИЛИ (выполнение только одного из двух условий, но не обоих) Простые условия (отношения) < <= > >= = <> равно не равно

  • Сложные условия Порядок выполнения выражения в скобках not and or, xor =, =,...

    41 слайд

    Сложные условия Порядок выполнения выражения в скобках not and or, xor <, <=, >, >=, =, <> Особенность – каждое из простых условий обязательно заключать в скобки. Пример 4 1 6 2 5 3 if not (a > b) or (c <> d) and (b <> a) then begin ... end

  • Истинно или ложно при a := 2; b := 3; c := 4; not (a &gt; b) (a &lt; b) and (b &lt; c)...

    42 слайд

    Истинно или ложно при a := 2; b := 3; c := 4; not (a > b) (a < b) and (b < c) not (a >= b) or (c = d) (a < c) or (b < c) and (b < a) (a < b) xor not (b > c) Для каких значений x истинны условия: (x < 6) and (x < 10) (x < 6) and (x > 10) (x > 6) and (x < 10) (x > 6) and (x > 10) (x < 6) or (x < 10) (x < 6) or (x > 10) (x > 6) or (x < 10) (x > 6) or (x > 10) Сложные условия True True FALSE (-, 6)  (6, 10) (10, ) (-, 10) (-, 6)  (10,) (-, ) (6, ) x < 6 x > 10 x < 10 x > 6 True True

  • Задания &quot;4&quot;: Ввести номер месяца и вывести название времени года. Пример: 		В...

    43 слайд

    Задания "4": Ввести номер месяца и вывести название времени года. Пример: Введите номер месяца: 4 весна "5": Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом "год", "года" или "лет". Пример: Введите возраст: Введите возраст: 24 57 Вам 24 года Вам 57 лет

  • Программирование на языке Паскаль Тема 4. Циклы

    44 слайд

    Программирование на языке Паскаль Тема 4. Циклы

  • Циклы Цикл – это многократное выполнение одинаковой последовательности действ...

    45 слайд

    Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием) Задача. Вывести на экран квадраты и кубы целых чисел от 1 до 8 (от a до b). Особенность: одинаковые действия выполняются 8 раз.

  • Алгоритм начало i, i2, i3 конец нет да i

    46 слайд

    Алгоритм начало i, i2, i3 конец нет да i <= 8? i := 1; i := i + 1; i2 := i * i; i3 := i2 * i; задать начальное значение переменной цикла проверить, все ли сделали вычисляем квадрат и куб вывод результата перейти к следующему i

  • Алгоритм (с блоком &quot;цикл&quot;) начало i, i2, i3 конец i2 := i * i; i3 := i2 * i;...

    47 слайд

    Алгоритм (с блоком "цикл") начало i, i2, i3 конец i2 := i * i; i3 := i2 * i; i := 1,8 блок "цикл" тело цикла

  • Программа program qq; var i, i2, i3: integer; begin for i:=1 to 8 do begin i2...

    48 слайд

    Программа program qq; var i, i2, i3: integer; begin for i:=1 to 8 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; end. переменная цикла начальное значение конечное значение

  • Цикл с уменьшением переменной Задача. Вывести на экран квадраты и кубы целых...

    49 слайд

    Цикл с уменьшением переменной Задача. Вывести на экран квадраты и кубы целых чисел от 8 до 1 (в обратном порядке). Особенность: переменная цикла должна уменьшаться. Решение: ... for i:=8 1 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; ... downto

  • Цикл с переменной 	for  :=  to  do begin {тело цикла} end; Увеличение перемен...

    50 слайд

    Цикл с переменной for <переменная> := <начальное значение> to <конечное значение> do begin {тело цикла} end; Увеличение переменной на 1: for <переменная> := <начальное значение> downto <конечное значение> do begin {тело цикла} end; Уменьшение переменной на 1:

  • Цикл с переменной Особенности: переменная цикла может быть только целой (inte...

    51 слайд

    Цикл с переменной Особенности: переменная цикла может быть только целой (integer) шаг изменения переменной цикла всегда равен 1 (to) или -1 (downto) если в теле цикла только один оператор, слова begin и end можно не писать: если конечное значение меньше начального, цикл (to) не выполняется ни разу (проверка условия в начале цикла, цикл с предусловием) for i:=1 to 8 do writeln('Привет');

  • Цикл с переменной Особенности: в теле цикла не разрешается изменять переменну...

    52 слайд

    Цикл с переменной Особенности: в теле цикла не разрешается изменять переменную цикла (почему?) при изменении начального и конечного значения внутри цикла количество шагов не изменится: n := 8; for i:=1 to n do begin writeln('Привет'); n := n + 1; end; нет зацикливания

  • Цикл с переменной Особенности: после выполнения цикла во многих системах уста...

    53 слайд

    Цикл с переменной Особенности: после выполнения цикла во многих системах устанавливается первое значение переменной цикла, при котором нарушено условие: for i:=1 to 8 do writeln('Привет'); writeln('i=', i); for i:=8 downto 1 do writeln('Привет'); writeln('i=', i); i=9 i=0 НЕ ДОКУМЕНТИРОВАНО

  • Сколько раз выполняется цикл? a := 1; for i:=1 to 3 do a := a+1; a = 4 a := 1...

    54 слайд

    Сколько раз выполняется цикл? a := 1; for i:=1 to 3 do a := a+1; a = 4 a := 1; for i:=3 to 1 do a := a+1; a = 1 a := 1; for i:=1 downto 3 do a := a+1; a = 1 a := 1; for i:=3 downto 1 do a := a+1; a = 4

  • Как изменить шаг? Задача. Вывести на экран квадраты и кубы нечётных целых чис...

    55 слайд

    Как изменить шаг? Задача. Вывести на экран квадраты и кубы нечётных целых чисел от 1 до 9. Особенность: переменная цикла должна увеличиваться на 2. Проблема: в Паскале шаг может быть 1 или -1. Решение: ... for i:=1 to 9 do begin if ??? then begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; end; ... i mod 2 = 1 выполняется только для нечетных i

  • Как изменить шаг? – II Идея: Надо вывести всего 5 чисел, переменная k изменяе...

    56 слайд

    Как изменить шаг? – II Идея: Надо вывести всего 5 чисел, переменная k изменяется от 1 до 5. Начальное значение i равно 1, с каждым шагом цикла i увеличивается на 2. Решение: ... ??? for k:=1 to 5 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); ??? end; ... i := i + 2; i := 1;

  • Как изменить шаг? – III Идея: Надо вывести всего 5 чисел, переменная k изменя...

    57 слайд

    Как изменить шаг? – III Идея: Надо вывести всего 5 чисел, переменная k изменяется от 1 до 5. Зная k, надо рассчитать i. Решение: ... for k:=1 to 5 do begin ??? i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; ... i := 2*k – 1; i = 2k-1 k12345 i13579

  • Задания &quot;4&quot;: Ввести a и b и вывести квадраты и кубы чисел от a до b. Пример:...

    58 слайд

    Задания "4": Ввести a и b и вывести квадраты и кубы чисел от a до b. Пример: Введите границы интервала: 4 6 4 16 64 5 25 125 6 36 216 "5": Вывести квадраты и кубы 10 чисел следующей последовательности: 1, 2, 4, 7, 11, 16, … Пример: 1 1 1 2 4 8 4 16 64 ... 46 2116 97336

  • Программирование на языке Паскаль Тема 5. Циклы с условием

    59 слайд

    Программирование на языке Паскаль Тема 5. Циклы с условием

  • Цикл с неизвестным числом шагов Пример: Отпилить полено от бревна. Сколько ра...

    60 слайд

    Цикл с неизвестным числом шагов Пример: Отпилить полено от бревна. Сколько раз надо сделать движения пилой? Задача: Ввести целое число (<2000000) и определить число цифр в нем. Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик. Проблема: Неизвестно, сколько шагов надо сделать. Решение: Надо остановиться, когда n = 0, т.е. надо делать "пока n <> 0". ncount 1230 121 12 03

  • Алгоритм начало count конец нет да n  0? count := 0; count := count + 1; n :=...

    61 слайд

    Алгоритм начало count конец нет да n <> 0? count := 0; count := count + 1; n := n div 10; обнулить счетчик цифр ввод n выполнять "пока n <> 0"

  • Программа program qq; var n, count: integer; begin writeln(&#039;Введите целое чис...

    62 слайд

    Программа program qq; var n, count: integer; begin writeln('Введите целое число'); read(n); count := 0; while n <> 0 do begin count := count + 1; n := n div 10; end; writeln('В числе ', n, ' нашли ', count, ' цифр'); end. , n1: integer; n1 := n; n1, выполнять "пока n <> 0"

  • Цикл с условием 	while  do begin {тело цикла} end; Особенности: можно использ...

    63 слайд

    Цикл с условием while <условие> do begin {тело цикла} end; Особенности: можно использовать сложные условия: если в теле цикла только один оператор, слова begin и end можно не писать: while (a<b) and (b<c) do begin {тело цикла} end; while a < b do a := a + 1;

  • Цикл с условием Особенности: условие пересчитывается каждый раз при входе в ц...

    64 слайд

    Цикл с условием Особенности: условие пересчитывается каждый раз при входе в цикл если условие на входе в цикл ложно, цикл не выполняется ни разу если условие никогда не станет ложным, программа зацикливается a := 4; b := 6; while a > b do a := a – b; a := 4; b := 6; while a < b do d := a + b;

  • Сколько раз выполняется цикл? a := 4; b := 6; while a &lt; b do a := a + 1; 2 ра...

    65 слайд

    Сколько раз выполняется цикл? a := 4; b := 6; while a < b do a := a + 1; 2 раза a = 6 a := 4; b := 6; while a < b do a := a + b; 1 раз a = 10 a := 4; b := 6; while a > b do a := a + 1; 0 раз a = 4 a := 4; b := 6; while a < b do b := a - b; 1 раз b = -2 a := 4; b := 6; while a < b do a := a - 1; зацикливание

  • Замена for на while и наоборот for i:=1 to 10 do begin {тело цикла} end; i :=...

    66 слайд

    Замена for на while и наоборот for i:=1 to 10 do begin {тело цикла} end; i := 1; while i <= 10 do begin {тело цикла} i := i + 1; end; for i:=a downto b do begin {тело цикла} end; i := a; while i >= b do begin {тело цикла} i := i - 1; end; Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла. Замена цикла for на while возможна всегда.

  • Задания &quot;4&quot;: Ввести целое число и найти сумму его цифр. Пример: 		Введите цел...

    67 слайд

    Задания "4": Ввести целое число и найти сумму его цифр. Пример: Введите целое число: 1234 Сумма цифр числа 1234 равна 10. "5": Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры. Пример: Введите целое число: Введите целое число: 1234 1224 Нет. Да.

  • Последовательности Примеры: 1, 2, 3, 4, 5, … 1, 2, 4, 7, 11, 16, … 1, 2, 4, 8...

    68 слайд

    Последовательности Примеры: 1, 2, 3, 4, 5, … 1, 2, 4, 7, 11, 16, … 1, 2, 4, 8, 16, 32, … an = n a1 = 1, an+1 = an+1 a1 = 1, an+1 = an + n an = 2n-1 a1 = 1, an+1 = 2an b1 = 1, bn+1 = bn+1 c1 = 2, cn+1 = 2cn

  • Последовательности Задача: найти сумму всех элементов последовательности, кот...

    69 слайд

    Последовательности Задача: найти сумму всех элементов последовательности, которые по модулю больше 0,001: Элемент последовательности (начиная с №2): b := b+1; c := 2*c; z := -z; n12345... b12345... c2481632... z-11-11-1...

  • Алгоритм начало S конец нет да |a| &gt; 0.001? S := S + a; S := 0; b := 1; c :=...

    70 слайд

    Алгоритм начало S конец нет да |a| > 0.001? S := S + a; S := 0; b := 1; c := 2; z := -1; a := 1; начальные значения a := z*b/c; b := b + 1; c := 2*c; z := -z; первый элемент новый элемент изменение

  • Программа program qq; var b, c, z: integer; S, a: real; begin S := 0; z := -1...

    71 слайд

    Программа program qq; var b, c, z: integer; S, a: real; begin S := 0; z := -1; b := 1; c := 2; a := 1; while abs(a) > 0.001 do begin S := S + a; a := z * b / c; z := - z; b := b + 1; c := c * 2; end; writeln('S =', S:10:3); end. переход к следующему слагаемому начальные значения увеличение суммы расчет элемента последовательности

  • Задания &quot;4&quot;: Найти сумму элементов последовательности с точностью 0,001: Отве...

    72 слайд

    Задания "4": Найти сумму элементов последовательности с точностью 0,001: Ответ: S = 1.157 "5": Найти сумму элементов последовательности с точностью 0,001: Ответ: S = 1.220

  • Цикл с постусловием Задача: Ввести целое положительное число ( проверку услов...

    73 слайд

    Цикл с постусловием Задача: Ввести целое положительное число (<2000000) и определить число цифр в нем. Проблема: Как не дать ввести отрицательное число или ноль? Решение: Если вводится неверное число, вернуться назад к вводу данных (цикл!). Особенность: Один раз тело цикла надо сделать в любом случае => проверку условия цикла надо делать в конце цикла (цикл с постусловием). Цикл с постусловием – это цикл, в котором проверка условия выполняется в конце цикла.

  • Цикл с постусловием: алгоритм начало конец да нет n &gt; 0? тело цикла условие В...

    74 слайд

    Цикл с постусловием: алгоритм начало конец да нет n > 0? тело цикла условие ВЫХОДА блок "типовой процесс" ввод n основной алгоритм

  • Программа program qq; var n: integer; begin repeat writeln(&#039;Введите положител...

    75 слайд

    Программа program qq; var n: integer; begin repeat writeln('Введите положительное число'); read(n); until n > 0; ... { основной алгоритм } end. until n > 0; условие ВЫХОДА Особенности: тело цикла всегда выполняется хотя бы один раз после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла

  • Сколько раз выполняется цикл? a := 4; b := 6; repeat a := a + 1; until a &gt; b;...

    76 слайд

    Сколько раз выполняется цикл? a := 4; b := 6; repeat a := a + 1; until a > b; 3 раза a = 7 a := 4; b := 6; repeat a := a + b; until a > b; 1 раз a = 10 a := 4; b := 6; repeat a := a + b; until a < b; зацикливание a := 4; b := 6; repeat b := a - b; until a < b; 2 раза b = 6 a := 4; b := 6; repeat a := a + 2; until a < b; зацикливание

  • Задания (с защитой от неверного ввода) &quot;4&quot;: Ввести натуральное число и опреде...

    77 слайд

    Задания (с защитой от неверного ввода) "4": Ввести натуральное число и определить, верно ли, что сумма его цифр равна 10. Пример: Введите число >= 0: Введите число >= 0: -234 1233 Нужно положительное число. Нет Введите число >= 0: 1234 Да "5": Ввести натуральное число и определить, какие цифры встречаются несколько раз. Пример: Введите число >= 0: Введите число >= 0: 2323 1234 Повторяются: 2, 3 Нет повторов.

  • Программирование на языке Паскаль Тема 6. Оператор выбора

    78 слайд

    Программирование на языке Паскаль Тема 6. Оператор выбора

  • Оператор выбора Задача: Ввести номер месяца и вывести количество дней в этом...

    79 слайд

    Оператор выбора Задача: Ввести номер месяца и вывести количество дней в этом месяце. Решение: Число дней по месяцам: 28 дней – 2 (февраль) 30 дней – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь) 31 день – 1 (январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь) Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от номера месяца.

  • Алгоритм начало конец оператор выбора ни один вариант не подошел ввод M да не...

    80 слайд

    Алгоритм начало конец оператор выбора ни один вариант не подошел ввод M да нет M = 1? D := 31; нет M = 2? D := 28; да нет M = 12? D := 31; да вывод D ошибка

  • Программа program qq; var M, D: integer; begin writeln(&#039;Введите номер месяца:...

    81 слайд

    Программа program qq; var M, D: integer; begin writeln('Введите номер месяца:'); read ( M ); case M of 2: begin D := 28; end; 4,6,9,11: begin D := 30; end; 1,3,5,7,8,10,12: D := 31; else D := -1; end; if D > 0 then writeln('В этом месяце ', D, ' дней.') else writeln('Неверный номер месяца'); end. ни один вариант не подошел

  • Оператор выбора Особенности: после case может быть имя переменной или арифмет...

    82 слайд

    Оператор выбора Особенности: после case может быть имя переменной или арифметическое выражение целого типа (integer) или символьного типа (char) case i+3 of 1: begin a := b; end; 2: begin a := c; end; end; var c: char; ... case c of 'а': writeln('Антилопа'); 'б': writeln('Барсук'); else writeln('Не знаю'); end;

  • Оператор выбора Особенности: если нужно выполнить только один оператор, слова...

    83 слайд

    Оператор выбора Особенности: если нужно выполнить только один оператор, слова begin и end можно не писать нельзя ставить два одинаковых значения case i+3 of 1: a := b; 1: a := c; end; case i+3 of 1: a := b; 2: a := c; end;

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

    84 слайд

    Оператор выбора Особенности: значения, при которых выполняются одинаковые действия, можно группировать case i of 1: a := b; 2,4,6: a := c; 10..15: a := d; 20,21,25..30: a := e; else writeln('Ошибка'); end; перечисление диапазон смесь

  • Что неправильно? case a of 2: begin a := b; 4: a := c; end; case a of 2: a :=...

    85 слайд

    Что неправильно? case a of 2: begin a := b; 4: a := c; end; case a of 2: a := b 4: a := c end; ; case a of 2..5: a := b; 4: a := c; end; case a of 0..2: a := b; 6..3: a := c; end; 3..6: case a+c/2 of 2: a := b; 4: a := c; end; case a of 2: a := b; d := 0; 4: a := c; end; begin end;

  • Задания (с защитой от неверного ввода) &quot;4&quot;: Ввести номер месяца и вывести кол...

    86 слайд

    Задания (с защитой от неверного ввода) "4": Ввести номер месяца и вывести количество дней в нем, а также число ошибок при вводе. Пример: Введите номер месяца: Введите номер месяца: -2 2 Введите номер месяца: В этом месяце 28 дней. 11 Вы вводили неверно 0 раз. В этом месяце 30 дней. Вы вводили неверно 1 раз. "5": Ввести номер месяца и номер дня, вывести число дней, оставшихся до Нового года. Пример: Введите номер месяца: 12 Введите день: 25 До Нового года осталось 6 дней.

  • Программирование на языке Паскаль Тема 7. Графика

    87 слайд

    Программирование на языке Паскаль Тема 7. Графика

  • Система координат (0,0) (x,y) X Y x y

    88 слайд

    Система координат (0,0) (x,y) X Y x y

  • Управление цветом Цвет и толщина линий, цвет точек: Pen ( 1, 255, 0, 0 ); Цве...

    89 слайд

    Управление цветом Цвет и толщина линий, цвет точек: Pen ( 1, 255, 0, 0 ); Цвет и стиль заливки: Brush ( 1, 0, 255, 0 ); Цвет текста: TextColor ( 0, 0, 255 ); толщина линии R(red) 0..255 G(green) 0..255 B(blue) 0..255 0 – выключить 1 - включить R G B R G B

  • Точки, отрезки и ломаные Pen (1, 0, 255, 0); Line (x1, y1, x2, y2); Pen (1, 0...

    90 слайд

    Точки, отрезки и ломаные Pen (1, 0, 255, 0); Line (x1, y1, x2, y2); Pen (1, 0, 0, 255); Point (x, y); Pen (1, 255, 0, 0); MoveTo (x1, y1); LineTo (x2, y2); LineTo (x3, y3); LineTo (x4, y4); LineTo (x5, y5);

  • Фигуры с заливкой Pen (1, 0, 0, 255); Brush (1, 255, 255, 0); Rectangle (x1,...

    91 слайд

    Фигуры с заливкой Pen (1, 0, 0, 255); Brush (1, 255, 255, 0); Rectangle (x1, y1, x2, y2); Pen (1, 255, 0, 0); Brush (1, 0, 255, 0); Ellipse (x1, y1, x2, y2); Brush (1, 100, 200, 255); Fill (x, y);

  • Текст TextColor (0, 0, 255); Brush (1, 255, 255, 0); Font (20, 30, 600); Move...

    92 слайд

    Текст TextColor (0, 0, 255); Brush (1, 255, 255, 0); Font (20, 30, 600); MoveTo (x, y); writeln ('Привет!'); Привет! (x, y) размер 10 пикселей угол поворота насыщенность: 400 – нормальный 600 – жирный 30о

  • Пример (200, 50) (100, 100) (300, 200) program qq; begin Pen(2, 255, 0, 255);...

    93 слайд

    Пример (200, 50) (100, 100) (300, 200) program qq; begin Pen(2, 255, 0, 255); Brush(1, 0, 0, 255); Rectangle(100, 100, 300, 200); MoveTo(100, 100); LineTo(200, 50); LineTo(300, 100); Brush(1, 255, 255, 0); Fill(200, 75); Pen(2, 255, 255, 255); Brush(1, 0, 255, 0); Ellipse(150, 100, 250, 200); end.

  • Задания &quot;4&quot;: &quot;Лягушка&quot; &quot;5&quot;: &quot;Корона&quot;

    94 слайд

    Задания "4": "Лягушка" "5": "Корона"

  • Штриховка (x1, y1) (x2, y2) N линий (N=5) h Rectangle (x1, y1, x2, y2); Line(...

    95 слайд

    Штриховка (x1, y1) (x2, y2) N линий (N=5) h Rectangle (x1, y1, x2, y2); Line( x1+h, y1, x1+h, y2); Line( x1+2*h, y1, x1+2*h, y2); Line( x1+3*h, y1, x1+3*h, y2); ... h := (x2 – x1) / (N + 1); Rectangle (x1, y1, x2, y2); x := x1 + h; for i:=1 to N do begin Line( round(x), y1, round(x), y2); x := x + h; end; var x, h: real; x округление до ближайшего целого x

  • Как менять цвет? (x1, y1) (x2, y2) Brush ( 1, c, c, c ); Fill ( ???, ??? ); с...

    96 слайд

    Как менять цвет? (x1, y1) (x2, y2) Brush ( 1, c, c, c ); Fill ( ???, ??? ); серый: R = G = B Шаг изменения c: x (x-1, y1+1) var c, hc: integer; hc := 255 div (N + 1); c := 0; for i:=1 to N+1 do begin Line (round(x), y1, round(x), y2); Brush (1, c, c, c); Fill (round(x)-1, y1+1); x := x + h; c := c + hc; end;

  • Штриховка (x1, y1) (x2, y2) (x3, y2) a h (x3+a, y1) Line( x1+h, y1, x1+h-a, y...

    97 слайд

    Штриховка (x1, y1) (x2, y2) (x3, y2) a h (x3+a, y1) Line( x1+h, y1, x1+h-a, y2); Line( x1+2*h, y1, x1+2*h-a, y2); Line( x1+3*h, y1, x1+3*h-a, y2); ... h := (x3 – x2) / (N + 1); a := x2 – x1; x := x1 + h; for i:=1 to N do begin Line( round(x), y1, round(x-a), y2); x := x + h; end; x x-a

  • Штриховка (x1, y1) (x2, y2) hx hy y x y Line( x1, y1+hy, x1+hx, y1+hy) ; Line...

    98 слайд

    Штриховка (x1, y1) (x2, y2) hx hy y x y Line( x1, y1+hy, x1+hx, y1+hy) ; Line( x1, y1+2*hy, x1+2*hx, y1+2*hy); Line( x1, y1+3*hy, x1+3*hx, y1+3*hy); ... hx := (x2 – x1) / (N + 1); hy := (y2 – y1) / (N + 1); x := x1 + hx; y := y1 + hy; for i:=1 to N do begin Line( x1, round(y), round(x), round(y)); x := x + hx; y := y + hy; end;

  • Задания &quot;4&quot;: Ввести с клавиатуры число линий штриховки и построить фигуру, за...

    99 слайд

    Задания "4": Ввести с клавиатуры число линий штриховки и построить фигуру, залив все области разным цветом. "5": Ввести с клавиатуры число окружностей и построить фигуру, залив все области разным цветом.

  • Программирование на языке Паскаль Тема 8. Графики функций

    100 слайд

    Программирование на языке Паскаль Тема 8. Графики функций

  • Построение графиков функций Задача: построить график функции y = 3 sin(x) на...

    101 слайд

    Построение графиков функций Задача: построить график функции y = 3 sin(x) на интервале от 0 до 2π. Анализ: максимальное значение ymax = 3 при x = π/2 минимальное значение ymin = -3 при x = 3π/2 Проблема: функция задана в математической системе координат, строить надо на экране, указывая координаты в пикселях.

  • Преобразование координат (x,y) X Y x y Математическая система координат Экран...

    102 слайд

    Преобразование координат (x,y) X Y x y Математическая система координат Экранная система координат (пиксели) (xэ,yэ) xэ yэ (0,0) (0,0) a b k – масштаб (длина изображения единичного отрезка на экране) xэ = a + kx yэ = b - ky

  • Программа 2π h – шаг изменения x w – длина оси ОХ в пикселях на экране оси ко...

    103 слайд

    Программа 2π h – шаг изменения x w – длина оси ОХ в пикселях на экране оси координат цикл построения графика program qq; const a = 50; b = 200; k = 50; xmin = 0; xmax = 6.2832; var x, y, h: real; xe, ye, w: integer; begin w := round((xmax - xmin)*k); Line(a-10, b, a+w, b); Line(a, 0, a, 2*b); x := xmin; h := 0.05; while x <= xmax do begin y := 3*sin(x); xe := a + round(k*x); ye := b - round(k*y); Point (xe, ye); x := x + h; end; end.

  • Как соединить точки? Алгоритм: Если первая точка перейти в точку (xэ,yэ) инач...

    104 слайд

    Как соединить точки? Алгоритм: Если первая точка перейти в точку (xэ,yэ) иначе отрезок в точку (xэ,yэ) Программа: начальное значение выбор варианта действий логическая переменная var first: boolean; ... begin ... first := True; while x <= xmax do begin ... if first then begin MoveTo(xe, ye); first := False; end else LineTo(xe, ye); ... end; end.

  • Задания &quot;4&quot;: Построить график функции y = x2 на интервале [-3,3]. &quot;5&quot;: Постро...

    105 слайд

    Задания "4": Построить график функции y = x2 на интервале [-3,3]. "5": Построить график функции (эллипс)

  • Программирование на языке Паскаль Тема 9. Процедуры

    106 слайд

    Программирование на языке Паскаль Тема 9. Процедуры

  • Процедуры Задача: Построить фигуру: Особенность: Три похожие фигуры. общее: р...

    107 слайд

    Процедуры Задача: Построить фигуру: Особенность: Три похожие фигуры. общее: размеры, угол поворота отличия: координаты, цвет

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

    108 слайд

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

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

    109 слайд

    Процедуры Порядок разработки: выделить одинаковые или похожие действия (три фигуры) найти в них общее (размеры, форма, угол поворота) и отличия (координаты, цвет) отличия записать в виде неизвестных переменных, они будут параметрами процедуры (x+100, y) (x, y-60) procedure Tr( x, y, r, g, b: integer); begin MoveTo(x, y); LineTo(x, y-60); LineTo(x+100, y); LineTo(x, y); Brush(1, r, g, b); Fill(x+20, y-20); end; заголовок тело процедуры координаты цвет параметры

  • Программа program qq; begin Pen(1, 255, 0, 255); Tr(100, 100, 0, 0, 255); Tr(...

    110 слайд

    Программа program qq; begin Pen(1, 255, 0, 255); Tr(100, 100, 0, 0, 255); Tr(200, 100, 0, 255, 0); Tr(200, 160, 255, 0, 0); end. (100,100) 100 60 процедура фактические параметры вызовы процедуры procedure Tr( x, y, r, g, b: integer); begin ... end; формальные параметры

  • Процедуры Особенности: все процедуры расположены выше основной программы в за...

    111 слайд

    Процедуры Особенности: все процедуры расположены выше основной программы в заголовке процедуры перечисляются формальные параметры, они обозначаются именами, поскольку могут меняться при вызове процедуры в скобках указывают фактические параметры (числа или арифметические выражения) в том же порядке procedure Tr( x, y, r, g, b: integer); Tr (200, 100, 0, 255, 0); x y r g b

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

    112 слайд

    Процедуры Особенности: для каждого формального параметра после двоеточия указывают его тип если однотипные параметры стоят рядом, их перечисляют через запятую внутри процедуры параметры используются так же, как и переменные procedure A (x: real; y: integer; z: real); procedure A (x, z: real; y, k, l: integer);

  • Процедуры Особенности: в процедуре можно объявлять дополнительные локальные п...

    113 слайд

    Процедуры Особенности: в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не имеют к ним доступа program qq; procedure A(x, y: integer); var a, b: real; begin a := (x + y)/6; ... end; begin ... end. локальные переменные

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

    114 слайд

    Параметры-переменные Задача: составить процедуру, которая меняет местами значения двух переменных. Особенности: надо, чтобы изменения, сделанные в процедуре, стали известны вызывающей программе program qq; var x, y: integer; begin x := 1; y := 2; Exchange ( x, y ); writeln ( ’x = ’, x, ’ y = ’, y ); end; procedure Exchange ( a, b: integer ); var c: integer; begin c := a; a := b; b := c; end; эта процедура работает с копиями параметров x = 1 y = 2

  • Параметры-переменные Применение: таким образом процедура (и функция) может во...

    115 слайд

    Параметры-переменные Применение: таким образом процедура (и функция) может возвращать несколько значений, Запрещенные варианты вызова Exchange ( 2, 3 ); { числа } Exchange ( x+z, y+2 ); { выражения } procedure Exchange ( a, b: integer ); var c: integer; begin c := a; a := b; b := c; end; var параметры могут изменяться

  • Задания &quot;4&quot;: Используя процедуры, построить фигуру. &quot;5&quot;: Используя процедуры,...

    116 слайд

    Задания "4": Используя процедуры, построить фигуру. "5": Используя процедуры, построить фигуру.

  • Программирование на языке Паскаль Тема 10. Рекурсия

    117 слайд

    Программирование на языке Паскаль Тема 10. Рекурсия

  • Рекурсивные объекты Рекурсивный объект – это объект, определяемый через один...

    118 слайд

    Рекурсивные объекты Рекурсивный объект – это объект, определяемый через один или несколько таких же объектов. У попа была собака, он ее любил. Она съела кусок мяса, он ее убил. В ямку закопал, надпись написал: Сказка о попе и собаке Примеры: Сказка о попе и собаке: Факториал: если если Рисунок с рекурсией:

  • Дерево Пифагора Дерево Пифагора из N уровней – это ствол и отходящие от него...

    119 слайд

    Дерево Пифагора Дерево Пифагора из N уровней – это ствол и отходящие от него симметрично два дерева Пифагора из N-1 уровней, такие что длина их стволов в 2 раза меньше и угол между ними равен 90o. 6 уровней:

  • Дерево Пифагора Особенности: когда остановиться? деревья имеют различный накл...

    120 слайд

    Дерево Пифагора Особенности: когда остановиться? деревья имеют различный наклон когда число оставшихся уровней станет равно нулю! (x1, y1) (x0, y0) α α+45o α-45o L x1 = x0 + L·cos(α) y1 = y0 – L·sin(α) наклон "дочерних" деревьев α + π/4 α – π/4

  • Процедура угол α длина ствола procedure Pifagor(x0, y0, a, L: real; N: intege...

    121 слайд

    Процедура угол α длина ствола procedure Pifagor(x0, y0, a, L: real; N: integer); const k = 0.6; { изменение длины } var x1, y1: real; { локальные переменные } begin if N > 0 then begin x1 := x0 + L*cos(a); y1 := y0 - L*sin(a); Line (round(x0), round(y0), round(x1), round(y1)); Pifagor (x1, y1, a+pi/4, L*k, N-1); Pifagor (x1, y1, a-pi/4, L*k, N-1); end; end; рекурсивные вызовы закончить, если N=0 Рекурсивной называется процедура, вызывающая сама себя.

  • Программа program qq; procedure Pifagor(x0, y0, a, L: real; N: integer); ......

    122 слайд

    Программа program qq; procedure Pifagor(x0, y0, a, L: real; N: integer); ... end; begin Pifagor (250, 400, pi/2, 150, 8); end; угол α длина ствола число уровней x0 y0 Pifagor (250, 400, 2*pi/3, 150, 8);

  • &quot;4&quot;: Используя рекурсивную процедуру, построить фигуру: &quot;5&quot;: Используя рекурс...

    123 слайд

    "4": Используя рекурсивную процедуру, построить фигуру: "5": Используя рекурсивную процедуру, построить фигуру: Задания

  • Программирование на языке Паскаль Тема 11. Анимация

    124 слайд

    Программирование на языке Паскаль Тема 11. Анимация

  • Анимация Анимация (англ. animation) – оживление изображения на экране. Задача...

    125 слайд

    Анимация Анимация (англ. animation) – оживление изображения на экране. Задача: внутри синего квадрата 400 на 400 пикселей слева направо двигается желтый квадрат 20 на 20 пикселей. Программа останавливается, если нажата клавиша Esc или квадрат дошел до границы синей области. Проблема: как изобразить перемещение объекта на экране? Привязка: состояние объекта задается координатами (x,y) Принцип анимации: рисуем объект в точке (x,y) задержка на несколько миллисекунд стираем объект изменяем координаты (x,y) переходим к шагу 1

  • Как &quot;поймать&quot; нажатие клавиши? Событие – это изменение в состоянии какого-либ...

    126 слайд

    Как "поймать" нажатие клавиши? Событие – это изменение в состоянии какого-либо объекта или действие пользователя (нажатие на клавишу, щелчок мышкой). IsEvent – логическая функция, которая определяет, было ли какое-то действие пользователя. Event – процедура, которая определяет, какое именно событие случилось. if IsEvent then begin Event(k, x, y); if k = 1 then writeln('Клавиша с кодом ', x) else { k = 2 } writeln('Мышь: x=', x, ' y=', y); end; var k, x, y: integer;

  • Как выйти из цикла при нажатии Esc? program qq; var stop: boolean; k,code,i:...

    127 слайд

    Как выйти из цикла при нажатии Esc? program qq; var stop: boolean; k,code,i: integer; begin stop := False; repeat if IsEvent then begin Event(k, code, i); if (k = 1) and (code = 27) then stop := True; end; ... until stop; end; если что-то произошло... что произошло? если нажата клавиша с кодом 27 (Esc), то стоп True, если надо остановиться запуск цикла

  • Процедура (рисование и стирание) procedure Draw(x, y: integer; flag: boolean)...

    128 слайд

    Процедура (рисование и стирание) procedure Draw(x, y: integer; flag: boolean); begin if flag then Brush(1, 255, 255, 0) else Brush(1, 0, 0, 255); Rectangle(x, y, x+20, y+20); end; (x, y) (x+20, y+20) Идеи одна процедура рисует и стирает стереть = нарисовать цветом фона границу квадрата отключить (в основной программе) рисовать (True) или нет (False)? рисуем: цвет кисти – желтый стираем: цвет кисти – синий только заливка!

  • Полная программа program qq; var x, y, k, code, i: integer; stop: boolean; pr...

    129 слайд

    Полная программа program qq; var x, y, k, code, i: integer; stop: boolean; procedure Draw(x,y: integer; flag: Boolean); begin ... end; begin Brush(1, 0, 0, 255); Rectangle(10, 10, 400, 400); Pen(0, 0, 0, 255); x := 10; y := 200; stop := false; repeat if IsEvent then begin ... end; Draw(x, y, True); Delay(10); Draw(x, y, False); x := x + 1; if x >= 400-20 then stop := true; until stop; end. процедура начальные условия выход по клавише Esc выход при касании границы синий фон ждем 10 мс отключить границу

  • &quot;4&quot;: Два квадрата двигаются в противоположном направлении: &quot;5&quot;: Два квадрата...

    130 слайд

    "4": Два квадрата двигаются в противоположном направлении: "5": Два квадрата двигаются в противоположном направлении и отталкиваются от стенок синего квадрата: Задания

  • Управление клавишами Задача: жёлтый квадрат внутри синего квадрата управляетс...

    131 слайд

    Управление клавишами Задача: жёлтый квадрат внутри синего квадрата управляется клавишами-стрелками. Коды клавиш: влево – 37вверх – 38Esc – 27 вправо – 39вниз – 40 Проблема: как изменять направление движения? Решение: if {было событие} then begin if {нажата клавиша} then begin {получить код клавиши - code} if code = 37 then x := x – 1; if code = 38 then y := y – 1; if code = 39 then x := x + 1; if code = 40 then y := y + 1; if code = 27 then stop := True; end; end; IsEvent Event ( k, code, i); if k = 1 then begin case code of 37: x := x – 1; 38: y := y – 1; 39: x := x + 1; 40: y := y + 1; 27: stop := True; end; если было нажатие на клавишу, …

  • Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin ......

    132 слайд

    Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin ... repeat Draw(x, y, True); Delay(20); Draw(x, y, False); until stop; end. procedure Draw(x,y: integer; flag: Boolean); begin ... end; if IsEvent then begin ... end; процедура основной цикл обработка событий

  • Как убрать мигание? Проблема: даже если не нажата никакая клавиша, квадрат пе...

    133 слайд

    Как убрать мигание? Проблема: даже если не нажата никакая клавиша, квадрат перерисовывается через каждые 20 мс (мигание!) Что хочется: не перерисовать квадрат, если не было никакого события Решение: нарисовать квадрат и ждать события Новая проблема: как ждать события? Решение новой проблемы: пустой цикл "пока не случилось событие, ничего не делай": while not IsEvent do;

  • Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin ......

    134 слайд

    Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin ... repeat Draw(x, y, True); while not IsEvent do; until stop; end. procedure Draw(x,y: integer; flag: Boolean); begin ... end; Draw(x, y, False); Event(k, code, i); ... while not IsEvent do; процедура рисуем квадрат ждем события только теперь стираем

  • &quot;4&quot;: Квадрат двигается при нажатии стрелок, однако не может выйти за границы...

    135 слайд

    "4": Квадрат двигается при нажатии стрелок, однако не может выйти за границы синего квадрата: "5": Квадрат непрерывно двигается, при нажатии стрелок меняет направление и отталкивается от стенок синего квадрата: Задания

  • Вращение Задача: изобразить модель вращения Земли вокруг Солнца. Проблема: дв...

    136 слайд

    Вращение Задача: изобразить модель вращения Земли вокруг Солнца. Проблема: движение по окружности, как изменять координаты? Решение: использовать в качестве независимой переменной (менять в цикле) угол поворота α (x0, y0) α L (x, y) x = x0 + L·cos(α) y = y0 – L·sin(α)

  • Процедура procedure Draw(x, y: integer; flag: boolean); const r = 10; begin i...

    137 слайд

    Процедура procedure Draw(x, y: integer; flag: boolean); const r = 10; begin if flag then Brush(1, 100, 100, 255) else Brush(1, 0, 0, 0); Ellipse(x-r, y-r, x+r, y+r); end; рисовать (True) или нет (False)? рисуем: цвет кисти – голубой стираем: цвет кисти – черный только заливка! радиус Земли (x-r, y-r) (x,y) (x+r, y+r)

  • Константы и переменные program qq; const rSun = 60; { радиус Солнца} L = 150;...

    138 слайд

    Константы и переменные program qq; const rSun = 60; { радиус Солнца} L = 150; { радиус орбиты Земли } x0 = 200; { координаты центра Солнца} y0 = 200; var x, y, { координаты Земли } k, code, i: integer; { для Event } a, ha: real; { угол поворота, шаг } stop: boolean; { признак остановки программы } begin ... end. procedure Draw(x, y: integer; flag: Boolean); begin ... end;

  • Основная программа program qq; ... begin Brush(1, 0, 0, 0); Fill(1,1); Brush(...

    139 слайд

    Основная программа program qq; ... begin Brush(1, 0, 0, 0); Fill(1,1); Brush(1, 255, 255, 0); Ellipse(x0-rSun, y0-rSun, x0+rSun, y0+rSun); a := 0; ha := 1*pi/180; { начальный угол, шаг 1o за 100 мс} stop := false; Pen(0,0,0,0); { отключаем контуры } repeat x := round(x0 + L*cos(a)); y := round(y0 - L*sin(a)); Draw(x, y, True); Delay(100); Draw(x, y, False); a := a + ha; until stop; end. залить фон черным рисуем Солнце новые координаты поворот на ha ждем 100 мс if IsEvent then begin Event(k, code, i); if (k = 1) and (code = 27) then stop := true; end;

  • &quot;4&quot;: Изобразить модель Солнца с двумя планетами, которые вращаются в противоп...

    140 слайд

    "4": Изобразить модель Солнца с двумя планетами, которые вращаются в противоположные стороны: "5": Изобразить модель системы Солнце-Земля-Луна: Задания

  • Программирование на языке Паскаль Тема 12. Случайные числа

    141 слайд

    Программирование на языке Паскаль Тема 12. Случайные числа

  • Случайные числа Случайные явления: везде… бросание монеты (&quot;орел&quot; или &quot;решка&quot;...

    142 слайд

    Случайные числа Случайные явления: везде… бросание монеты ("орел" или "решка") падение снега броуновское движение помехи при телефонной связи шум радиоэфира Случайные числа – это такая последовательность чисел, для которой невозможно предсказать следующее даже зная все предыдущие. Проблема: как получить на компьютере? Возможные решения: использовать внешний источник шумовых помех с помощью математических преобразований

  • Псевдослучайные числа Псевдослучайные числа – это такая последовательность чи...

    143 слайд

    Псевдослучайные числа Псевдослучайные числа – это такая последовательность чисел, которая обладает свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле. Примеры: Случайные целые числа [0,m) (линейный конгруэнтный метод) Случайные вещественные числа [0,1] Литература: Д. Кнут, Искусство программирования для ЭВМ, т.2. дробная часть числа a, c, m - целые числа простое число 230-1 например, k = 5

  • Распределение случайных чисел Модель: снежинки падают на отрезок [a,b] распре...

    144 слайд

    Распределение случайных чисел Модель: снежинки падают на отрезок [a,b] распределение равномерное неравномерное

  • Распределение случайных чисел Особенности: распределение – это характеристика...

    145 слайд

    Распределение случайных чисел Особенности: распределение – это характеристика всей последовательности, а не одного числа равномерное распределение одно, компьютерные датчики (псевдо)случайных чисел дают равномерное распределение неравномерных – много любое неравномерное можно получить с помощью равномерного a b a b равномерное распределение равномерное распределение

  • Генератор случайных чисел в Паскале Целые числа в интервале [0,N]: var x: int...

    146 слайд

    Генератор случайных чисел в Паскале Целые числа в интервале [0,N]: var x: integer; ... x := random ( 100 ); { интервал [0,99] } Вещественные числа в интервале [0,1] var x: real; ... x := random; { интервал [0,1] }

  • Случайные числа Задача: заполнить прямоугольник 400 на 300 пикселей равномерн...

    147 слайд

    Случайные числа Задача: заполнить прямоугольник 400 на 300 пикселей равномерно точками случайного цвета Как получить случайные координаты точки? x := random ( 400 ); y := random ( 300 ); Как добиться равномерности? обеспечивается автоматически при использовании функции random Как получить случайный цвет? Pen (1, random(256), random(256), random(256)); Point ( x, y );

  • Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin sto...

    148 слайд

    Программа program qq; var x, y, k, code, i: integer; stop: boolean; begin stop := False; repeat x := random(400); y := random(300); Pen(1, random(256), random(256), random(256)); Point(x, y ); if IsEvent then begin Event(k, code, i); if (k = 1) and (code = 27) then stop := True; end; until stop; end. случайные координаты случайный цвет выход по клавише Esc

  • &quot;4&quot;: Ввести с клавиатуры координаты углов прямоугольника и заполнить его точк...

    149 слайд

    "4": Ввести с клавиатуры координаты углов прямоугольника и заполнить его точками случайного цвета. "5": Заполнить треугольник точками случайного цвета (равномерно или неравномерно). Подсказка: возьмите равнобедренный треугольник с углом 45о. Задания (100,100) (300,200)

  • Программирование на языке Паскаль Тема 13. Функции © К.Ю. Поляков, 2006-2007

    150 слайд

    Программирование на языке Паскаль Тема 13. Функции © К.Ю. Поляков, 2006-2007

  • Функции Функция – это вспомогательный алгоритм (подпрограмма), результатом ра...

    151 слайд

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

  • Функции Задача: составить функцию, которая вычисляет наибольшее из двух значе...

    152 слайд

    Функции Задача: составить функцию, которая вычисляет наибольшее из двух значений, и привести пример ее использования Функция: формальные параметры function Max (a, b: integer): integer; begin if a > b then Max := a else Max := b; end. это результат функции

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

    153 слайд

    Функции Особенности: заголовок начинается словом function формальные параметры описываются так же, как и для процедур можно использовать параметры-переменные в конце заголовка через двоеточие указывается тип результата функции располагаются ВЫШЕ основной программы

  • Функции Особенности: можно объявлять и использовать локальные переменные знач...

    154 слайд

    Функции Особенности: можно объявлять и использовать локальные переменные значение, которое является результатом, записывается в переменную, имя которой совпадает с названием функции; объявлять ее НЕ НАДО:

  • Программа program qq; var a, b, max: integer; begin writeln(&#039;Введите два числ...

    155 слайд

    Программа program qq; var a, b, max: integer; begin writeln('Введите два числа'); read(a, b); max := Max ( a, b ); writeln('Наибольшее число ', max ); end. function Max (a, b: integer): integer; begin ... end; c c c фактические параметры вызов функции

  • Логические функции Задача: составить функцию, которая определяет, верно ли, ч...

    156 слайд

    Логические функции Задача: составить функцию, которая определяет, верно ли, что заданное число – простое. Особенности: ответ – логическое значение (True или False) результат функции можно использовать как логическую величину в условиях (if, while) Алгоритм: считаем число делителей в интервале от 2 до N-1, если оно не равно нулю – число составное. count := 0; for i := 2 to N-1 do if N mod i = 0 then count := count + 1; if count = 0 then { число N простое} else { число N составное }

  • Логические функции program qq; var N: integer; begin writeln(&#039;Введите целое ч...

    157 слайд

    Логические функции program qq; var N: integer; begin writeln('Введите целое число'); read(N); if Prime(N) then writeln(N, ' – простое число') else writeln(N, ' – составное число'); end. function Prime (N: integer): boolean; var count, i: integer; begin i := 2; count := 0; while i*i <= N do if N mod i = 0 then count := count + 1; i := i + 1; end; Prime := (count = 0); end; вызов функции результат – логическое значение условие – это логическое значение

  • Задания &quot;4&quot;: Составить функцию, которая определяет сумму всех чисел от 1 до N...

    158 слайд

    Задания "4": Составить функцию, которая определяет сумму всех чисел от 1 до N и привести пример ее использования. Пример: Введите число: 100 сумма = 5050 "5": Составить функцию, которая определяет, сколько зерен попросил положить на N-ую клетку изобретатель шахмат (на 1-ую – 1 зерно, на 2-ую – 2 зерна, на 3-ю – 4 зерна, …) Пример: Введите номер клетки: 28 На 28-ой клетке 134217728 зерен.

  • Задания (вариант 2) &quot;4&quot;: Составить функцию, которая определяет наибольший общ...

    159 слайд

    Задания (вариант 2) "4": Составить функцию, которая определяет наибольший общий делитель двух натуральных и привести пример ее использования. Пример: Введите два числа: 14 21 НОД(14,21)=7 "5": Составить функцию, которая вычисляет функцию синус как сумму ряда (с точностью 0.001) Пример: Введите угол в градусах: 45 sin(45) = 0.707 x в радианах!

Получите профессию

Технолог-калькулятор общественного питания

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

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

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

6 653 832 материала в базе

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

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

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

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

  • Скачать материал
    • 04.03.2016 1500
    • PPTX 2.2 мбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Алдыбергенова Жумагуль Жумабековна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

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

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

    • На сайте: 8 лет и 1 месяц
    • Подписчики: 2
    • Всего просмотров: 16486
    • Всего материалов: 11

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

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

Курс профессиональной переподготовки

Бухгалтер

Бухгалтер

500/1000 ч.

Подать заявку О курсе
  • Сейчас обучается 20 человек из 14 регионов

Курс повышения квалификации

Использование компьютерных технологий в процессе обучения информатике в условиях реализации ФГОС

36 ч. — 144 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 141 человек из 43 регионов
  • Этот курс уже прошли 1 294 человека

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов
  • Этот курс уже прошли 284 человека

Курс профессиональной переподготовки

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

Преподаватель информационных технологий

300/600 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе
  • Сейчас обучается 192 человека из 53 регионов
  • Этот курс уже прошли 969 человек

Мини-курс

Event-менеджмент и видеопродакшн: от концепции до успешной реализации

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Этот курс уже прошли 10 человек

Мини-курс

Стратегии B2C маркетинга: от анализа до взаимодействия с клиентом

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Современные методики базальной стимуляции и развивающего ухода для детей с тяжелыми множественными нарушениями развития

6 ч.

780 руб. 390 руб.
Подать заявку О курсе