четвер, 11 січня 2018 р.

Алгоритми з повним умовним оператором

Задачі з повним умовним оператором

з простою умовою

Приклад 1

Відомі площі кола та квадрата. Складіть програму, яка визначає, що більше: радіус кола чи сторона квадрата?
Дано: площа кола та площа квадрата
Знайти: радіус кола, сторону квадрату та порівняти

Змінні:

Вхіднi:
  • skr – площа кола
  • skv – площа квадрату
Вихідні:
  • r – радіус кола
  • a – сторона квадрату
Площі кола та квадрата мають дійсний тип. Для обчислення радіусу буде використатися функція Pi, що має дійсний тип, тому типи всіх змінних будуть дійсними.

Алгоритм

  1. Введення: skr – площа кола та skv – площа квадрата. Перед вводом виводиться пояснення, що саме потрібно вводити.
  2. Обчислення значення радіусу з формули skr= pi*r2. Для обчислення використовується функція pi.
  3. Обчислення значення сторони a з формули skv= a2.
  4. Порівняння і a та вивід слова 'радіус', якщо r>a, і слова 'сторона'  - у іншому випадку.

Блок-схема програми

Программа

 Var skr,skv,a,r:real;
begin
  write('skr= ');read(skr);
  write('skv= ');read(skv);
  r:=sqrt(skr/pi); a:=sqrt(skv);
  if r>a then writeln('радіус')
         else writeln('сторона');
end.

Результат роботи програми

ВвідВідповідь
100 50skr= 100
skv= 50
сторона
100 25skr= 100
skv= 25
радіус

Приклад 2

Дано ціле трьохзначне число. Визначте, чи кратне воно добутку своїх цифр.
Дано: ціле трьохзначне число
Знайти: добуток його цифр та перевірити, чи кратне введене число обчисленому добутку його цифр

Змінні:

Вхіднi:
  • x – число
Вихідні:
  • p – добуток цифр
Проміжні:
  • c1– перша цифра
  • с2 – друга цифра
  • с3 – остання цифра
Операції цілочисельного ділення використовуються тільки для цілих чисел, тому всі вхідні, вихідні та проміжні дані - цілого типу.

Алгоритм

  1. Введення числа x.
  2. Обчислення c1,c2,c3 цифр числа n.
  3. Обчислення значення p.
  4. Перевірка, якщо введене число x кратне обчисленому значенню p, то надрукувати 'yes', в іншому випадку надрукувати 'no'.

Програма

 Var  x,c1,c2,c3,p:integer;
Begin
  read(x);
  c1:=x div 100; 
  c2:=x div 10 mod 10; 
  c3:=x mod 10;
  p:=c1*c2*c3;
  if x mod p =0 then writeln('yes') else writeln('no');
end. 

Результат роботи програми

ВвідВідповідь
112yes
122no

Варіанти задач

  1. Дано два різних дійсних числа. Знайдіть найбільше.
  2. Дано ціле число. Визначте, чи воно парне.
  3. Дано два цілих числа та B. Визначте, чи є число B дільником числа A.
  4. Дано ціле число. Визначте, чи закінчується воно цифрою 7.
  5. Дано ціле трьохзначне число. Визначте, чи однакові його перша та остання цифри.
  6. Дано ціле трьохзначне число. Визначте, чи кратна п’яти сума його цифр.
  7. Дано чотирьохзначне число. Визначте, чи дорівнює сума двох перших його цифр сумі двох його останніх цифр.
  8. Дано ціле трьохзначне число, яке складається з неоднакових цифр. Визначте, яка з його цифр більша: перша чи друга.
  9. З’ясувати, чи є парним числом сума чисел a та b.
  10. Дано радіус кола та сторона квадрата. У якій фігури площа більша (випадок рівності не розглядати)?
  11. Відомі площі кола та квадрата. Визначте, чи вміститься круг у квадраті.
      Пояснення: порівняти радіус кола та половину сторони квадрата.
  12. Дано координати точки (x, y). З’ясуйте, чи належить ця точка колу з центром у початку координат та радіусом R.
      Пояснення: Формула кола з центром у початку координат x2+y2=R2 .
  13. Дано ціле трьохзначне число. Чи є це число паліндромом ("перевертнем"), тобто числом, яке читається однаково як зліва направо, так і справа наліво.
  14. Дано (x, y) координати клітинки шахової дошки. З’ясуйте колір клітинки. (Клітинка (1; 1) – чорна).
  15. З’ясуйте, чи може шаховий слон за один хід попасти з клітинки з координатами (x1,y1) у клітинку з координатами (x2,y2).
  16. Перші Олімпійські ігри були в 1896 році та проводяться через кожні чотири роки. Іграм призначається номер по порядку. Дано  рік n. Визначте номер Олімпійських ігор, які проводились у цьому році. Якщо рік не олімпійський, то номер ігор вважайте рівним 0.

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

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