Zacloock
16.12.2021 07:13

Подскажите в чём ошибка, ругается на точку запятой перед elseprogram uravnenie; var a,b,c,d,x1,x2 : real; beginwriteln ('введите значения коэффициентов a,b,c'); readln (a,b,c); d: =sqr(b)+(4*a*c); if (d> =0) then begin x1: = ((-1)*b+sqrt(d))/2*a; x2: = ((-1)*b-sqrt(d))/2*a; writeln (x1,x2); end; else writeln ('уравнение решений не имеет')end.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
maksim393
15.12.2021 02:06
Sub Alg_1()
    xN = -5: xK = 5: h = 0.1
    x = xN: i = 1
    Do While x <= xK
        y = 3 * x ^ 2 - 6 * x + 5
        Cells(i, 1) = x: Cells(i, 2) = y
        x = x + h: i = i + 1
    Loop
End Sub

Во вложении файл с рабочей книгой MS Excel 2003. Макрос на листе 1.

Теперь о Вашей ошибке

Dim xN, xK, x As Integer
Dim y, h As Single
xN = -5
...
h = 0.1
x = xN
...
x = x + h

Такое описание означает, что xN, xK будут типа Variant, х - типа Integer.
y тоже будет типа Variant, h - типа Single.
При выполнении опeратора x=x+h целочисленное x сначала увеличится на 0.1, а затем дробная часть будет отброшена. Поэтому х постоянно будет равен xN и цикл станет бесконечным.
0,0(0 оценок)
Ответ:
aska13aska
09.02.2023 01:13
Заменить минимальный по модулю положительный элемент нулём. Заменить элементы с К1 по K3 на обратный. Из элементоа массива A сформировать массив D того же размера по правилу: первые 10 элеметов I, остальные Di=Ai-i

Для меня проблематично сделать всё это в одной задаче.
По отдельности каждое предложение есть.
Совместить не могу.
1)var a:array [1..10] of integer; i,min,n,z:integer;
begin
repeat
writeln ('Введите размер массива');
readln (n);
until n<=10;
min:=32767;
z:=0;
for i:=1 to n do
begin
writeln ('введите',i,'элемент');
readln (a[i]);
if a[i]>0 then begin
if min>a[i] then begin min:=a[i]; z:=i;
end;
end;
end;
a[z]:=0;
for i:=1 to n do
begin
writeln ('элемент массива n ',i,' = ',a[i]);
end;
readln;
end.

2)var a:array [1..10] of integer; i,k,n:integer;
begin
repeat
writeln ('Введите размер массива n');
readln (n);
until n<=10;
k:=3;
for i:=1 to n do
begin
writeln ('введите',i,'');
readln (a[i]);
end;
for i:=1 to k do
begin
a[i]:=a[i]*-1;
end;
for i:=1 to n do
begin
writeln ('элемент массива n ',i,' = ',a[i]);
end;
readln;
end.

3) var a:array [1..20] of integer;
d:array [1..20] of integer;
i,n:integer;
begin
writeln ('Введите размер массива n');
readln (n);
for i:=1 to n do
begin
writeln ('введите',i,'');
readln (a[i]);
end;
writeln('элементы нового массива');
for i:=1 to n do
begin
if i<=10 then d[i]:=i else d[i]:=a[i]-i;
writeln (d[i],' ');
end;
readln;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота