Операторы ввода и вывода информации. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операторы ввода и вывода информации.



Для вывода информации на экран компьютера используется оператор: write()- writeln()

В скобках необходимо записывать данные, которые будут выведены на экран при выполнении программы.

 

Для ввода информации с клавиатуры в компьютер используется оператор: read()- readln()

В скобках необходимо записывать данные, которые мы хотим вводить при работе программы.

Рассмотрим несколько примеров:

Составим программу вычисляющую s = а / b и p=a*b.

program zadacha2_1a;

var a,b,s,p:real;

Begin

writeln('введите число a ');

readln(a);

writeln('введите число b ');

readln(b);

s:=a/b;

p:=a*b;

writeln('а/b =',s);

writeln('а*b =',p);

End.

В данном примере ввод и вывод данных для каждой переменной осуществляется отдельно. А можно было записать и так:

program zadacha2_1b;

var a,b,s:real;

Begin

writeln('введите числа a и b');

readln(a,b);

s:=a/b;

p:=a*b;

writeln('а/b = ',s,' а*b = ',p);

End.

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

2.5670000000Е+02 следует понимать 2.567 * 102

3.4906710000Е-03 следует понимать 3.490671 * 10-3.

Если мы хотим при выводе на экран реальных чисел указать определённое число знаков после запятой, то можно воспользоваться форматом вывода writeln(a:n1:n2). Где

n1 - количество знакомест выделенных под всё число;

n2 - количество знакомест выделенных под дробную часть числа.

Например команда writeln(pi) выведет строку:

3.1415926536E+00

а команда writeln(pi:9:3) выведет строку:

3.142

пропустив перед выводимым числом четыре пробела и выровняв 3.142 (всего 5 знаков) по правому краю девяти знакомест.

 

Составим программу, выводящую на экран число π.

program zadacha2_2;

Begin

writeln(pi:9:3);

End.

Изменяя числа в формате вывода(:9:3,:9:2,:17:3,:17:7,:3:7 и т.д.) просмотрите и проанализируйте полученные результаты.

 

Задана сторона куба. Вычислить объем куба и площадь боковой поверхности.

program zadacha2_3;

var a,v,s:real; {описание переменных}

Begin

writeln('Введите сторону куба'); {ввод данных}

read(a);

v:=a*a*a; (*вычисление объёма*)

s:=6*a*a; {вычисление площади поверхности}

{вывод результатов}

writeln('Объём = ',v:8:3,' Площадь поверхности = ',s:8:3);

End.

В записанной выше программе использованы поясняющие комментарии. Комментарии - это любой текст, обрамлённый фигурными скобками { и } или символами (* и *).

Вопросы для повторения:

22. Какая команда служит для ввода данных? Для вывода данных?

23. Чем отличается вывод информации на экран компьютера оператором write() от вывода оператором writeln()?

24. Как вывести на экран текст?

25. Можно ли вывести на экран несколько переменных или текстов одним оператором writeln()?

26. Что означает число 7 в команде writeln(pi:7:5)? А что означает число 5?

27. Сколько знаков после запятой будет выведено при записи команды: a) writeln(pi:7:5); b) writeln(pi:5:7)?

28. Какие символы используются для размещения комментариев в программе?

 

Задания для самостоятельной работы:

1. Имеются два числа.

a) Вычислите сумму и разность этих чисел, используя два оператора readln.

b) Перепишите программу так, чтобы использовался один оператор readln.

c) Добавьте комментарии к программе.

2. Имеются три числа. Вычислите их произведение.

3. По заданным сторонам прямоугольника a и b вычислите его периметр и площадь.

4. Человеку сегодня исполнилось R лет. Сколько ему дней? Часов? Минут? Секунд? (Високосные годы не учитывать)

5. После начала некоторого эксперимента прошло t часов m минут и k секунд. Сколько всего секунд длится эксперимент?

6. Задано расстояние между городами в вёрстах. Переведите это расстояние в километры (точность: три знака после запятой) используя данные:

1 верста=500 саженям; 1 сажень=3 аршина; 1 аршин=0.7112 метра

Составление линейных алгоритмов с использованием арифметических операций.

Операции div и mod.

Арифметические операции.

В языке Pascal используется 6 арифметических операций.

арифметическая операция (а=14,b=4) результат

