semakin_did
.pdf(x >= –4) and (x <= 4) and
(y <= 0) and (y <= -2) then WriteLn(’ Принадлежит’)
else WriteLn(’Не принадлежит’);
readLn;
End.
1)Наберите текст этой программы в системе программирования и добейтесь ее работоспособности.
2)Измените текст программы таким образом, чтобы решалась задача определения принадлежности точки области, изображенной на рисунке:
5 |
Дана программа для поиска максимального значения из трех |
Паскаль- |
2 |
|
целых чисел A, B и C. |
ориентированная |
|
|
Program Maximum; |
система |
|
|
Var A,B,C,MAX:integer; |
программирования |
|
|
Begin |
(на выбор: Turbo |
|
|
Writeln(‘Введите три целых числа через |
Pascal, Borland |
|
|
пробел’); |
Pascal, Free Pascal, |
|
|
ReadLn(A,B,C); |
Pascal ABC, Pascal |
|
|
If a>b then max:=a else max:=b; |
|
|
|
ABC.Net, Lazarus, |
|
|
|
If c>max then max:=c; |
|
|
|
WriteLn(‘Максимум = ’,max); |
Delphi) |
|
|
End. |
|
|
|
1) Наберите текст этой программы в системе |
|
|
|
программирования и добейтесь ее работоспособности. |
|
|
401
|
|
2) Измените текст программы таким образом, чтобы |
|
|
|
|||
|
|
решалась задача определения максимума четырех целых |
|
|
||||
|
|
чисел и докажите правильность ее работы на своих тестах. |
|
|
||||
У-15.2. |
1 |
Напишите программу, осуществляющую циклическую |
Система |
1 |
||||
Составлять |
|
перестановку величин целого типа A, B, C, D, согласно |
программирования |
|
||||
несложные |
|
схеме: |
|
|
|
|
для выбранного |
|
линейные, |
|
|
|
|
|
|
языка |
|
ветвящиеся и |
|
|
|
|
|
|
программирования |
|
циклические |
|
|
|
|
|
|
высокого уровня |
|
программы |
|
|
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
|
|
или Си) |
|
|
2 |
Известна длина, ширина и высота прямоугольного |
Система |
2 |
||||
|
|
параллелепипеда. Написать программу вычисления площади |
программирования |
|
||||
|
|
поверхности параллелепипеда. Организовать диалог с |
для выбранного |
|
||||
|
|
пользователем следующим образом: |
|
|
языка |
|
||
|
|
Вычисление площади поверхности |
|
программирования |
|
|||
|
|
параллелепипеда. |
|
|
высокого уровня |
|
||
|
|
Введите исходные данные: |
|
|
(Паскаль, Бейсик |
|
||
|
|
Длина (см) = |
9 |
|
|
или Си) |
|
|
|
|
Ширина (см) = |
7.5 |
|
|
|
|
|
|
|
Высота (см) = |
5 |
|
|
|
|
|
|
|
Ответ: площадь поверхности: 300.00 кв.см. |
|
|
||||
|
3 |
Написать |
программу для решения |
следующей |
задачи: |
Система |
1 |
|
|
|
«Даны три целых числа a, b и c. Найти среди этих чисел |
программирования |
|
||||
|
|
минимальное». |
|
|
|
для выбранного |
|
|
|
|
|
|
|
|
|
языка |
|
|
|
|
|
|
|
|
программирования |
|
|
|
|
|
|
|
|
высокого уровня |
|
|
|
|
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
|
|
или Си) |
|
|
4 |
Написать программу, которая запрашивает четыре целых |
Система |
2 |
||||
|
|
числа и вычисляет max(min(a,b), max(c,d)). Результат |
программирования |
|
||||
|
|
вывести |
так: |
пусть a=10, b=7, |
c= -6, d=8, |
тогда |
для выбранного |
|
402
|
max(min(10,7), max(–6,8))=8. |
|
|
|
языка |
|
||
|
|
|
|
|
|
|
программирования |
|
|
|
|
|
|
|
|
высокого уровня |
|
|
|
|
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
|
|
или Си) |
|
5 |
Написать программу, которая позволит определить, |
Система |
2 |
|||||
|
принадлежит |
ли |
точка |
с |
координатами |
(x, y) |
программирования |
|
|
заштрихованной части плоскости, где x, y – действительные |
для выбранного |
|
|||||
|
числа. Считать, что точки на границе также принадлежат |
языка |
|
|||||
|
области. |
|
|
|
|
|
программирования |
|
|
|
|
|
|
|
|
высокого уровня |
|
|
|
|
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
|
|
или Си) |
|
|
|
|
|
|||||
6 |
Написать программу, которая вычисляет сумму первых n |
Система |
1 |
|||||
|
натуральных чисел. |
|
|
|
|
программирования |
|
|
|
|
|
|
|
|
|
для выбранного |
|
|
|
|
|
|
|
|
языка |
|
|
|
|
|
|
|
|
программирования |
|
|
|
|
|
|
|
|
высокого уровня |
|
|
|
|
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
|
|
или Си) |
|
7 |
Дано вещественное число a и натуральное число n. Найти |
Система |
2 |
|||||
|
an. Значения a и n вводить с клавиатуры. |
|
программирования |
|
||||
|
|
|
|
|
|
|
для выбранного |
|
403
|
|
|
|
|
языка |
|
|
|
|
|
|
программирования |
|
|
|
|
|
|
высокого уровня |
|
|
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
или Си) |
|
|
8 |
Числа Фибоначчи (Fn) определяются формулами: f0=f1=1; |
Система |
2 |
||
|
|
fn=fn-1+fn-2 |
при n=2,3… , т.е. это бесконечная |
программирования |
|
|
|
|
последовательность вида: |
для выбранного |
|
||
|
|
1, 1, 2, 3, 5, 8, 13,21, 34, 55….. |
языка |
|
||
|
|
Найти номер первого числа Фибоначчи, значение которого |
программирования |
|
||
|
|
превышает 100. |
высокого уровня |
|
||
|
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
или Си) |
|
|
9 |
Составить программу нахождения наименьшего общего |
Система |
1 |
||
|
|
кратного двух натуральных чисел A и B по формуле |
программирования |
|
||
|
|
|
A B |
для выбранного |
|
|
|
|
НОК(A,B)= |
|
. Для нахождения НОД(А,В) |
языка |
|
|
|
НОД (A, B) |
|
|||
|
|
использовать алгоритм Евклида. |
программирования |
|
||
|
|
высокого уровня |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
или Си) |
|
У-15.3. |
1 |
Известна среднесуточная температура за N дней зимы. |
Система |
1 |
||
Составлять |
|
Найти значение максимальной среднесуточной температуры |
программирования |
|
||
несложные |
|
зимы. Значение N и среднесуточная температура за каждый |
для выбранного |
|
||
программы |
|
из дней вводятся пользователем. При решении задачи |
языка |
|
||
обработки |
|
использовать одномерный массив. |
программирования |
|
||
одномерных |
|
|
|
|
высокого уровня |
|
массивов |
|
|
|
|
(Паскаль, Бейсик |
|
|
|
|
|
|
или Си) |
|
|
2 |
Известны оценки ученика по математике за весь год. |
Система |
1 |
||
|
|
Известно так же, что таких оценок не больше 30. Написать |
программирования |
|
||
|
|
программу, позволяющую найти среднее арифметическое |
для выбранного |
|
||
|
|
этих оценок. В начале работы программы пользователь |
языка |
|
404
|
|
должен ввести общее количество имеющихся оценок, после |
программирования |
|
|||||
|
|
чего ввести эти оценки по очереди. При решении задачи |
высокого уровня |
|
|||||
|
|
использовать одномерный массив. |
|
|
|
(Паскаль, Бейсик |
|
||
|
|
|
|
|
|
|
|
или Си) |
|
|
3 |
Каждый солнечный день улитка, сидящая на дереве, |
Система |
2 |
|||||
|
|
поднимется вверх на 2 см, а каждый пасмурный день |
программирования |
|
|||||
|
|
опускается вниз на 1 |
см. В начале |
наблюдений |
улитка |
для выбранного |
|
||
|
|
находилась в А сантиметрах от земли на |
В-метровом |
языка |
|
||||
|
|
дереве. Имеется тридцатиэлементный одномерный массив, |
программирования |
|
|||||
|
|
содержащий сведения о том, был ли соответствующий день |
высокого уровня |
|
|||||
|
|
наблюдений солнечным или пасмурным. |
Написать |
(Паскаль, Бейсик |
|
||||
|
|
программу, определяющую местоположение улитки к концу |
или Си) |
|
|||||
|
|
тридцатого дня наблюдений. Значения A, B, а также |
|
|
|||||
|
|
значения элементов массива задаются пользователем. При |
|
|
|||||
|
|
решении задачи использовать одномерный массив. |
|
|
|
||||
|
4 |
Каждому |
ученику |
первого |
класса |
полагается |
Система |
2 |
|
|
|
дополнительный стакан молока, если его вес меньше 25 кг. |
программирования |
|
|||||
|
|
Написать |
программу, |
определяющую, сколько |
литров |
для выбранного |
|
||
|
|
молока необходимо для класса, если в 1 стакан помещается |
языка |
|
|||||
|
|
0,2 литра молока. Количество учеников класса и вес |
программирования |
|
|||||
|
|
каждого ученика вводится с клавиатуры. При решении |
высокого уровня |
|
|||||
|
|
задачи использовать одномерный массив. |
|
|
(Паскаль, Бейсик |
|
|||
|
|
|
|
|
|
|
|
или Си) |
|
|
5 |
Имеются результаты ЕГЭ по информатике для некоторой |
Система |
2 |
|||||
|
|
школы. Написать программу, которая определить |
|
программирования |
|
||||
|
|
максимальный и минимальный балл, а также количество |
для выбранного |
|
|||||
|
|
результатов с баллом выше среднего. Количество |
|
языка |
|
||||
|
|
результатов ЕГЭ, а так же сами результаты (в 100-бальной |
программирования |
|
|||||
|
|
шкале) вводятся с клавиатуры. При решении задачи |
|
высокого уровня |
|
||||
|
|
использовать одномерный массив. |
|
|
|
(Паскаль, Бейсик |
|
||
|
|
|
|
|
|
|
|
или Си) |
|
У-15.4. |
1 |
Дана программа на языке программирования Паскаль для |
Паскаль- |
2 |
|||||
|
|
решения следующей задачи: «Известны длины сторон |
ориентированная |
|
405
Отлаживать, и
тестировать программы в системе программирован ия
|
прямоугольного отверстия и радиус шарика. Определить |
система |
|
||
|
пройдет ли шарик в данное отверстие». |
программирования |
|
||
|
Program |
sharik; |
(на выбор: Turbo |
|
|
|
var |
p,q:real; |
Pascal, Borland |
|
|
|
begin |
|
|
Pascal, Free Pascal, |
|
|
{-------------ввод исходных данных-----------} |
Pascal ABC, Pascal |
|
||
|
write('введите длины сторон прямоугольника |
ABC.Net, Lazarus, |
|
||
|
через пробел') readln(p,q); |
Delphi) |
|
||
|
write('введите радиус шарика') readln(r); |
|
|||
|
|
|
|||
|
{----проверка условия и вывод сообщения-------} |
|
|
||
|
if |
(2r<=p) and (2r<=q) |
|
|
|
|
then |
writeln('шарик пройдет'); |
|
|
|
|
else |
writeln('шарик не пройдет') |
|
|
|
|
end. |
|
|
|
|
|
Исправить ошибки в программе, добиться ее |
|
|
||
|
работоспособности, доказать правильность ее работы на |
|
|
||
|
своих тестах. |
|
|
||
2 |
Дана программа на языке программирования Паскаль для |
Паскаль- |
2 |
||
|
решения следующей задачи: «Найти N-е число Фибоначчи. |
ориентированная |
|
||
|
Числа Фибоначчи (Fn) определяются формулами: f0=f1=1; |
система |
|
||
|
fn=fn-1+fn-2 |
при n=2,3… , т.е. это бесконечная |
программирования |
|
|
|
последовательность вида: |
(на выбор: Turbo |
|
||
|
|
1, 1, 2, 3, 5, 8, 13,21, 34, 55…..». |
Pascal, Borland |
|
|
|
Program |
Fib; |
Pascal, Free Pascal, |
|
|
|
var |
rez,f0,f1,f2:integer; |
Pascal ABC, Pascal |
|
|
|
begin |
i,n:integer; |
ABC.Net, Lazarus, |
|
|
|
|
|
Delphi) |
|
|
|
Write(‘N=’); readLn(n); |
|
|
||
|
F0:=1; |
|
|
||
|
F1:=1; |
|
|
||
|
for i:=2 to n do |
|
|
||
|
begin |
|
|
|
|
|
|
f2:=f1+f0; |
|
|
|
|
|
f0:=f1; |
|
|
|
|
|
f1:=f2 |
|
|
|
|
end; |
|
|
|
406
|
if n<=1 then rez:=1 else rez:=f2; |
|
|
|
writeln(N,'-ое число Фибоначчи равно ',rez) |
|
|
|
end. |
|
|
|
1) Ввести текст программы в системе программирования и |
|
|
|
добиться ее работоспособности. |
|
|
|
2) Используя отладчик произвести пошаговое выполнение |
|
|
|
программы, просматривая при этом промежуточные |
|
|
|
значения переменных. |
|
|
|
3) на основе информации, полученной в процессе отладки |
|
|
|
сформировать комментарии к тексту программы, пояснив |
|
|
|
назначение каждой из переменных и основных групп |
|
|
|
операторов. |
|
|
3 |
Дана программа на языке программирования Паскаль: |
Паскаль- |
2 |
|
Program primer; |
ориентированная |
|
|
Var a,p:integer; |
система |
|
|
begin |
программирования |
|
|
p:=1; a:=1; |
(на выбор: Turbo |
|
|
while p<32000 do |
Pascal, Borland |
|
|
begin |
Pascal, Free Pascal, |
|
|
a:=2*a; |
|
|
|
Pascal ABC, Pascal |
|
|
|
p:=p*a; |
|
|
|
end; |
ABC.Net, Lazarus, |
|
|
end. |
Delphi) |
|
|
Используя отладчик, постройте трассировочную таблицу |
|
|
|
для этой программы, и определите, сколько раз выполнится |
|
|
|
тело цикла. |
|
|
4 |
Дана программа на языке программирования Паскаль: |
Паскаль- |
2 |
|
Program Mas; |
ориентированная |
|
|
Var a:array[1..30] of integer; |
система |
|
|
P,K,N:Integer; |
программирования |
|
|
Begin |
(на выбор: Turbo |
|
|
Write(’Введите N ‘); readln(N); |
Pascal, Borland |
|
|
WriteLn(‘Введите элементы массива:’); |
Pascal, Free Pascal, |
|
|
For K:=1 to N do |
|
|
|
Pascal ABC, Pascal |
|
|
|
Begin |
|
|
|
|
ABC.Net, Lazarus, |
|
407
|
|
Write(‘a[‘,K,’]=’); |
Delphi) |
|
|||
|
|
Readln(a[K]); |
|
|
|
||
|
|
End; |
|
|
|
|
|
|
|
P:=0; |
downto 1 |
do |
|
|
|
|
|
for |
К:=N |
|
|
||
|
|
if |
T<>X[K] then |
|
|
|
|
|
|
|
P:=K; |
|
|
|
|
|
|
writeLn(‘Результат - ’,p); |
|
|
|||
|
|
end. |
|
|
|
|
|
|
|
1) Используя отладчик, определите смысл ключевого слова |
|
|
|||
|
|
downto, использованного в операторе for. |
|
|
|||
|
|
2) Определите, какую задачу решает программа и в |
|
|
|||
|
|
последнем операторе вывода вместо слова «Результат» |
|
|
|||
|
|
вставьте соответствующий комментарий. |
|
|
|||
|
5 |
Дана программа на языке программирования Паскаль: |
Паскаль- |
2 |
|||
|
|
Program Mas; |
of integer; |
ориентированная |
|
||
|
|
Var a:array[1..20] |
система |
|
|||
|
|
K,J,N,tmp:integer; |
программирования |
|
|||
|
|
Begin |
|
|
|
(на выбор: Turbo |
|
|
|
Write(’Введите N ‘); readln(N); |
Pascal, Borland |
|
|||
|
|
WriteLn(‘Введите элементы массива:’); |
Pascal, Free Pascal, |
|
|||
|
|
For K:=1 to N do |
|
|
|||
|
|
|
Pascal ABC, Pascal |
|
|||
|
|
Begin |
|
|
|
||
|
|
Write(‘a[‘,K,’]=’); |
ABC.Net, Lazarus, |
|
|||
|
|
Readln(a[K]); |
|
Delphi) |
|
||
|
|
End; |
to N-1 do |
|
|
||
|
|
For |
K:=1 |
|
|
||
|
|
For |
J:=1 |
to N-K |
do |
|
|
|
|
If a[J]<a[J+1] |
then |
|
|
||
|
|
|
begin |
|
|
|
|
|
|
|
tmp:=a[J]; |
|
|
|
|
|
|
|
a[J]:=a[J+1]; |
|
|
||
|
|
|
a[J+1]:=tmp |
|
|
||
|
|
|
end; |
|
|
|
|
|
|
WriteLn(‘Отсортированный массив:’); |
|
|
|||
|
|
For |
K:=1 |
to N do |
|
|
|
408
Write(a[K],’ ‘);
writeLn; end.
1)Наберите программу в системе программирования и определите, каким образом она упорядочивает массив (по возрастанию или по убыванию);
2)вставьте промежуточные выводы на печать содержимого массива после каждой перестановки и после каждой итерации внешнего цикла.
3)на основе получаемых листингов промежуточных данных запишите, как будет изменяться содержимое массива в процессе сортировки, для следующих массивов а) 9 -1 2 33 8 12 11 5 6.
b)1 2 3 4 5 6 7 8 9
409