Среда Turbo Pascal 5 Разделы описаний 6 решение

Вид материалаРешение

Содержание


Реализация циклических алгоритмов
I : integer; { счетчик циклов }
Решение задач с использованием массивов
A(10) вставить: а) третий элемент, равный 30; б) пятый элемент, равный максимальному; Из массива A
Решение задач без массивов
С»; б) количество слов содержащих одну букву «Е
Подобный материал:
1   2   3   4

Реализация циклических алгоритмов


Циклом называется многократно исполняемый участок программы. Различают два типа циклов: циклы с известным числом повторений и циклы с неизвестным числом повторений. Для реализации циклов в программах можно использовать условные операторы в сочетании с оператором перехода, но наибольший эффект дают специальные операторы — операторы циклов.

Вначале рассмотрим циклы с заданным (известным) числом повторений или циклы с параметром.

Пример 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.

ЗАДАЧИ

Составьте программы, используя структуру цикл:
  1. Вывести на экран:

а) натуральные числа, меньшие 100;

б) четные числа, не превосходящие 80;

в) двузначные числа, кратные 5;
  1. Вывести на экран числовые последовательности:

а) 11, 21, 31, ..., 1001; б) 1, -2,3, -4, ...,99, -100;

в) 100, 99, 98, ..., 1; г) -5, 4, -10, 8, ..., -100, 80;
  1. Вычислите сумму:

а) натуральных чисел, не превосходящих 200;

б) двузначных чисел, кратных 8;

в) квадратов натуральных чисел, меньших 20.
  1. Для данного натурального числа N вычислите значение выражения:

а) 1 + 2 + 3 + ... + N; б) 3 + 6 + 9 + ... + 3N;
  1. Вывести на экран:

а) таблицу умножения на число 4;

б) таблицу квадратов натуральных чисел, n ≤ 20;
  1. Вычислите факториал числа N, где № = 1*2*3**N;
  2. Дано натуральное число п.
    а) Сколько цифр в числе n? б) Чему равна сумма его цифр?
    в) Найти цифру старшего разряда числа п.
  3. Вывести на экран все делители числа N.
  4. Выведите на экран все простые числа, не большие данного числа N.
  5. Выполните сокращение обыкновенной дроби А/В.
  6. Вывести на экран числа, которые читаются одинаково слева направо и справа налево.
  7. Для данного натурального числа N получить все тройки чисел А, В, С, для которых выполняется равенство: N=A2+B2+C2.
  8. Дано натуральное число п.
    а) Выяснить, входит ли цифра 3 в запись числа n2.
    б) Поменять порядок цифр числа n на обратный.
    в) Переставить первую и последнюю цифры числа п.
    г) Приписать по единице в начало и в конец записи числа n.

Решение задач с использованием массивов


ЗАДАЧИ

Составьте программы, используя одномерный массив.
  1. В массиве А(10) вычислите:

а) количество отрицательных элементов; б) количество нечетных элементов;

в) количество элементов, кратных 5.
  1. В массиве А( 10) вычислите:

а) сумму положительных элементов; б) сумму элементов, меньших 5;

в) сумму элементов из отрезка [А;В]; г) сумму элементов с нечетными индексами.
  1. В массиве Х(10) вычислите:

а) произведение всех элементов; б) произведение отрицательных элементов;

в) произведение четных элементов;
  1. В массиве A(10) вычислите:

а) максимальный элемент; б) сумму максимального и минимального элементов;
  1. Содержатся ли в массиве A(10):

а) положительные элементы; б) элементы, большие 5;

в) отрицательные элементы; г) элементы, кратные 3;

д) равные нулю элементы; е) элементы из отрезка [А; В].
  1. В массиве A(10) вычислите:

а) сумму элементов от первого положительного и до конца;

б) произведение от первого отрицательного до второго отрицательного, сами элементы включать;

в) сумму элементов между первым отрицательным и последним отрицательным, сами элементы не включать;
  1. В массиве A(10) переставить местами:

