
Системное администрирование
Pascal задание по информатике через WHILE
9 задание надо имеено через while именно через while не for а while !!!


9.
s:=0; k:=0; while (k < n) do begin
k:=k+1; s:=s+sin(k*x) end;
10.
s:=0; k:=0; y:=x; while (k < n) do begin
k:=k+1; y:=cos(y); s:=s+y end;
Вот так это делается.
s:=0; k:=0; while (k < n) do begin
k:=k+1; s:=s+sin(k*x) end;
10.
s:=0; k:=0; y:=x; while (k < n) do begin
k:=k+1; y:=cos(y); s:=s+y end;
Вот так это делается.
Олег Белоусов
немогли бы вы попородобней код расписать до writeln, readln пожалуйста!
В цикле for фишка в том, что за изменение счетчика отвечает само устройство цикла:
for q := 1 to n do
begin
...
end;
Операторы между begin и end выполнятся сначала для q = 1, потом для q = 2, q = 3, …, q = n. После этого цикл завершится.
В цикле while нет встроенного контроля за значением счетчика, поэтому счетчик придется контролировать явно.
Пусть у нас есть переменные x и y дробных типов — real, single или double. А также целое количество слагаемых n и переменная-счетчик q.
x и n нам ввели с клавиатуры — например, с помощью readln(x); readln(n);
Нам нужно сложить все слагаемые sin qx для q = 1, q = 2, …, q = n.
Тогда и получим sin x + sin 2x + … + sin nx.
Сначала обнулим переменную для суммы:
y := 0;
Затем укажем начальное значение счетчика:
q := 1;
Теперь запустим цикл, внутри которого будем прибавлять к сумме y одно слагаемое, а также увеличивать счетчик q. И повторять это до тех пор, пока счетчик q не превысит количество слагаемых n:
while q <= n do
begin
y := y + sin(q * x);
q := q + 1;
end;
Вот и всё.
for q := 1 to n do
begin
...
end;
Операторы между begin и end выполнятся сначала для q = 1, потом для q = 2, q = 3, …, q = n. После этого цикл завершится.
В цикле while нет встроенного контроля за значением счетчика, поэтому счетчик придется контролировать явно.
Пусть у нас есть переменные x и y дробных типов — real, single или double. А также целое количество слагаемых n и переменная-счетчик q.
x и n нам ввели с клавиатуры — например, с помощью readln(x); readln(n);
Нам нужно сложить все слагаемые sin qx для q = 1, q = 2, …, q = n.
Тогда и получим sin x + sin 2x + … + sin nx.
Сначала обнулим переменную для суммы:
y := 0;
Затем укажем начальное значение счетчика:
q := 1;
Теперь запустим цикл, внутри которого будем прибавлять к сумме y одно слагаемое, а также увеличивать счетчик q. И повторять это до тех пор, пока счетчик q не превысит количество слагаемых n:
while q <= n do
begin
y := y + sin(q * x);
q := q + 1;
end;
Вот и всё.
Показывайте что у вас есть, в чем проблема, поправим, подскажем...
Олег Белоусов
Var
n:integer;
S,x:real;
Begin
Write('x = ');
ReadLn(x);
Write('n = ');
ReadLn(n);
S:=0;
while n>n do
begin
S:=S+sin(n*x);
writeln('S =',S);
end;
end.
я не знаю что после while писать, он просто зацикливается, но надо чтобы он допустим 5 раз вычислил и всё (5 число случайное, пользователь модет ввести любое другое)
n:integer;
S,x:real;
Begin
Write('x = ');
ReadLn(x);
Write('n = ');
ReadLn(n);
S:=0;
while n>n do
begin
S:=S+sin(n*x);
writeln('S =',S);
end;
end.
я не знаю что после while писать, он просто зацикливается, но надо чтобы он допустим 5 раз вычислил и всё (5 число случайное, пользователь модет ввести любое другое)
Олег Белоусов
хрень написал после while, он просто не будет работать, вот 2 код Var
n:integer;
S,x:real;
Begin
Write('x = ');
ReadLn(x);
Write('n = ');
ReadLn(n);
S:=0;
while n>n-1 do
begin
S:=S+sin(n*x);
writeln('S =',S);
end;
end.
n:integer;
S,x:real;
Begin
Write('x = ');
ReadLn(x);
Write('n = ');
ReadLn(n);
S:=0;
while n>n-1 do
begin
S:=S+sin(n*x);
writeln('S =',S);
end;
end.
Сергей Багаутдинов
Перед циклом назначте N
потом проверка, например N>4 (если от 0 будет как раз 5 проходов)
Внутри цикла наращивайте N с требуемым шагом, например N:=N+1 (удобнее и понятнее писать inc(N))
Все.
П. С. и, я так понимаю вам нужно вычислить только сумму, значит вывод уберите за цикл.
потом проверка, например N>4 (если от 0 будет как раз 5 проходов)
Внутри цикла наращивайте N с требуемым шагом, например N:=N+1 (удобнее и понятнее писать inc(N))
Все.
П. С. и, я так понимаю вам нужно вычислить только сумму, значит вывод уберите за цикл.
For и while отличается только тем, где указывается условие. Если знаешь как сделать с for, то и с while - без проблем.
Олег Белоусов
сделай пожалуйста, я не могу понять
Похожие вопросы
- Помогите! Информатик 8 класс Программирование на Паскале
- Помогите пожалуйста разобраться с заданием по excel . не пойму задание и " а" и "б"
- Информатика Понятие о безопасности системы
- Разработка веб сайтов обязательно должно включать техническое задание? Или оно не необходимо?
- Помогите со 2 заданием по информатике в Pascal
- Задание по информатике в Pascal !!!!!!
- Задание по информатике
- Домашнее задание по Информатике, помогите пожалуйста
- Помогите с заданием по информатике за 7 класс????
- Что такое Графические, информационные модели? (Задание по Информатики)