ПРОЦЕДУРЫВВОДА / ВЫВОДА


The Presentation inside:

Slide 0

ПРОЦЕДУРЫ ВВОДА / ВЫВОДА


Slide 1

где параметр1, параметр2, …, параметрN - переменная, константа, выражение любого допустимого типа (целый, вещественный, логический, символьный, строковый). Для вывода промежуточных и конечных результатов, а также всевозможных комментариев в языках программирования используются процедуры вывода Параметры выводятся на экран, а курсор переходит на новую строку Writeln(x, y, z) – параметры - список переменных Writeln(x) – параметр - одна переменная Writeln(5, 6.9, 777) – параметры - список числовых констант Writeln(5, ‘6.9’, 7.77, ‘ура!!’) – параметры - список разных констант Writeln(6+77) – параметры - выражение


Slide 2

где параметр1, параметр2, …, параметрN - переменная, константа, выражение любого допустимого типа (целый, вещественный, логический, символьный, строковый). Для вывода промежуточных и конечных результатов, а также всевозможных комментариев в языках программирования используются процедуры вывода Параметры выводятся на экран, а курсор переходит на новую строку


Slide 3

begin write(‘ А.С.Пушкин:’); write(‘Евгений Онегин ‘); end. begin writeln(‘ А.С.Пушкин:’); write(‘Евгений Онегин ‘); end. Примеры использования процедуры вывода: А.С.Пушкин: Евгений Онегин А.С. Пушкин: Евгений Онегин begin write(‘ 5 * 6 = ’); writeln(‘56 ‘); writeln; Writeln(‘Это правда? ’) end. 5 * 6 = 56 Это правда?


Slide 4

Примеры процедуры вывода -500 5 3+2 я пишу 8y15x 8 y 15 x 8 15 y writeln(-500); writeln (3+2); writeln (‘3+2’); writeln (‘я пишу’); writeln (8,’y’,3*5,’x’); writeln (8,’ y ’,3*5,’ x’) ; writeln (8,’ ’,3*5,’ ’,’y’); writeln; Пустая строка


Slide 5

Можно регулировать формат вывода Для этого служит знак < : >, который может разделять задаваемое количество символов выводимого аргумента, а также для вещественных чисел – количество символов в дробной части числа. Пример: Writeln(‘Итого’, H*Pi : 5 : 2); Для переменных вещественного типа в Паскале формат вывода указывается двумя числами – m (для обозначения числа позиций под все число), и n (для обозначения числа знаков в дробной части), для целого – одним числом m. A := 10; B := 2; C := 100; WriteLn (A, B, C); WriteLn (A:2, B:2, C:4); WriteLn (A, B:2, C:2); Вывод целых чисел Вывод по формату:


Slide 6

Writeln (параметр1 : длина : количество знаков после десятичной точки); Вывод вещественных чисел X := 421.53; WriteLn (X : 7 : 2); WriteLn (X : 9 : 4); WriteLn (X : 6 : 4);


Slide 7

Самостоятельная работа 1. Что выведет на экран программа: program Tutor; begin Write (5*6, ‘ ‘); Writeln (‘Привет’:20); end. 30’Привет’ Tutor 5*6 ‘ ‘ ‘Привет’ 30 Привет 5*6 Привет Привет 2. Сколько позиций займет слово Привет? 6 20 26 14 21 28


Slide 8

Самостоятельная работа program Tutor; begin Write (5*6, ‘ ‘); Writeln (‘Привет’:12); end. 3. Сколько позиций займет пробел? 6 20 15 14 21 28


Slide 9

Самостоятельная работа 4. Какой результат выведет программа: program Tutor; var Item : real; begin Item := PI / 10 Writeln (‘Ответ’,Item : 7 : 1); end. Ответ 0 3.14/10 0.3 Ответ Item ‘Ответ’,Item Ответ 0.3 5. Сколько позиций занимает значение переменной Item в процедуре Writeln? 7 3 1 5 4 8


Slide 10

Самостоятельная работа program Tutor; var Item : real; begin Item := PI / 10 Writeln (‘Ответ’,Item : 7 : 1); end. 6. Сколько позиций занимает пробел между словом Ответ и числом? 7 3 1 5 4 8


Slide 11

