Основы алгоритмизации
Теория (повторение):
Двадцать первый век – это век высоких технологий. Очень быстро развивается техника. Мы уже с вами привыкли, что год за годом появляются всё новые и новые изобретения, которые влияют на нашу жизнь. В частности, это касается появления новых моделей компьютеров, телефонов, планшетов и много другого.
Сейчас человек не может себя представить без компьютера или телефона.
Мы привыкли, что с их помощью легко можно связаться с любым человеком, где бы мы не находились. А также зайти, например, в интернет и найти нужную вам информацию.
Но развитие такой техники не мыслимо без программирования. В наше время изучать и знать программирование престижно и полезно. С помощью программирования создаётся программное обеспечение компьютера: программы, игры, приложения.
Существует множество языков программирования. Например, С++, С#, Java, DELFI, Pascal и так далее. Можно перечислять очень долго.
Но для того, чтобы научиться создавать программы на таких языках, как С# или Java, необходимо изучить один из более простых. Например, тот, который преподают вам в школе – Pascal. Так как после изучения простого языка, вам будет легче понять более сложные языки программирования.
Итак, на этом уроке мы с вами повторим, что такое языки программирования, программы, алфавит и словарь языка Pascal, а также какие существуют типы данных.
Языки программирования – это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер.
В свою очередь, программа – это запись алгоритма на языке программирования. То есть, когда мы с вами написали алгоритм действий компьютера на языке программирования Pascal – мы создали программу.
Pascal – один из наиболее известных языков программирования, а также является базой для ряда других языков.
Язык Pascal был создан в 1968–1969 годах швейцарским учёным, специалистом в области информатики Никлаусом Виртом.
Он получил своё название в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, умеющую складывать два числа.
1) Общие сведения о языке программирования Паскаль
- Язык программирования
- Алфавит и словарь языка
- Типы данных, используемые в языке Паскаль
- Структура программы на языке Паскаль
- Оператор присваивания
2) Организация ввода и вывода данных
3) Программирование линейных алгоритмов
- Числовые типы данных
- Целочисленный тип данных
- Символьный и строковый типы данных
- Логический тип данных
Решение задач:
📖 Задача №1. Определите значение переменной b после выполнения данного алгоритма:
a := 4
b := 10
a := b-a*2
b := 24/a*4
📌 Пояснение
Символ «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики.
Как нужно рассуждать, чтобы правильно установить порядок арифметических действий в числовом выражении?
Прежде чем приступить к вычислениям, надо рассмотреть выражение (выяснить, есть ли в нём скобки, какие действия в нём имеются) и только после этого выполнять действия в следующем порядке:
1. действия, записанные в скобках;
2. умножение и деление;
3. сложение и вычитание.
✎ Решение:
Мы видим линейный алгоритм. Выполним его последовательно, шаг за шагом.
1) a: = 4 — на первом шаге переменной a присвоили значение 4;
2) b := 10 на втором шаге переменной b присвоили значение 10;
3) a := b-a*2 — выполняем вычисления, подставив значения переменных.
4) a := b — a*2 = 10 — 4*2 = 2;
a := 2;
5) b := 24/a*4 — аналогично, выполняем вычисления.
6) b := 24/2*4 = 12*4 = 48.
b := 48.
Ответ: 48
💡 Возможные ловушки и проблемы:
нужно не забыть, что умножение и деление имеют одинаковый приоритет, то есть выполняются по порядку слева направо (если нет скобок)
📖 Задача №2. Определите значение переменной c после выполнения следующего фрагмента программы.
a := 5;
a := a + 6;
b := –a;
c := a – 2*b;
✎ Решение:
1) a := 5; — на первом шаге переменной a присвоили значение 5;
2) a := a + 6; - на втором шаге выполняем вычисления, подставив значения переменных.
a:=5 + 6 = 11
3) b := –a; - этот оператор изменяет значение переменной b, записывая в нее –a; учитывая, что в a записано число 11, находим, что b будет равно –11
4) c := a – 2*b; - последняя команда изменяет значение переменной c;
при текущих значениях a = 11 и b = –11 результат выражения равен
c :=11 – 2*(–11) = 33, это число и будет записано в переменную c
Ответ: 33
💡 Возможные ловушки и проблемы:
нельзя забывать про знак переменных и про то, что «минус на минус дает плюс»
📖 Задача №3. Определите значение переменной a после выполнения следующего фрагмента программы.
a := 44;
b := 14;
a := a div b;
📌 Пояснение
- a div b – целочисленное деление числа a на число b, дробная часть при этом отбрасывается
- Результат деления меньшего числа на большее =0
Например:
- 10 div 4 = 2
- 49 div 10 = 4
- 44 div 1000 = 0 , т.к. результат деления меньшего числа на большее =0
✎ Решение:
1) a := 44; — на первом шаге переменной a присвоили значение 44;
2) b := 14; - на втором шаге переменной b присвоили значение 14
3) a := a div b; - этот оператор изменяет значение переменной a, записывая в нее следующее значение
a := 44 div 14 = 3
Ответ: 3
📖 Задача №4. Определите значение переменной a после выполнения следующего фрагмента программы.
a := 35;
b := 15;
a := a mod b;
📌 Пояснение
- a mod b – получение остатка от целочисленного деления a на число b .
- Результат деления меньшего числа на большее = меньшему числу
Например:
- 10 mod 4 = 2
- 49 mod 10 = 9
- 44 mod 1000 = 44 , т.к. результат деления меньшего числа на большее = меньшему числу
✎ Решение:
1) a := 35; — на первом шаге переменной a присвоили значение 35;
2) b := 15; - на втором шаге переменной b присвоили значение 15
3) a := a mod b; - этот оператор изменяет значение переменной a, записывая в нее следующее значение
a := 35 mod 15 = 5
Ответ: 5
Общие сведения о языке программирования Pascal. Алфавит и словарь языка. Типы данных
Вводный. Основные понятия. Представление работы в компьютере
Задачи для самостоятельного решения
![](https://www.google.com/images/icons/product/drive-32.png)