1 Прикладное программирование Kafmi21. ru – учеба – заочнику – прикладное программирование.

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



Advertisements
Похожие презентации
Тема 1. Введение 1.
Advertisements

Урок 6 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Урок 3 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Программирование на языке Паскаль Тема 1. Введение.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Программирование на языке Паскаль Тема 2. Ветвления.
1 Программирование на языке Паскаль Тема 1. Введение.
1 Программирование на языке Паскаль Ветвления. 2 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения:
1 Программирование на языке Паскаль Тема 1. Введение.
1 Программирование на языке Паскаль Тема 1. Введение Кулебякин В.В.
1 Программирование на языке Паскаль Тема 1. Введение.
1 Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Значение Имя Поместится?
Pascal Алгоритмы разветвляющейся структуры, программирование на языке Pascal 10 «А» класс.
Арифметические выражения. Арифметическое выражение может включать константы имена переменных знаки арифметических операций: + - * / div mod вызовы функций.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Программирование на языке Паскаль Сложные условия.
1 Программирование на языке Паскаль Тема 3. Сложные условия © К.Ю. Поляков,
1 Программирование на языке Паскаль Тема 3. Сложные условия © К.Ю. Поляков,
1 Программирование на языке Паскаль Тема 1. Введение.
1 Программирование на языке Паскаль Тема 3. Сложные условия.
Транксрипт:

1 Прикладное программирование Kafmi21. ru – учеба – заочнику – прикладное программирование

1 этап – постановка задачи; 2 этап – математическое или информационное моделирование; 3 этап – алгоритмизация задачи; 4 этап – программирование; 5 этап – ввод программы и исходных данных; 6 этап – отладка и тестирование программы; 7 этап – исполнение отлаженной программы и анализ результатов. Этапы решения задач с помощью ПК

3 Алгоритм

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

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

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

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

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

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

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

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

12 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; x, y: real; begin a := 5; 10 := x; y := 7,8; b := 2.5; x := 2*(a + y); a := b + x; end. Какие операторы неправильные? имя переменной должно быть слева от знака := целая и дробная часть отделяются точкой нельзя записывать вещественное значение в целую переменную

13 Ручная прокрутка программы 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. 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 ??

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

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

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

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

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

19 Форматы вывода program qq; var i: integer; x: real; begin i := 15; writeln ( '>', i, '', i:5, '', x, '', x:10, '', x:7:2, '', i, '', i:5, '', x, '', x:10, '', x:7:2, '

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

21 Задания Пример: составить программу для определения объема детали.

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

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

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

25 Что неправильно? if a > b then begin a := b; end else b := a; end; 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; 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 begin b := a; end; if a > b then begin a := b; end else b > a begin b := a; end; if a > b then begin a := b; end else b > a begin b := a; end; begin end begin end

26 Что неправильно? if a > b then begin a := b; else b := a; 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 begin a := b; end; else b := a; if a > b then else begin b := a; end; if a > b then else begin b := a; end; if a > b then a := b; else b := a; end; if a > b then a := b; else b := a; end; a := b end a := b if b >= a then b := a; if b >= a then b := a;

27 Задания

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

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

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

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

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

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

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

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

36 Истинно или ложно при 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 c) Для каких значений x истинны условия: (x < 6) and (x < 10) (x 10) (x > 6) and (x < 10) (x > 6) and (x > 10) (x < 6) or (x < 10) (x 10) (x > 6) or (x < 10) (x > 6) or (x > 10) Сложные условия True FALSE (-, 6) (6, 10) (10, ) (-, 10) (-, 6) (10, ) (-, ) (6, ) x < 6x < 6 x > 10 x < 10 x > 6x > 6 True