IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Оператор цикла while
kvadrat
сообщение 2.05.2008 23:17
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Привет друзья, помогите пожалуйсто решить вот такую задачю через цикл while:

Даны целые числа a,n,x(с индексом 1),.......,x(с индексом n) (n>0). Определить каким по счёту в последовательности x(с индексом 1),......,x член равный a. Если такого члена нет, то ответом должно быть число 0.

Вот я тут попытался её решить, но она работает неправильно:

program vail;
var x,s,n,i:integer;
begin
writeln('vvedite kolichestvo chisel');
readln(n);
s:=0;
i:=0;
writeln('vvedite x');
readln(x);
while i<=n do
begin
i:=i+1;
begin
if x<2 then
x:=0;
end;
s:=s+x;
end;
writeln('symma ravna ',s);
end.


Сообщение отредактировано: kvadrat - 2.05.2008 23:19
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 3.05.2008 6:11
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Ничего ты НЕ пытался решать. Подсунул задачу по вычислению суммы членов последовательности. Или это юмор такой?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kvadrat
сообщение 3.05.2008 13:55
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Серьёзно для меня эта задача сложная поэтому я прошу у вас помощи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 3.05.2008 14:16
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Ну и что? Помощь подразумевает некое твое участие в процессе. А ты подсовываешь какую-то левую программу, выдавая ее за свою якобы написанную.
Вот когда хотя бы переменные, участвующие в твоей программе, правильно опишешь, тогда и жди какой-то помощи.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kvadrat
сообщение 3.05.2008 21:48
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


А ты можеш хотябы нормальным понятным языком объяснить условие задачи? если тя канешно незатруднит
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 3.05.2008 22:44
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Вообще-то объяснить нормальным понятным языком условие задачи - обязанность того, кто создает тему.
Ибо кроме него об этой задаче никто ничего не знает (кроме телепатов).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kvadrat
сообщение 5.05.2008 21:25
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Вот поглядите решил, но он прекращает ввод чисел как только ты вводиш значение равное a, как тут исправить чтобы сначало вводить все числа в ряду, а потом уже после нажатия alt+F5 он выдавал каким по счёту число равное а в ряду расположено, иначе выводил 0

program vail;
var a,n,i,x:integer;
begin
writeln('vvedite chislo a');
readln(a);
writeln('vvedite kolichestvo chisel v ryady');
readln(n);
while a<>x do
begin
i:=0;
for x:=1 to n do
i:=i+1;
writeln('vvedite chisla ryada');
readln(x);
end;
if a=x then writeln('chislo v ryady po schety ',i) else writeln('0')
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 6.05.2008 0:01
Сообщение #8


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Так пойдет?
Без alt+f5, правда... зачем здесь это сочетание - не поняла.
var a,n,x,i,num: integer;

begin
writeln('n=?');
readln(n);
writeln('a=?');
readln(a);
i:=1;
num:=0;
while i<=n do
begin
writeln('x=?');
readln(x);
if x=a then
num:=i;
inc(i);
end;
writeln;
writeln('number=',num);
readln;
end.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kvadrat
сообщение 6.05.2008 22:38
Сообщение #9


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Ну в твоём варианте решения вводиться только одно число, а необходимо ввести столько чисел, чему равно n, и среди них програма должна выбрать какое по счёту было введёно число равное a, если такого числа необнаружено то ответ 0

Сообщение отредактировано: kvadrat - 6.05.2008 22:38
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 7.05.2008 0:24
Сообщение #10


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата
Ну в твоём варианте решения вводиться только одно число

неужели?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kvadrat
сообщение 14.05.2008 12:08
Сообщение #11


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Цитата
неужели?

Всё кароче я в тебя влюбился всё правильно решено, просто у меня ни дискетки ни флэшки нету я на листке напечатал решение и понёс в технарь, а там видимо неправильно перепечатал. А дома потом через копипэст проверил всё правильно.
Вот обработаное решение:
program qweret;
uses crt;
var a,n,i,num: integer;x:real;
begin
clrscr;
writeln('n=?');
readln(n);
writeln('a=?');
readln(a);
i:=1;
num:=0;
while i<=n do
begin
writeln('x=?');
readln(x);
if x=a then
num:=i;
i:=i+1;
end;
writeln('number=',num);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 14.05.2008 15:39
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


хм.. а в чем заключается обработка, если не секрет? в замене inc(i) на i:=i+1 (но это ничего не меняет), или в смене типа x на real? (так по заданию - целое число..) Ааа.. все дело в том что теперь отступов нет и код выглядит более.. эм.. загадочно? smile.gif)

Сообщение отредактировано: Айра - 14.05.2008 16:12
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kvadrat
сообщение 14.05.2008 19:17
Сообщение #13


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


1) В таком виде у училки непоявиться подозрения что тебе ктото помогал делать задачу и она не начнёт загружать тебя левыми вопросами smile.gif
2)При x:integer не будут вводиться дробные и отрицательные числа, а надо чтоб вводились.
3)
writeln;
writeln('number=',num);
readln;

убрал пустые врайтлн и ридлн, т.к. незнаю зачем они а учитель полюбому спросит.
4) inc(i) заменил на i:=i+1 т.к. такую команду мы ещё непроходили.
5) вставил очистку экрана, т.к. я её во всех задачах которые показываю учителю применяю.

Сообщение отредактировано: kvadrat - 14.05.2008 19:53
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 19:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"