Контрольная работа по "Программированию"
Автор: nelli-m-80 • Декабрь 4, 2018 • Контрольная работа • 2,537 Слов (11 Страниц) • 310 Просмотры
Содержание
1. | Задание 1. Принадлежит ли точка области | 2 |
2. | Задание 2. Работа с одномерными массивами | 5 |
3. | Задание 3. Работа с двумерными массивами | 8 |
4. | Задание 4. Работа со строками | 17 |
5. | Задание 5. Работа со списками | 19 |
Задание 1. Принадлежит ли точка области
Постановка задачи: Определить принадлежит ли точка, заданная координатами x,y некоторой области.
[pic 1] | Даны действительные числа x,y – координаты точки. R1, R2 – соответственно радиусы большей и меньшей окружности (см. рис.). Центр 2-ой окружности – точка с координатами (0,R1). Определить принадлежит ли точка закрашенной области. |
Алгоритм решения задачи преставлен в виде следующей блок-схемы:
[pic 2]
Начало
Конец
Программа составлена в среде программирования ABC.net
Описаны переменные:
R – радиус первой окружности; x, y – точки вхождения, r1 – радиус второй окружности, sq1 – переменная содержащая формулу второй окружности, sq - переменная содержащая формулу первой окружности; x1, y1 – координаты второй окружности.
Радиус первой окружности:
R:=2;
Радиус второй окружности:
R1:=1;
Согласно условию задачи положение координаты Х второй окружности равен радиусу первой:
X1:=r;
Формула первой окружности:
sq := sqrt(sqr(x) + sqr(y));
Формула второй окружности:
sq1 := sqrt(sqr(x - x1) + sqr(y - y1));
Условие вхождения точки в закрашенную область:
if not (r >= sq) and (r1 >= sq1) then
writeln('Точка с заданными координатами попадает в радиус ') else
writeln('Точка с заданными координатами не попадает в радиус ');
Код программы:
var
r, x, y, r1, sq1, sq, x1, y1: real;
begin
readln(x, y);
r := 2;
r1 := 1;
x1 := r;
y1 := 0;
sq := sqrt(sqr(x) + sqr(y));
sq1 := sqrt(sqr(x - x1) + sqr(y - y1));
if not (r >= sq) and (r1 >= sq1) then
writeln('Точка с заданными координатами попадает в радиус ') else
writeln('Точка с заданными координатами не попадает в радиус ');
end.
Задание 2. Работа с одномерными массивами[pic 3]
Начало
Конец
Постановка задачи: Дана последовательность чисел ai (i=1,2,…,N). Подсчитать сумму чисел с четными индексами и среднее арифметическое чисел с нечетными индексами.
Алгоритм решения задачи преставлен в виде следующей блок-схемы:
[pic 4][pic 5]
Программа составлена в среде программирования ABC.net
Описаны константа:
n = 10;
Описаны переменные:
A – целочисленный массив с диапазон от 1 до n;
Sum – целочисленная переменная для подсчета суммы элементов c четными индексами; sum2 – целочисленная переменная для подсчета суммы элементов с нечетными индексами;
k- целочисленная переменная для подсчета количества нечетных индексов i – переменная цикла;
Заполнение массива и вывод его на экран осуществляется при помощи цикла с параметрами:
for i:=1 to n do
begin
write(a[i]:3);
Определение и подсчет четных и не четных индексов:
if i mod 2 = 0 then sum:=sum+a[i]
else
begin
sum2:=sum2+a[i];
k:=k+1;
end;
end;
Подсчет среднего арифметического чисел с нечетными индексами.
avg:=sum2/k;
Вывод результата выполнения программы:
writeln('summ ',sum);
writeln('avg ',avg);
Код программы:
const
n = 10;
var
a:array[1..n] of integer;
sum,sum2,k,i:integer; avg:real;
begin
Sum:=0; k:=0;
for i:=1 to n do
begin
write(a[i]:3);
if i mod 2 = 0 then sum:=sum+a[i]
else
begin
sum2:=sum2+a[i];
k:=k+1;
...