Разделы презентаций


Разработка алгоритмов и программ сверху вниз

Содержание

Описание функции (подпрограммы)Заголовок функции{ Объявление локальных переменных Операторы}Заголовок функции имеет вид:тип имя_функции (список_параметров)

Слайды и текст этой презентации

Слайд 1Лекция 3
Подпрограммы.
Разработка алгоритмов и программ
сверху вниз

Лекция 3Подпрограммы.Разработка алгоритмов и программ сверху вниз

Слайд 2Описание функции (подпрограммы)
Заголовок функции
{
Объявление локальных переменных
Операторы
}

Заголовок функции имеет вид:
тип

имя_функции (список_параметров)

Описание функции (подпрограммы)Заголовок функции{	Объявление локальных переменных	Операторы}Заголовок функции имеет вид:тип  имя_функции  (список_параметров)

Слайд 3Вызов функции
Чтобы выполнить подпрограмму, нужно ее вызвать (обратиться к ней).

Вызов осуществляется по имени функции и имеет вид:
имя_функции (аргумент1,

аргумент2,…)
Аргументами могут быть константы, переменные или выражения.
Вызов функции	Чтобы выполнить подпрограмму, нужно ее вызвать (обратиться к ней). Вызов осуществляется по имени функции и имеет

Слайд 4Пример программы с подпрограммой
Задача. Даны натуральные числа n

и m (n>m). Определить c =

n! / (m! * (n-m)! )
Пример программы с подпрограммойЗадача.  Даны натуральные числа n  и  m  (n>m).  Определить

Слайд 5Схема функции fact - вычисления k!



fact

возврат f



f=1, j=2



j

= f * j
j = j +1
нет
да

Схема функции fact - вычисления k! factвозврат f f=1, j=2j

Слайд 6Схема главной функции main



начало

ввод n,m

c = fact(n)/
(fact(m)*fact(n-m))

вывод с

конец

Схема главной функции main началоввод n,m c = fact(n)/	(fact(m)*fact(n-m))вывод сконец

Слайд 7Программа
#include
long fact (int k); /* прототип функции */
/*

Главная функция */
void main()
{ int n, m, c;

/* исходные данные и результат */
printf("\nВведите два исходных целых числа (n,m):");
scanf("%d %d", &n, &m);
c = fact(n) / (fact (m) * fact (n-m));
printf ("\n c = %d", c);
}
Программа#include long fact (int k);	/* прототип функции */ 	 /*	  Главная функция  */void main(){ int

Слайд 8
/* Функция вычисления k! */


