Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Виды алгоритмов

Содержание

Содержание25.04.2016каф. РТС дисциплина Алгоритмизация и программированиеВиды алгоритмовЛинейные алгоритмыИтогиОператор вариантаУсловный операторСоставной операторРазветвляющиеся алгоритмыАвторБиблиографический список
Виды алгоритмов   Лекция 6Иллюстративный материал к лекциям по алгоритмизации и Содержание25.04.2016каф. РТС дисциплина Алгоритмизация и программированиеВиды Виды алгоритмовЛинейныеРазветвляющиесяЦиклические25.04.2016каф. РТС дисциплина Алгоритмизация и программирование Линейный алгоритм	Линейным или простейшим называют такой алгоритм, в котором операторы программы выполняются Структура программы вычислительной задачиИсполняемый блок любой вычислительной программы можно условно разделить на ЗаставкаОна является визитной карточкой программы. Содержит краткие сведения о назначении, авторе, времени Ввод исходных данныхОрганизован в виде диалога«Запрос» - «ответ»Формируется чередованием операторов вывода на Примеры диалога ввода исходных данных на языке Си (1)Пример 1//Ввод исходных данных	printf(“\nВведите Примеры диалога ввода исходных данных на языке Си (2)Пример 2//Ввод исходных данных	printf(“\nВведите Запись формул в программе (1)Математические операции:		+  сложение;	-  вычитание;	*  умножение;	/ Запись формул в программе (2) Математические действия выполняются в порядке убывания их Вывод результатов вычислений Вывод результата осуществляется на экран дисплея (в большинстве учебных Вывод результата вычислений в СиПример 2//Вывод результатовprintf (“ Длина биссектрисы угла С Пример 1. Площадь и периметр прямоугольника1. Постановка задачи Исходные данные: a,b – Пример 1. Площадь и периметр прямоугольника#include main(){ float a,b,S,P;// заставка printf( Разветвляющиеся алгоритмыПозволяют разделить ход выполнения программы на взаимоисключающие ветви в зависимости от Условный оператор  (полная форма)	позволяет разделить выполнение программы на две взаимоисключающие ветви25.04.2016каф. Синтаксис оператораif (логическое выражение) ОПЕРАТОР 1;else ОПЕРАТОР 2;ОПЕРАТОР 3;25.04.2016каф. РТС дисциплина Алгоритмизация Примерfloat x, y, pmax;// инициализация переменных x, y……………….if (x>=y) pmax=x;else		pmax=y;25.04.2016каф. РТС дисциплина Алгоритмизация и программирование Условный оператор  (сокращенная форма)используется, когда в ветви «нет» не требуется выполнять Пример 1float x, y, pmax;…………………if(x>pmax)	pmax=x; y=x;25.04.2016каф. РТС дисциплина Алгоритмизация и программирование Пример 225.04.2016каф. РТС дисциплина Алгоритмизация и программированиеРассмотрим еще один пример использования краткой Составной оператор (1)Применяется, когда синтаксис языка допускает использование только одного оператора, а Составной оператор (2)Операторы, входящие в него, выполняются последовательно «один за другим». Нет Полная схема условного оператора с использованием составных операторов25.04.2016каф. РТС дисциплина Алгоритмизация и программированиеСоставной операторСоставной оператор Соответствующая схеме инструкция в программе будет выглядеть следующим образом:if (логическое выражение) { Оператор варианта (выбора)Является обобщением условного оператора для произвольного числа альтернатив. Если необходимо Блок-схема оператора выбора25.04.2016каф. РТС дисциплина Алгоритмизация и программирование Прядок работы оператора вариантаВычисляется выражение в скобках за ключевым словом switch Просматривается Основная форма оператора :switch (выражение) { case константа1:последовательность операторовbreak;case константа2:последовательность операторовbreak;…case константаN:последовательность Пример   «Список писателей» { case 'A':  printf ( Пример  Нечетные цифры {case 0: case 1: cout Итоги Рассмотренные вопросы:   Программирование разветвленных алгоритмовУсловный 25.04.2016каф. РТС дисциплина Алгоритмизация и программирование    Библиографический список
Слайды презентации

Слайд 2
Содержание

25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование




Виды алгоритмов


Линейные

Содержание25.04.2016каф. РТС дисциплина Алгоритмизация и программированиеВиды алгоритмовЛинейные алгоритмыИтогиОператор вариантаУсловный операторСоставной операторРазветвляющиеся алгоритмыАвторБиблиографический список

алгоритмы


Итоги


Оператор варианта


Условный оператор


Составной оператор


Разветвляющиеся алгоритмы


Автор


Библиографический список


Слайд 3 Виды алгоритмов
Линейные
Разветвляющиеся
Циклические

25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование


