К. Поляков, 2010-2011 1 Программирование на алгоритмическом языке Тема 1. Введение.

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



Advertisements
Похожие презентации
К. Поляков, Программирование на алгоритмическом языке Тема 1. Введение.
Advertisements

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

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

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

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

Программирование на алгоритмическом языке К. Поляков, Простейшая программа 4 алг Первый нач | начало алгоритма. | здесь записываются команды алгоритма кон | конец алгоритма алг Первый нач | начало алгоритма. | здесь записываются команды алгоритма кон | конец алгоритма комментарии после | не обрабатываются название алгоритма

Программирование на алгоритмическом языке К. Поляков, алг Вывод на экран нач вывод "2+" вывод "2=?", нс вывод "Ответ: 4" кон алг Вывод на экран нач вывод "2+" вывод "2=?", нс вывод "Ответ: 4" кон Вывод текста на экран 5 Протокол: 2+2=? Ответ: 4 новая строка Что делает эта программа? ?

Программирование на алгоритмическом языке К. Поляков, Задания 6 «4»: Вывести на экран текст «лесенкой» Вася пошел гулять «5»: Вывести на экран рисунок из букв Ж ЖЖЖ ЖЖЖЖЖ ЖЖЖЖЖЖЖ HH HH ZZZZZ

Программирование на алгоритмическом языке К. Поляков, Переменные 7 Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых числа =55 компьютер пользователь компьютер считает сам! 1.Как ввести числа в память? 2.Где хранить введенные числа? 3.Как вычислить? 4.Как вывести результат? ?

Программирование на алгоритмическом языке К. Поляков, Программа 8 алг Сумма нач | ввести два числа | вычислить их сумму | вывести сумму на экран кон алг Сумма нач | ввести два числа | вычислить их сумму | вывести сумму на экран кон Псевдокод – алгоритм на русском языке с элементами языка программирования. Компьютер не может исполнить псевдокод! !

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

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

Программирование на алгоритмическом языке К. Поляков, Объявление переменных 11 Типы переменных: цел| целая вещ| вещественная и другие… Объявление переменных: цел a, b, c выделение места в памяти тип – целые список имен переменных

Программирование на алгоритмическом языке К. Поляков, Как записать значение в переменную? 12 a := 5 Оператор присваивания При записи нового значения старое стирается! ! 5 5 Оператор – это команда языка программирова- ния (инструкция). Оператор присваивания – это команда для записи нового значения в переменную. a := 5 Что записывается Куда записывается

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

Программирование на алгоритмическом языке К. Поляков, Как ввести значение с клавиатуры? 14 ввод a 1.Программа ждет, пока пользователь введет значение и нажмет Enter. 2.Введенное значение записывается в переменную a. ! Оператор ввода 5 5

Программирование на алгоритмическом языке К. Поляков, Ввод значений двух переменных 15 через пробел: через запятую: 25,30 ввод a, b Ввод значений двух переменных. a 25 b 30 a 25 b 30

Программирование на алгоритмическом языке К. Поляков, Изменение значения переменной 16 алг Тест нач цел a, b a := 5 b := a + 2 a := (a + 2)*(b – 3) b := b + 1 кон алг Тест нач цел a, b a := 5 b := a + 2 a := (a + 2)*(b – 3) b := b + 1 кон a ? 5 5 b ? a 5 7*4 28 Пример: b

Программирование на алгоритмическом языке К. Поляков, Арифметические операции 17 + сложение – вычитание * умножение / деление div деление нацело (остаток отбрасывается) mod остаток от деления цел a, b a := 7*3 - 4 | 17 a := a * 5 | 85 b := div(a,10) | 8 a := mod(a,10) | 5 цел a, b a := 7*3 - 4 | 17 a := a * 5 | 85 b := div(a,10) | 8 a := mod(a,10) | 5

Программирование на алгоритмическом языке К. Поляков, Вывод данных 18 |вывод значения |переменной a |вывод значения |переменной a и переход |на новую строчку |вывод текста |вывод текста и значения переменной c вывод a вывод a, нс вывод "Привет!" вывод "Ответ: ", c вывод a, "+", b, "=", c

