Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Ввод и вывод данных. Форматы вывода.



Составление линейных алгоритмов.

Комментарии в программе.

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

Для вывода информации на экран компьютера используется оператор: 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.

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

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

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

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

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

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

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

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

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

 

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

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.

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

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

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

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

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

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

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

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

27. Как должна быть описана переменная 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 за шесть операций.

 

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

 


Поделиться:



Популярное:

  1. A.16.15.5. Экран состояния модулей удаленного ввода-вывода (RIOM)
  2. IV Обсуждение результатов и некоторые выводы
  3. IV. Анализ и обработка данных.
  4. Автор специального исследования по этому вопросу Середонин пришел к выводу, что в конце XVI в. было не более 23–25 тыс. детей боярских и дворян, числившихся в разрядных списках.
  5. Базы данных. Использование ЭВМ для хранения неструктурированной (текстовой) информации. Информационно-поисковые системы.
  6. В 1565–1571 гг. на Филиппинах обосновались испанцы и начали вводить колониальный режим на захваченных ими островах. Китайцы, поселившиеся здесь еще в X — XIII вв., восстали против колонизаторов.
  7. В выводе должно прозвучать, что была определена «нужда» потребителя в данной услуге.
  8. Ввод в оборот новых, менее плодородных земель и отсутствие технологических изменений
  9. Ввод и редактирование данных: чисел, текста, формул.
  10. Ввод и редактирования участков в ПК ЕГРЗ.
  11. Ввод исходных данных расчёта временных зданий


Последнее изменение этой страницы: 2016-05-30; Просмотров: 1029; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.036 с.)
Главная | Случайная страница | Обратная связь