Виды алгоритмовЛинейныеРазветвляющиесяЦиклические25.04.2016каф. РТС дисциплина Алгоритмизация и программирование

Слайд 4 Линейный алгоритм
Линейным или простейшим называют такой алгоритм, в

Линейный алгоритм	Линейным или простейшим называют такой алгоритм, в котором операторы программы

котором операторы программы выполняются в линейной последовательности, т.е. друг

за другом все - от первого до последнего

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 5 Структура программы вычислительной задачи
Исполняемый блок любой вычислительной программы

Структура программы вычислительной задачиИсполняемый блок любой вычислительной программы можно условно разделить

можно условно разделить на следующие части
заставка;
ввод исходных данных;
собственно вычислительная

часть;
вывод результатов вычислений

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование




Слайд 6 Заставка
Она является визитной карточкой программы.
Содержит краткие сведения

ЗаставкаОна является визитной карточкой программы. Содержит краткие сведения о назначении, авторе,

о
назначении,
авторе,
времени создания программы.
Все эти сведения

выводятся на экран.
Для формирования заставки используются операторы вывода на экран
Функция стандартной библиотеки языка Си printf
Средства библиотеки потокового ввода-вывода языка С++ cout


25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование




Слайд 7 Ввод исходных данных
Организован в виде диалога
«Запрос» - «ответ»
Формируется

Ввод исходных данныхОрганизован в виде диалога«Запрос» - «ответ»Формируется чередованием операторов вывода

чередованием операторов
вывода на экран
ввода с клавиатуры
25.04.2016
каф. РТС дисциплина

Алгоритмизация и программирование




Слайд 8 Примеры диалога ввода исходных данных на языке Си

Примеры диалога ввода исходных данных на языке Си (1)Пример 1//Ввод исходных

(1)
Пример 1
//Ввод исходных данных
printf(“\nВведите переменную x=“);
scanf(“%d”, &x);
printf(“Введите погрешность eps=“);
scanf(“%f”,

&eps);
//Конец ввода исходных данных


25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 9 Примеры диалога ввода исходных данных на языке Си

Примеры диалога ввода исходных данных на языке Си (2)Пример 2//Ввод исходных

(2)

Пример 2
//Ввод исходных данных
printf(“\nВведите длины сторон треугольника \n a=“);


scanf(“%f”, &a);
printf(“\n b=“); scanf(“%f”, &b);
printf(“\n c=“); scanf(“%f”, &c);
//Конец ввода исходных данных

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 10 Запись формул в программе (1)
Математические операции:
+ сложение; -

Запись формул в программе (1)Математические операции:		+ сложение;	- вычитание;	* умножение;	/  деление;

вычитание;
* умножение; / деление;
% –

целочисленное деление (остаток).
++ инкремент -- декремент
При записи действительных чисел десятичная часть отделяется точкой.
Результат вычисления присваивается некоторой переменной с помощью знака присваивания (=)




25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование




Слайд 11 Запись формул в программе (2)
Математические действия выполняются

Запись формул в программе (2) Математические действия выполняются в порядке убывания


в порядке убывания их приоритета,
порядок действий регулируется круглыми

скобками.
Пример:
Формула:


Оператор Си
x=(102.5*(a - 5.74) + b*(23.6 + 1.4)) / (5.23 - 3.6 + 2);

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование





Слайд 12 Вывод результатов вычислений
Вывод результата осуществляется на экран

