Линейные алгоритмы
Сборник задач по программированию на языке Паскаль Описание материала: Сборник задач посвящен вопросам программирования на языке программирования Pascal 7.0. В нем подробно рассматриваются решения большого количества задач, от простых до достаточно сложных. Сборник адресован учащимся, преподавателям, ведущим занятия по информатике и программированию, а также всем желающим самостоятельно овладеть искусством программирования на языке Pascal 7.0. Сборник содержит условия задач и одно или два варианта их решения на языке программирования Pascal 7.0. Задачи в сборнике классифицированы по основным разделам: линейные алгоритмы, разветвляющиеся алгоритмы, циклические алгоритмы, обработка массивов, обработка строк и создание графических изображений. После каждого раздела предлагаются задачи для самостоятельного решения. Внутри каждого раздела задачи по мере возможности расположены по возрастанию степени трудности.
СОДЕРЖАНИЕ
1. Линейные алгоритмы.......................................................................... 4 2. Разветвляющиеся алгоритмы.............................................................. 5 2.1 Условный оператор IF..................................................................... 5 2.2 Условный оператор CASE.............................................................. 6 3. Циклические алгоритмы...................................................................... 8 3.1 Оператор цикла FOR....................................................................... 8 3.2 Оператор цикла WHILE.................................................................. 9 4. Обработка массивов........................................................................... 12 4.1 Одномерные массивы.................................................................... 12 4.1.1 Алгоритмы поиска и присвоения значений элементам массива 12 4.1.2 Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива............................ 14 4.1.3 Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса........................................................................................ 18 4.1.4 Алгоритмы удаления, вставки и перестановки элементов..... 21 4.1.5 Алгоритмы сортировки числового массива........................... 22 4.2 Двумерные массивы..................................................................... 23 4.2.1 Алгоритмы действий над элементами двумерного массива.. 23 4.2.2 Алгоритмы формирования одномерного массива................. 28 4.2.3 Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива.............................................................................................. 31 4.2.4 Алгоритмы удаления, вставки и перестановки элементов..... 33 5. Обработка строк................................................................................ 34 5.1 Подсчет и вывод символов............................................................ 34 5.2 Удаление символов........................................................................ 35 5.3 Вставка символов.......................................................................... 36 5.4 Сложные варианты........................................................................ 37 6. Создание графических изображений. Модуль Graph...................... 39 Линейные алгоритмы
Задача 1. Даны две целые переменные A, B. Составить фрагмент программы, после исполнения которого, значения переменных поменялись бы местами (новое значение A равно старому значению B и наоборот). USES Crt; VAR A, B, T: INTEGER; BEGIN ClrScr; { Чистка экрана } Write(‘ Введите два значения ‘); ReadLn(A,B); {Введем дополнительную целую переменную T} T:= A; A:= B; B:= T; Write(A,B); END. Задача 2. Решить предыдущую задачу, не используя дополнительных переменных (и предполагая, что значениями целых переменных могут быть произвольные целые числа). USES Crt; VAR A, B: INTEGER; BEGIN ClrScr; Write(‘ Введите два значения ‘); ReadLn(A,B); A:= A + B; B:= A - B; A:= A - B; Write(A,B); END. Задача 3. Задан радиус окружности. Найти площадь и длину окружности. USES Crt; VAR R: INTEGER; S,L: REAL; BEGIN ClrScr; Write(‘ Введите радиус окружности ‘); ReadLn(R); {Pi - зарезервированное значение} S:=Pi*R*R; {Вычисление площади окружности} L:=2*Pi*R; {Вычисление длины окружности} WriteLn(‘ Площадь окружности = ’,S:4:2); WriteLn(‘ Длина окружности = ‘,L:4:2); END. ..................................................................................................................................... Практические задания ..................................................................................................................................... 1. Даны три действительных положительных числа. Найти среднее геометрическое и среднее арифметическое этих чисел. 2. Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь. 3. Мальчик купил несколько тетрадей по сто рублей и несколько обложек по 50 рублей. Составить программу, которая могла бы подсчитать стоимость всей покупки.
|