Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программа




Конец

Все

Начало

Кц

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

Циклы в Паскаль

Конец

Начало

Оператор выбора

Конец

Начало

ввод (a,b, c,d)

если (a<c) то m:=c иначе m:=a

если (b<d) то n:=b иначе n:=d

если m<n то l:=n-m иначе l:=0

все

вывод (l)

 

Программа. Определение длины общей части двух отрезков.

program cros;

var a,b,c,d,m,n,l:real;

begin

writeln(‘введите координаты концов отрезков’);

read (a,b,c,d);

writeln;

if a<c then m:=c else m:=a;

if b<d then n:=b else n:=d;

if m<n then l:=n-m else l:=0;

writeln (‘длина общей части отрезков=’,1:6:2)

end.

Замечание. Слова Else может и не быть. Это используется тогда, когда нужно выполнить всего одно условие и не делать ничего, если оно не верно. В таком случае после действия, указанного за словом Then ставиться ";".

Оператор выбора имеет форму:

case <выражение> of

<список констант 1>:<оператор 1>

< список констант 2>:< оператор 2>

………………

< список констант N>:< оператор N>

end.

Выражение, стоящее между служебными словами

case и of, должно иметь значение ординального типа. Любой список констант может состоять из одной константы.

Оператор выбора вычисляет значение выражения, записанного после case. Если его значение совпадает с одной из констант в некотором списке, то выполняется оператор, стоящий после этого списка. Если значение выражения не совпало ни с одной из констант во всех вариантах, то оператор варианта ничего не делает.

Пример. В зависимости от номера месяца выдать сообщение о времени года.

ввод (k)

выбор из списка: 1, 2, 12; то вывод «зима»

выбор из списка: 3,4,5 то вывод «весна»

выбор из списка: 6,7,8, то вывод «лето»

выбор из списка: 9,10,11, то вывод «осень»

Программа. В зависимости от номера месяца выдать сообщение о времени года.

program seasons;

var k:=integer;

begin

writeln (‘’)

readln(k);

case k of

1,2,12:writeln(‘зима’);

3,4,5:writeln(‘весна’);

6,7,8:writeln(‘лето’);

9,10,11:writeln(‘осень’)

end

end.

Третьей базовой структурой является Цикл, который предусматривает повторное выполнение определенных действий, необходимое для большинства программ. Различают следующие типы структур Цикл:

· цикл “ от до “

· цикл “ пока “

· цикл “ до “

Для реализации циклов в Паскаль имеются три оператора. Если число повторений заранее известно, то удобно воспользоваться оператором цикла с параметром. В других случаях следует использовать операторы цикла с предусловием (цикл «пока») или с постусловием (цикл «до»).

В цикле “пока“ управление внутри цикла осуществляется с помощью логического условия:

цикл пока < условие>

< действие >

Выполнение действия повторяется до тех пор, пока верно условие. Проверка условия осуществляется в начале цикла. Это означает, что действие может не выполниться ни разу. Чтобы такой цикл не был бесконечным, внутри цикла необходимо предусмотреть изменение значения условия с истинного на ложное

Цикл с предусловием является наиболее мощным в Паскале. Другие операторы цикла можно выразить через него.

while <логическое выражение> do <оператор>

вычисляется значение логического выражения. Если оно равно true, то выполняется оператор, после чего снова вычисляется значение логического выражения, в противном случае действие заканчивается.

Решим задачу: На склад привозят однородный груз на машинах разной грузоподъемности. На компьютер, управляющий работой склада, поступает информация о весе груза очередной машины. Составить программу подсчета количества машин, прибывших на склад до его заполнения, если вместимость склада не более 100 тонн.

Введем обозначения: sum – сумма веса груза, хранящегося в этот момент на складе; num – число разгруженных машин; w – масса груза очередной машины. Вначале величины sum и num равны нулю. Цикл разгрузки продолжается, пока выполняется равенство sum<100.

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

ввод (w)

пока sum<100 делать sum:=sum+w

если sum<=100 то num:=num+1 (число машин растет)

иначе выход из цикла

вывод (num)

program store;

var sum,w:real;

num:integer;

begin

num:=0,sum:=0;

while sum<100 do

begin

writeln(‘введите вес груза машины’);

readln(w);

sum:=sum+w;

if sum<=100 then num:=num+1;

else writeln(‘груз уже не поместится’)

end;

writeln(‘число разгруженных машин =’,num:3)

end.




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 738; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.