
- •Учебное пособие Основы алгоритмизации и программирования
- •Содержание
- •Структура курса «Основы алгоритмизации и программирования»
- •Тема: Понятие алгоритма. Понятие системы программирования.
- •Линейные алгоритмы
- •Структура программы в Паскале
- •Описательная часть
- •Исполнительная часть
- •Основные команды управления выводом на экран.
- •Цветовая шкала
- •Контрольные вопросы по теме «Алгоритмы»
- •Задания для самостоятельной работы. «Линейные алгоритмы. Присваивание»
- •Задачи по теме «Графика»
- •Тема: Алгоритмы с ветвлением. Организация ветвления на Паскале.
- •Составные условия.
- •Контрольные вопросы по теме «Ветвление»
- •Задачи по теме «Ветвление»
- •Задачи по теме «Оператор выбора»
- •Тест по теме «Ветвление»
- •Тема: Циклические алгоритмы. Организация циклов в Паскале.
- •Правила организации циклических действий.
- •Контрольная работа
- •Вопросы к зачету:
- •Тест по теме «Циклы»
- •Тема: Процедуры и функции.
- •Процедуры в Паскале.
- •Тест по теме «Процедуры и функции»
- •Задачи по теме «Процедуры и функции»
- •Контрольная работа
- •Тема «Структурированные типы данных. Массивы»
- •Сортировка массива.
- •Двумерные массивы.
- •Контрольные вопросы по теме «Массивы»
- •Задачи на тему «Массивы»
- •Дан массив. Все его элементы увеличить в два раза.
- •Контрольная работа
- •Тест по теме «Структурированные типы данных. Массивы»
- •7. Удвоить положительные элементы массива
- •8. Найти сумму четных элементов массива
- •Тема «Структурированные типы данных. Строки»
- •Функции строковых переменных
- •Контрольные вопросы по теме «Строки»
- •Задачи на тему «Строки»
- •Контрольная работа
- •Тест по теме «Строки»
- •Тема «Структурированные типы данных. Запись»
- •Контрольные вопросы по теме «Запись»
- •Задачи по теме «Записи»
- •Контрольные вопросы по теме «Множества»
- •Задачи на тему «Множество»
- •Тест по теме «Множество. Запись»
- •Тема «Структурированные типы данных. Файлы»
- •Контрольные вопросы по теме «Файлы»
- •Задачи на тему «Файлы»
- •Тест по теме «Файлы»
- •Задания на модульное программирование
- •Олимпиадные задачи районного тура разных лет
- •Задача о тексте
- •Пример: Вход: 2
- •Сравнение строк
- •Римские цифры
- •Тетрагон
- •Проблема «2000»
- •Грузоперевозки
- •Тренировки барона Мюнхгаузена
- •Перевертыши
- •Четыре числа в двух ячейках
- •Площадь треугольника
- •Сумма чисел
- •Нужная дата
- •Дружные слова
- •Мы все такие разные
- •Считалка
- •Работаем с дробями
- •Новый порядок
- •И снова палиндром
- •Скамейка
- •Обращение числа
- •Код сейфа
- •Сообщения об ошибках компиляции (по кодам)
- •Список литературы
Сортировка массива.
Существует несколько способов сортировки и упорядочивания массивов. Самый легкозапоминаемый это «Пузырек». Сравниваются поочередно соседние элементы, если необходимо, то обмениваются значениями «Пузырек всплывает». При обмене значениями двух переменных используется дополнительная переменная, где хранится одно из значении. Пример пузырьковой сортировки:
For i:=1 to n do
For j:=1 to n-1 do
If a[i]>a[j] then
Begin
C:=a[i];
A[i]:=a[j]; a[j]:=c; end;
Двумерные массивы.
Двумерные массивы состоят из нескольких строк и нескольких столбцов. Заполняются и обрабатываются они двумя вложенными циклами: по строкам и по столбцам.
Пример:
Датчиком случайных чисел создать массив Х(4,4). Элементы над главной диагональю заменить на 0, под диагональю на 1, главную диагональ на сумму индексов.
Программа:
Program Matrica;
Uses crt;
Var
X:array[1..4,1..4] of integer;
I,j:intrger;
Begin
Clrscr;
Randomize;
For i:=1 to 4 do
Begin
For j:=1 to 4 do
Begin
A[I,j]:= random (9); {вывод массива в виде матрицы}
Write (a[I,j],’ ‘);
End;
For i:=1 to 4 do
Begin
For j:=1 to 4 do
Begin
If i=j then A[I,j]:=i+j; {замена элементов}
If i<j then A[I,j]:=0;
If i>j then A[I,j]:=1; Write (a[I,j],’ ‘); end;
Writeln;
End; end.
Контрольные вопросы по теме «Массивы»
Назовите и охарактеризуйте структурированные типы данных в Паскале.
Дайте определение массива.
Назовите способы описания массива.
Назовите способы заполнения массива.
Чем отличается номер элемента массива от его значения?
Как использовать датчик случайных чисел для заполнения массива элементами в заданном числовом промежутке?
Как подсчитать сумму, произведение, количество значений элементов массива?
Какие виды массивов бывают?
Как организовать вывод одномерного массива в строку, столбец?
Как организовать вывод двумерного массива в виде таблицы?
Как определить минимальный, максимальный элементы массива?
Назовите основные способы сортировки массива.