10-8Pa_Паскаль-I

Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Программирование на языке Паскаль:

1 Программирование на языке Паскаль § 54. Алгоритм и его свойства § 55. Простейшие программы § 56. Вычисления

Программирование на языке Паскаль:

Программирование на языке Паскаль § 54. Алгоритм и его свойства 2

Что такое алгоритм?:

Что такое алгоритм? 3 Мухаммед ал-Хорезми (ок. 783–ок. 850 гг.) Алгоритм — это точное описание порядка действий, которые должен выполнить исполнитель для решения задачи за конечное время. Исполнитель – это устройство или одушёвленное существо (человек), способное понять и выполнить команды, составляющие алгоритм. Формальные исполнители : не понимают (и не могут понять) смысл команд.

Свойства алгоритма:

Свойства алгоритма 4 Дискретность — алгоритм состоит из отдельных команд, каждая из которых выполняется за конечное время. Детерминированность ( определённость ) — при каждом запуске алгоритма с одними и теми же исходными данными получается один и тот же результат. Понятность — алгоритм содержит только команды, входящие в систему команд исполнителя . Конечность (результативность) — для корректного набора данных алгоритм должен завершаться через конечное время. Корректность — для допустимых исходных данных алгоритм должен приводить к правильному результату.

Как работает алгоритм?:

Как работает алгоритм? 5 дискретный объект 1 2 3 4 алгоритм шаг 1 шаг 2 шаг 3 2 3 4 5 5 4 3 2 дискретный объект 25 16 9 4 получает на вход дискретный объект в результате строит другой дискретный объект (или выдаёт сообщение об ошибке) обрабатывает объект по шагам на каждом шаге получается новый дискретный объект

Способы записи алгоритмов:

Способы записи алгоритмов 6 естественный язык псевдокод установить соединение пока не принята команда «стоп» принять команду выполнить команду завершить сеанс связи установить соединение нц принять команду выполнить команду кц_при команда = 'stop' завершить сеанс связи

Способы записи алгоритмов:

Способы записи алгоритмов 7 блок-схема setConnection ; repeat cmd := getCommand ; executeCommand ( cmd ); until cmd = "stop"; closeConnection ; программа принять команду установить соединение завершить соединение выполнить команду «стоп»? да нет

Программирование на языке Паскаль:

Программирование на языке Паскаль § 55. Простейшие программы 8

Простейшая программа:

Простейшая программа 9 program qq ; begin { начало программы } { тело программы } end. { конец программы } комментарии в скобках {} не обрабатываются Что делает эта программа ? ? название алгоритма Пример программы

Вывод на экран:

Вывод на экран 10 program qq ; begin write('2+'); { без перехода } write ln ('2=?'); { на новую строку } write ln (' Ответ: 4'); end. Протокол: 2+2=? Ответ: 4 Пример программы

Задания:

Задания 11 « B »: Вывести на экран текст «лесенкой» Вася пошел гулять « C »: Вывести на экран рисунок из букв Ж ЖЖЖ ЖЖЖЖЖ ЖЖЖЖЖЖЖ HH HH ZZZZZ

Сложение чисел:

Сложение чисел 12 Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых числа 25 30 25+30=55 компьютер пользователь компьютер считает сам! Как ввести числа в память? Где хранить введенные числа ? Как вычислить? Как вывести результат? ?

Сумма: псевдокод:

Сумма: псевдокод 13 program qq ; begin { ввести два числа } { вычислить их сумму } { вывести сумму на экран } end. Псевдокод : алгоритм на русском языке с элементами Паскаля. Компьютер не может исполнить псевдокод! !

Переменные:

Переменные 14 Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. a Значение Имя Поместится? ? Другой тип данных В переменной хранятся данные определенного типа! !

Имена переменных:

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

Объявление переменных:

Объявление переменных 16 Типы переменных: integer { целая } real { вещественная } и другие… Объявление переменных: var a, b, c: integer ; выделение места в памяти variable – переменная тип – целые список имен переменных

Тип переменной:

Тип переменной 17 область допустимых значений допустимые операции объём памяти формат хранения данных для предотвращения случайных ошибок

Ввод значения в переменную:

Ввод значения в переменную 18 read ( a ); Программа ждет, пока пользователь введет значение и нажмет Enter . Введенное значение записывается в переменную a . ! оператор ввода 5 a

Ввод значений переменной:

Ввод значений переменной 19 через пробел: 25 30 через Enter : 25 30 read ( a, b ); Ввод значений двух переменных (через пробел или Enter ). a 25 b 30 a 25 b 30

Изменение значений переменной:

Изменение значений переменной 20 var a, b: integer ; ... a := 5 ; b := a + 2 ; a := (a + 2 )*(b – 3 ); b := b + 1 ; a ? 5 5 b ? 5+2 7 a 5 7*4 28 b 7 7+1 8

Вывод данных:

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

Сложение чисел: простое решение:

Сложение чисел: простое решение 22 program Sum ; var a, b, c: integer ; begin read ( a, b ); c := a + b; writeln ( c ); end. Что плохо? ? Пример программы

Сложение чисел: полное решение:

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

Снова про оператор вывода:

