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

Презентация:



Advertisements
Похожие презентации
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
Advertisements

Часть 1: «Основы программирования». Содержание Основные понятия. Структура программы. Ввод-вывод Программирование циклов. Операторы цикла while, for и.
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Алгоритмы сортировки Алгоритмы сортировки отличаются друг от друга: - степенью эффективности ( кол-во сравнений); - кол-вом обменов, производимых в процессе.
Лекция 9 Функции. Массивы-параметры функции Передача массива в функцию Пример: void array_enter(int a[], int size) { int i; for (i = 0; i < size; i++)
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
МЕТОДЫ СОРТИРОВКИ. Сортировка - расположение элементов множества в порядке расположения некоторого ключа. ОГРАНИЧЕНИЯ: 1. Рассматриваются внутренние сортировки.
ЕГЭ 2012 Информатика и ИКТ Консультация 3. Пример.
Программирование на языке Си Часть II Тема 1. Массивы Учитель информатики: Корогод В.А.
- это структура данных, представляющая собой упорядоченную совокупность значений одного типа.
Лекция 3 по дисциплине «Программные средства математических расчетов» тема: «Операторы циклов и работа с массивами в С++» гр. 8Е31 Мамонова Татьяна Егоровна.
Даная матрица Задача 1. Дана матрица X[0:n-1][0:m-1] и массив Y[0:k-1]. Написать программу, которая вычисляет массив Z, состоящий из элементов X, расположенных.
Лекция 14 Динамические данные. Виды памяти Существует три вида памяти: статическая, стековая и динамическая. Статическая память выделяется еще до начала.
ЕГЭ 2011 Информатика и ИКТ Консультация 3 18 марта.
1 Случайные числа на языке Паскаль Тип величины Диапазон значений Паскаль Веществен ный [ 0, 1 ]x : = random [ 0, a]x : = random * a [ a, b ]x : = random.
Лекция 3 Массивы и Функции.. Массивы Массив – набор данных, связанных одним именем, расположенных последовательно в памяти. Каждому элементу массива присвоен.
ЕГЭ информатика Алгоритмизация и программирование Консультация 3.
Лекция 8. Структура языка С/С++. Циклы с предусловием и постусловием. Реализация циклов с помощью операторов ветвления и передачи управления. Операторы.
Задания к типовому расчету Изучить методы сортировки одномерных массивов: модифицированный метод простого выбора и метод парных перестановок Нечетные варианты.
ММММ АААА СССС СССС ИИИИ ВВВВ ЫЫЫЫ Презентация учителей: Новицкий С.А г.Полоцк сш 1 Ласкина Н.А г. Новолукомль сш 2 Хлусевич С.А Толочинский район Голубцов.
Транксрипт:

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

2 Задача Дано целое n и вещественные x1, x2,..., xn. Составить программу печати заданных вещественных чисел в порядке возрастания (не убывания).

3 Вход: Введите количество чисел: 5 Введите числа: Выход: Упорядоченные числа:

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

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

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

7 2 этап

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

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

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

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

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

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

14 Программа: #include #define NMAX 100 /* Макс-е количество входных чисел*/ /* Функция ввода данных * / int Vvod (float x[]) { int n; /* Количество чисел */ int i; /* Индекс текущего числа */ printf ("\n Введите количество чисел\n"); scanf ("%d", &n); printf ("Введите числа\n"); for (i=0; i

15 /* Функция сортировки x массива по возрастанию */ void Sort (float x[], int n) { int k; /* Максимальный индекс просмотра*/ float r;/* Для обмена */ int imax;/* Индекс максимального элемента */ int i; /* Индекс текущего числа */ for (k=n-1; k>0; k--) { imax =0; for (i =1; i x[imax]) imax = i; /* Обмен x[imax] и x[k] */ r = x[imax]; x[imax] = x[k]; x[k] = r; }

16 /* Главная функция */ void main (void) { float x[NMAX]; /* Обрабатываемые числа*/ int n; /* Количество чисел */ int i; /* Индекс текущего числа */ /* 1. Ввод массива x */ n = Vvod(x); /* 2. Сортировка массива x по возрастанию */ Sort(x,n); /* 3. Вывод массива x */ printf("Упорядоченные числа:\n"); for (i=0; i