а) первый и последний элемент, б) третий и пятый элемент,

в) первый отрицательный и максимальный г) минимальный и максимальный элементы;

элемент;
  1. В массиве A(10) удалить:

а) первый элемент; б) третий элемент:

в) минимальный элемент; г) первый отрицательный элемент;
  1. В массиве A(10) расположить элементы следующим образом:

а) в обратном порядке следования элементов; б) в порядке возрастания;

в) отрицательные, а потом положительные; г) четные в начало, а нечетные - в конец массива;

д) равные нулю в конец массива.
  1. В массив A(10) вставить:

а) третий элемент, равный 30; б) пятый элемент, равный максимальному;
  1. Из массива A(10) сформировать два массива, которые заполнить соответственно элементами:

а) положительными и отрицательными; б) четными и нечетными;

в) с четными и с нечетными индексами; г) предшествующие и последующие

максимальному элементу.
  1. Из массивов A(10) и В(10) сформировать один массив следующим образом:

а) после элементов первого массива следуют элементы второго массива;

б) за первым элементом первого массива следует первый элемент второго массива и т. д.;

в) после элементов второго массива следуют элементы первого, записанные в обратном порядке;


Составьте программы, используя двумерный массив.
  1. Составьте программу ввода элементов матрицы A(N,N), не используя клавиатуру, если:

а) все элементы равны 5;

б) элементы нечетных строк равны 1, а четных равны 2;

в) элементы нечетных столбцов равны 9, а четных равны 8;

г) элементы главной диагонали равны 4, остальные равны 1;

д) элементы по периметру равны 4, остальные равны 0.
  1. В матрице A(N,N) вычислите:

а) количество элементов, равных 7; б) количество отрицательных элементов;

в) количество четных элементов; г) количество элементов из отрезка [А;В].
  1. В матрице B(N,N) вычислите:

а) сумму всех элементов; б) сумму элементов, кратных 5;

в) сумму элементов, больших 20; г) сумму элементов третьего столбца;
  1. В матрице C(N,N) вычислите:

а) произведение всех элементов; б) произведение отрицательных элементов;

в) произведение элементов из отрезка [А; В];

г) произведение элементов над главной диагональю;
  1. В матрице A(N,N) вычислите:

а) индексы всех отрицательных элементов; б) индексы всех элементов, равных 8;

в) индексы минимального элемента; г) максимальный элемент и его индексы.
  1. В матрице A(N,N) переставьте местами:

а) элементы А(2,3) и А(3,1); б) крайние элементы на главной диагонали;

в) крайние элементы на побочной диагонали; г) первый и последний элементы 2 строки;

д) второй и последний элементы 3 столбца; е) минимальный и максимальный элементы;
  1. Из матрицы A(N,N) сформируйте одномерный массив, в который поместите:

а) все элементы матрицы; б) элементы второй строки;

в) элементы третьего столбца; г) элементы побочной диагонали;

д) минимальные элементы по строкам; е) максимальные элементы по столбцам.

Решение задач без массивов


Рассмотрим приемы решения задач, в которых используемые данные нельзя представить в виде массивов. К этому же типу относятся и задачи, где заранее неизвестно число шагов в цикле, не задан однозначно шаг изменения переменной цикла или организуется цикл с нестандартными условиями его завершения.

Решаются такие задачи с использованием специальных операторов, обеспечивающих работу цикла с окончанием по заданному условию.


ЗАДА Ч И

Составьте программы, используя символьные выражения (строки).
  1. В данном слове выделите первую букву и последнюю букву.
  2. В данном предложении определите:

а) количество букв «а»; б) количество слов;

в) количество букв в первом слове;
  1. В данном предложении выделите:

а) первое слово; б) второе слово;

в) предпоследнее слово.
  1. В данном предложении удалите:

а) все буквы «О»; б) все слоги «МА»;

в) первое слово; г) последнее слово;

