Среда Turbo Pascal 5 Разделы описаний 6 решение
Вид материала | Решение |
- Компоновать программы из отдельных частей отлаживать программы выполнять программы., 197.76kb.
- Програма на мові Turbo Pascal, лінійні програми Команди галуження, вибору та мітки, 1485.97kb.
- Б. В. Ващук Turbo Pascal, 715.52kb.
- Структура программы, описание ресурсов программы; Операторы ввода/вывода, 162.02kb.
- Программирование на языке высокого уровня, 59.92kb.
- Конспект урока по информатике для десятого класса по теме «Условный оператор в Turbo, 32.44kb.
- Доманская Юлия Георгиевна г. Вилейка 2006г пояснительная записка, 74.95kb.
- Структура программы на языке Turbo Pascal, 26.15kb.
- Курс «Программирование на языке Turbo Pascal 0» Цель курса, 19.6kb.
- Задачи работы Научиться создавать программы на языке Turbo Pascal с использованием, 598.05kb.
Реализация циклических алгоритмов
Циклом называется многократно исполняемый участок программы. Различают два типа циклов: циклы с известным числом повторений и циклы с неизвестным числом повторений. Для реализации циклов в программах можно использовать условные операторы в сочетании с оператором перехода, но наибольший эффект дают специальные операторы — операторы циклов.
Вначале рассмотрим циклы с заданным (известным) числом повторений или циклы с параметром.
Пример 1. Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел.
Var
х, y : integer; { число }
I : integer; { счетчик циклов }
begin
writeln('Число’:6,’Квадрат':8);
x:=1;
for i:=1 to 10 do
begin
y:=x*x;
writeln(x:3, у:7);
x:=x+1;
end;
readln;
end.
Пример 2. Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности не ограничена).
var
а : integer; { очередное число }
m : integer; { максимальное число }
begin
writeln('Вводите после стрелки числа. ',
' Для завершения введите ноль.');
m:=0;
repeat
write('-> '); readln(a);
if a > m then m := а;
until а <= 0;
writeln('Максимальное число: ',m);
readln;
end.
Пример 3. Написать программу, которая вычисляет наибольший общий делитель двух целых чисел.
var
n1,n2 :integer; { числа, НОД которых надо найти }
nod, r :integer; { общий делитель и остаток от деления }
begin
write('Введите два числа ->'); readln(n1,n2);
while (n1 mod n2) <> 0 do begin
r:=n1 mod n2; { остаток от деления}
n1:=n2;
n2:=r;
end;
nod:=n2;
writeln('НОД чисел ',n1,' и ',n2,' это ', nod);
readln;
end.
ЗАДАЧИ
Составьте программы, используя структуру цикл:
- Вывести на экран:
а) натуральные числа, меньшие 100;
б) четные числа, не превосходящие 80;
в) двузначные числа, кратные 5;
- Вывести на экран числовые последовательности:
а) 11, 21, 31, ..., 1001; б) 1, -2,3, -4, ...,99, -100;
в) 100, 99, 98, ..., 1; г) -5, 4, -10, 8, ..., -100, 80;
- Вычислите сумму:
а) натуральных чисел, не превосходящих 200;
б) двузначных чисел, кратных 8;
в) квадратов натуральных чисел, меньших 20.
- Для данного натурального числа N вычислите значение выражения:
а) 1 + 2 + 3 + ... + N; б) 3 + 6 + 9 + ... + 3N;
- Вывести на экран:
а) таблицу умножения на число 4;
б) таблицу квадратов натуральных чисел, n ≤ 20;
- Вычислите факториал числа N, где № = 1*2*3*…*N;
- Дано натуральное число п.
а) Сколько цифр в числе n? б) Чему равна сумма его цифр?
в) Найти цифру старшего разряда числа п.
- Вывести на экран все делители числа N.
- Выведите на экран все простые числа, не большие данного числа N.
- Выполните сокращение обыкновенной дроби А/В.
- Вывести на экран числа, которые читаются одинаково слева направо и справа налево.
- Для данного натурального числа N получить все тройки чисел А, В, С, для которых выполняется равенство: N=A2+B2+C2.
- Дано натуральное число п.
а) Выяснить, входит ли цифра 3 в запись числа n2.
б) Поменять порядок цифр числа n на обратный.
в) Переставить первую и последнюю цифры числа п.
г) Приписать по единице в начало и в конец записи числа n.
Решение задач с использованием массивов
ЗАДАЧИ
Составьте программы, используя одномерный массив.
- В массиве А(10) вычислите:
а) количество отрицательных элементов; б) количество нечетных элементов;
в) количество элементов, кратных 5.
- В массиве А( 10) вычислите:
а) сумму положительных элементов; б) сумму элементов, меньших 5;
в) сумму элементов из отрезка [А;В]; г) сумму элементов с нечетными индексами.
- В массиве Х(10) вычислите:
а) произведение всех элементов; б) произведение отрицательных элементов;
в) произведение четных элементов;
- В массиве A(10) вычислите:
а) максимальный элемент; б) сумму максимального и минимального элементов;
- Содержатся ли в массиве A(10):
а) положительные элементы; б) элементы, большие 5;
в) отрицательные элементы; г) элементы, кратные 3;
д) равные нулю элементы; е) элементы из отрезка [А; В].
- В массиве A(10) вычислите:
а) сумму элементов от первого положительного и до конца;
б) произведение от первого отрицательного до второго отрицательного, сами элементы включать;
в) сумму элементов между первым отрицательным и последним отрицательным, сами элементы не включать;
- В массиве A(10) переставить местами:
а) первый и последний элемент, б) третий и пятый элемент,
в) первый отрицательный и максимальный г) минимальный и максимальный элементы;
элемент;
- В массиве A(10) удалить:
а) первый элемент; б) третий элемент:
в) минимальный элемент; г) первый отрицательный элемент;
- В массиве A(10) расположить элементы следующим образом:
а) в обратном порядке следования элементов; б) в порядке возрастания;
в) отрицательные, а потом положительные; г) четные в начало, а нечетные - в конец массива;
д) равные нулю в конец массива.
- В массив A(10) вставить:
а) третий элемент, равный 30; б) пятый элемент, равный максимальному;
- Из массива A(10) сформировать два массива, которые заполнить соответственно элементами:
а) положительными и отрицательными; б) четными и нечетными;
в) с четными и с нечетными индексами; г) предшествующие и последующие
максимальному элементу.
- Из массивов A(10) и В(10) сформировать один массив следующим образом:
а) после элементов первого массива следуют элементы второго массива;
б) за первым элементом первого массива следует первый элемент второго массива и т. д.;
в) после элементов второго массива следуют элементы первого, записанные в обратном порядке;
Составьте программы, используя двумерный массив.
- Составьте программу ввода элементов матрицы A(N,N), не используя клавиатуру, если:
а) все элементы равны 5;
б) элементы нечетных строк равны 1, а четных равны 2;
в) элементы нечетных столбцов равны 9, а четных равны 8;
г) элементы главной диагонали равны 4, остальные равны 1;
д) элементы по периметру равны 4, остальные равны 0.
- В матрице A(N,N) вычислите:
а) количество элементов, равных 7; б) количество отрицательных элементов;
в) количество четных элементов; г) количество элементов из отрезка [А;В].
- В матрице B(N,N) вычислите:
а) сумму всех элементов; б) сумму элементов, кратных 5;
в) сумму элементов, больших 20; г) сумму элементов третьего столбца;
- В матрице C(N,N) вычислите:
а) произведение всех элементов; б) произведение отрицательных элементов;
в) произведение элементов из отрезка [А; В];
г) произведение элементов над главной диагональю;
- В матрице A(N,N) вычислите:
а) индексы всех отрицательных элементов; б) индексы всех элементов, равных 8;
в) индексы минимального элемента; г) максимальный элемент и его индексы.
- В матрице A(N,N) переставьте местами:
а) элементы А(2,3) и А(3,1); б) крайние элементы на главной диагонали;
в) крайние элементы на побочной диагонали; г) первый и последний элементы 2 строки;
д) второй и последний элементы 3 столбца; е) минимальный и максимальный элементы;
- Из матрицы A(N,N) сформируйте одномерный массив, в который поместите:
а) все элементы матрицы; б) элементы второй строки;
в) элементы третьего столбца; г) элементы побочной диагонали;
д) минимальные элементы по строкам; е) максимальные элементы по столбцам.
Решение задач без массивов
Рассмотрим приемы решения задач, в которых используемые данные нельзя представить в виде массивов. К этому же типу относятся и задачи, где заранее неизвестно число шагов в цикле, не задан однозначно шаг изменения переменной цикла или организуется цикл с нестандартными условиями его завершения.
Решаются такие задачи с использованием специальных операторов, обеспечивающих работу цикла с окончанием по заданному условию.
ЗАДА Ч И
Составьте программы, используя символьные выражения (строки).
- В данном слове выделите первую букву и последнюю букву.
- В данном предложении определите:
а) количество букв «а»; б) количество слов;
в) количество букв в первом слове;
- В данном предложении выделите:
а) первое слово; б) второе слово;
в) предпоследнее слово.
- В данном предложении удалите:
а) все буквы «О»; б) все слоги «МА»;
в) первое слово; г) последнее слово;
д) самое длинное слово. е) все гласные буквы;
- В данном предложении вставьте:
а) после буквы «Н» еще букву «Н»; б) после буквы «К» слог «ВА»;
- В данном предложении поменяйте местами:
а) буквы «А» и «О»; б) первую и последнюю буквы второго слова;
в) первое и последнее слово;
- В данном предложении определите:
а) количество слов, начинающихся с буквы « С»; б) количество слов содержащих одну букву «Е»;
в) слова заданной длины; г) самое длинное слово;
- Запишите данную строку:
а) без пробелов; б) с пробелами через каждые пять символов;
в) в обратном порядке; г) без скобок и содержащихся в них символов;
ЗАДА ЧИ
Составьте программы для решения задач на построения, используя операторы графики. Для наглядности исходные точки изобразите в виде маленьких окружностей.
- Постройте отрезок и разделите его пополам, если даны координаты его концов.
- Даны координаты концов диаметра окружности. Постройте окружность, проходящую через его концы.
- Даны координаты центра окружности и координаты ее произвольной точки. Постройте эту окружность.
- Постройте треугольник, если даны координаты концов его стороны.
- Даны координаты концов отрезка и координаты точки, не лежащей на нем. Постройте равный и параллельный ему отрезок, проходящий через данную точку.
- Через середину заданного координатами концов отрезка, проведите перпендикулярный отрезок в два раза больший исходного.
- По заданной градусной мере угла постройте данный угол и проведите его биссектрису.
- Постройте треугольник, симметричный относительно одной из его вершин, если даны координаты вершин треугольника.
- Составить шаблоны рукописных букв от А до Я. Используя эти шаблоны написать на экране произвольный текст.
- Дано натуральное число п (п ≤ 999999). Записать его шестью цифрами, используя шаблон как на почтовых конвертах.
- Получить на экране рисунок лампочки и обеспечить возможность «зажигать» и «гасить» нарисованную лампочку. Включение и выключение лампочки должно выполняться с клавиатуры, спираль зажженной и погашенной лампочек окрашивается в разные цвета.
- Получить на экране дом и обеспечить возможность «зажигать» и «гасить» свет в окне дома. Включение и выключение света должно выполняться с клавиатуры, окно дома при зажженном и при погашенном свете окрашивается в разные цвета.
- Получить на экране изображение действующих Электронных часов, показывающих текущее время. Шаблоны используемых цифр должны соответствовать виду электронных часов.
- Изобразить на экране окружность, пересекающую с постоянной скоростью экран справа налево параллельно (горизонтальной оси Х).
- К условию предыдущей задачи добавляется следующее требование: как; только окружность доходит до левого края, в этот момент от правого края в строке, выбранной случайно, начинает свое движение другая точка и т.д. цвет точки также может меняться.
- Усложним условие предыдущей задачи: очередная окружность начинает движение от правого края экрана несколько раньше, чем предыдущая окружность доходит до левого края. Пытаться добиться того, чтобы одновременно на экране двигались три, четыре окружности.
- Изобразить на экране окружность, движущуюся по кругу с постоянной угловой скоростью.
- Изобразить на экране движение шара по биллиарду без луз.
- Изобразить на экране отрезок, вращающийся в плоскости экрана вокруг: а) своей середины; б) своего конца; в) точки, делящей отрезок в отношении 1:3.
- Изобразить на экране прямую, вращающуюся в плоскости экрана вокруг одной из своих точек.
- Изобразить на экране правильный треугольник, вращающийся в плоскости экрана вокруг своего центра.
- Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своего центра.
- В условие предыдущей задачи вносится дополнение: шар должен оставлять за собой светящийся след.
- Получить мультфильм, показывающий: а) идущего человечка; б) танцующего человечка; в) человечка, выполняющего приседания.
1 Необходимы действия:
E:=X mod 10; {последнюю цифру числа присвоили E}
X:=Trunc(X/10); {число Х уменьшили на один разряд}
2 Необходимо выполнить следующие действия:
R:=(((2*x-3)*x+4)*x-5)*x+6
3 Необходимы действия:
P=X*X; A=3*P+1; B=X*(4*P+2); K=A-B; M=A+B.