Самостоятельная работа 7. С какой точностью будет на экране переменная Item? program Tutor; var Item : real; begin Item := PI / 10 Writeln (‘Ответ ’,Item : 7 : 3); end. 1. 7 2. 4 3. 3 4. 10 5. 0


Slide 12

Самостоятельная работа 8. Определите без компьютера, каким будет результат выполнения программы на экране? program pr10; uses crt; var a,b : integer; begin clrscr; a:= (sqr(2)+1)*(20-(sqr(2*2)))-11; b:=11 div (a - 4); writeln(sqr(a)+b-1); end. Ответ: 82


Slide 13

Каким образом можно запрограммировать диалог между компьютером и пользователем? Есть процедура вывода информации на экран, значит должна быть процедура ввода информации в компьютер. Какой оператор вы знаете для ввода информации??? Оператор присваивания := Х := 37; Для повышения универсальности относительно исходных данных во всех языках программирования имеется возможность ввода данных с клавиатуры в процессе работы программы.


Slide 14

где параметр1, параметр2, …, параметрN – переменные допустимых типов данных.


Slide 15

Для числовых значений параметр1, параметр2, …, параметрN набираются на клавиатуре минимум через один пробел. После набора данных для одного оператора вызова процедуры Read нажимается клавиша ввода Enter. Значения переменных должны вводиться с клавиатуры в строгом соответствии с типом переменных. Если соответствие нарушено, то возникают ошибки ввода-вывода. Строковые (String) значения при вводе лучше всего располагать в отдельной строке. Правила выполнения оператора вызова процедуры Read


Slide 16

Сравнение операторов вызова процедур Read и ReadLn


Slide 17

Var A : Integer; B : Char; C : Real; Begin Read (A, B, C); End. Набираем на клавиатуре: 234 R 15.7358 <Enter> Var A : Char; B : Integer; C : Real; ReadLn (a, b, c); Набираем на клавиатуре: S <пробел> 35 <пробел> -5.78 Или S <Enter> 35 <Enter> -5.78 <Enter> Какие аргументы у Read? Только переменные! Если их несколько, то перечисление организуется через <,>.


Slide 18

При использовании оператора read необходимо помнить, что после ввода данных курсор на другую строку не переносится. В случае необходимого перевода использовать оператор readln. Var a, b, c : integer; begin readln(a, b); read(c); readln; end. 24 3 8 Var a, b, c : integer; begin readln(a); readln(b); read(c); end. 24 3 8


Slide 19

Таким образом можно запрограммировать диалог между компьютером и пользователем. В диалоге на вопрос компьютера, организуемый, например, процедурой Write, необходимо ожидать ответ, организованный процедурой чтения Read. При организации диалога в программе для большей наглядности необходимо перед процедурой запроса с клавиатуры, поставить процедуру с подсказкой, т.е. Write или Writeln. Например: Write(‘Введи два числа ’); Readln(x, y); Или Write(‘Как ваше имя? ’); Readln(x);


Slide 20

Написать программу диалога между компьютером и пользователем. Var im : string; god, tekgod : integer; Begin Write (‘Привет!, как тебя зовут? ’); Readln (im); Writeln (‘Рад приветствовать тебя, ’, im); Write (‘Сколько тебе лет? ’); Readln (god); Write (‘Какой сейчас год? ’); Readln (tekgod); Writeln (‘Дорогой друг ’, im, ‘ твой год рождения - ’, tekgod - god); Readln End.


Slide 21

Заданы a, x, y. Вычислите S=| a | + ? x+ y 2 Решение задач: program zadacha; var a, x, y, s : real; Begin writeln('введите число x '); readln(x); writeln('введите число y '); readln(y); writeln('введите число a '); readln(a); s :=abs(a) + sqrt(x + sqr(y)); writeln('s = ', s); End. writeln('введите числа x, y, a '); readln(x, y, a);


Slide 22