д) самое длинное слово. е) все гласные буквы;
  1. В данном предложении вставьте:

а) после буквы «Н» еще букву «Н»; б) после буквы «К» слог «ВА»;
  1. В данном предложении поменяйте местами:

а) буквы «А» и «О»; б) первую и последнюю буквы второго слова;

в) первое и последнее слово;
  1. В данном предложении определите:

а) количество слов, начинающихся с буквы « С»; б) количество слов содержащих одну букву «Е»;

в) слова заданной длины; г) самое длинное слово;
  1. Запишите данную строку:

а) без пробелов; б) с пробелами через каждые пять символов;

в) в обратном порядке; г) без скобок и содержащихся в них символов;

ЗАДА ЧИ

Составьте программы для решения задач на построения, используя операторы графики. Для наглядности исходные точки изобразите в виде маленьких окружностей.
  1. Постройте отрезок и разделите его пополам, если даны координаты его концов.
  2. Даны координаты концов диаметра окружности. Постройте окружность, проходящую через его концы.
  3. Даны координаты центра окружности и координаты ее произвольной точки. Постройте эту окружность.
  4. Постройте треугольник, если даны координаты концов его стороны.
  5. Даны координаты концов отрезка и координаты точки, не лежащей на нем. Постройте равный и параллельный ему отрезок, проходящий через данную точку.
  6. Через середину заданного координатами концов отрезка, проведите перпендикулярный отрезок в два раза больший исходного.
  7. По заданной градусной мере угла постройте данный угол и проведите его биссектрису.
  8. Постройте треугольник, симметричный относительно одной из его вершин, если даны координаты вершин треугольника.
  9. Составить шаблоны рукописных букв от А до Я. Используя эти шаблоны написать на экране произвольный текст.
  10. Дано натуральное число п (п ≤ 999999). Записать его шестью цифрами, используя шаблон как на почтовых конвертах.
  11. Получить на экране рисунок лампочки и обеспечить возможность «зажигать» и «гасить» нарисованную лампочку. Включение и выключение лампочки должно выполняться с клавиатуры, спираль зажженной и погашенной лампочек окрашивается в разные цвета.
  12. Получить на экране дом и обеспечить возможность «зажигать» и «гасить» свет в окне дома. Включение и выключение света должно выполняться с клавиатуры, окно дома при зажженном и при погашенном свете окрашивается в разные цвета.
  13. Получить на экране изображение действующих Электронных часов, показывающих текущее время. Шаблоны используемых цифр должны соответствовать виду электронных часов.
  14. Изобразить на экране окружность, пересекающую с постоянной скоростью экран справа налево параллельно (горизонтальной оси Х).
  15. К условию предыдущей задачи добавляется следующее требование: как; только окружность доходит до левого края, в этот момент от правого края в строке, выбранной случайно, начинает свое движение другая точка и т.д. цвет точки также может меняться.
  16. Усложним условие предыдущей задачи: очередная окружность начинает движение от правого края экрана несколько раньше, чем предыдущая окружность доходит до левого края. Пытаться добиться того, чтобы одновременно на экране двигались три, четыре окружности.
  17. Изобразить на экране окружность, движущуюся по кругу с постоянной угловой скоростью.
  18. Изобразить на экране движение шара по биллиарду без луз.
  19. Изобразить на экране отрезок, вращающийся в плоскости экрана вокруг: а) своей середины; б) своего конца; в) точки, делящей отрезок в отношении 1:3.
  20. Изобразить на экране прямую, вращающуюся в плоскости экрана вокруг одной из своих точек.
  21. Изобразить на экране правильный треугольник, вращающийся в плоскости экрана вокруг своего центра.
  22. Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своего центра.
  23. В условие предыдущей задачи вносится дополнение: шар должен оставлять за собой светящийся след.
  24. Получить мультфильм, показывающий: а) идущего человечка; б) танцующего человечка; в) человечка, выполняющего приседания.




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.