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

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

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

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

Задача в Turbo Pascal

  • Автор темы Автор темы vika_mr
  • Дата начала Дата начала

vika_mr

Ученик
Регистрация
21 Фев 2011
Сообщения
1
Реакции
0
Баллы
0
Задача в Turbo Pascal

Доброго времени суток!
Не могли бы вы помочь с задачами в Turbo Pascal..



Задача A-Sum 1
На стандартном потоке ввода задаются два целых числа, не меньшие -32000 и не большие 32000. На стандартный поток вывода напечатайте сумму этих чисел.
Числа задаются по одному в строке. Пробельные символы перед числом и после него отсутствуют. Пустые строки в вводе отсутствуют.

Задача B-Sum 2
На стандартном потоке ввода задаётся последовательность целых чисел. Каждое число последовательности не меньше -20000000 и не больше 20000000. Всего последовательность состоит не более чем из 40 чисел. Последовательность завершается признаком конца ввода. На стандартный поток вывода напечатайте сумму этих чисел.


В этом деле чайник, не обессудьте.
Заранее спасибо!
 
Обычно за стандартный поток ввода принимают последовательность с клавиатуры, а за стандартный поток вывода - вывод символов на экран монитора :) Команды, надеюсь, вам писать не надо :)

Хотя, если принимать за потоки стандартные файлы ввода/вывода, то нужно опираться на следующее описание:
В Паскале существуют два стандартных текстовых файла Input и Output. Эти файлы считаются известными в любой Pascal-программе (иными словами, они описаны в стандартном модуле System). Они обозначают (по терминологии MS-DOS) соответственно стандартный файл ввода и стандартный файл вывода. Обычно эти стандартные файлы связаны с конкретными физическими устройствами компьютера. Так, файловая переменная Input связана с клавиатурой, файловая переменная Output - с экраном дисплея. эти файлы считаются заранее открытыми, а соответствующие идентификаторы можно использовать в операциях ввода-вывода.
Рассмотрим, например, следующий оператор:
writeln (Output, 'Результат равен ', (X+Y)*2);
В соответствии с общими правилами, этот оператор выведет значения двух последних операндов в текущую строку заданного файла, а затем произведет переход к следующей строке. В применении к стандартному файлу Output эти действия будут выглядеть как появление в текущей строчке дисплея литеральных изображений указанных значений, после чего курсор будет перемещен в первую позицию следующей строки.
Аналогично, оператор read (Input, X1, X2); будет выполняться таким образом: система перейдет в состояние ожидания ввода с клавиатуры двух значений. Типы вводимых значений должны совпадать с типами переменных Х1 и Х2. Эти значения при вводе должны отделяться друг от друга одним или несколькими пробелами, а ввод должен быть завершен нажатием клавиши Enter. В процессе ввода значений набираемые на клавиатуре символы отображаются на экране. После нажатия Enter введенные значения будут присвоены переменным Х1 и Х2, и выполнение программы будет продолжено.
Для стандартных файлов Input и Output допускается сокращенная форма записи операций ввода-вывода. Так, если в процедурах read и readln первый параметр опущен, то по умолчанию подразумевается файл Input. Аналогично, отсутствие в процедурах write и writeln первого параметра означает вывод в стандартный файл Output. Вывод в стандартный файл Output используется очень часто - всегда, когда необходимо выдать некоторую информацию из программы на экран.
В соответствии с общими правилами MS-DOS стандартные файлы ввода-вывода могут быть "переназначены", то есть связаны с другими физическими устройствами или дисковыми файлами. Простейшим способом переназначения является использование для этой цели процедуры assign, например,
assign (Output,'MyFile.out');
После выполнения такого оператора стандартный файл вывода будет переназначен, то есть файловая переменная Output будет связана с дисковым файлом MyFile.out из текущего каталога. Все операции вывода, явно или неявно работающие с файлом Output, будут выводить информацию в указанный дисковый файл.
 
Обычно за стандартный поток ввода принимают последовательность с клавиатуры, а за стандартный поток вывода - вывод символов на экран монитора Команды, надеюсь, вам писать не надо
Ну вот - а я-то всё порываюсь спросить, да как-то неловко. Дело в том, что, будучи самоучкой-практиком, я в этих высокопарных терминологических шедеврах типа "стандартный поток ввода/вывода" как-то... не очень..., а точнее - ни бум-бум.
А вообще, полагаю, условия задач требуют некоего уточнения. "Изюминка" здесь, как мне представляется, в иерархии типов. Дело в том, что если в первой задаче мы определим тип данных, как Integer, а во второй - как LongInt, то результат может запросто "выскочить" за диапазон допустимых значений, и возникнет ошибка. Отсюда вопросы:
1. Допустимо ли в первой задаче использовать тип LongInt, или нужно обойтись типом Integer?
2. Допустимо ли во второй задаче использовать тип Int64, или нужно обойтись типом LongInt?
3. Разрешается ли переход (в промежуточных вычислениях) к формату Real?
 
Назад
Сверху