Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Задача в Turbo Pascal (http://www.tehnari.ru/f41/t47854/)

vika_mr 21.02.2011 18:39

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



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

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


В этом деле чайник, не обессудьте.
Заранее спасибо!

AlexZir 22.02.2011 15:09

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

Хотя, если принимать за потоки стандартные файлы ввода/вывода, то нужно опираться на следующее описание:
Цитата:

В Паскале существуют два стандартных текстовых файла 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, будут выводить информацию в указанный дисковый файл.

Vladimir_S 22.02.2011 16:28

Цитата:

Сообщение от AlexZir (Сообщение 471770)
Обычно за стандартный поток ввода принимают последовательность с клавиатуры, а за стандартный поток вывода - вывод символов на экран монитора Команды, надеюсь, вам писать не надо

Ну вот - а я-то всё порываюсь спросить, да как-то неловко. Дело в том, что, будучи самоучкой-практиком, я в этих высокопарных терминологических шедеврах типа "стандартный поток ввода/вывода" как-то... не очень..., а точнее - ни бум-бум.
А вообще, полагаю, условия задач требуют некоего уточнения. "Изюминка" здесь, как мне представляется, в иерархии типов. Дело в том, что если в первой задаче мы определим тип данных, как Integer, а во второй - как LongInt, то результат может запросто "выскочить" за диапазон допустимых значений, и возникнет ошибка. Отсюда вопросы:
1. Допустимо ли в первой задаче использовать тип LongInt, или нужно обойтись типом Integer?
2. Допустимо ли во второй задаче использовать тип Int64, или нужно обойтись типом LongInt?
3. Разрешается ли переход (в промежуточных вычислениях) к формату Real?


Часовой пояс GMT +4, время: 23:33.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.