1.47M
Категория: ПрограммированиеПрограммирование

Основы программирования на JavaScript. Тема 4. Этапы решения задачи на ЭВМ. Алгоритмы

1.

Этапы решения задачи на ЭВМ.
Алгоритмы
Макарчук Роман
1

2.

Основы программирования на JavaScript
1. Введение в JavaScript и возможности языка
2. Основы языка JavaScript
3. Типы данных и операции над ними
4. Алгоритмы
5. Условные операторы
6. Циклы
7. Списки. Массивы: одномерные и многомерные
8. Инструменты программирования
9. Функции и процедуры
10. Теория графов
11. Реализация принципов объектно-ориентированного программирования
12. Классификация языков
2

3.

Основы программирования на JavaScript
Тема 4. Этапы решения задачи на ЭВМ. Алгоритмы
4.1. Основные понятия
4.2. Алгоритмизация
4.3. Этапы решения задач на ЭВМ
4.4. Виды алгоритмов
4.5. Линейные алгоритмы
4.6. Графическое и программное представление линейного алгоритма
3

4.

Основные понятия
Алгоритм (лат. algorithmi – от имени среднеазиатского математика Аль-Хорезми):
под алгоритмом понимается всякое точное предписание, которое задаёт
вычислительный процесс (называемый в этом случае алгоритмическим),
начинающийся с произвольного исходного данного (из некоторой
совокупности возможных для данного алгоритма исходных данных) и
направленный на получение полностью определяемого этим исходным
данным результата. (Большая Советская энциклопедия)
Алгоритм –
конечная совокупность точно заданных правил решения некоторого
класса задач или набор инструкций, описывающих порядок действий
исполнителя для решения определённой задачи. (ВикипедиЯ)

5.

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

6.

Основные понятия
Свойства алгоритма:
• Дискретность. Процесс решения задачи должен быть разбит на
последовательность отдельных шагов – команд (инструкций).
• Понятность. Каждая команда алгоритма должна быть понятна исполнителю.
• Результативность (конечность). Исполнение алгоритма должно за конечное
число шагов завершаться определенными результатами.
• Определенность (детерминированность). Каждая команда алгоритма должна
быть однозначно определена, также как и то, какая команда будет выполняться
следующей.
• Массовость. Алгоритм должен быть применим для решения не конкретной задачи,
а, вообще говоря, целого класса задач, который определяется диапазоном
возможных входных данных.
6

7.

Основные понятия
Способы записи:
1. Текстовый алгоритм (словесное, формульно-словесное описание).
2. Графический алгоритм (блок-схема).
3. Программный алгоритм (псевдокод, язык программирования).
7

8.

Основные понятия
Графическое представление
ГОСТ 19.701-90 (ISO 5807-85)
ГОСТ 19.701-90. Единая система программной документации. Схемы алгоритмов,
программ, данных и систем. Условные обозначения и правила выполнения.
ISO 5807:1985. Information processing – Documentation symbols and conventions for data,
program and system flowcharts, program network charts and system resources charts

9.

Основные понятия
Графическое представление
Наименование
Обозначение
Назначение
Данные
ввод, вывод данных
Процесс
операторы (инструкции),
команды
Линия
поток данных или
управления

10.

Основные понятия
Графическое представление
Наименование
Обозначение
Назначение
Терминатор
вход из внешней среды,
выход во внешнюю среду
Соединитель
для обрыва линии и
продолжения ее в другом
месте
Комментарий
комментарии

11.

Основные понятия
Псевдокод –
компактный, зачастую неформальный язык описания алгоритмов,
использующий ключевые слова императивных языков программирования, но
опускающий несущественные для понимания алгоритма подробности и
специфический синтаксис.
Предназначен для представления алгоритма человеку, а не компьютеру.
11

12.

Основные понятия
Представления алгоритма
Запись алгоритма на естественном языке
(словесное описание)
Графическое представление алгоритма
(блок-схема)
Запись алгоритма в виде псевдокода
Запись алгоритма на языке программирования (JavaScript)
нач
ввод A и B
s =A*B
вывод s
кон
let a = Number(prompt('Введите длину стороны прямоугольника'))
let b = Number(prompt('Введите ширину стороны прямоугольника'))
let s = a*b
alert('Площадь прямоугольника = ' + s)
12

