Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Паскаль-рулетка.






У наступному прикладі число повторень циклу заздалегідь невідомо. Краще використовувати одну з різновидів циклу з перевіркою умови. Пропонуємо пограти в просту, але азартну гру (міцно закрийте двері у своїй кімнаті — батьки можуть побачити!) на угадування цілого числа від 1 до 10. Нехай програма «загадає» таке число, а користувач уведе передбачуване значення. Якщо число вгадане, програма поздоровить переможця, а якщо немає — попросить його повторити спробу ще раз. Кожна безуспішна спроба знижує призові бали. На самому початку гравцю призначається 10 призових балів. Опис алгоритму:

· вибрати випадкове ціле число від 1 до 10;

· вивести запрошення на введення цілого значення;

· якщо введене число менше задуманого, сповістити про це гравцю, інакше повідомити йому про те, що введене число більше задуманого;

· повторювати уведення цілого значення доти, поки число не буде угадано;

· вивести поздоровлення переможцю і повідомити йому про набране число балів;

· завершити роботу.

Не виключена можливість того, що число буде угадано відразу. У цьому випадку вже не треба виводити підказку гравцю, тому варто використовувати цикл із передумовою while...do:


program roulette»

var number, guess, bonus: Byte;

Begin

bonus: = 10;

Randomize;

number: = Random(11);

WriteLn('Задумане ціле число від 0 до 10. Угадайте! ');

WriteLn;

WriteLn(введіть ціле число від 0 до 10');

ReadLn(guess);

while guess < > number do

Begin

Dec(bonus);

WriteLn('Bи не угадали.');

WriteLn;

if guess < number

then WriteLn('Ваше число менше задуманого')

else WriteLn('Ваше число більше задуманого');

WriteLn('Спробуйте ще раз! ');

ReadLn(guess);

End;

WriteLn('Поздоровляю! Ви угадали і набрали ', bonus, ' окулярів');

WriteLn('Натисніть < Enter> ');

ReadLn;

End.

У цій програмі використовуються нові оператори. Randomize — початкова установка спеціальної процедури — «генератора» випадкових чисел Random(n), що видає випадкові цілі числа від 0 до n-1, а також Dec (bonus) — виклик процедури, що зменшує на одиницю значення перемінної bonus.

Пробуємо розбагатіти.

Розглянемо приклад виконання циклу з післяумовою. Нехай хтось (ну, наприклад, ви, шановний читач), володіючи визначеною грошовою сумою, відкрив рахунок у банку. Ваше щорічно нараховує визначений відсоток від внеску (це називається «дисконтною ставкою відсотка»), відповідно збільшується і сума внеску. Вважається що цей відсоток не залежить від часу і від величини внеску. Така схема називається «правилом складних відсотків». Необхідно написати програму яка розраховує величину внеску і виводить цю величину для кожного року доти, поки величина внеску не подвоїться. От алгоритм рішення даної задачі:

1. Увести первісну величину внеску, дисконтну ставку відсотка і рік приміщення грошей у банк.

2. Розрахувати нову величину внеску.

3. Вивести рік і величину внеску цього року.

4. Повторювати кроки 2 і 3 доти, поки величина внеску не подвоїться.


Текст програми:


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал