Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samost_pascal_delphi_2012.doc
Скачиваний:
0
Добавлен:
04.01.2020
Размер:
4.33 Mб
Скачать

Цикли. Команда циклу з параметром (for), команда циклу з передумовою (while), команда циклу з після умовою (repeat). Основні розділи теми.

  1. Циклічний алгоритм.

  2. Оператор циклу з параметром.

  3. Два види оператора for.

  4. Команда циклу з передумовою (while).

  5. Команда циклу з післяумовою (repeat).

  6. Вкадені цикли.

В програмах, пов'язаних з обробкою даних або обчисленнями, часто виконуються дії, що циклічно повторюються.

Цикл - це послідовність операторів, яка виконується неодноразово. Розрізняють три види операторів циклів: з лічильником, з передумовою і з післяумовою.

Оператор циклу з параметром (for).

Оператор for використовується для організації циклів з фіксованим числом повторень.

В мові програмування Паскаль є два види операторів for.

  1. for <лічильник> := <початкове значення> to < кінцеве значення> do

<оператор>;

де лічильник — це змінна цілого, символьного, логічного або переліченого типів.

Дія оператора. Якщо значення лічильника менше ніж кінцеве значення, то виконується оператор. Після цього значення лічильника автоматично збільшується на одиницю і т.д. Коли значення лічильника стане більше, ніж кінцеве значення, то виконується наступний після циклу оператор.

Приклад 1. Хай s = 0. Після виконання команди

for i := 4 to 6 do begin

s := s + i;

z := 2 * i;

end;

змінна s отримає значення 0+4+5+6=15, а змінна z = 12.

Приклад 2. Вивести рядок з однакових символів.

for i := 1 to 35 do write(‘ -‘);

  1. for < лічильник > := < початкове значення > downto < кінцеве значення > do

< оператор>;

Ця команда діє, як і попередня, але крок зміни лічильника рівний -1.

Приклад. Хай s = 0. Після виконання команди

for i := 6 downto 4 do begin

s := s + i;

z := 2 * i;

end;

значення змінної s буде рівне 0 + 6 + 5 + 4 = 15, а змінної z = 8.

Зауваження. Значення лічильника в середині циклу змінювати не можна.

Задача 7.

Обчислити суми заданої кількості чисел

program SUM;

var N, sum, I, Num:integer;

begin { - початок тіла головної програми}

writeln('<<< обчислення суми N чисел >>>');

writeln; {- пропуск рядка}

write (' Введіть кількість підсумовуваних чисел N = ? -> '); readln(N);

sum:=0;

for i:=1 to n do

Begin

writeln (' Введіть', I, ' -е число Num = ? -> ');

readln(Num);

sum:=sum+ Num; {Підсумовування з накопиченням}

end;

writeln('сумма ',N, ' чисел рівна ', sum);

end.

Задача 8.

Скласти таблицю відповідності між унціями і грамами для декількох значень унцій. Відомо, що 1 унція = 28,353495р. Початкове значення кількості унцій (uncia), крок зміни (h) цього значення і кількість значень (k) задати самостійно в режимі діалогу.

program Mera;

var uncia, grammy, h : real;

i, к : integer;

begin

write('Введіть початкове значення, крок зміни');

writeln(' і кількість значень - рядків в таблиці');

readln(uncia, h, к); writeln; {Формуємо порожній рядок}

writeln( "Унції Грамми');

for i := 1 to к do {Виводимо таблицю на екран}

begin

grammy:=28.353495 * uncia; writeln(uncia:5:2, ' ', grammy: 10:6);

uncia := uncia + h;

end;

end.

Задача 9.

Обчислити значення виразу, що складається з суми і добутку у =

program SummaProisved;

var i : integer;

summa, prod, у : real;

fact : longint;

begin

summa := 0; {Спочатку сума рівна нулю, а добуток (prod) одиниць

prod := 1;

fact := 1;

for i := 1 to 25 do

begin

fact := fact * i; {Обчислюємо i! = 1*2 * 3 * ... * i}

summa := summa + 5 * sqr(i)/ fact; {Обчислюємо суму}

prod := prod * i * i; {Обчислюємо твір}

end;

у := summa + prod;

writeln('y = ', у:7:2);

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]