Скачать 31.6 Kb.
|
Урок 4 Мало программ обходится без ввода данных, и совсем нет таких, которые не выводят полученные результаты. Написать такую программу можно, но кому она понадобится? 4.1.Ввод. Для сообщения данных компьютеру служит оператор ввода. Он помещает вводимое значение переменной в отведенную для него ячейку. Оператор ввода: READ (список переменных), где список переменных - последовательность имен переменных, разделенных запятыми. Например, READ (X,Y,Z); READ (BETA); Оператор READ останавливает работу программы и ждет, пока пользователь наберет на клавиатуре число и нажмет Заканчивается ввод всегда клавишей READLN (список переменных). Оператор READLN отличается от READ еще и тем, что, введя необходимое количество данных, пропускает все остальные, набранные до нажатия клавиши 4.2. Вывод. Для вывода результатов работы программы служит оператор WRITE(список вывода). Список вывода может содержать имена переменных, числовые и текстовые константы, выражения. Элементы в списке разделяются запятыми. Если указана переменная, то на экран выводится ее значение, константа выводится без изменения, значения выражений вначале вычисляются, а затем высвечиваются на экране. Вслед за выражением после двоеточия можно указать ширину поля экрана, в котором разместится выводимое значение. Например, оператор WRITE(10:3, 55:6) высветит на экране .10.....55 (точка означает пробел, пустую позицию экрана). Вывод происходит в том месте экрана, где находится курсор. При выводе вещественных значений можно указать, сколько десятичных цифр следует сохранить в дробной части числа. Количество цифр указывается вслед за шириной поля после двоеточия. Например, если Х=3.14159, а Y=2.71468, то оператор WRITE(X:6:2,Y:8:3) высветит на экране ..3.14....2.715. Чтобы прокомментировать выводимые значения, в список вывода можно помещать строки любых символов, заключенные в апострофы (одинарные кавычки). Например, WRITE('Ответ:', Х:4,'км/сек.'). Эти строки появятся на экране без кавычек. Так при Х=3.5 этот оператор выведет: Ответ: 3.5 км/сек. Перевод курсора на новую строку осуществляется оператором пустого вывода WRITELN; Если надо перевести курсор после вывода, то применяется оператор WRITELN(список вывода). После вывода результатов работы программы на экран система так быстро возвращается в редактор текстов программы, что пользователь не успевает увидеть эти результаты. Чтобы задержать изображение, в конце программы следует ставить оператор пустого ввода READLN; Пример программы. Пусть требуется найти сумму, произведение и разность двух данных чисел. Для каждого из чисел надо придумать имя переменной и указать ее тип. Затем ввести эти числа в отведенные ячейки и, используя возможности оператора вывода напечатать результаты. При решении задач имена присваиваются не только исходным данным, но и результатам, а также получаемым промежуточным значениям. Поскольку в рассматриваемом примере надо получить три результата, введем для них переменные X,Y,Z. В программе этим переменным будут присвоены значения суммы, произведения и разности двух вводимых чисел. Program prim_4; Var a,b,x,y,z:real; Begin Write('введите два числа через пробел, затем нажмите Readln(a,b); X:=a+b; Y:=a*b; Z:=a-b; Writeln('a+b=',x); Writeln('a*b=',y); Writeln('a-b=',z); Readln End. Задания: 1)Напишите программу, которая запрашивает два числа, находит остаток от деления первого на второе и выводит результат. 2)Составьте программу нахождения периметра квадрата, если задана его площадь. 3)Даны два числа. Найти их среднее арифметическое. 4)Найти площадь кольца по заданным внешнему и внутреннему радиусам. 5)Даны катеты прямоугольного треугольника. Найти его периметр. 6)*Поменять местами значения переменных X и Y, не используя дополнительной переменной. 2. Найдите значения переменных, если это возможно. Учтите, что число 7.0 является вещественным, т.к. оно имеет дробную часть, хотя и равную нулю. Операции MOD и DIV можно выполнять только над целыми числами (Урок 3): a) A:=21 DIV 5=4 b) A:= 2 MOD 3=2 B:= 20 MOD 5=0 B:= 36.0 MOD 6(нельзя делить веществ) C:= 14 DIV 6.0 (нельзя делить веществ) C:= 81 DIV 0 (деление на 0) D:= 14 MOD 0 (деление на 0) D:= 38 DIV 6=6 E:= 5 MOD 13=5 E:= 3 DIV 2=1 3. Найдите значения переменных, если это возможно: a) A:=SQR(100)=10000 b) A:=sqrt(9)=3.0 B:=sqrt(100)=10.0 B:=SQR(9)=81 C:=SQR(-10)=100 C:=SQRT(-9) (выр. < 0) D:=SQRT(-10)(выр <0) D:=SQR(-9)=81 E:=SQR(0.9)=0.81 E:=SQRT(0.0)=0.0 F:=SQRT(0)=0.0 F:=SQR(0.1)=0.01 4. Найдите значения переменных, если это возможно: a) A:=ROUND(6.9)=7 b) A:=ROUND(15.39)=15 B:=ROUND(6.48)=6 B:=ROUND(15.8)=16 C:=TRUNC(9.5)=9 C:=TRUNC(-39)=-39 D:=FRAC(9.5)=0.5 D:=FRAC(39)=0.0 E:=INT(9.5)=9.0 E:=INT(39)=0.0 F:=TRUNC(-17)=-17 F:=TRUNC(5.6)=5 G:=FRAC(17)=0.0 G:=FRAC(-0.3)=-0.3 H:=INT(-17)=-17.0 H:=INT(1.25)=1.0 5. Запишите по правилам языка программирования следующие выражения: a. sqrt(sqr(x1)+sqr(x2)) b. 1/(1+1/(2+1/(2+3/5))) c. -b+sqrt(sqr(b)-4*a*c)/(2*a) d. sqrt(1-sqr(sin(x))) e. (-b+1/a)/(2/c) f. (sqrt(x+1)+sqrt(x-1))/(2*sqrt(x)) g. m*g*cos(sqr(a)) h. 1/(1+(a+b)/2) i. (a*b+b*c)/(a*b) |