Программирование на алгоритмическом языке К. Поляков, Задача: сложение чисел 19 Задача. Ввести два целых числа и вывести на экран их сумму. Простое решение: алг Сумма нач цел a, b, c ввод a, b c := a + b вывод c кон алг Сумма нач цел a, b, c ввод a, b c := a + b вывод c кон Что плохо? ?

Программирование на алгоритмическом языке К. Поляков, Полное решение 20 алг Сумма нач цел a, b, c вывод "Введите два целых числа" ввод a, b c := a + b вывод a, "+", b, "=", c кон алг Сумма нач цел a, b, c вывод "Введите два целых числа" ввод a, b c := a + b вывод a, "+", b, "=", c кон Протокол: Введите два целых числа =55 компьютер пользователь подсказка

Программирование на алгоритмическом языке К. Поляков, Задания 21 «3»: Ввести три числа, найти их сумму. Пример: Введите три числа: =16 «4»: Ввести три числа, найти их сумму и произведение. Пример: Введите три числа: =16 4*5*7=140

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

Программирование на алгоритмическом языке К. Поляков, Какие операторы неправильные? 23 алг Ошибки нач цел a, b вещ x, y a := 5 10 := x y := 7,8 b := 2.5 x := 2*(a + y) a := b + x кон алг Ошибки нач цел a, b вещ x, y a := 5 10 := x y := 7,8 b := 2.5 x := 2*(a + y) a := b + x кон имя переменной должно быть слева от знака := целая и дробная часть отделяются точкой, а не запятой нельзя записывать вещественное значение в целую переменную

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

Программирование на алгоритмическом языке К. Поляков, Ручная прокрутка программы 25 алг Тест нач цел a, b a := 5 b := a + 2 a := (a + 2)*(b – 3) b := div(a,5) a := mod(a,b) a := a + 1 b := mod(a+14,7) кон алг Тест нач цел a, b a := 5 b := a + 2 a := (a + 2)*(b – 3) b := div(a,5) a := mod(a,b) a := a + 1 b := mod(a+14,7) кон ab ??

Программирование на алгоритмическом языке К. Поляков, Команда «вывод» 26 цел a = 1, b = 3 вывод a, "+", b, "=", a+b цел a = 1, b = 3 вывод a, "+", b, "=", a+b список вывода элементы разделяются запятыми элементы в кавычках – выводятся без изменений выражения (элементы без кавычек) вычисляются и выводится их результат 1+3=4 Что будет выведено? ?

Программирование на алгоритмическом языке К. Поляков, Что будет выведено? 27 цел a = 1, b = 3 вывод "a+", b, "=a+b" цел a = 1, b = 3 вывод "a+", b, "=a+b" a+3=a+b цел a = 1, b = 3 вывод a, "=F(", b, ")" цел a = 1, b = 3 вывод a, "=F(", b, ")" 1=F(3) цел a = 1, b = 3 вывод "a=F(", b, ");" цел a = 1, b = 3 вывод "a=F(", b, ");" цел a = 1, b = 3 вывод a+b, ">", b, "!" цел a = 1, b = 3 вывод a+b, ">", b, "!" цел a = 1, b = 3 вывод "F(", b, ")=X(", a, ")" цел a = 1, b = 3 вывод "F(", b, ")=X(", a, ")" a=F(3); 4>3! F(3)=X(1)

Программирование на алгоритмическом языке К. Поляков, Как записать оператор «вывод»? 28 цел a = 1, b = 3 вывод "X(", b, ")=", a цел a = 1, b = 3 вывод "X(", b, ")=", a X(3)=1 4=1+3 f(1)>f(3) 3> 1+3=? цел a = 1, b = 3 вывод a+b, "=", a, "+", b цел a = 1, b = 3 вывод a+b, "=", a, "+", b цел a = 1, b = 3 вывод "f(", a, ")>f(", b, ")" цел a = 1, b = 3 вывод "f(", a, ")>f(", b, ")" цел a = 1, b = 3 вывод " ", b, ">" цел a = 1, b = 3 вывод " ", b, ">" цел a = 1, b = 3 вывод a, "+", b, "=?" цел a = 1, b = 3 вывод a, "+", b, "=?"