пʼятниця, 4 травня 2018 р.

Цикли

Цикли

Приклади використання циклів
Приклад 1. Обчислити суму s=1+2+3+4+5+6+7+8+9+10


WHILE
REPEAT
FOR
Program pr1;
Var i,s:integer;
begin
i:=1;S:=0;
while i<=10 do
  begin
    S:=S+i;
    i:=i+1;
  end;
write(s)
end.
Program pr1;
Var i,s:integer;
begin
i:=1;S:=0;
repeat
    S:=S+i;
    i:=i+1;
until i>10;

write(s)
end.
Program pr1;
Var i,s:integer;
begin
S:=0;
For i:=1 to 10 do
  S:=S+i;

write(s)
end.

Приклад 2.  Протабулювати функцію y=sin x, де х є [0,2П] з кроком П/2.
Program pr1;
Var x,y:real;
begin
x:=0;
while x<=2*pi do
  begin
    y:=sin(x);
    writeln(y);
    x:=x+pi/2;
  end;
end.
Program pr1;
Var x,y:real;
begin
x:=0;
repeat
    y:=sin(x);
    writeln(y);
    x:=x+pi/2;
until x>2*pi

end.


Приклад 3. Ввести 8 дійсних чисел і знайти їх суму.
Program pr1;
Var i:integer;s:real;
begin
s:=0;
i:=1;
while i<=8 do
  begin
    read(a);
    s:= s+a;
    i := i+1;
  end;
write(s)
end.
Program pr1;
Var i:integer;s:real;
begin
  s:=0;
 i:=1;
 repeat
    read(a);
    s:= s+a;
    i := i+1;
 until i>8;
write(s)
end.
Program pr1;
Var i:integer;s:real;
begin
s:=0;
for i:=1 to 8 do
  begin
    read(a);
    s:= s+a;
  end;
write(s)
end.

   Завдання 9 ( Виконати задачі з циклами  1.While  2.Repeat  3.For )
1. Ввести 10 дійсних чисел. Знайти суму і кількість додатніх чисел.
2. Ввести 10 цілих чисел. Всі від’ємні піднести до квадрату і вивести.
3. Ввести n дійсних чисел і знайти максимальне число.
4. Ввести n цілих чисел. Знайти мінімальне число та його порядковий номер.
5. Ввести послідовність натуральних чисел, яка закінчується нулем. Визначити суму чисел, які кратні числу 3.
6. Ввести натуральне число.
            а) Знайти суму його цифр.
            б) Порахувати кількість цифр 5 у цьому числі.
            в) Порахувати кількість парних цифр у цьому числі.
  
Вкладені цикли ( Виконати задачі з циклами For )
Вивести на екран
     1234567 
     1234567 
     1234567 
     1234567 
     1234567 
Реалізувати таке виведення можна так:
for i:=1 to 5 do
  begin
     for j:=1 to 7 do
        write(j);
     writeln
  end;

7. Вивести на екран
а) 111           б) 111111             в) 1234           г) 1
    222               333333                 2345                22
    333               555555                 3456                333
    444               777777                 4567                4444
    555                                                                   55555





пʼятниця, 20 квітня 2018 р.

Розгалуження ві Паскалі

Д/З
1. Обчислити y= sin 2x та tg(x+10) для довільного x з відрізку [0,π/2].Обчислити y= sin 2x та tg(x+10) для довільного x з відрізку [0,π/2].

2. Якщо квадратне рівняння з коефіцієнтами a,b,c (a≠0) має дійсні корені, логічній змінній t присвоїти значення true, а змінним х1 та х2 – корені, інакше змінній t присвоїти false.

3. Для квадратного рівняння розглянути 3 випадки.

4. Задано три дійсні числа a, b, c. Надрукувати 0, якщо за трьома сторонами  a, b, c не можна побудувати трикутник. У протилежному випадку надрукувати 3, якщо трикутник рівносторонній, 2 – якщо рівнобедрений, 1 – довільний інший.


субота, 17 березня 2018 р.

Вирази дійсні,цілі, логічні


Вирази

Гуржій, Карташова, Лапінський, Руденко  Інформатика, 8 клас                                      ст. 240-254

Караванова Інформатика. Основи алгоритмізації та програмування. 777 задач     ст.37-42, 57-58

Розглянемо такі типи виразів:

1.      Дійсні

Ввести значення двох дійсних змінних. Обчислити їхню суму та різницю.
program  Examp1;
var a,b,s,r :real;
begin   writeln('введіть два дійсні числа'); read(a,b);
           s:= a + b;  r:= a - b; 
           writeln('результати s=', s, ' r=', r:5:2);     {на число r виділяється 5 позицій,
                                                                                                                    з них 2 - на дробову частину}
end.

Ввести значення довжини  кола L. Обчислити радіус цього кола і площу круга, обмеженого цим колом.
program  Examp2;
var L,s,r :real;
begin         
      writeln('введіть довжину кола');  read(l);
       r:=l/(2*pi);     {знаходження радіуса, використано стандартну функцію pi}
       s:=pi*sqr(r); {знаходження площі}
      writeln(‘коло довжини ‘, l ,’ має радіус ’, r ,’ та площу ’, s)
