ТОП 10:

Организация ввода/вывода данных



1.

Read(список ввода); Readln(список ввода)
Процедуры ввода

где список ввода- только имена переменных.

Процедура Read - осуществляет ввод данных для переменных, указанных в списке ввода и оставляет курсор за последним введенным значением.

Процедура Readln (lnà line) - осуществляет ввод данных для переменных , указанных в списке ввода и переводит курсор на следующую строку после ввода последнего значения.

В процедуре ввода переменные разделяются запятой, а с клавиатуры данные вводятся через пробел.

Пример:

Program vvod;

Var a,b,c:real;

x,y:integer;

s:char;

l:boolean;

Begin Окно ввода/вывода

-2.5 100 true-1.2e-14 15 F_
Read (a,x,l); {a=-2.5, x=100, y=15l=true}

. . .

Readln(c,y); {c=-1.2e-14, }

. . .

Read(s); {s=’F’}

. . .

End.

Процедуры вывода

Write(список вывода); Writeln(список вывода)


где список вывода – имена переменных, константы или выражения, разделенные запятыми.

 

Процедура Write - осуществляет вывод данных и оставляет курсор за последним выведенным значением на той же строке.

Процедура Writeln (lnà line) - осуществляет вывод данных и переводит курсор на следующую строку после вывода последнего значения.

 

Формат вывода для вещественных данных

Writeln( имя перем: n:n1);


где, n – общее количества позиций под все число;

n1 - число позиций под дробную часть число.

Пример:

Рrogram vivod;

Var a,b: integer;

Begin

Writeln(‘введите катеты прямоугольного треугольника a и b’);

Readln(a,b);

Writeln( ‘a=’, a, ‘ b=’, b, ‘ гипотенуза=’, sqrt(sqr(a)+sqr(b)):7:2)

End.

Окно ввода/вывода

введите катеты прямоугольного треугольника a и b 3 4 a= 3 b=4 гипотенуза= 5.00  


Тема 2.3 Управляющие структуры

Операторы языка Pascal

 

Оператор присваивания

Имя переменной := выражение;
:=

 

 


-знак операции присваивания.

 

Тип выражения и тип переменной должны быть одинаковыми.

Пример:

Program primer1;

Var x,y,a,b: real;

l: Boolean;

Begin

Readln( x, y, a, b);

x := x+2;

y := sin(x)+sqr(a)-b;

l := (a>0) and (b>0) or (x<>0);

end.

 

Составной оператор

Составной оператор – это группа операторов, заключенная в операторные скобки begin . . end

Begin Оператор1; . . . Оператор n; End;


Операторы передачи управления

К операторам передачи управления относятся:

- оператор безусловного перехода (go to) предназначен для обхода какого-то участка программы без проверки условия;

- оператор условного перехода или условный оператор (if);

- оператор выбора (case).

 

I. Условныйоператор или оператор условного перехода (If) используется для организации вычислений в зависимости от какого-либо условия. Имеет полную и сокращенную формы записи.

 

a) Полнаяформа записи

условие
Оператор1
Оператор2
if условие then begin оператор_1; . . . оператор_n; end else begin оператор_1; . . . оператор_n; end;  

 

 


 

If условие then оператор1 else оператор2;

 


 

 

где, If имя оператора;

then, else- служебные слова;

условие – логическое выражение;

оператор1, оператор2 – простой или составной оператор.

Работа оператора If

1. Если проверяемое условие истинно (true), то выполняется

оператор1, записанный за служебным словом then,

а затем следующий в программе оператор.

2. Если проверяемое условие ложно (false), то выполняется

oператор2, записанный за служебным словомelse,

а затем следующий в программе оператор.

 

Пример1:

Даны целые числа X и Y. Если число X чётное - вывести соответствующее сообщение, иначе определить кратно ли оно числу Y.

 

programprimer1;

varx,y:integer;

Begin

writeln('Введите числа x и y');

readln(x,y);

ifx mod2 =0 thenwriteln(x,' чётное число ')

Else

ifx mody =0 then

writeln(x,' кратно ',y)

Else

writeln(x,' не кратно ',y,' и нечётное');

end.

 

Результат

Введите числа x и y

7 7

Кратно 7

 

б). Сокращенная форма записи

if условие then оператор_1;


условие
Оператор1

 

if условие then begin оператор_1; . . . оператор_n; end;  

 

 

Работа оператора If

 

1. Если проверяемое условие истинно (true), то выполняется оператор1, записанный за служебным словом then,а затем следующий в программе оператор.

2. Если проверяемое условие ложно (false), то выполняется следующий в программе оператор.

 

Пример2:

Дано целочисленное число X. Определить является ли это число отрицательным, и если да , то возвести это число в квадрат , иначе - оставить X без изменений.

programprimer1;

varx:integer;

Begin

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

readln(x);

ifx<0 thenx:=sqr(x);

writeln('x = ',x);

end.

Результат:

Введите число

-2

x = 4

Пример3:

Даны числа X и Y. Определить является ли число X отрицательным, если это так то возвести X в квадрат, а Y в куб , если нет оставить X и Y без изменений.

 

programprimer1;

Результат Введите числа x и y -1 3 x = 1  
varx,y:integer;

Begin

writeln('Введите числа x и y');

readln(x,y);

ifx<0 then

Begin

x:=sqr(x);

y:=sqr(y)*y;

end;

writeln('x = ',x,’ y = ‘,y);

end.

 

II. Операторвыбора(Case) предназначен для выбора одного из нескольких возможных вариантов выполнения программы в зависимости от значения выражения.

 