Снова про оператор вывода 24 a:= 123 ; write( a: 5 ); Форматный вывод: Вычисление выражений: writeln ( a, '+' , b, '=' , a+b ); a+b 123 5 знаков

Программирование на языке Паскаль:

Программирование на языке Паскаль § 56. Вычисления 25

Типы данных:

Типы данных 26 byte { целые 0..255 } shortint { целые -128 .. 1 2 8 } word { целые 0.. 6553 5 } longint { целые –2147483648..2147483647 } single { вещественная , 4 байта } real { вещественная , 6 байта } double { вещественная , 8 байтов } extended { вещественная , 10 байтов } boolean { логическая , 1 байт } char { символ , 1 байт } string { символьная строка } Сколько байт в памяти? ?

Арифметические выражения:

Арифметические выражения 27 a:= (c + b * 5 * 3 - 1 ) / 2 * d; Приоритет ( старшинство ): скобки умножение и деление сложение и вычитание 2 1 3 4 5 6

Деление, div, mod:

Деление, div , mod 28 Результат деления «/» – вещественное число: a:= 2 / 3; var a: single ; 0.6666… div – деление нацело (остаток отбрасывается) mod – остаток от деления var a, b, d: integer ; ... d := 85 ; b := d div 10 ; { 8 } a := d mod 10 ; { 5 }

div и mod для отрицательных чисел:

div и mod для отрицательных чисел 29 write(-7 div 2, ',' ); write(-7 mod 2); -3 -1 -7 = ( -3 )*2 + ( -1 ) В математике не так! ! -7 = ( -4 )*2 + 1 остаток  0 Пример программы

Вещественные числа:

Вещественные числа 30 Целая и дробная части числа разделяются точкой ! ! var x: double ; ... x:= 123.456 ; Форматный вывод : a:= 1 ; write( a/ 3 ); write( a/ 3 :7 :3 ); 3.333333E-001 3,333333  10 -1 = 0 ,3333333 0 .333 всего знаков в дробной части Пример программы

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

Стандартные функции 31 abs (x) — модуль sqrt ( x ) — квадратный корень sin ( x ) — синус угла, заданного в радианах cos ( x ) — косинус угла, заданного в радианах exp ( x ) — экспонента е х ln ( x ) — натуральный логарифм trunc (x) — отсечение дробной части round (x) — округление до ближайшего целого

Случайные числа:

Случайные числа 32 Случайно… встретить друга на улице разбить тарелку найти 10 рублей выиграть в лотерею Случайный выбор : жеребьевка на соревнованиях выигравшие номера в лотерее Как получить случайность?

Случайные числа на компьютере:

Случайные числа на компьютере 33 Электронный генератор нужно специальное устройство нельзя воспроизвести результаты 318458191041 564321 209938992481 458191 938992 малый период (последовательность повторяется через 10 6 чисел) Метод середины квадрата (Дж. фон Нейман) в квадрате Псевдослучайные числа – обладают свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле. зерно

Генератор случайных чисел:

Генератор случайных чисел 34 Вещественные числа в интервале [0, 1 ) : var X, Y: double ; ... X:= r a ndom ; { интервал от 0 до 1 ( <1 ) } Y:= r a ndom ; { это уже другое число! } англ. random – случайный Целые числа в интервале [0,10) : var K, L: integer ; ... K:= ra ndom ( 1 0 ) { интервал от 0 до 9 ( <10 ) } L := ra ndom ( 1 0 ) { это уже другое число! }

Другой интервал:

Другой интервал 35 Вещественные числа: var X, a, b : double ; ... X:= r a ndom * 10 ; { расширение интервала: [0,10) } X:= r a ndom * 10 + 5 ; { расширение и сдвиг: [ 5 ,1 5 ) } X:= r a ndom * (b-a) + a ; { расширение и сдвиг: [ a,b ) } var K , a, b : integer ; ... K:= r a ndom ( 10 ) + 5 ; { [ 5 ,14] } X:= r a ndom (b-a+1) + a ; { [ a,b ] } Целые числа:

Задачи:

Задачи 36 « A »: Ввести с клавиатуры три целых числа, найти их сумму, произведение и среднее арифметическое. Пример : Введите три целых числа: 5 7 8 5+7+8=20 5*7*8=280 (5+7+8)/3= 6.667 « B »: Ввести с клавиатуры координаты двух точек (A и B) на плоскости (вещественные числа). Вычислить длину отрезка AB. Пример : Введите координаты точки A: 5.5 3.5 Введите координаты точки B: 1.5 2 Длина отрезка AB = 4.272

Задачи:

Задачи 37 « C »: Получить случайное трехзначное число и вывести через запятую его отдельные цифры. Пример : Получено число 123. Его цифры 1, 2, 3.

Конец фильма:

38 Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург kpolyakov@mail.ru ЕРЕМИН Евгений Александрович к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь eremin@pspu.ac.ru

Источники иллюстраций:

Источники иллюстраций 39 old-moneta.ru www.random.org www.allruletka.ru www.lotterypros.com logos.cs.uic.edu ru.wikipedia.org   иллюстрации художников издательства «Бином» авторские материалы

authorStream Live Help