Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2010, 21:56   #1
ARAGON
Пользователь
 
Регистрация: 01.03.2010
Сообщений: 23
Восклицание Turbo Pascal : найти ошибку

program P;
var
Plan, i, temp: integer;
Sdelano: array[1..12] of integer;
begin
readln(Plan);
temp := 0;
for i := 1 to 12 do begin
Readln(Sdelano[i]);
temp := temp + Sdelano[i];
end;
if Sdelano < Plan then begin
Writeln('Ok')
else
Writeln('Kill all workers!')
end.
ARAGON вне форума Ответить с цитированием
Старый 05.04.2010, 22:06   #2
juran
Новичок
Джуниор
 
Регистрация: 05.04.2010
Сообщений: 2
По умолчанию

Суть программы в том, чтобы понять выкурили ли сотрудники план и убить надо, если они его не скурили?)

program P;
var
Plan, i, temp: integer;
Sdelano: array[1..12] of integer;
begin
readln(Plan); {Считываем плановое значение}
temp := 0; {обнуляем временную переменную}
for i := 1 to 12 do begin {цикл. месяцев-то 12}
Readln(Sdelano[i]); {считываем объем производства в i-м месяце}
temp := temp + Sdelano[i]; {увеличиваем временную переменную на это значение}
end;
if Sdelano < Plan then begin {проверка на соответствие плану}
Writeln('Ok') {если все ок, то ОК}
else
Writeln('Kill all workers!'){а если нет - то зачем держать таких работников???}
end.

Жирную зону надо заменить на
if temp<Plan then begin {Здесь мы проверяем, превзошли ли мы план производства}
Writeln('Kill all workers!') {если нет - то зачем держать таких работников???}
else
Writeln('Ok'); {а если все ок, то ОК}
readln;
end.

Последний раз редактировалось juran; 05.04.2010 в 22:18.
juran вне форума Ответить с цитированием
Старый 05.04.2010, 22:07   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) Вы "забыли" указать, что эту программу Вам полностью написали...
2) компилятор Паскаля позиционируется на ошибку и пишет, что это за ошибка (правда на английском, но, если так тяжко с английским языком, то воспользуйтесь услугами онлайн переводчика!)
3) и последнее, я очень сильно подозреваю, что автор этого кода сделал ошибки специально, чтобы хоть как-то подстегнуть ваш образовательный процесс, поэтому исправлять их принципиально не буду!
подскажу только - для массива надо задать размерность и подумать, для чего в цикле
выполняется вот эта строчка:
temp := temp + Sdelano[i];



добавлено
мдя... пока писал, уже молодые да ранние успели отметиться..
ну дай Бог, дай Бог... будем надеяться, что это пойдёт на пользу...

Последний раз редактировалось Serge_Bliznykov; 05.04.2010 в 22:09.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.04.2010, 22:11   #4
juran
Новичок
Джуниор
 
Регистрация: 05.04.2010
Сообщений: 2
По умолчанию

Видимо я зря отписался... Это оказывается была ошибка в образовательных целях... ну тогда хотя бы откомментирую что ли...
juran вне форума Ответить с цитированием
Старый 05.04.2010, 22:26   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

juran, да ладно, не расстраивайтесь, не на этом форуме, так на другом, эту ошибку всё равно бы поправили, а вот насчёт пользы для автора топика — будем надеяться, что ему станет стыдно (и страшно сдавать код, который он не понимает) и он разберётся, что делает данный код и как он работает...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pascal найти ошибку. Айдар Помощь студентам 4 09.02.2010 20:53
Turbo Pascal. помогите найти элемент массива... Сергей К. Помощь студентам 5 15.12.2009 19:47
[Turbo Pascal] Помогите найти ошибку в сортировке, пожалуйста. Pork6 Помощь студентам 3 08.10.2008 21:29
Нужна библиотека для turbo pascal не могу нигде найти Dimanw92 Паскаль, Turbo Pascal, PascalABC.NET 1 01.10.2008 21:18