
- •Учебное пособие Основы алгоритмизации и программирования
- •Содержание
- •Структура курса «Основы алгоритмизации и программирования»
- •Тема: Понятие алгоритма. Понятие системы программирования.
- •Линейные алгоритмы
- •Структура программы в Паскале
- •Описательная часть
- •Исполнительная часть
- •Основные команды управления выводом на экран.
- •Цветовая шкала
- •Контрольные вопросы по теме «Алгоритмы»
- •Задания для самостоятельной работы. «Линейные алгоритмы. Присваивание»
- •Задачи по теме «Графика»
- •Тема: Алгоритмы с ветвлением. Организация ветвления на Паскале.
- •Составные условия.
- •Контрольные вопросы по теме «Ветвление»
- •Задачи по теме «Ветвление»
- •Задачи по теме «Оператор выбора»
- •Тест по теме «Ветвление»
- •Тема: Циклические алгоритмы. Организация циклов в Паскале.
- •Правила организации циклических действий.
- •Контрольная работа
- •Вопросы к зачету:
- •Тест по теме «Циклы»
- •Тема: Процедуры и функции.
- •Процедуры в Паскале.
- •Тест по теме «Процедуры и функции»
- •Задачи по теме «Процедуры и функции»
- •Контрольная работа
- •Тема «Структурированные типы данных. Массивы»
- •Сортировка массива.
- •Двумерные массивы.
- •Контрольные вопросы по теме «Массивы»
- •Задачи на тему «Массивы»
- •Дан массив. Все его элементы увеличить в два раза.
- •Контрольная работа
- •Тест по теме «Структурированные типы данных. Массивы»
- •7. Удвоить положительные элементы массива
- •8. Найти сумму четных элементов массива
- •Тема «Структурированные типы данных. Строки»
- •Функции строковых переменных
- •Контрольные вопросы по теме «Строки»
- •Задачи на тему «Строки»
- •Контрольная работа
- •Тест по теме «Строки»
- •Тема «Структурированные типы данных. Запись»
- •Контрольные вопросы по теме «Запись»
- •Задачи по теме «Записи»
- •Контрольные вопросы по теме «Множества»
- •Задачи на тему «Множество»
- •Тест по теме «Множество. Запись»
- •Тема «Структурированные типы данных. Файлы»
- •Контрольные вопросы по теме «Файлы»
- •Задачи на тему «Файлы»
- •Тест по теме «Файлы»
- •Задания на модульное программирование
- •Олимпиадные задачи районного тура разных лет
- •Задача о тексте
- •Пример: Вход: 2
- •Сравнение строк
- •Римские цифры
- •Тетрагон
- •Проблема «2000»
- •Грузоперевозки
- •Тренировки барона Мюнхгаузена
- •Перевертыши
- •Четыре числа в двух ячейках
- •Площадь треугольника
- •Сумма чисел
- •Нужная дата
- •Дружные слова
- •Мы все такие разные
- •Считалка
- •Работаем с дробями
- •Новый порядок
- •И снова палиндром
- •Скамейка
- •Обращение числа
- •Код сейфа
- •Сообщения об ошибках компиляции (по кодам)
- •Список литературы
Линейные алгоритмы
Цели 1. Дать понятие линейного алгоритма.
2. Освоить запись операторов ввода, вывода, присваивания и использования стандартных функций на линейных программах.
В линейном алгоритме действия выполняются последовательно, одно за другим.
Задача:
Автомобиль движется со скоростью V км/ч в течении Т часов.
Определить пройденное расстояние – S.
Алгоритм:
Программа.
Program way;
Var
S, V, T: Real;
Begin
WriteLn(‘Введите скорость автомобиля’);
ReadLn(V);
WriteLn(‘Введите время’);
ReadLn(T);
S: = V*T;
WriteLn(‘Автомобиль проехал’,S:0:2,’км’);
End.
Структура программы в Паскале
Program <имя_программы>;
uses ...; - подключение станд. и польз.библиотек
Описательная часть
Label ....; - блок описания метокConst ....; - блок описания констант
Type ...; - блок описания типов
Var ....; - блок описания переменных
Procedure ...; - блок описания
Function ...; процедур и функций
Исполнительная часть
beginоператор; оператор;....
end.
Может отсутствовать полностью блок подключения библиотек, частично или полностью описательная часть. Исполнительная часть присутствует всегда.
Таблица стандартных функций
Функция |
Имя функция |
Модуль числа |
ABS(X) |
Квадрат числа Х |
SQR(X) |
Квадратный корень из числа X |
SQRT(X) |
Возведение числа X в степень N |
Exp(N*Ln(X)) |
Случайное число в диапозоне от 0 до Х-1 |
Random(x) |
Целый остаток от деления А на В |
A mod B |
Целый результат деления А на В |
A div B |
Целая часть числа Х |
INT (X) |
дробная часть числа |
Frac(x) |
преобразование дробного числа в целое путем отбрасывания дробной части |
Trunc(x) |
число, следующее за целым числом |
Succ(i) |
число, предшествующее данному целому числу |
Pred(i) |
округление до ближайшего целого |
Round(x) |
Основные команды управления выводом на экран.
ClrScr; - очистка экрана( или окна) цветом фона, курсор переводится в левый верхний угол.
GotoXY(x,y);- установить курсор в позицию, заданную координатами х (столбец) и y ( строка) относительно текущего окна.
TextBackGround (цвет ); -установить цвет фона(всего экрана или окна).
TextColor(цвет);- установить цвет выводимых символов
Цветовая шкала
-
0(Black) - черный
8(DarkGray) - темно-серый
1(Blue) -темно синий
9(LightBlue) - синий
2(Green) - темно-зеленый
10(LightGreen) - зеленый
3(Cyan) - голубой
11(LightCyan) -светло- синий
4(Red) -красный
12(LightRed) -розовый
5(Magenta) - фиолетовый
13(LightMagenta)- малиновый
6(Brown) - коричневый
14(Yellow) - желтый
7(LightGray) -светло-серый
15(White) белый
В командах установки цвета можно указывать цвет либо номером(15), либо константами (White).
SetBkColor(цвет); - установка цвета фона.
SetColor(цвет); - установка цвета точки.
ClearDevice; - очистка графического экрана цветом фона.