Пошук

неділю, 10 січня 2010 р.

I. Лінійні алгоритми (частина 1)

ЗАДАЧА № 1

Постановка задачі:

Написати фрагмент програми, що виведе в середині екрана прізвище учня червоним кольором, а в наступному рядку під прізвищем – ім’я жовтим кольором. Прізвище необхідно вивести підвищеною яскравістю, а ім’я – з мерехтінням. Колір тла має бути синім.

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

Program Task_1;

Uses crt;

Begin

TextBackGround(Blue); {встановлення кольору тла}

Clrscr;               {очищення екрана}

HighVideo; {встановлення підвищеної яскравості зображення}

TextColor(Red);       {встановлення кольору виведення}

GotoXY(35,12); {переведення курсору в задану точку – центр екрана}

Writeln(‘Ivanov’);    {виведення прізвища}

NormVideo;

TextColor(Yellow+Blink); {встановлення кольору виведення зображення з мерехтінням}

GotoXY(35,13);

Writeln(‘Petro’);

Readln;               {Процедура затримує зображення на екрані до натискання клавіші Enter}

End.

ЗАДАЧА № 2

Постановка задачі:

Дане дійсне число x. Знайти:

а) цілу частину числа x;

б) число x, округлене до найближчого цілого;

в) число x без дробової частини.

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

Program Task_2;

Uses crt;

Var x:real;

Begin

  Clrscr;

  Write(‘Введіть дійсне число:’);

  Readln(x);

  Writeln(‘Ціла частина числа:’,int(x):2:2);

  Writeln(‘Число, заокруглене до цілого:’,round(x):2:2);

  Writeln(‘Число без дробової частини:’,trunc(x));

  Readkey; {Процедура затримує зображення на екрані
до натискання будь–якої клавіші}

End.


ЗАДАЧА № 3

Постановка задачі:

Написати послідовність операторів для "циклічного" обміну значень трьох змінних (a¬b, b¬c, c¬a).

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

Program Task_3;

Uses Crt;

Var

   a,b,c,temp:integer;

Begin

 Clrscr;

 {вводимо початкові значення змінних}

 Write(‘Введіть a: ‘);

 Readln(a);

 Write(‘Введіть b: ‘);

 Readln(b);

 Write(‘Введіть c: ‘);

 Readln(c);

 temp:=a; {помістимо a у тимчасову змінну temp}

 a:=b; {b замість а}

 b:=c; {с замість b}

 c:=temp; {початкове значення а із temp у змінну с}

 {виводимо кінцеві значення змінних}

 Writeln(‘ a = ‘,a,’ b = ‘,b,’ c = ‘,c);

 Readkey;

End.

ЗАДАЧА № 4

Постановка задачі:

Написати послідовність операторів, що задає обмін значень двох змінних за умови, що третю змінну не використовують, але змінні числові.

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

Program Task_4;

Uses Crt;

Var

  a,b:Integer;

Begin

  Clrscr;

  Write(‘Введите a: ‘);

  Readln(a);

  Write(‘Введите b: ‘);

  Readln(b);

  {три оператори, які обмінюють значення двох змінних}

  a:=a+b; b:=a–b; a:=a–b;

  Writeln(‘ a <–> b:   a= ‘,a,’ b= ‘,b);

  Readkey;

End.

ЗАДАЧА № 5

Постановка задачі:

Йде k–а секунда доби. Визначити, скільки повних годин h і повних хвилин m минуло до цього моменту від початку доби (наприклад, h = 3 й m = 40, якщо k = 13257 = 3*3600+40*60+57).

Аналіз алгоритму:

Кількість повних годин чи хвилин обраховується шляхом застосування стандартних операцій цілочисельного ділення та остачі від ділення цілих чисел (операції div та mod).

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

Program Task_5;

Uses Crt;

Var

   k,m,h:Word; {усі змінні є цілими додатними числами}

Begin

 Clrscr;

 Write(‘Введіть секунду доби: ‘);

 Readln(k);

 Writeln;

 h:=k div 3600;

 m:= (k mod 3600) div 60;

 Writeln(h,’ годин та ‘,m,’ повних хвилин минуло від початку доби.’);

 Writeln(‘Натисніть будь–яку клавішу для завершення’);

 Readkey;

End.

Немає коментарів:

Дописати коментар