13.

Основные понятия
Задача
Вычислить выражение:
z = 2x − (y + 6)

14.

Основные понятия
Словесное описание
1.
Ввести значения переменных x и y.
2.
Найти сумму переменной y и числа 6.
3.
Найти произведение числа 2 и переменной x.
4.
Вычислить разность значений, полученных в пунктах 3 и 2.
5.
Вывести результат, полученный в пункте 4.

15.

Основные понятия
Формульно-словесное описание. Вариант 1
1.
Ввести x и y.
2.
Найти var1 = y + 6.
3.
Найти var2 = 2 * x.
4.
Вычислить z = var2 - var1.
5.
Вывести z.

16.

Основные понятия
Формульно-словесное описание. Вариант 2
1.
Ввести x и y.
2.
Вычислить z = 2 * x – (y + 6).
3.
Вывести z.

17.

Основные понятия
Графический алгоритм
начало
ввод x и y
z = 2*x – (y + 6)
вывод z
конец

18.

Основные понятия
Псевдокод
нач
ввод x и y
z = 2 * x – (y + 6)
вывод z
кон

19.

Основные понятия
Программный алгоритм (JavaScript)
'use strict'
// раздел описания констант и переменных
let x, y, z;
// раздел ввода исходных данных
x = Number(prompt("Введите значение x"));
y = Number(prompt("Введите значение y"));
// раздел обработки данных
z = 2*x - (y + 6);
// раздел вывода полученных результатов
console.log("Значение выражения 2*x-(y+6) = " + z);

20.

Основные понятия
Программный алгоритм
(Turbo Pascal)
program calculation;
uses crt;
{раздел описания констант и переменных}
var
x, y, z: real;
begin
{раздел ввода исходных данных}
write('Введите значение x: ');
readln(x);
write('Введите значение y: ');
readln(y);
{раздел обработки данных}
z := 2*x - (y + 6);
{раздел вывода полученных результатов}
write('Значение выражения 2*x-(y+6) = ' , z);
end.

21.

Вопросы и задания
21

22.

Вопросы
1. Что обозначает блок
?
2. Перечислите основные виды представления алгоритмов.
3. Что такое псевдокод?

23.

Вопросы
1. Что обозначает блок
?
ввод, вывод данных
2. Перечислите основные виды представления алгоритмов.
3. Что такое псевдокод?

24.

Вопросы
1. Что обозначает блок
?
ввод, вывод данных
2. Перечислите основные виды представления алгоритмов.
текстовый, графический, программный
3. Что такое псевдокод?

25.

Вопросы
1. Что обозначает блок
?
ввод, вывод данных
2. Перечислите основные виды представления алгоритмов.
текстовый, графический, программный
3. Что такое псевдокод?
неформальный язык описания алгоритмов, опускающий
несущественные для понимания алгоритма подробности

26.

Выводы по подтеме
1. Узнали, что такое алгоритм.
2. Познакомились со способами записи алгоритмов.
3. Изучили элементы блок-схем.
4. На примере разобрали различные способы записи алгоритмов.
26

27.

Основы программирования на JavaScript
Тема 4. Алгоритмы
4.1. Основные понятия
4.2. Алгоритмизация
4.3. Этапы решения задач на ЭВМ
4.4. Виды алгоритмов
4.5. Линейные алгоритмы
4.6. Графическое и программное представление линейного алгоритма
27

28.

Алгоритмизация
Алгоритмизация –
этап решения задачи, состоящей в нахождении по формулировке задачи
алгоритма ее решения.
Алгоритмизация –
раздел информатики, изучающий методы, приемы построения алгоритмов и
их свойства (иногда также называют алгоритмикой).

29.

Основы программирования на JavaScript
Тема 4. Алгоритмы
4.1. Основные понятия
4.2. Алгоритмизация
4.3. Этапы решения задач на ЭВМ
4.4. Виды алгоритмов
4.5. Линейные алгоритмы
4.6. Графическое и программное представление линейного алгоритма
29

