• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Pascal, 10 класс

Борисс

Ученик
Регистрация
8 Фев 2015
Сообщения
7
Реакции
0
Баллы
0
Pascal, 10 класс

Известно количество очков, набранных каждой из 20-ти команд-участниц
первенства по футболу. Перечень очков дан в порядке убывания (ни одна пара команд не набрала одинаковое количество очков). Определить, какое место заняла команда, набравшая N очков (естественно, что значение N имеется в перечне). Условный оператор не использовать.

Сказали сделать через while
 
Да можно и через while, всё равно. Поможем с этой глупой задачкой, если Вы представите результаты хоть каких-то собственных попыток решения.
На всякий случай:
1. Формируете массив набранных очков A.
2. Задаете исходное значение i=1.
3. Строите цикл while A>N do Inc;
4. Выводите значение i в качестве окончательного результата.
Вперед и песней!
 
Главный минус в том, что нельзя использовать массивы
 
Главный минус в том, что нельзя использовать массивы
Ну очень интересно! И как без массива задать этот "перечень очков"? Я как-то, знаете ли, не вижу...
Не ну можно, конечно, в файле. Или тоже "нельзя"?
 
Понятно.
Тогда алгоритм такой:
1. Заранее формируете файл результатов чемпионата. Проще всего, если каждый результат будет располагаться в отдельной строке.
2. Командой Assign(f,'<полный путь и имя файла на диске>') связываете файловую переменную f с созданным файлом.
3. Командой Reset(f); открываете файл для чтения.
4. Задаете исходное значение i=0.
5. Переменной A присваиваете значение, заведомо большее максимального количества очков, набранных командой-чемпионом.
6. Строите цикл
Код:
while A>N do 
 begin
  Inc[i];
  Readln(f,A);
 end;
7. Командой Close(f); закрываете файл.
8. Выводите значение i в качестве окончательного результата.

Надеюсь, что справитесь.
 
Назад
Сверху