- сложение (+) S:=a+b S=18

- вычитание (-) S:=a-b S=10

- умножение (*) S:=a*b S=56

- деление (/) S:=a / b S=3.5

- целочисленное деление S:=a div b S=3

- остаток от целочисленного деления S:=a mod b S=2

Нет возведения в степень. Если степень целая, её заменяют умножением: а3 ↔ S:=a*a*a

Для возведения числа в произвольную степень используется следующее соотношение: xy=e ln(x) =eylnx тогда xy=exр(y*ln(x))

 

Рассмотрим несколько примеров:

Заданы два числа. Найдите их сумму.

рrogram zadacha2_4;

var a,b,s:byte;

Begin

writeln('введите целое число a ');

read(a);

write('введите целое число b ');

read(b);

s:=a+b;

writeln('s =',s);

End.

Проанализируйте полученный результат при a+b>255. Поменяйте тип данных byte на integer. Что получается теперь? Просмотрите, до какой предельной суммы a+b вычисления происходят верно? Установите тип данных longint. Просмотрите суммы.

 

Заданы два целых числа k и d. Используя только арифметические операции, найдите целую и дробную части от деления k на d.

program zadacha2_5;

var a,drobn:real;

k,d,cel:integer;

Begin

writeln('введите два числа'); readln(k,d);

cel:=k div d; {целочисленное деление}

a:=k/d; {обычное деление}

drobn:=a-cel;

writeln('целая часть - ',cel);

writeln('дробная часть - ',drobn);

Еnd.

Можно ли было в данной программе все переменные определить как integer или как real? Попробуйте и проанализируйте.

 

Дано трёхзначное число. Чему равны его цифры?

program zadacha2_6;

var a,с1,с2,с3:integer;

Begin

writeln('введите трёхзначное число '); readln(a);

c1:=a div 100;

c2:=(a mod 100) div 10; {или c2:=(a div 10) mod 10;}

c3:=a mod 10;

writeln('первая цифра -',c1);

writeln('вторая цифра -',c2);

writeln('третья цифра -',c3);

Еnd.

Дано действительное число a. Используя только пять операций умножения получить a15.

program zadacha2_7;

var a,b,c,d,s:longint;

Begin

writeln('введите число a'); readln(a);

b:=a*a; {вторая степень}

с:=b*b; {4 степень}

d:=c*a; {5 степень}

s:=d*d*d; {15 степень}

writeln('результат = ',s);

Еnd.

Вопросы для повторения:

29. Чем отличается операция / от операции div?

30. Есть ли в Pascal операция возведения в степень?

31. Выполняется ли равенство:

(264 mod 100) div 10 = (368 div 10) mod 10.

32. Придумайте формулу для нахождения предпоследней цифры числа?

33. Можно ли производить операции mod и div над переменными, которые описаны как real?

34. Как должна быть описана переменная fl, если она вычисляется по формуле fl:=a / b? А как можно описать переменные a и b?

35. Как должна быть описана переменная k, если она вычисляется по формуле k:=a div b? А как нужно описать переменные a и b?

 

Задания для самостоятельной работы:

7. Задано двухзначное число. Чему равна последняя цифра числа?

8. Задано двухзначное число. Чему равна первая цифра числа?

9. В двухзначное число вписать ноль в середину и получить трехзначное число.

10. Найдите сумму цифр заданного трёхзначного числа.

11. Найдите цифры заданного четырёхзначного числа.

12. Задано пятизначное число. Найдите цифры и сумму цифр пятизначного числа.

13. С начала суток прошло k минут. Определите сколько сейчас часов и минут.

14. Идёт k-ая секунда суток. Определить который сейчас час (в часах, минутах и секундах).

15. Робинзон Крузо провёл на острове f дней. Сколько полных недель он пробыл на острове?

16. Поезд перевозит s тонн груза. Сколько автомобилей грузоподъемностью b тонн (b<<s) он способен заменить?

17. Дано действительное число a. Не пользуясь никакими другими операциями кроме умножения, получить:

a) a13 за пять операций;

b) a21 за шесть операций;

c) a3 и a10 за четыре операции;

d) a4 и a12 и a28 за шесть операций.

 

Составление линейных алгоритмов с использованием основных функций.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 500; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.200.226 (0.018 с.)