Открыть новый числовой вещественный файл
‒ Задать число вызовов функции
‒ Организовать цикл для вызова функции с разными значениями X.
‒ В цикле выполнить:
‒ Входные данные для функции ввести от датчика случайных чисел и
выдать их на экран
‒ Вызвать функцию
‒ Значение функции сохранить в числовом вещественном файле
‒ Закрыть файл
Другие языки программирования и технологии
Составить программу на языке pascal.
может пригодится такой исходник
Program things;
var i,j,n: integer;
h: real;
f: file of real;
function func(x: real): real;
begin
func:=sin(x*0.01);
end;
begin
randomize;
writeln('--------------------');
write('How many: ');
readln(n);
assign(f,'things.dat');
{$I-}
reset(f);
{$I+}
if ioResult<>0 then
rewrite(f);
for i:=1 to n do
begin
j:=random(100);
write(j,' ');
h:=func(j);
write(h:4,' ');
write(f,h);
end;
writeln;
close(f);
readln;
end.
Program things;
var i,j,n: integer;
h: real;
f: file of real;
function func(x: real): real;
begin
func:=sin(x*0.01);
end;
begin
randomize;
writeln('--------------------');
write('How many: ');
readln(n);
assign(f,'things.dat');
{$I-}
reset(f);
{$I+}
if ioResult<>0 then
rewrite(f);
for i:=1 to n do
begin
j:=random(100);
write(j,' ');
h:=func(j);
write(h:4,' ');
write(f,h);
end;
writeln;
close(f);
readln;
end.
может быть тебе поможет эта программа
{Задан массив размерностью (10х10) элементов. Присвоить
элементам массива значение функции
y=cos(x^0,25-0.5*x^0.5+0.25*x^0.75) при
изменении аргумента от 4,5 с шагом 0,35.
найти в каждом столбце макс положительный элемент
и поменять его местами с элементами главной диагонали
вывести на экран в формате 3 знака после запятой:
исходный массив,
полученный массив,
искомые элементы (если они есть)
Предусмотреть возможность вывода на экран и в файл. }
program massiv;
uses crt;
type mas= array[1..100,1..100] of real;
var
f:file of real;
j,i,k:integer;
y: mas;
max,x:real;
m:array[1..10] of real;
maxi:array[1..10] of integer;
BEGIN
clrscr;
assign(f,'f.tt');
rewrite(f);
x:=4.5;
writeln(' исходный массив ');
writeln('---------------------------');
for i:=1 to 10 do begin
for j:=1 to 10 do begin
y[i,j]:=cos(power(x,0.25) -0.5*sqrt(x) +0.25* power(x,0.75));
write(y[i,j]:7:3); x:=x+0.35;
end;
writeln; end;
writeln('Максимальные по столбцам ');
for j:=1 to 10 do begin
max:=y[1,j];
for i:=1 to 10 do
if (y[i,j]>0) and (y[i,j]>max) then
begin max:=y[i,j]; k:=i end;
m[j]:=max; maxi[j]:=k;
end;
for j:=1 to 10 do
write(maxi[j]:7);
writeln;
for j:=1 to 10 do
write(m[j]:7:3);
writeln;
for i:=1 to 10 do begin
x:=y[i,i]; y[i,i]:=m[i]; y[i,maxi[i]]:=x;
end;
writeln('Enter'); readln;
writeln(' Конечный массив ');
writeln('---------------------------');
for i:=1 to 10 do begin
for j:=1 to 10 do
write(y[i,j]:7:3);
writeln; end;
//Запись в файл
for i:=1 to 10 do
for j:=1 to 10 do
write(f,y[i,j]);
close(f);
reset(f);
writeln('Массив из файла ');
writeln('Enter') ; readln;
for i:=1 to 10 do begin
for j:=1 to 10 do begin
read(f,x);
write(x:7:3); end;
writeln; end;
close(f);
writeln('конец задачи ');
readln;
END.
{Задан массив размерностью (10х10) элементов. Присвоить
элементам массива значение функции
y=cos(x^0,25-0.5*x^0.5+0.25*x^0.75) при
изменении аргумента от 4,5 с шагом 0,35.
найти в каждом столбце макс положительный элемент
и поменять его местами с элементами главной диагонали
вывести на экран в формате 3 знака после запятой:
исходный массив,
полученный массив,
искомые элементы (если они есть)
Предусмотреть возможность вывода на экран и в файл. }
program massiv;
uses crt;
type mas= array[1..100,1..100] of real;
var
f:file of real;
j,i,k:integer;
y: mas;
max,x:real;
m:array[1..10] of real;
maxi:array[1..10] of integer;
BEGIN
clrscr;
assign(f,'f.tt');
rewrite(f);
x:=4.5;
writeln(' исходный массив ');
writeln('---------------------------');
for i:=1 to 10 do begin
for j:=1 to 10 do begin
y[i,j]:=cos(power(x,0.25) -0.5*sqrt(x) +0.25* power(x,0.75));
write(y[i,j]:7:3); x:=x+0.35;
end;
writeln; end;
writeln('Максимальные по столбцам ');
for j:=1 to 10 do begin
max:=y[1,j];
for i:=1 to 10 do
if (y[i,j]>0) and (y[i,j]>max) then
begin max:=y[i,j]; k:=i end;
m[j]:=max; maxi[j]:=k;
end;
for j:=1 to 10 do
write(maxi[j]:7);
writeln;
for j:=1 to 10 do
write(m[j]:7:3);
writeln;
for i:=1 to 10 do begin
x:=y[i,i]; y[i,i]:=m[i]; y[i,maxi[i]]:=x;
end;
writeln('Enter'); readln;
writeln(' Конечный массив ');
writeln('---------------------------');
for i:=1 to 10 do begin
for j:=1 to 10 do
write(y[i,j]:7:3);
writeln; end;
//Запись в файл
for i:=1 to 10 do
for j:=1 to 10 do
write(f,y[i,j]);
close(f);
reset(f);
writeln('Массив из файла ');
writeln('Enter') ; readln;
for i:=1 to 10 do begin
for j:=1 to 10 do begin
read(f,x);
write(x:7:3); end;
writeln; end;
close(f);
writeln('конец задачи ');
readln;
END.
Андрей Стерлигов
это сохранение файла если что
Похожие вопросы
- Информатика. Составить программу на языке Pascal
- Помогите составить программу на языке Pascal
- Помогите составить программу на языке Pascal
- Как можно составить программу на языке Pascal для вычисления 100!-2 в степени 100?
- помогите составить программу на языке Turbo pascal
- ПОМОГИТЕ ПОЖАЛУСТА составить программу на turbo pascal!
- Помогите составить программу на Turbo Pascal?
- Проверьте программу на языке Pascal
- написать программу на языке Pascal.
- Помогите написать 2 программы на языке pascal!