long fact (int

k)
{ long f; // k!
int j; // текущий

множитель
f=1;
for (j=2; j<=k; j++)
f = f * j;
return f; // возврат значения функции
}
/*	 Функция вычисления k! */long fact (int k){	long f;    	// k!

Слайд 9 Разработка алгоритмов и программ сверху вниз
Задача. Дано целое n

и вещественные
X1 X2 ... Xn
Составить программу

печати заданных вещественных чисел в порядке возрастания (не убывания).
Разработка алгоритмов и программ  сверху вниз 	 Задача. Дано целое n и вещественные 			X1

Слайд 10 Вход:
Введите количество чисел: 5
Введите числа: 12.5 6 14

-3 10

Выход:
Упорядоченные числа:-3.0 6.0 10.0 12.5 14.0

Вход:Введите количество чисел:	 5Введите числа:	12.5  6  14  -3  10 		Выход:Упорядоченные числа:-3.0 6.0 10.0

Слайд 11Функциональная структура программы

Функциональная структура программы

Слайд 121 этап.
Разработка алгоритма функции main().

1 этап.  Разработка алгоритма функции main().

Слайд 13 Алгоритм :
1. n = Vvod(x); /* Ввод n и

массива x */
2. Sort (x,n); /* Сортировка массива

x по возрастанию*/
3. Вывод сортированного по возрастанию массива x
Алгоритм :1. n = Vvod(x);  /* Ввод n и массива x */	2.  Sort (x,n);

Слайд 142 этап
Разработка подпрограмм

2 этап Разработка подпрограмм

Слайд 15Алгоритм функции ввода данных
int Vvod (float x[])
{
Ввод

n;
for (i=0; i

x[i];
Возврат n;
}
Алгоритм функции ввода данных int Vvod (float x[])		{  Ввод n;  for (i=0; i

Слайд 16Вывод массива x
Вывод заголовка "Упорядоченные числа:";
for (i=0; i

i++)
Вывод x[i];

Вывод массива x Вывод заголовка

Слайд 17Метод последовательного нахождения максимума
2.5 6 14

-3 10 // рассматривается n элементов
2.5 6 10

-3 14

2.5 6 10 -3 // рассматривается n-1 элементов
2.5 6 -3 10

2.5 6 -3 // рассматривается n-2 элементов
2.5 -3 6

2.5 - 3 // рассматривается n-3 элементов
-3 2.5
Метод последовательного нахождения максимума 2.5  6  14  -3  10	// рассматривается n элементов2.5

Слайд 18Алгоритм функции сортировки массива x по возрастанию
void Sort

(float x[], int n)
{ for (k=n-1; k>0; k--)

{ Определение максимума среди
элементов x[0], ... , x[k] и его
индекса imax.
Обмен: x[imax] <--> x[k];
}
}
Алгоритм функции сортировки массива x по возрастанию void  Sort (float x[], int n){  for (k=n-1;

Слайд 193 этап
Определение максимума среди элементов x[0], ... , x[k]

и его индекса imax.

3 этапОпределение максимума среди элементов x[0], ... , x[k]  и  его индекса imax.

Слайд 20Фрагмент программы:
imax =0;
for (i =1; i

if (x[i] > x[imax]) imax = i;

Фрагмент программы:imax =0;for (i =1; i x[imax])  imax = i;

Слайд 21Программа:
#include
#define NMAX 100 /* Макс. кол-во чисел */

/* Функция ввода данных * /
int Vvod (float x[])
{

int n; /* Количество чисел */
int i; /* Индекс текущего числа */
Программа:#include #define NMAX 100 /* Макс. кол-во чисел	*/   /* Функция ввода данных * /int Vvod

Слайд 22
printf ("\nВведите количество чисел\n");
scanf ("%d",

&n);
printf ("Введите числа\n");
for (i=0; i

&x[i]);
return n;
}

printf (

Слайд 23/* Функция сортировки массива x по возрастанию */
void Sort

(float x[], int n)
{
int k;

/* Максимальный индекс просмотра*/
float r; /* Для обмена */
int imax; /* Индекс максимального элемента */
int i; /* Индекс текущего числа */

/* Функция сортировки массива x по возрастанию */ void  Sort (float x[], int n){

Слайд 24
for (k=n-1; k>0; k--)
{

imax =0;
for (i =1; i

k; i++)
if (x[i] > x[imax]) imax = i;
/* Обмен x[imax] и x[k] */
r = x[imax];
x[imax] = x[k];
x[k] = r;
}
}

for (k=n-1; k>0; k--)  { imax =0;    for (i

Слайд 25/* Главная функция */
void main ()
{ float x[NMAX];

/* Обрабатываемые числа */
int n;

/* Количество чисел */
int i; /* Индекс текущего числа */
/* 1. Ввод массива x */
n = Vvod(x);
/* 2. Сортировка массива x по возрастанию */
Sort(x,n);

/* Главная функция */ void main (){  float x[NMAX];  /* Обрабатываемые числа  */

Слайд 26
/* 3.

Вывод массива x */
printf("Упорядоченные числа:\n");
for (i=0;

i printf (" %.1f", x[i]);
}

/* 3. Вывод массива x */  printf(

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

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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