Program Table;
uses math; //подключаем математический модуль, возможно с модулем я ошибся
var // объявляем локальные переменные для программы
a , b, h : Real; //указывает дробный тип числа
function calculate_f( x: Real) : Real; //объявляем функцию в теле программы
begin
calculate_f := 1/2*sin(x/4+1) ; //записываем результат вычисления в функцию
end;
Begin
a := -0.99; //определяем
b := 50.0; //вводные
h := 0.1; //значения
while a < b do begin //пока "a" меньше "b"
writeln("F(", a, ') = ', calculate_f(a)); //выводим результат вычислений в строку
a := a + h; //прибавляем шаг "h"
end;
end.
Я могу и ошибиться, потому что писал на Паскале оочень давно :D
Поэтому Вам прийдется поправить некоторые ошибки в коде.
var a:array[1..100] of integer;
Begin
randomize; {чтоб рандом был разный для каждого запуска програмы}
for i:= 1 to 100 do
if i mod 2 =0 then a[i] := 2*random(100)+1; {формула нечетного числа}
else a[i]:=2*random(100);
End.
Есличто непонятно - пиши в сообщения, растолкую
PROGRAM Power_Long;
var
i:byte; // счетчик
si, so:string; // числа в виде строк
power:byte; //показатель степени
function readFile(filename:string):string;
var f:text;
s:string;
begin
assign(f,filename); Reset(f);
readln(f,s);
readln(f,power);
close(f);
readFile := Trim(s);
end;
function multiplyLong(s1:string; s2:string):string;
var
i,j,k,l:byte; //счетчики
z:boolean; //
A,B,T,R:array [0..100] of byte; //массивы
carry:byte; //перенос при умножении и суммировании
rt:string;//результат
begin
// первая строка чисел в массив
l:=Length(s1);
// A := new byte[l+1];
A[0]:=l; //количество
for i:=l downto 1 do
A[l-i+1]:=ord(s1[i]) - 48;
// вторая строка чисел в массив
k:=Length(s2);
// B := new byte[k+1];
B[0]:=k; //количество
for i:=k downto 1 do
B[k-i+1]:=ord(s2[i]) - 48;
i:=l+k; // 999*9999=9989001, т.е. максимум 7знаков
// R := new byte[i+1]; //массив с результатом
R[0]:=i;//количество
// T := new byte[i+1];//temp - произведение A на один знак из B
for i:=1 to A[0] do begin
//T := умножение A на один знак из B
carry:=0;
for j:=1 to B[0] do begin
k:= A[i] * B[j] + carry;
carry := k div 10;
T[j]:= k mod 10;
end;
j:=j+1;
T[j]:=carry;
T[0]:=j;
// прибавление T к результату R
carry:=0;
for j:=1 to T[0] do begin
k := T[j] + R[j+i-1] + carry;
carry := k div 10;//перенос
R[j+i-1] := k mod 10;
end;
end;
rt:='';
z:=false;//проверка на ведущие нули
for i:= R[0] downto 1 do begin
if (R[i]>0) then begin
rt := rt + R[i];
z:=true;//все последущие нули надо добавить в число
end else
if (R[i]=0) and z then
rt := rt + R[i];
end;
multiplyLong := rt;
end;
BEGIN
si := readFile('input.txt');
so := multiplyLong(si, si); //возвели во вторую степень
// возведение в степень от 3 и выше умножением
for i:=3 to power do begin
so := multiplyLong(si, so);
end;
writeln( si, '^',power,' = ',so );
END.
Program Control;Uses crt;
Var x:integer;y,z:real;
Begin;
x:=5;
y:=7.5;
z:=x+y;
Writeln('summa=',z);
Readln;
End.