30.

Этапы решения задач на ЭВМ
1.
Общая формулировка задачи.
2.
Математическая формулировка задачи.
3.
Выбор метода решения.
4.
Составление алгоритма решения (алгоритмизация).
5.
Составление и отладка программы.
6.
Тестирование программы.
7.
Решение поставленной задачи и предоставление результатов.

31.

Этапы решения задач на ЭВМ
Общая формулировка задачи
• формулировка в содержательных терминах;
• определение входных и выходных данных.

32.

Этапы решения задач на ЭВМ
Математическая формулировка задачи (математическая модель)
• определения используемых математических величин;
• определение связей между математическими величинами.

33.

Этапы решения задач на ЭВМ
Выбор метода решения
• определение набора математических методов решения задачи;
• выбор наиболее подходящего.

34.

Этапы решения задач на ЭВМ
Составление алгоритма решения
• текстового;
• графического.

35.

Этапы решения задач на ЭВМ
Требования к алгоритму
• максимально прост и понятен;
• разбит на простые, легко воспринимаемые части;
• минимальное число базовых управляющих структур.

36.

Основы программирования на JavaScript
Тема 4. Алгоритмы
4.1. Основные понятия
4.2. Алгоритмизация
4.3. Этапы решения задач на ЭВМ
4.4. Виды алгоритмов
4.5. Линейные алгоритмы
4.6. Графическое и программное представление линейного алгоритма
36

37.

Виды алгоритмов
1.
Линейные.
2.
Разветвленные.
3.
Циклические.
4.
Рекурсивные.
5.
Комбинированные (сложной структуры).

38.

Основы программирования на JavaScript
Тема 4. Алгоритмы
4.1. Основные понятия
4.2. Алгоритмизация
4.3. Этапы решения задач на ЭВМ
4.4. Виды алгоритмов
4.5. Линейные алгоритмы
4.6. Графическое и программное представление линейного алгоритма
38

39.

Линейные алгоритмы
• Все этапы решения задачи выполняются ровно один раз и строго
последовательно.
• Применяются при вычислении арифметических выражений, состоящих
только из простейших алгебраических действий.

40.

Линейные алгоритмы
Текстовое представление
[действие 1]
[действие 2]
[действие 3]

[действие N]
1. [действие 1]
2. [действие 2]
3. [действие 3]

N. [действие N]

41.

Линейные алгоритмы
начало
Графическое представление
действие 1
действие 2

действие N
конец

42.

Вопросы и задания
42

43.

Вопросы
1. Назовите основные виды алгоритмов.
2. Назовите основную особенности линейного алгоритма.
3. Что обозначает блок
?

44.

Вопросы
1. Назовите основные виды алгоритмов.
линейные, разветвленные, циклические, рекурсивные
2. Назовите основную особенности линейного алгоритма.
3. Что обозначает блок
?

45.

Вопросы
1. Назовите основные виды алгоритмов.
линейные, разветвленные, циклические, рекурсивные
2. Назовите основную особенности линейного алгоритма.
последовательное выполнение
3. Что обозначает блок
?

46.

Вопросы
1. Назовите основные виды алгоритмов.
линейные, разветвленные, циклические, рекурсивные
2. Назовите основную особенности линейного алгоритма.
последовательное выполнение
3. Что обозначает блок
?
операторы, инструкции, команды

47.

Выводы по подтеме
1. Познакомились с этапами решения задач на ЭВМ.
2. Узнали, каких видов бывают алгоритмы.
3. Изучили линейные алгоритмы и способы их записи.
47

48.

Основы программирования на JavaScript
Тема 4. Алгоритмы
4.1. Основные понятия
4.2. Алгоритмизация
4.3. Этапы решения задач на ЭВМ
4.4. Виды алгоритмов
4.5. Линейные алгоритмы
4.6. Графическое и программное представление линейного алгоритма
48

49.

Графическое и программное
представление линейного алгоритма
Задача
Составить алгоритм вычисления периметра и площади треугольника, если
известны длины его сторон.

50.

Графическое и программное
представление линейного алгоритма
Исходные (входные) данные:
English     Русский Правила