2. Как ты считаешь, в чем заключается основная цель применения эффектов к изображению? 3. Какой эффект, не входящий в список эффектов графического редактора, ты бы применил к изображению?
Создать файл X компонентами которого являются элемента массива M. Переписать из файла X в файл Y все компоненты, которые стоят на четных местах. Прочитать файл Y.
M = (0,1; 5,6; 0.8; 2,4; 7,3; 6,8; 0,5; 2,3;)
Решение
Описание переменных:
M - массив-константа;
x, y - переменные, связанные с типизированными файлами;
n - считанное из файла очередное число;
i - счетчик.
Алгоритм решения задачи:
Создать константу-массив, присвоив ей заданные значения массива.
Связать файловые переменные с соответствующими файлами.
Открыть файл X на запись. Записать в него все элементы массива. Закрыть файл.
Открыть файл X на чтение, а файл Y на запись. Присвоить счетчику значение 1. Пока не будет достигнут конец файла X, считывать из него очередное число. Если при этом счетчик имеет четное значение, то записывать число в файл Y. После считывания и проверки на четность номера очередного числа, увеличивать счетчик на 1. После того как файл X будет прочитан, закрыть оба файла.
Открыть файл Y на чтение. Пока не будет достигнут его конец, считывать из него очередное число и выводить его на экран. После завершения цикла закрыть файл.
Программа на языке Паскаль:
const M: array[1..8] of real = (0.1, 5.6, 0.8, 2.4, 7.3, 6.8, 0.5, 2.3);
var s,v,t,a:real; begin writeln('Введите скорость, ускорение и время соотвественно'); read(v,a,t); s:=v*t+(a*sqr(t))/2; writeln('Расстояние S = ',s); end.
Задание №2
var a,b,c,d,m,n:integer; begin writeln('Введите ширину и высоту комнаты'); read(a,b); writeln('Введите размеры окна'); read(c,d); writeln('Введите размеры двери'); read(m,n); writeln('Площадь стен для оклеивания обоями = ',a*b-c*d-m*n); end.
Задание №3
var a,b:real; begin writeln('Введите два числа'); read(a,b); writeln('Среднее арифметическое кубов этих чисел = ',(power(a,3)+power(b,3))/2); writeln('Среднее геометрическое модулей этих чисел = ',sqrt(abs(a*b))); end.
Задание №4
var x:real; begin writeln('Введите ребро куба'); read(x); writeln('Площадь грани = ',sqr(x)); writeln('Площадь полной поверхности = ',6*sqr(x)); writeln('Объем куба = ',power(x,3)); end.
Задание №5
var r1,r2:real; begin writeln('Введите внешний и внутренний радиус'); read(r1,r2); if r1<r2 then writeln('Внешний радиус должен быть больше внутреннего') else writeln('Площадь кольца = ', Pi*sqr(r1)-Pi*sqr(r2)); end.
Создать файл X компонентами которого являются элемента массива M. Переписать из файла X в файл Y все компоненты, которые стоят на четных местах. Прочитать файл Y.
M = (0,1; 5,6; 0.8; 2,4; 7,3; 6,8; 0,5; 2,3;)
Решение
Описание переменных:
M - массив-константа;
x, y - переменные, связанные с типизированными файлами;
n - считанное из файла очередное число;
i - счетчик.
Алгоритм решения задачи:
Создать константу-массив, присвоив ей заданные значения массива.
Связать файловые переменные с соответствующими файлами.
Открыть файл X на запись. Записать в него все элементы массива. Закрыть файл.
Открыть файл X на чтение, а файл Y на запись. Присвоить счетчику значение 1. Пока не будет достигнут конец файла X, считывать из него очередное число. Если при этом счетчик имеет четное значение, то записывать число в файл Y. После считывания и проверки на четность номера очередного числа, увеличивать счетчик на 1. После того как файл X будет прочитан, закрыть оба файла.
Открыть файл Y на чтение. Пока не будет достигнут его конец, считывать из него очередное число и выводить его на экран. После завершения цикла закрыть файл.
Программа на языке Паскаль:
const M: array[1..8] of real = (0.1, 5.6, 0.8, 2.4, 7.3, 6.8, 0.5, 2.3);
var
x,y : file of real;
n: real;
i: byte;
begin
assign(x,'x.dat');
assign(y,'y.dat');
rewrite(x);
for i:=1 to 8 do
write(x, M[i]);
close(x);
reset(x);
rewrite(y);
i := 1;
while not EOF(x) do begin
read(x, n);
if not odd(i) then
write(y, n);
i := i + 1;
end;
close(x);
close(y);
reset(y);
while not EOF(y) do begin
read(y, n);
write(n:5:1);
end;
writeln;
close(y);
Объяснение:
var s,v,t,a:real;
begin
writeln('Введите скорость, ускорение и время соотвественно');
read(v,a,t);
s:=v*t+(a*sqr(t))/2;
writeln('Расстояние S = ',s);
end.
Задание №2
var a,b,c,d,m,n:integer;
begin
writeln('Введите ширину и высоту комнаты');
read(a,b);
writeln('Введите размеры окна');
read(c,d);
writeln('Введите размеры двери');
read(m,n);
writeln('Площадь стен для оклеивания обоями = ',a*b-c*d-m*n);
end.
Задание №3
var a,b:real;
begin
writeln('Введите два числа');
read(a,b);
writeln('Среднее арифметическое кубов этих чисел = ',(power(a,3)+power(b,3))/2);
writeln('Среднее геометрическое модулей этих чисел = ',sqrt(abs(a*b)));
end.
Задание №4
var x:real;
begin
writeln('Введите ребро куба');
read(x);
writeln('Площадь грани = ',sqr(x));
writeln('Площадь полной поверхности = ',6*sqr(x));
writeln('Объем куба = ',power(x,3));
end.
Задание №5
var r1,r2:real;
begin
writeln('Введите внешний и внутренний радиус');
read(r1,r2);
if r1<r2 then writeln('Внешний радиус должен быть больше внутреннего') else
writeln('Площадь кольца = ', Pi*sqr(r1)-Pi*sqr(r2));
end.