- •«Сборник решения задач на языке Паскаль»
- •Введение.
- •Основные понятия системы программирования.
- •Среда программирования Turbo Pascal.
- •Окно среды программирования тр7 состоит:
- •Функциональные клавиши:
- •Текстовый редактор:
- •Элементы языка программирования Паскаль. Алфавит языка тр7.
- •Типы данных в языке Pascal.
- •Идентификаторы. Константы и переменные. Выражения. Комментарий.
- •Операции тр7. Операции в языке Паскаль подразделяются на:
- •Вещественное деление Целочисленное деление Деление по модулю
- •Общий вид программы в тр7.
- •Операторы тр7.
- •Операторы ввода-вывода.
- •Моя первая программа
- •Число шестнадцать записывается так: 16
- •Оператор присваивания.
- •Составной и пустой оператор. Линейные программы и алгоритмы.
- •Варианты заданий
- •Составить программу для вычисления значения функции, при целых аргументах:
- •Составить программу для решения следующих задач:
- •Составить программу для выполнения целочисленных арифметических действий (Условный оператор, оператор выбора, операторы повтора, массивы и строки не использовать):
- •Условные и безусловные операторы в языке Паскаль.
- •Варианты заданий Используя условный оператор выполните следующие задания:
- •Составить программу для вычисления значения функции при целых аргументах:
- •2. Используя сокращенную форму записи условного оператора выполнить следующие задания:
- •3 Используя вложенные условные операторы выполнить следующие задания:
- •Составить программу для выполнения следующих действий:
- •5. Используя оператор выбора выполните следующие задания:
- •Операторы повтора в языке Паскаль.
- •Циклом с предусловием;
- •Циклом с постусловием;
- •Циклом с параметром;
- •Принцип действия цикла While:
- •Пример 1: Составить программу для вычисления суммы первых 10 натуральных чисел.
- •Общая форма записи цикла Repeat…Until
- •Принцип действия цикла Repeat…Until:
- •Общий вид цикла For…to
- •Существует ещё одна форма записи цикла с параметром:
- •Варианты заданий
- •Составить программу для организации вывода по требуемому формату:
- •Составить программу для нахождения суммы конечного ряда:
- •Составить программу для обработки данных во время ввода:
- •4. Используя цикл с предусловием выполните следующие задания:
- •5. Используя цикл с постусловием выполните следующие задания:
- •6. Используя любой удобный цикл выполните следующие задания:
- •7. Решение простейших олимпиадных задач:
- •Одномерные и двумерные массивы
- •Варианты заданий Одномерные массивы
- •Составить программу для обработки элементов массива:
- •Составить программу для анализа элементов массива:
- •Использование цикла с условием при обработке элементов массива:
- •Перестановка, вставка и удаление элементов массива:
- •Логические задачи:
- •Двумерные массивы
- •Составить программу для обработки двумерного массива.
- •Литерные величины
- •Операции над строками:
- •Варианты заданий.
- •Составить программу осуществляющую поиск в строке:
- •Составить программу осуществляющую поиск и замену в строке:
- •Составить программу осуществляющую обработку цифр в строке:
- •Подпрограммы.
- •Подпрограммы-функции.
- •Подпрограммы-процедуры.
- •Область видимости идентификаторов.
- •Формальные и фактические параметры.
- •Параметры-значения, параметры-переменные, нетипизированные параметры.
- •Модули.
- •Варианты заданий.
- •Файловый тип данных
- •Варианты заданий.
- •1. Составить программу осуществляющую поиск в строке:
- •2. Составить программу осуществляющую поиск и замену в строке:
- •3. Составить программу осуществляющую обработку цифр в строке:
- •Множества
- •Варианты заданий.
- •Текстовый режим
- •Варианты заданий.
- •Составить программу для вывода заданного слова, заданного цвета в заданной строке на заданном фоне:
- •Составить программу для вывода букв заданного слова, в заданной строке на заданном фоне:
- •Варианты заданий.
Общая форма записи цикла Repeat…Until
Repeat
<тело цикла>;
Until <условие>;
Принцип действия цикла Repeat…Until:
Вначале выполняется тело цикла следующие после слова Repeat (повторять). Когда компилятор доходит до слова Until (до) происходит проверка поставленного условия. Если оно не соблюдается (т.е. оно ложное), то тело цикла выполняется ещё раз. Как только условие станет соблюдаться (т.е. будет истинным) цикл Repeat…Until завершит свою работу.
Для цикла Repeat…Until характерны 4 особенности:
Тело цикла выполняется, по крайней мере, один раз.
Тело цикла выполняется пока условие ложное.
В теле цикла может находиться произвольное количество операторов без операторных скобок begin…end.
Один из операторов тела цикла должен влиять на значение условия, иначе цикл будет бесконечным.
Рассмотрим примеры с использованием цикла Repeat…Until.
Пример 1. Дана последовательность чисел, оканчивающаяся нулём. Составить программу для подсчёта суммы этой последовательности.
Program Posledovatelnost;
Var S,n:integer;
Begin
S:=0;
Repeat
Writeln(‘Введите число:’); Readln(n);
S:=S+n;
Until n=0;
Writeln(‘Сумма чисел=’,S);
End.
Пример 2. Составить программу для подсчёта количества цифр в введённом числе.
Program Kolichestvo;
Var k,n,m:integer;
Begin
k:=0;
Writeln('Введите число n=');Readln(n);
M:=n;
Repeat
m:=m div 10;
inc(k);
Until m=0;
Writeln('Количество цифр в числе ‘,n,’=',k);
End.
Ц и к л с п а р а м е т р о м (For)
Циклы While…do и Repeat…Until используются в основном тогда, когда нам заранее не известно общее количество шагов цикла.
Если же нам заранее известно количество шагов цикла, то удобнее использовать другой цикл, который называется цикл с параметром.
Общий вид цикла For…to
For <параметр цикла>:=<начальное значение> to <конечное значение> do
<тело цикла>;
Принцип действия цикла For…to:
В качестве параметра цикла объявляется какая-либо переменная, которой присваивается какое-либо начальное значение. Затем выполняется тело цикла и происходит увеличение параметра цикла на единицу. Цикл будет выполняться до тех пор, пока переменная, объявленная в качестве параметра цикла, не достигнет конечного значения (начальное значение должно быть меньше конечного значения).
Слова For, to, do – означают: для, до, делать.
В качестве тела цикла может быть как простой, так и составной оператор.
Существует ещё одна форма записи цикла с параметром:
For <параметр цикла>:=<начальное значение> downto <конечное значение> do
<тело цикла>;
Принцип действия цикла For…downto:
В качестве параметра цикла объявляется какая-либо переменная, которой присваивается какое-либо начальное значение. Затем выполняется тело цикла и происходит уменьшение параметра цикла на единицу. Цикл будет выполняться до тех пор, пока переменная, объявленная в качестве параметра цикла, не достигнет конечного значения (начальное значение должно быть больше конечного значения).
Рассмотрим примеры:
Пример 1. Составить программу для вывода на экран первых 20 натуральных чисел, сначала в порядке возрастания, а затем в порядке убывания.
Program F;
Var i:integer;
Begin
writeln;
For i:=1 to 20 do
write(i,' ');
writeln;
For i:=20 downto 1 do
write(i,' ');
readln;
End.
Пример 2. Составить программу для вычисления факториала введённого натурального числа.
Для начала вспомним понятие факториала числа.
Определение: Факториалом натурального числа n называется последовательное произведение натуральных чисел 1·2·3·4·…·n и обозначается n!
Следовательно: n!=1·2·3·4·…·n
Например: 1!=1
2!= 1·2=2
3!= 1·2·3=6
4!= 1·2·3·4=24
5!= 1·2·3·4·5=120
6!= 1·2·3·4·5·6=720
Утверждение:
0!=1. Факториал отрицательного числа не существует.
Теперь составим программу:
Program Factorial;
Var F,i,n:integer;
Begin
Writeln('Введите натуральное число ');Readln(n);
F:=1;
For i:=1 to n do
F:=F*i;
writeln('Факториал числа ',n,'=',F);
End.
Пример 3. Вычисление суммы ряда:
Program summation;
Var
i, n: Word;
summa: Real;
Begin
Write (‘Введите количество слагаемых n=’);
ReadLn (n);
summa:=0;
for i:=1 to n do
summa:=summa+1/sqr(i);
WriteLn (‘S=’, summa);
End.