Полная форма записи Сокращенная форма записи

Case выражение of Конст1: оператор1; Конст 2: оператор2; … Конст N: оператор n Else оператор n+1 End; Case выражение of Конст 1: оператор1; Конст 2: оператор2; … Конст N: оператор n End;  

где Case(выбор), of (из), End (конец) - служебные слова;
выражение - должно быть целочисленного или символьного (char) типа;
Конст 1, Конст 2, Конст N - возможные значения выражения(метки варианта), причем в одной строке их может быть несколько через запятую.

Работа оператора:
1.Вычисляется значение выражения.
2.Это значение сравнивается с константами, стоящими после слова of
3.Если значение выражения равно какой-либо константе, то выполняется оператор, стоящий после этой константы.
4.Если значение выражения не совпадает ни с какой константой, то управление передается оператору, записанному после слова Else ( при полной форме записи) или оператору, следующему после слова End;

 

Если вместо одного оператора в строке нужно использовать несколько, то используют операторные скобки Begin … End;

Пример 4:

При вводе числа от 1 до 7 вывести на экран название соответствующего дня недели.

Program example;
Var a:integer;
Begin
Writeln('введите число от 1 до 7');
Read(a);
Writeln('введенному числу соответствует');
Case a of
1: Writeln('понедельник');
2: Writeln('вторник');
3: Writeln('среда');
4: Writeln('четверг');
5: Writeln('пятница');
6: Writeln('суббота');
7: Writeln('воскресенье')
Else Writeln('нет такого дня недели!')
End;
End.

 

При использовании оператора Case можно указывать диапазон допустимых значений.

 

Пример 5:

Определить введена ли как символьная переменная цифра

Pogram vibor2;

Var a:char;

Begin

Readln(a);

Case a of
'0'..'9': Writeln('цифра!')
Else Writeln('не цифра!')
End;

End.

Пример 6:

Определить по номеру месяца и году количество дней в месяце

programprimer1; varx:integer; { var x:1..12;} begin writeln('Введите номер месяца'); readln(x); casex of 1,3,5,7,8,10,12:writeln('В месяце 31 день'); 2:writeln('В месяце 28 или 29 дней'); elsewriteln('В месяце 30 дней'); end; end.   Результат Введите номер месяца В месяце 31 день    

Тема 2.4 Циклы

Циклом называется многократно выполняемая группа операторов.

Параметр цикла – величина, которая при выполнении каждого цикла изменяется на величину шага.

Эталон цикла – некоторая постоянная величина с которой при каждом выполнении цикла сравнивается параметр цикла и как только они окажутся в заданном соотношении происходит выход из цикла.

Циклы бывают арифметические и итерационные. В арифметических циклах количество повторов заранее известно или легко может быть вычислено. Итерационными называются циклы выход из которых осуществляется по достижении определенной точности вычислений

( арифметические и геометрические прогрессии).

Существует два типа циклических алгоритма:

- цикл с предусловием –условие выполнения цикла расположено до тела цикла. В языке Pascal по схеме цикла с предусловием работают оператор цикла с предусловием Whileи оператор цикла с параметром For;

- цикл с постусловием – условие выхода из цикла расположено после тела цикла. По такой схеме работает оператор цикла с постусловием Repeat.

Цикл с предусловием

для оператора Whileдля оператора For

x=х1
x≤x2
Тело цикла x=x+x3
Выход из цикла

х=х1,х2,±1
Тело цикла
Выход из цикла

 

 

где Х – параметр цикла;

Х1 – начальное значение параметра цикла;

Х2 – конечное значение параметра цикла;

Х3 – шаг изменения параметра цикла;

Тело цикла - простой или составной оператор языка Pascal.

 

Оператор While Оператор For
a) For x:=x1 to x2 do оператор тела цикла;  
a)While логическое выражение do оператор тела цикла;  

 

 

б) While логическое выражение do begin оператор1; . . . oператор n end;  
б) For x:=x1 downto x2 do оператор тела цикла;  

     
в) For x:=x1 to x2 do begin оператор1; . . . oператор n end;

 

 

Работа оператора While Пока логическое выражение, записанное за While истинно (True), выполняется оператор тела цикла. Как только логическое выражение станет ложно (False) происходит выход из цикла и управление передается следующему оператору в программе.   Работа оператора For     Параметру цикла присваивается начальное значение ( прямо в заголовке). Параметр цикла сравнивается с конечным значением параметра цикла. Пока х≤x2 (при положительном шаге) / х≥х2 ( при отрицательном шаге) выполняется тело цикла. После окончания тела цикла происходит автоматически наращивание / уменьшение значения параметра цикла на величину шага (+1 /-1). To, downto – служебные слова, задающие величину шага (+1 или -1 ); Новое значение параметра цикла снова сравнивается с конечным значением. Выход из цикла осуществляется при х>х2 (при положительном шаге) / х<х2 (при отрицательном шаге). Параметры цикла (х, х1 и х2- только порядкового типа)

Repeat оператор1; . . . oператор   Until логическое выражение;  
Цикл с постусловием

 

х=х1
x>x2
Тело цикла
нет
Выход из цикла

 

    Логическое выражение –условие выхода из цикла; Тело цикла – любое количество операторов языка Pascal.
  Работа оператора Repeat Повторять операторы тела цикла пока логическое выражение, записанное за Until ложно (False). Когда логическое выражение станет истинно (True) произойдет выход из цикла.

 







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

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