end.

Д/з №1
1.       Задано довжини двох катетів прямокутного трикутника. Обчислити довжину гіпотенузи, периметр та площу трикутника.
2.       Ввести довжину кола L. Обчислити радіус цього кола і площу круга, обмеженого цим колом.

4. За радіусом кола визначити площу квадрата, вписаного у нього.
5. Задано сторону квадрата. Визначити довжину кола, вписаного у цей квадрат.
6. Задано периметр прямокутника. Знайти його сторони, якщо
а) одна зі сторін на 5 см більша іншої;           б) одна зі сторін у 3 рази більша іншої.

2.      Цілочислові

Знайти суму цифр двоцифрового числа.
program  Examp1;
var c,c1,c2,s: integer;
begin          writeln(' введіть ціле двоцифрове число'); read(c);
      c1:= c div 10;                      {знаходження  першої цифри}
      c2:= c mod 10;                 {знаходження другої цифри}
      s:= c1 + c2;                         {обчислення суми цифр}
      writeln('сума цифр числа ', c, '  дорівнює  ',s);
end.

Д/з 2
1.      Знайти суму першої та останньої цифр заданого трицифрового числа.
2.      Знайти суму двох перших та добуток двох останніх цифр заданого чотирицифрового числа.
3.   Знайти а) першу цифру дробової частини та передостанню цифру цілої частини дійсного числа х.


3.      Логічні

Логічній змінній t присвоїти значення true , якщо цілочислова величина k ділиться без остачі на 7 і false у протилежному випадку. Вивести значення t.
program  log1;
var k: integer; t: boolean;
begin
      writeln('введіть ціле число');  read(k);
      t:= k mod 7 = 0;  writeln('t=',t)
end.

Надрукувати true, якщо x належить проміжку (a,b) і false - у протилежному випадку.
program  log2;
var a,b,x: real;  t: boolean;
begin
    writeln('введіть проміжок (a,b)');  read(a,b);
    writeln('введіть дійсне число');  read(x);
    t:= (x>a) and (x<b);  writeln('t=',t)
end.

Д/з №3

1. Надрукувати true, якщо x належить відрізку (2,10) і false у протилежному випадку.
2.   Надрукувати true, якщо x належить відрізку [-3,5] або [10,20] і false у протилежному випадку.
3.   Надрукувати true, якщо t лежить зовні відрізка [-1,1] і false у протилежному.
 4.  Використовуючи логічний оператор присвоєння, змінній t присвоїти значення true, якщо цілі числа x, y, z
        а)  рівні між собою;   
                    б)  не рівні;
                    в) тільки два рівні між собою.

Програмування


Програмування
Зі сторінки      petriv.ho.com.ua/algo/         Ви можете скопіювати програмне середовище АЛГО, яке спеціально розроблене для вивчення основ програмування.

Підручники:
1.      Гуржій, Карташова, Лапінський, Руденко  Інформатика, 8 клас
(виданий в бібліотеці ЛФМЛ 8-ому класу)
2.      Караванова Інформатика. Основи алгоритмізації та програмування. 777 задач
chashuk.edukit.volyn.ua/Files/downloads/Караванова_777.pdf
3.      Сайт :   http://pascal.org.ua


Основні поняття мови. Структура програми. Сталі та змінні величини

Гуржій, Карташова, Лапінський, Руденко  Інформатика, 8 клас                                     ст. 227-236

Караванова Інформатика. Основи алгоритмізації та програмування. 777 задач     ст. 23-30, 42-45


вівторок, 27 лютого 2018 р.

Алгоритми. Блок-схеми

Поняття алгоритму.
Термін «алгоритм» походить від імені узбецького математика ал-Хорезмі латинською мовою algorithmi), який сформулював правила виконання чотирьох арифметич­них дій.
Алгоритм - це послідовність дій, які спрямовані на досягнення вказа­ної мети або на розв'язання поставленої задачі.

Крім того, ця послідовність дій повинна задовольняти такі вимоги:
1. Скінченність. Виконання кожного алгоритму повинно завершуватись за скінченне число кроків.
2. Результативність. Виконання алгоритму призводить завжди до певного результату (зокрема, негативного) для кожних початкових даних, припустимих для цього алго­ритму.
3. Формальність. Виконавець відповідно до алгоритму одержить результат, не вникаючи в його суть.
4. Визначеність. Кожний алгоритм слід описати так, щоб при його розшифруванні у виконавця не виникло дво­значних вказівок. Тобто різні виконавці згідно з алгорит­мом повинні діяти однаково та прийти до одного й того ж результату.
5. Масовість. Алгоритм є правилом розв'язування ціло­го класу задач.
6. Зрозумілість. В алгоритмі зустрічаються лише опера­ції з набору операцій виконавця.
Алгоритми можна описувати за допомогою слів, спеці­альних мов, використовуючи математичні формули, табли­ці, графіки, блок-схеми та інші засоби.
Часто за допомогою алгоритмів визначають нові опера­ції через уже відомі.    