1. Составьте программу нахождения периметра квадрата, если задана его площадь. 2. Найти площадь кольца по заданным внешнему и внутреннему радиусам. 3. В видеоигре игрок выигрывает 50 очков, если он сбивает самолет, 100 очков, если сбивает ракету, 200 очков, если он сбивает спутник. Напишите программу, которая выведет на экран число очков игрока. 4. Фруктовый магазин продает поштучно яблоки по 5 рублей, груши по 8 рублей, апельсины по 7 рублей. Напишите программу подсчитывающую, какую выручку получил магазин. 5. Составить программу вычисления объемов цилиндра и конуса, которые имеют одинаковую высоту H и одинаковый радиус основания R. Объем цилиндра вычисляется по формуле V=?R2H, а объем конуса – по формуле V=1/3 ? R2H, где ? =3,14. Поскольку в Паскале нет символа ? заменяем его на PI и вынесем в раздел констант. Задачи для самостоятельного решения: Введите значение R,H 2.5 10 Объем цилиндра=196.2500 Объем конуса=65.4167 Проверка:


Slide 23

6. Написать программу, выводящую на экран сумму целой части и остатка от деления двух чисел A и B. 7. Найти длину окружности и площадь круга. В качестве значения ? использовать 3,14 (L = 2?R, S = ? R2). 8. Вычислите площадь треугольника по формуле Герона, если известны длины его сторон. 9. Даны катеты прямоугольного треугольника a и b. Найти его гипотенузу c и периметр P (P = a + b + c, ). 10. Хорошо бы покрасить дом! Но чтобы рассчитать, сколько нужно краски для этого, необходимо знать площадь окрашиваемой поверх-ности лицевой стороны дома. Задачи для самостоятельного решения: b a c d 11. Напишите программу, для вычисления площади окрашиваемой поверхности, если в доме не 3, а 5 окон. 12. Напишите универсальную программу, не завися-щую от конкретного числа окон. Для этого введите переменную величину N определяющую кол-во окон. Проверка: введите размеры стены a, b 4.5 8.5 введите размеры окна c,d: 2 1.5 площадь покраски: 29.25


Slide 24

13. Написать программу, с помощью которой можно обменять значения двух переменных, не используя третью переменную. 14. В Паскале отсутствует возможность возведения в степень, не считая квадрата. Поэтому для получения а20 нужно а*а*а*а…*а 19 раз. Но если учесть, что результат умножения можно сохранить в промежуточной переменной, то ответ можно найти за 5 действий. Program prim_14; Var a, b : real; Begin Write(‘введите число’); Readln(A); В := A * А; {получаем А во 2 } B := В * В; { получаем А в 4 } В := A * B; { получаем А в 5 } B := В * В; { получаем А в 10 } B := В * В; { получаем А в 20 } Writeln(‘A в 20 степени=’,В:0:2); End. 15. Дано вещественное число А. Не пользуясь никакими арифметическими операциями, кроме умножения, получить: 1. А4 за две операции; 2. А6 за три операции; 3. А7 за четыре операции; 4. А8 за три операции; 5. А9 за четыре операции; 6. А13 за пять операции; 7. А15 за пять операции; 8. А19 за пять операции; 9. А21 за шесть операции; 10. А28 за шесть операции; Задачи для самостоятельного решения:


Slide 25

16. Полторы кошки за полтора часа съедают полторы мышки, сколько съедят мышек 100 кошек за 50 часов? Т.к. в этой задаче-шутке заранее оговорено, что интерес представляет 100 кошек и 50 часов, то эти величины заданы в разделе описания CONST. Здесь К и Т – константы и они не могут принимать другие значения в программе. 17. Написать программу, в которой нарисовать дом знаком <*>. Например: * * * ***** Знаком пробел не пользоваться. * * ***** 17. Напишите программу для решения старинной задачи: Некто подошел к клетке, в которой сидели фазаны и кролики. Сначала он сосчитал головы, их оказалось 15. Потом подсчитал ноги, их было 42. Сколько кроликов и сколько фазанов было в клетке? 18. Известны координаты двух точек на плоскости. Составить программу вычис- ления расстояния между точками. Задачи для самостоятельного решения:


Slide 26

19. Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника. 20. Найти площадь треугольника, две стороны которого равны a и b, а угол между этими сторонами – ? 21. Дано вещественное число А, содержащее два знака до запятой и два после. Получить новое число, поменяв в числе А целую и дробную части. Пояснение: попробуем найти целую и дробную части. А потом просто соберем новое число увеличив дробную часть в 100 раз и уменьшив целую часть тоже в 100 раз Задачи для самостоятельного решения:


×

HTML:





Ссылка: