Помогите пожалуйста с тремя задачами на паскале а то завтра ппц
1. Написать программу вычисляющую сумму N чисел ряда числовой последовательности X+ (X в третий степени /3) + (X в пятой степени /5) + (X в седьмой степени /7) + ... +
x<1/3
Записать числа в одномерный масив
2. дан двумерный масив. Найи максимум в указанном столбце и переставить с минимумом в указанной стороке.
3. Создать текстовый файл и ввести текст. Вывести из этого файла текст и определить является ли первое слово в файле числом.
Немного непонятно с первой задачей: последовательность выглядит так
a[1]=x
a[2]=(x^3)/3
a[3]=(x^5)/3
....
или так
a[1]=x
a[2]=x+(x^2)/3
a[3]=x+(x^2)/3+(x^3)/3
...
Если первый вариант, то решить можно так:
[syntax='delphi']
program p1;
const
N0=100;
var
N:integer;
i,j:integer;
a:array[1..N0]of real;
x:real;
sum:real;
function pow(x,p:real):real;
begin
pow:=exp(p*ln(x));
end;
begin
writeln('Введите N:');
readln(N);
writeln('Введите X:');
readln(x);
j:=0;
for i:=1 to N*2 do
if (i mod 2)=1 then
begin
inc(j);
a[j]:=pow(x,i)/3;
sum:=sum+a[j];
end;
for i:=1 to j do
write(a:0:5,' ');
writeln;
writeln('Сумма=',sum:0:5);
readln;
end.
[/syntax]
Вторая решается примерно так:
[syntax='delphi']
program New_Project;
const
N=10;
var
i,j:integer;
a:array[1..N]of array[1..N]of integer;
max,min:integer;
col,row:integer;
maxidx,minidx:integer;
procedure display;
begin
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3,' ');
writeln;
end;
end;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(100);
display;
writeln('Введите номер столбца:');
readln(col);
writeln('Введите номер строки:');
readln(row);
max:=a[col,1];
for i:=1 to n do
if a[col,i]>max then
begin
max:=a[col,i];
maxidx:=i;
end;
min:=a[1,row];
for i:=1 to n do
if a[i,row]<min then
begin
min:=a[i,row];
minidx:=i;
end;
var
N:integer;
i,j:integer;
a:array[1..N0]of real;
x:real;
sum:real;
function pow(x,p:real):real;
begin
pow:=exp(p*ln(x));
end;
begin
writeln('Введите N:');
readln(N);
writeln('Введите X:');
readln(x);
j:=0;
for i:=1 to N*2 do
if (i mod 2)=1 then
begin
inc(j);
a[j]:=pow(x,i)/i;
sum:=sum+a[j];
end;
for i:=1 to j do
write(a:0:5,' ');
writeln;
writeln('Сумма=',sum:0:5);
readln;
end.
[/syntax]
На счет третьей не понял:
текст вводится зарание или в ходе выполнения программы?
Ни что так не ограничивает фантазию программиста, как компилятор...