Приклад 1. Скласти алгоритм обчислення виразу S=f(1)+f(2)+…+f(m)
де т — ціле число; f(k) — вираз, який залежить від k.
Припустимо, що для обчислення виразу f(k) використо­вують відомі операції (тобто ми знаємо як обчислити значення функції f від різних значень).
Останній запис між двома знаками «+», що відповіда­ють операції додавання, містить багато крапок, які для ви­конавця не визначають відомої операції. Можливі випад­ки m£1, при яких зміст цього запису стає ще менш зрозу­мілим.
Для обчислення суми запишемо такий алгоритм:
Крок 1. Визначити т.
Крок 2. Прийняти k=1 та S=0 і перейти на крок 3.
Крок 3. Якщо k>т, то шуканим значенням S буде зна­йдене значення. Процес обчислення завершити. У проти­лежному випадку перейти на крок 4.
Крок 4. Замінити S значенням виразу S+f(k) та k зна­ченням k+1. Перейти на крок 3.
Наведений алгоритм дає змогу обчислити суму при будь-якому цілому т. Відповідно до цього алгоритму мож­на написати програму мовою програмування для її реаліза­ції з використанням ЕОМ.
Приклад 2. Скласти алгоритм знаходження коренів квадратного рівняння
                                   a*x^2 + b*x + c = 0
 при а¹0.
Крок 1. Визначити а, b, с.
Крок 2. Обчислити D=b24ас.
Крок 3. Якщо D<0, то перейти на крок 7, у протилеж­ному випадку—на крок 4.
Крок 4. Обчислити корені півняння.
Крок 5. Надрукувати значення коренів.
Крок 6. Перейти на крок 8.
Крок 7. Надрукувати повідомлення, що рівняння коренів не має.
Крок 8. Процес обчислення завершити.

Уміння складати алгоритми — перший етап в оволодінні навиками програмування.
Розглянемо більш зручні способи запису алгоритмів з використанням блок-схем та алгоритмічної мови.

Приклад 3. Скласти алгоритм обчислення виразу S= 1+2+3+...+n , де n — ціле число.
Блок-схемний спосіб - запису алгоритмів
При записі блок-схеми окремі дії зображуються геометричними символами —фігурами, що мають стандартне призначення та позначення. Окремо виконувані дії на­зивають операторами й позначають у вигляді блоків. Ко­жен блок нумерується.
Розглянемо позначення для найбільш використовуваних блоків.

Позначення блоків
Блоки

Назва та призначення


Овал

Початок або кінець процесу обробки


Паралелограм

Блок введення


Надірваний папір


Блок виведення


Прямокутник


Арифметичний блок використовується при обчисленні виразів

Ромб
Логічний блок використову­ється для перевірки умов

Блоки в блок-схемі з'єднані лініями потоків, які йдуть згори вниз та зліва направо і стрілками не позначаються. Лінії, що зображають напрям знизу вгору та справа вліво, слід позначати стрілками:

У кожен блок може входити не менше однієї лінії, з кожного блоку може виходити тільки одна лінія. З логіч­ного блоку завжди виходять дві лінії потоку: одна у випад­ку виконання умови, друга — при її невиконанні.
Алгоритми бувають лінійні; з розгалуженнями; цикліч­ні та складні (останній тип включає наведені вище типи алгоритмів).


Лінійні алгоритми (домашнє завдання)

Задача. Обчислити L=(Ax+B)y+z.


Алгоритми з розгалуженням (домашнє завдання)

Задача 1. Обчислити y=(x+5)/2 якщо x>=5, обчислити y=1- x^2 при x<5.

Задача 2. Якщо x+y>=0, тоді обчислити z=x^2 + y^2 і  k=x^3.

Задача 3. Якщо x>0, тоді обчислити y=x^2 + x+5, якщо x<0, тоді обчислити y=x^3 +10, якщо x=0, тоді задати y=15.

Задача 4. Скласти алгоритм знаходження більшого з трьох чисел А, В, С і результат присвоїти змінній y.


Складання блок-схем з циклами (домашнє завдання)

Циклічна блок-схема містить блоки, які можуть під час виконання алгоритму проходитись повторно. Є два типи циклів:
1.      Цикл з післяумовою
2.      Цикл з передумовою

Керуючий параметр циклу – це деяка змінна величина, за значенням якої виконавець визначає: продовжувати цикл далі чи вийти з нього.

Задача 1. Обчислити  суму парних чисел на проміжку [2,20]  (двома способами).

Задача 2. Протабулювати функцію y=sin(x+0,4) на проміжку [a,b] з кроком h (двома способами).

Задача 3. Ввести 15 чисел, знайти суму і кількість всіх додатніх.

Задача 4. Ввести n чисел, вивести всі відємні числа, піднесені до кубу.

Задача 5. Ввести 20 чисел, знайти максимальне.