Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Процедуры ввода-вывода данных
Для организации ввода и вывода информации в языке программирования Pascal служат четыре процедуры: Read и ReadLn, Write и WriteLn. Эти процедуры являются " встроенными" в язык Pascal, поэтому для того, чтобы ввести информацию в оперативную память компьютера для дальнейшей обработки, программисту не надо писать специальную программу, а всего лишь нужно обратиться к процедуре Read или ReadLn. Соответственно, чтобы вывести информацию на дисплей из оперативной памяти компьютера, необходимо вызвать процедуру Write или WriteLn.
Процедуры ввода-вывода данных Процедуры ввода (или чтения информации) Read или ReadLn обеспечивают ввод числовых данных, символов, строк и т.д. для последующей их обработки программой. Синтаксис процедуры Read и ReadLn: Read (X, Y); ReadLn (X, Y); где X, Y - переменные, описанные в разделе описания переменных. Отметим, что указанные процедуры Read и ReadLn аналогичны, единственное отличие заключается в том, что после ввода значений переменных, указанных в списке процедуры ReadLn, ввод значений переменных, указанных в списке следующей процедуры ReadLn, будет производиться с новой строки. Этого не происходит в ходе выполнения процедуры Read, т.е. ввод осуществляется на той же строке. Таким образом, процедура ReadLn не только вводит значения указанных переменных, но еще и переводит курсор на новую строку. Это позволяет делать суфикс Ln.
Процедура вывода данных Процедуры вывода (или записи информации) Write или WriteLn обеспечивают вывод числовых данных, символов, строк на дисплей. В отличии от процедуры ввода процедура вывода WriteLn может не иметь параметров. В этом случае процедура WriteLn обеспечивает лишь перевод курсора на следующую строку. Синтаксис процедуры Write и WriteLn:
где: 1) X, Y - переменные, значения которых нужно вывести на экран; 2) 'Фраза' - некоторый пояснительный текст, который обычно сопровождает значение переменной; 3) X: 6: 2 - указывается формат значения переменной. Это значит, что всего 6 символов, отводится под значение переменной X, причем после десятичной точки будет выведено на экран 2 символа. Это так называемый форматированный вывод числа с фиксированной точкой.
Оператор присваивания Оператор присваивания (: =) предписывает вычисление значения выражения, заданного в его правой части, и присвоение результата переменной, имя которой указано в левой его части. Переменная и выражение должны быть совместимы по типу. Приведём примеры синтаксиса оператора присваивания: Y: =2; X: ='Строка'; P: =V1; Summa: =V2; где: (1) X, Y, P, Summa - имена переменных, описанных в разделе описания переменных; (2) 2, 'Строка' - некоторые значения; (3) V1, V2 - выражения, значения которых нужно вычислить.
2. ПРАКТИЧЕСКАЯ РАБОТА
2.1 Программирование алгоритма линейной структуры Простейшей алгоритмической структурой является линейная последовательность операций, которые выполняются по очереди и именно в том порядке, в котором записаны. Программную реализацию такой алгоритмической структуры будем называть линейной программой. Линейные алгоритмы и линейные программы обычно предназначены для решения относительно простых задач, в которых не предусмотрен выбор из нескольких возможных альтернатив или циклическое повторение каких-либо операций. Примером линейной программы является программа, выполняющая арифметические операции над двумя числовыми значениями. Задание: Решить задачу определения значений арифметических выражений: a+b, a–b, a´ b, a/b. В качестве исходных данных используйте значения a = 5, b = 7. Результаты вычисления программы выведите в окно консольного приложения. 1. Запустите интегрированную среду Delphi: Пуск - Программы - Borland Delphi 7 -. Delphi 7. 2. Создайте новое консольное приложение: File - New - Other… 3. В рабочей области редактора наберите код программы, представленный на листинге 1.
Листинг 1. program Z1; {$APPTYPE CONSOLE} uses SysUtils; var a, b: real; R1, R2, R3, R4: real; begin {Исходные данные} a: = 5; b: = 7; {Вычисление результата} R1: = a + b; R2: = a - b; R3: = a * b; R4: = a / b; {Вывод на печать} Writeln('R1=', R1); Writeln('R2=', R2); Writeln('R3=', R3); Writeln('R4=', R4); Writeln('End program.'); Readln; end.
4. В программе результаты вычисления присваиваются переменным R1, R2, R2 и R4, а затем с помощью оператора Writeln выводятся на печать в консольное окно приложения. 5. Запустите программу на решение, используя кнопку 4 на панели инструментов «Debug» или команду системного меню Run - Run (клавиша F9). 6. Просмотрите и проверьте полученные результаты. 7. Сохраните проект. 8. Результаты расчета, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе. 9. Для закрепления практических приемов работы выполните упражнение 1 из раздела 3 самостоятельной работы.
2.2 Демонстрация вычисления значений элементарных функций Задание: Наберите код программы, демонстрирующей вычисления значений элементарных функций, представленной на листинге 2. Результаты вычисления программы выведите в окно консольного приложения. Листинг 2. program Z2; (*Демонстрация вычисления значений элементарных функций*) {$APPTYPE CONSOLE} uses SysUtils; var X, Y, Z: Real; { Аргумент } F: Real; { Результат } begin WriteLn('Значение MaxInt: ', MaxInt); WriteLn('Значение Пи: ', PI); Write('Введите значение аргумента: '); ReadLn(X); WriteLn('Trunc (X) -> ', Trunc (X)); WriteLn('Int (X) -> ', Int (X)); WriteLn('Frac (X) -> ', Frac (X)); F: =Abs(X); WriteLn('Значение функции Abs: ', F); F: =Sqrt(X); WriteLn('Значение функции корень: ', F); F: =Exp(X); WriteLn('Значение функции Exp: ', F); F: =Ln(X); WriteLn('Значение функции Ln: ', F); { Аргумент тригонометрических функций выражен в радианах } F: =Sin(X); WriteLn('Значение функции Sin: ', F); F: =Cos(X); WriteLn('Значение функции Cos: ', F); F: =ArcTan(X); WriteLn('Значение функции ArcTg: ', F); { ------------------------------------------- } Write('Введите значение аргумента: '); ReadLn(Y); F: =Exp(Y*Ln(X)); WriteLn('Значение функции X^Y: ', F); { ------------------------------------------- } Write('Введите значение аргумента типа Integer: '); ReadLn(Z); WriteLn('Odd (Z) -> ', Odd (Z)); Readln End. 1. Запустите программу на решение, просмотрите и проверьте полученные результаты. 2. Сохраните проект. 3. Результаты расчета, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.
2.3 Программа пересчета температуры 1. Разберем следующую задачу. В настоящее время используются несколько температурных шкал. Среди них шкалы Цельсия, Фаренгейта, Кельвина и Ренкина. Наиболее популярная из них — это шкала Цельсия, официально утвержденная в качестве международной шкалы. Шкала Фаренгейта популярна в англоязычных странах. В качестве опорных точек для этих шкал выбраны температура замерзания воды (0° С и 32° F) и температура кипения воды при нормальном атмосферном давлении (100° С и 212° F). В шкале Кельвина за точку отсчета принят абсолютный нуль, это - 273, 15° С, или - 459, 67° F, а цена деления совпадает с ценой деления шкалы Цельсия. В шкале Ренкина отсчет температуры также идет от абсолютного нуля, а один градус равен градусу по Фаренгейту. Точка замерзания воды по шкале Ренкина — +492° R, а точка ее кипения — +672° R. Требуется написать программу для перевода значения температуры, заданной по шкале Цельсия, в значения, соответствующие шкалам Фаренгейта, Кельвина и Ренкина. 2. Задача поставлена, теперь необходимо составить алгоритм ее решения. Для этого достаточно записать формулы перевода температуры по Цельсию в каждую из вышеупомянутых шкал. Учитывая равномерность шкал, то есть тот факт, что цена деления не зависит от значения температуры, для вывода формул соответствия будем использовать линейную зависимость: Тi = ai × Тс + bi, где Тi — значение температуры по шкале Фаренгейта, Кельвина или Ренкина, Тс — значение температуры по шкале Цельсия, аi и bi — коэффициенты. Используя значения опорных точек, можно найти коэффициенты для формул соответствия: ТF = 1, 8 × Тс + 32, ТK = Тс + 273, 15 ТR = 1, 8 × Тс + 492. 3. Алгоритм решения задачи, таким образом, состоит из блока ввода данных (в нашем случае это единственное значение температуры), блока вычислений и блока вывода результатов работы программы. 4. Исходный текст программы приведен в листинге 2. Листинг 2. program Z2; {$APPTYPE CONSOLE} uses SysUtils; var Celsius, Fahrenheit, Kelvin, Renkin: real; begin {Ввод данных} Write('Vvedite znachenie temperaturi po Celsius ='); Readln(Celsius); {Вычисление результата} Fahrenheit: = 1.8 * Celsius + 32; Kelvin: = Celsius + 273.15; Renkin: = 1.8 * Celsius + 492; {Вывод на печать} Writeln('Sootvetstvie mejdu temperaturnimi shkalami'); Writeln('Celsius Fahrenheit Kelvin Renkin'); Writeln(Celsius: 7: 2, ' ', Fahrenheit: 7: 2, ' ', Kelvin: 7: 2, Renkin: 7: 2); Writeln('End program.'); Readln; end.
5. В программе для обеспечения ввода данных используется оператор Readln(Celsius), где в скобках указана переменная, в которую будет введено числовое значения с экрана консольного приложения. Оператору ввода предшествует вывод на экран приглашения для ввода исходных данных ( в нашей задаче это «Введите значение температуры по шкале Цельсия»). 6. Запустите программу на решение, просмотрите и проверьте полученные результаты. 7. Сохраните проект. 8. Результаты расчета, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе. 9. Для закрепления практических приемов работы выполните упражнения 2, 3 и 4 из раздела 3 самостоятельной работы. 3. САМОСТОЯТЕЛЬНАЯ РАБОТА
Задание 1. Составить программу решения задачи в соответствии с вариантом задания:
Результаты расчета, исходные данные, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.
Задание 2. Вычисление значения функции. Задание: Вычислить значения функции y = f(a, b, x) при заданных значениях аргумента x и коэффициентов a и b.
Задание 3. Вычислить значения переменных. 1. Вычислить значения переменных, указанных в таблице (вариант определяется преподавателем), по заданным расчетным формулам и наборам исходных данных. На печать вывести значения вводимых исходных данных и результаты вычислений, сопровождая вывод наименованиями выводимых переменных.
2. Результаты расчета, исходные данные, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.
Задание 4. Вычисление площади треугольника. 1. Разработать программу вычисления площади треугольника по формуле Герона: , где p = (a+b+c)/2 (a, b, c - стороны треугольника). 2. Результаты расчета, исходные данные, блок-схему алгоритма и код программы поместите в отчет по лабораторной работе.
Контрольные вопросы 1. Какие типы величин используются в языке программирования? 2. Указать диапазон значений величин целого и вещественного типов. 3. Какие имена переменных допустимы в программе? 4. Как задать тип переменной в программе? 5. Указать имена стандартных функций для вычисления . 6. Можно ли в качестве операнда в арифметическом выражении использовать: а) имя массива; 6) имя стандартной функции, например SIN(Y); в) имя символьной переменной или переменной логического типа? 7. Назвать последовательность действий при выполнении арифметического оператора присваивания. 8. Допустимо ли использование величин разных типов в арифметическом выражении? 9. Указать старшинство выполнения операций при вычислении арифметического выражения. Популярное:
|
Последнее изменение этой страницы: 2017-03-03; Просмотров: 2917; Нарушение авторского права страницы