Вывод результатов вычислений Вывод результата осуществляется на экран дисплея (в большинстве

дисплея (в большинстве учебных примеров)
Используются операторы вывода на экран.


Пример 1
//Вывод результатов
printf ( “Количество студентов-отличников в группе %d человек “, N);
//Конец вывода результатов




25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование




Слайд 13 Вывод результата вычислений в Си
Пример 2
//Вывод результатов
printf (“

Вывод результата вычислений в СиПример 2//Вывод результатовprintf (“ Длина биссектрисы угла

Длина биссектрисы угла С равна Lc= %5.2f \n
Длина

биссектрисы угла А равна La= %5.2f \n
Длина биссектрисы угла B равна Lb= %5.2f “, Lc, La, Lb);
//Конец вывода результатов
Пример 3
//Вывод результатов
printf (“Медианы треугольника A=%6.3f B= %6.3f C= %6.3f”, x, z, k);
//Конец вывода результатов

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 14 Пример 1. Площадь и периметр прямоугольника
1. Постановка задачи

Пример 1. Площадь и периметр прямоугольника1. Постановка задачи Исходные данные: a,b


Исходные данные:
a,b – стороны прямоугольника, действительные числа, вводятся

с клавиатуры
Выходные данные: …
S, P – площадь и периметр прямоугольника, действительные числа
2. Метод решения …
S = a ⋅ b P = 2 (a+b)


25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование


Слайд 15 Пример 1. Площадь и периметр прямоугольника
#include
main()
{ float

Пример 1. Площадь и периметр прямоугольника#include main(){ float a,b,S,P;// заставка printf(

a,b,S,P;
// заставка
printf(" \nПрограмма вычисления площади прямоугольника
\nразмером axb \nАвтор:

студент гр. Р-15061 Иванов И.И. 2006 г.");
// ввод исходных данных
printf(" \n‚Введите ширину a="); scanf("%f", &a);
printf(" \n‚Введите длину b="); scanf("%f", &b);

// вычисляемая часть
S=a*b;
P=2*(a+b);

// Вывод результатов
printf("\nплощадь прямоугольника S=%f \nпериметр P=%f ", S,P);
}

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

6

Начало

Вычисление площади и периметра прямоугольника

1

2

Введите стороны

3

a, b

4

5

S = a ⋅ b
P = 2 (a+b)

S, P

Конец

7






Слайд 16 Разветвляющиеся алгоритмы
Позволяют разделить ход выполнения программы на взаимоисключающие

Разветвляющиеся алгоритмыПозволяют разделить ход выполнения программы на взаимоисключающие ветви в зависимости

ветви в зависимости от некоторого условия.
Реализуются с помощью


условного оператора
оператора варианта

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 17 Условный оператор (полная форма)
позволяет разделить выполнение программы на

Условный оператор (полная форма)	позволяет разделить выполнение программы на две взаимоисключающие ветви25.04.2016каф. РТС дисциплина Алгоритмизация и программирование

две взаимоисключающие ветви
25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование





Слайд 18 Синтаксис оператора
if (логическое выражение) ОПЕРАТОР 1;
else ОПЕРАТОР 2;
ОПЕРАТОР

Синтаксис оператораif (логическое выражение) ОПЕРАТОР 1;else ОПЕРАТОР 2;ОПЕРАТОР 3;25.04.2016каф. РТС дисциплина

3;
25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование
if, else – служебные

слова;
логическое выражение – принимает значения false или true;
<ОПЕРАТОР 1> , <ОПЕРАТОР 2> , <ОПЕРАТОР 3> - любые операторы языка С.






Слайд 19 Пример
float x, y, pmax;
// инициализация переменных x, y
……………….
if

Примерfloat x, y, pmax;// инициализация переменных x, y……………….if (x>=y) pmax=x;else		pmax=y;25.04.2016каф. РТС дисциплина Алгоритмизация и программирование

(x>=y) pmax=x;
else
pmax=y;
25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование





Слайд 20 Условный оператор (сокращенная форма)
используется, когда в ветви «нет»

Условный оператор (сокращенная форма)используется, когда в ветви «нет» не требуется выполнять

не требуется выполнять каких-либо действий
25.04.2016
каф. РТС дисциплина Алгоритмизация и

программирование






Слайд 21 Пример 1
float x, y, pmax;
…………………
if(x>pmax) pmax=x; y=x;

25.04.2016
каф. РТС дисциплина

Пример 1float x, y, pmax;…………………if(x>pmax)	pmax=x; y=x;25.04.2016каф. РТС дисциплина Алгоритмизация и программирование

Алгоритмизация и программирование





Слайд 22 Пример 2
25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование




Рассмотрим еще

Пример 225.04.2016каф. РТС дисциплина Алгоритмизация и программированиеРассмотрим еще один пример использования

один пример использования краткой формы условного оператора
#include
main()
{
float x;

printf (“Введите число: ”); scanf (“%f”, &x);
if (x>0) printf (“Число %f положительное\n”,x);
if (x==0) printf (“Число %f равно нулю\n”,x);
if (x<0) printf (“Число %f отрицательное\n”,x);
}


Слайд 23 Составной оператор (1)
Применяется, когда синтаксис языка допускает использование

Составной оператор (1)Применяется, когда синтаксис языка допускает использование только одного оператора,

только одного оператора, а семантика программы требует выполнения последовательности

действий.
Операторы составного оператора заключаются в фигурные скобки - { и } - и отделяются друг от друга символами «;».

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 24 Составной оператор (2)
Операторы, входящие в него, выполняются последовательно

Составной оператор (2)Операторы, входящие в него, выполняются последовательно «один за другим».

«один за другим».
Нет ограничений на характер операторов, входящих

в составной оператор.
Может включать в себя и другие составные операторы. Язык Си допускает произвольную глубину их вложенности

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование


Слайд 25 Полная схема условного оператора с использованием составных операторов
25.04.2016
каф. РТС

Полная схема условного оператора с использованием составных операторов25.04.2016каф. РТС дисциплина Алгоритмизация и программированиеСоставной операторСоставной оператор

дисциплина Алгоритмизация и программирование



Составной оператор

Составной оператор



Слайд 26 Соответствующая схеме инструкция в программе будет выглядеть следующим

Соответствующая схеме инструкция в программе будет выглядеть следующим образом:if (логическое выражение)

образом:

if (логическое выражение)
{ ОПЕРАТОР 11;
ОПЕРАТОР 12;


ОПЕРАТОР 1n; }
else
{ОПЕРАТОР 21 ;
ОПЕРАТОР 22;

ОПЕРАТОР 2m; }
СЛЕДУЮЩИЙ ОПЕРАТОР ПРОГРАММЫ ;

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 27 Оператор варианта (выбора)
Является обобщением условного оператора для произвольного

Оператор варианта (выбора)Является обобщением условного оператора для произвольного числа альтернатив. Если

числа альтернатив.
Если необходимо выбрать один из нескольких вариантов,

то вместо вложенных конструкций if удобнее применять оператор множественного выбора (оператор-переключатель) switch.

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 28 Блок-схема оператора выбора
25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование




Блок-схема оператора выбора25.04.2016каф. РТС дисциплина Алгоритмизация и программирование

Слайд 29 Прядок работы оператора варианта
Вычисляется выражение в скобках за

Прядок работы оператора вариантаВычисляется выражение в скобках за ключевым словом switch

ключевым словом switch
Просматривается список меток (case константа1 и

т. д.) до тех пор, пока не находится метка, соответствующая значению выражения
Выполняются действия соответствующей ветви case
Если значение выражения не соответствует ни одной из меток case, выполняются операторы ветви default

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 30 Основная форма оператора :
switch (выражение) {
case константа1:
последовательность

Основная форма оператора :switch (выражение) { case константа1:последовательность операторовbreak;case константа2:последовательность операторовbreak;…case

операторов
break;
case константа2:
последовательность операторов
break;

case константаN:
последовательность операторов
break;
default
последовательность операторов
}
25.04.2016
каф. РТС

дисциплина Алгоритмизация и программирование






Слайд 31 Пример «Список писателей»
#include
//Пример оператора switch

с использованием break
main()
{ char ch;
printf ("Введите заглавную

букву русского алфавита:");
ch=getchar();
if(ch>='A' && ch<='Я')
switch(ch)

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование







Слайд 32 { case 'A': printf ("Алексеев \n"); break;

{ case 'A': printf (

case 'Б': printf(" Булгаков \n"); break;

case 'В': printf (" Волошин \n"); break;
default:
printf ("Нет в списке писателя, чья фамилия начинается с этой буквы \n"); break; }
else printf ("Надо было ввести заглавную русскую букву\n"):
}

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 33 Пример Нечетные цифры
Приведенная ниже программа выводит на

Пример Нечетные цифры  Приведенная ниже программа выводит

экран названия нечетных цифр, не меньших заданной
#include
void main()
{int

n;
cout<<”\nВведите любую десятичную цифру: “;
cin >> n;
switch (n)

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 34 {case 0: case 1: cout

{case 0: case 1: cout


case 2: case 3: cout

case 4: case 5: cout << “пять, “;
case 6: case 7: cout << “семь, “;
case 8: case 9: cout << “девять, “; break;
default : cout << “ \nНеверный ввод данных “;
}
}

25.04.2016

каф. РТС дисциплина Алгоритмизация и программирование






Слайд 35 Итоги Рассмотренные вопросы:
Программирование разветвленных алгоритмов
Условный оператор
Составной оператор
Оператор

Итоги Рассмотренные вопросы:  Программирование разветвленных алгоритмовУсловный оператор Составной

варианта

25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование





Слайд 36 25.04.2016
каф. РТС дисциплина Алгоритмизация и программирование
Библиографический список
Подбельский

25.04.2016каф. РТС дисциплина Алгоритмизация и программирование  Библиографический список  Подбельский

В.В., Фомин С.С. Курс программирования на языке Си: учебник.

М.: ДМК Пресс, 2012. – 384 с.
Павловская Т.А. C/C++. Программирование на языке высокого уровня: учебник для студентов вузов, обучающихся по направлению "Информатика и вычисл. техника" СПб.: Питер, 2005. - 461 с.
Павловская Т. А., Щупак Ю. А. С++. Объектно-ориентированное программирование. Практикум. Практикум. — СПб.: Питер, 2006. — 265 с: ил.
Березин Б.И. Начальный курс C и C++ / Б.И. Березин, С.Б. Березин. - М.: ДИАЛОГ-МИФИ, 2001. - 288 с
Каширин И.Ю., Новичков В.С. От С к С++. Учебное пособие для вузов. – М.: Горячая линия – Телеком, 2012. – 334 с.






  • Имя файла: vidy-algoritmov.pptx
  • Количество просмотров: 107
  • Количество скачиваний: 0