Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Примеры решения задач. Два человека одновременно делают вклад на одинаковую сумму




Задача 1

Два человека одновременно делают вклад на одинаковую сумму. Первый под 10% годовых, а второй под 7%. Определить, когда у первого денег на счете будет в 2 раза больше, чем у второго.

Итак, нам необходимы две переменных для хранения суммы сбережений.

S 1 - сумма вклада 1 -го человека,

S2 - сумма вклада 2-го человека.

Пока количество прошедших лет равно 0 (L:=0;), суммы вкладов одинаковые, допус­тим по 1000 рублей.

Но через год (L:=L+1;) у одного сумма вырастет на 10% 1.S1-S1+SP0.1 {10/100},

а у второго только на 7%

2. S2:=S2+S2*0.07 {7/100}

3.L-L+1;

и через некоторое время у 1-го сумма вклада становится в 2 раза больше, чем у 2-го (S1->S2*2;). (Подумайте, почему нельзя записать S1^2*S2?!).


Итак, действия 1,2,3 являются операторами, требующими многократного выполнения:

до тех пор ПОКА S1>=2*S2;

Программа выглядит следующим образом:

Const

N=1000; { интересно, важна сумма вклада или нет? } Var

Sl,S2:Real;

L:Word;

Begin S1:=N;

S2:=N;

L:=0;

Repeat

Sl-Sl+SPO.l;

S2:=S2+S2*0.07;

L-L+l;

Until S1>=2*S2;

WriteLn(' Пройдет ',L,' лет');

ReadLn;

End.

Задача 2

Вкладчик банка положил на свой банковский счет сумму 1000 рублей, через сколько лет его сумма возрастет в 100 раз, если известен годовой процент? Сумма через год = Сумма + Сумма * год. процент /100;

пока Сумма не станет больше 100.000;

Var

S,P:Real;

L: Integer;

Begin

WriteLn(' Введите годовой процент');

ReadLn(P);

S:=1000;

L:=0;

Repeat S-S+S^P/lOO;

L:=L+1;

Until S> 100000;

WriteLn(' Сумма возрастет в 100 раз через ',L,' лет');

ReadLn;

End.

Задачей

(Для решения задачи нужны дополнительные знания: символьный тип данных). Реализовать движение курсора по экрану с помощью клавиш управления курсором {LEFT} и {RIGHT}.

Для решения этой задачи необходимо знать коды пяти клавиш.


#27 {ESC}

#72 {UP}

#80 {DOWN}

#75 {LEFT}

#77 {RIGHT}

Мы управляем курсором, пока не нажата клавиша {ESC}.

Repeat

Until С=#27;

Движение курсора влево Write(#8);

Движение курсора вправо Write('');

Функция считывания кода клавиши ReadKey;{ Модуль Crt}

Uses Crt;

Const

Left = #75;

Right = #77;

Esc = #27;

Var. C:Char;

Begin

Repeat

C^ReadKey;

IfC=RightThenWrite(");

IfC= Left Then Write(#8);

Until С = Esc;

End.

Задача 4

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

d:=a mod 10; { выделяем последний разряд }

а:=а div 10; { убираем разряд из числа }

Это мы будем делать ПОКА ао0. Выход а=0;

Окончательный вариант программы:

Var

A:LongInt;

S:Byte;

D:Byte;

Begin

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

ReadLn(A);

S:=0;

Repeat

D:=Amod 10;

A:=Adiv 10;

S:= S + D;

Until a=0;

WriteLn(' Сумма цифр числа', A,' равна ',S);

ReadLn;

End.


Упражнение 15.

1. Что получим в результате выполнения цикла, сколько раз он выполнится? S:=0;

Repeat

S:=S+I;

I:=l+2;

UntiH>10;

WriteLn(S);

P:=l;

I:=l;

Repeat

P:=P*1;

I:=l+3;

Until K10;

WriteLn(P);

A-.=l;

B-2;

Repeat

Begin

A:=A-1;

B:=B+1;

Until A + 2*B < 0;

WriteLn(A; ',B); ____________________________________________






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных