1 Программирование на языке Паскаль. 2 Алгоритм Свойства алгоритма дискретность: состоит из отдельных шагов (команд) понятность: должен включать только.

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



Advertisements
Похожие презентации
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
Advertisements

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

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

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

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

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

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

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

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

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

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

10 Тип integer (целый). Значения этого типа занимают 4 байта и находятся в диапазоне от до Константа MaxInt хранит значение Тип real (вещественный). Значения вещественного типа занимают 8 байт, содержат значащих цифр и по модулю не могут превосходить величины 1.710^308. Самое маленькое положительное число вещественного типа равно 5.010^324. Константы типа real можно записывать как в форме плавающей точкой, так и в экспоненциальной форме: 1.7, 0.013, 2.5e3 (2500), 1.4e-1 (0.14). Порядковые типы

11 Тип byte (беззнаковый целый). Значения этого типа занимают 1 байт и находятся в диапазоне от 0 до 255. Тип word (беззнаковый целый). Значения этого типа занимают 2 байта и находятся в диапазоне от 0 до Тип char (символьный). Значения этого типа занимают 1 байт и представляют собой символы в кодировке Windows. Тип boolean (логический). Переменные и константы логического типа занимают 1 байт и принимают одно из двух значений, задаваемых предопределенными константами True (истина) и False (ложь).

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

13 Как изменить значение переменной? Оператор – это команда языка программирования высокого уровня. Оператор присваивания служит для изменения значения переменной. 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 Пример:

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

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

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

17 Порядок выполнения операций вычисление выражений в скобках умножение, деление, 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));

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

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

20 Этапы решения задач на компьютере. 1-й этап - постановка задачи. 2-й этап - разработка математической модели. Т. е. решение задачи в общем виде. 3-й этап - конструирование алгоритма. 4-й этап - перевод алгоритма в программу. 5-й этап - проведение компьютерного эксперимента. 6-й этап состоит в анализе получаемых результатов и корректировке исследуемой модели.

Алгоритм : сумма двух чисел Алг сумма 2-х чисел (цел a,b,S) арг a, b рез S Нач ввод а, b S = a+b вывод S кон 21 + Кумир Задача: Задача: составить алгоритм, блок-схему и программу для суммирования любых двух чисел, введённых с клавиатуры.

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

23 Составить программу по алгоритму: Сложение двух чисел Задача. Задача. Ввести два целых числа и вывести на экран их сумму. program sum; var a, b, c: integer; begin read ( a, b ); c := a + b; writeln ( c ); end. program sum; var a, b, c: integer; begin read ( a, b ); c := a + b; writeln ( c ); end. Программа без комментариев Программа без комментариев. Набрать и выполнить эту программу на компьютере ( без комментариев и с комментариями) Записать в тетрадь.

24 Программа с комментариями: program sum_2; var a, b, c: integer; begin writeln('Введите два целых числа'); read ( a, b ); c := a + b; writeln ( a, '+', b, '=', c ); writeln (сумма 2-х чисел =, c); end. program sum_2; var a, b, c: integer; begin writeln('Введите два целых числа'); read ( a, b ); c := a + b; writeln ( a, '+', b, '=', c ); writeln (сумма 2-х чисел =, c); end. Протокол: Введите два целых числа =55 компьютер пользователь Сумма 2-х чисел = 55 Набрать и выполнить программу на компьютере. Записать в тетрадь.

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

26 PROGRAM SHAR; VAR R:REAL; (*РАДИУС ШАРА*) V: REAL; {ОБЪЁМ ШАРА} BEGIN R: = 8.5; V: = 4*PI*R*R*R/3; WRITELN ( 'ОБЪЁМ ШАРА=', V:8:3) END. 8:3 – формат вывода 8 – число позиций на изображение всего числа 3 – число позиций на изображение дробной части. Пример 2: Разобрать программу, формат вывода данных. Невыполнимые комментарии Выполнимый комментарий, выведен на экран

27 Задача 1: Составить алгоритм и программу. 1) Ввести три числа, найти их сумму, произведение и среднее арифметическое. Пример: Введите три числа: =16 4*5*7=140 (4+5+7)/3=5.33 Алг арг (цел рез Нач кон

Программа: Задача 1 : Задача 1 : Ввести три числа, найти их сумму, произведение и среднее арифметическое. Алгоритм: Составить алгоритм и программу. Программу набрать и выполнить на компьютере.

29 Перевод в тригонометрических функциях значений угла из размерности в градусах в радианы выполняется умножением на p /180 (p = 3, …). рад = град*Pi /180 Для получения случайных чисел в различных диапазонах : RANDOM(2*x) – х – генерирует случайные числа от –х до х. Чтобы каждый раз получать разные последовательности, нужно базу функции RANDOM привязать к таймеру компьютера. Это делается в начале программы записью оператора RANDOMIZE.

30 Самостоятельно составить алгоритмы и программы: 2)Найти радианную меру угла, если его градусная мера равна А. (рад = град*Pi /180). 3)Написать программу вычисления стоимости некоторого количества (по весу) яблок. 4)Вычислить гипотенузу прямоугольного треугольника, если известны два катета.