var G,F:file of integer;
i,j,n:integer;
s:integer;
c,c1,c2:integer;
begin
writeln;
write('Vvedite n:');
readln(n);
Assign(G,'C:\g.txt');
Assign(F,'C:\f.txt');
Rewrite(F);
for i:=1 to n do
begin
c1:=1;
c2:=1;
for j:=1 to i+1 do begin
if j<i+1 then c1:=c1*2;
c2:=c2*3;
end;
c:=c1+c2;
write(F,c);
end;
Close(F);
Reset(F);
Rewrite(G);
s:=0;
while not Eof(f) do
begin
read(F,c);
if c>0 then c:=c*(-1);
write(G,c);
s:=s+c;
end;
write(G,s);
close(F);
close(G);
reset(G);
writeln('Komponenty fajla j:');
while not Eof(G) do
begin
read(G,c);
write(c);
end;
readln;
end.
Приклад.Виведення таблиці значень функції у файл.
Програма:
program file_of_values;
var
х : Real;
k : Word;
out_file : Text; {тип Text відповідає файлу. що складається із рядків тексту}
function F(x: Real): Real;
begin
F := x/d.O + x);
end;
begin
Assign(out_file, 'c:\user\ivanov\table.dat');
Rewrite(out_file);
x := 0.0;
WriteLn(out_file, 'Таблиця значень функції F(x) = x/(l + x)');
WriteLn(out_file);
WriteLn(out_file, 'x':9, 'F(x)':19);
WriteLn(out_file);
for k := 0 to 50 do
begin
WriteLn(out_file, x:9:3, F(x):19:9);
x := x + 0.1:
if k mod 10 = 9 then WriteLn(out_file);
end;
Close(out_file);
end.
Відповідь:
Пояснення:
Алгоритмы, в которых команды выполняются последовательно одна за другой, в порядке их записи, называются линейными.
Пример 1. Написать алгоритм получения изображения двузначного числа с исполнителя Чертежник.
Выберем следующий алгоритм построения изображения:
1) создать поле для исполнителя Чертежник размером 6х5 (6 клеток по горизонтали, 5 клеток по вертикали);
2) сместиться в точку (2, 2);
3) опустить перо;
4) изобразить цифру 1;
5) поднять перо и смечтиться в точку (4,3);
6) опустить перо;
7) изобразить цифру 2;
8) поднять перо и перейти в начало координат.
Вначале запишем алгоритм решения задачи на русском языке. Затем для каждой команды этого алгоритма выберем соответствующую команду исполнителя Чертежник.
Запись алгоритма на русском языке Текст программы
Заголовок программы;
Program PR_1;
вызов исп. Чертежник;
uses Drawman;
начало программы;
begin
создание поля размером 6х5;
Field(6,5);
рисуем цифры 1 и 2;
ToPoint(2,2);PenDown;
ToPoint(3,3);
ToPoint(3,1);
PenUp;
ToPoint (4,3);
PenDown;
ToPoint(5,3);
ToPoint(5,2);
ToPoint(4,1);
ToPoint(5,1);
PenUp;
ToPoint (0,0);
закончить программу.
end.
Можешь загрузить! Пример 1
Для выполнения программы выберем команды ПрограммаàВыполнить (F9 или кнопка на панели инструментов). Откроется окно исполнителя Чертежник, где нужно нажать кнопку Пуск или клавишу Enter на клавиатуре.
Команда OnVector(a,b)
OnVector(a,b)– перемещает перо Чертежника на вектор (a,b).
Выполним пример 1, но вместо команды ToPoint(x,y), кторая перемещает перо Чертежника в точку (x,y). будем использовать OnVector(a,b).
Перемещение из точки (1,2) в точку (3,3) с вектора: OnVector(2,1).
Перемещение из точки (3,3) в точку (1,2) с вектора: OnVector(-2,-1).
Перемещение из точки (1,3) в точку (4,3) с вектора: OnVector(3,0).
Перемещение из точки (4,3) в точку (1,3) с вектора: OnVector(-3,0).
Перемещение из точки (3,2) в точку (3,5) с вектора: OnVector(0,3).
Перемещение из точки (3,5) в точку (3,2) с вектора: OnVector(0,-3).
Пример 2. Написать алгоритм получения изображения двузначного числа с исполнителя Чертежник, используя команду OnVector(a,b).
Поделитесь своими знаниями, ответьте на вопрос:
Дан массив вещественных чисел. найти среднее арифметическое неотрицательных элементов массива.
const n=10;
var a: array[1..n] of real;
sum,k: real;
i: integer;
begin
sum:=0;
k:=0;
for i:=1 to n do
begin
readln(a[i]);
if a[i]>0 then begin
k:=k+1;
sum:=sum+a[i];
end;
end;
write(sum/k);
end.