.Net Framework и С#, весна 2015: Многопоточное программирование
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
-
Upload
raven-barker -
Category
Documents
-
view
40 -
download
4
description
Transcript of АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
![Page 1: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/1.jpg)
АЛГОРИТМИЗАЦИЯ И
ПРОГРАММИРОВАНИЕ
![Page 2: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/2.jpg)
Этапы решения задачи на ЭВМ
1. Постановка задачи2. Анализ и исследование
модели3. Разработка алгоритма4. Программирование5. Тестирование и отладка
![Page 3: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/3.jpg)
АЛГОРИТМЫДля того, чтобы решать задачу
на ЭВМ, ее необходимо сначала, как говорят, алгоритмизировать.
В основе работы всех ЭВМ лежит алгоритмический принцип.
![Page 4: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/4.jpg)
АЛГОРИТМ
это точное и понятное предписание (указание) исполнителю совершить
определенную последовательность действий, направленных на достижение указанной цели или решение
поставленной задачи
![Page 5: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/5.jpg)
Пример алгоритма. Чтобы тронуться с места на автомобиле,
необходимо:сядьте за руль в машину автомобиля; рукой поверните ключ зажигания по
часовой стрелке и запустите двигатель; левой ногой нажмите на педаль сцепления,
а правой - включите рукоятку (или кнопку) первой передачи движения;
одновременно медленно отпускайте левой ногой педаль сцепления, а правой — с той же силой нажимайте на педаль "ГАЗ";
вращая рулевое колесо вправо-влево, направляйте автомобиль в нужную сторону движения.
![Page 6: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/6.jpg)
СВОЙСТВА АЛГОРИТМОВ.1. ПОНЯТНОСТЬ (инструкции
должны быть понятны исполнителю.
2. ОДНОЗНАЧНОСТЬ (единственность толкования правил выполнения действий и порядка их выполнения)
![Page 7: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/7.jpg)
СВОЙСТВА АЛГОРИТМОВ.3. ДИСКРЕТНОСТЬ (алгоритм
должен быть разбит на отдельные элементарные действия)
4. КОНЕЧНОСТЬ (решение за конечное число шагов)
![Page 8: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/8.jpg)
СВОЙСТВА АЛГОРИТМОВ.5. РЕЗУЛЬТАТИВНОСТЬ (во всех
случаях будет получен результат выполнения алгоритма).
6. ПРАВИЛЬНОСТЬ. (Алгоритм правилен, если его выполнение дает правильные результаты решения поставленных задач).
![Page 9: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/9.jpg)
СВОЙСТВА АЛГОРИТМОВ.7. МАССОВОСТЬ. Необходимо, чтобы алгоритм
обеспечивал решение не одной частной задачи, а решение широкого класса задач данного типа.
![Page 10: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/10.jpg)
СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ.
на естественном языке (словесно-пошаговый);
на языке схем (БЛОК-СХЕМЫ);
на алгоритмическом языке.
![Page 11: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/11.jpg)
БЛОК-СХЕМАЭто наглядное графическое
изображение алгоритма, когда отдельные его действия (этапы) изображаются при помощи различных геометрических фигур (блоков), а связи между этапами указываются при помощи стрелок, соединяющих эти фигуры.
![Page 12: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/12.jpg)
СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ.на естественном языке (словесно-пошаговый);
на языке схем (БЛОК-СХЕМЫ);
на алгоритмическом языке.
![Page 13: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/13.jpg)
БЛОК-СХЕМАБЛОК-СХЕМОЙ называют наглядное графическое изображение алгоритма,
когда отдельные его действия (этапы) изображаются при помощи различных геометрических фигур (блоков), а связи между этапами указываются при помощи стрелок, соединяющих эти фигуры.
![Page 14: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/14.jpg)
ОСНОВНЫЕ БЛОКИ
Блок цикла
![Page 15: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/15.jpg)
3 вида алгоритмов
1. Алгоритм линейной структуры
2. Алгоритм разветвляющейся структуры
3. Алгоритм циклической структуры
![Page 16: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/16.jpg)
ЛИНЕЙНЫЙ АЛГОРИТМЛинейный
алгоритм - все операции выполняются последовательно одна за другой
![Page 17: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/17.jpg)
ПРИМЕР: Построить блок-схему алгоритма для задачи:
Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника.
Входные данные: a, b, c. Выходные данные: S, P.
![Page 18: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/18.jpg)
Блок-схема алгоритма
ввод
вывод
![Page 19: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/19.jpg)
ПРИМЕР: Построить блок-схему алгоритма для задачи:
Пешеход шел по пересеченной местности. Его скорость движения по равнине – v1 км/ч, в гору – v2 км/ч и под гору – v3 км/ч. Время движения соответственно t1, t2 и t3 ч. Какой путь прошел пешеход?
Ввести v1, v2, v3, t1, t2, t3 S1=v1*t1. S2=v2*t2. S3=v3*t3. S=S1+S2+S3. Вывести значение S.
![Page 20: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/20.jpg)
Блок-схема алгоритма
ввод
![Page 21: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ](https://reader030.fdocument.pub/reader030/viewer/2022020801/568130a5550346895d96a088/html5/thumbnails/21.jpg)
Задача: Составить блок-схему алгоритма задачи:Найти по 2 точкам на плоскости расстояние между ними. Ввести х1, у1, х2, у2. Посчитать катеты. Найти гипотенузу. Вывести ее на экран. A(X1,Y
1)
B(X2,Y2)