1 / 12

Сьогодн і на уроці Тема. Підпрограми . (11 уроків )

Урок №1. Тема. Поняття підпрограми. Сьогодн і на уроці Тема. Підпрограми . (11 уроків ). 10-А 31.03.2014. Підпрограми. Що це таке?. Як з цим працювати?. Допоміжний алгоритм.

eric-ayala
Download Presentation

Сьогодн і на уроці Тема. Підпрограми . (11 уроків )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Урок №1. Тема. Поняття підпрограми. Сьогодні на уроціТема. Підпрограми. (11 уроків) 10-А 31.03.2014

  2. Підпрограми Що це таке? Як з цим працювати? Допоміжний алгоритм Підпрограмиоформляються у вигляділогічнозакінченоїчастинипрограми. • - Підпрограма- це фрагмент коду, до якогоможназвернутися по імені. • Вона описуєтьсяодин раз, а викликатисяможестількиразів, скількинеобхідно. • Одна і та ж підпрограмаможеоброблятирізнідані, переданіїй як аргументи. Для чого це? Підпрограмипотрібні для того, щобспростити структуру програми і полегшитиїїналагодження. b a S -? S1-? c m S2-? n d S3-? e

  3. Цеварто знати: При розробціпрограмінодіз’являютьсяповторюванігрупидійабовиникаєнеобхідністьподілитипрограмуна окремімодулі. Для цьогоіснуютьпідпрограми. Підпрограмимають структуру, аналогічну до структуриголовноїпрограми на Паскалі. Підпрограма– цеіменована, логічнозакінченагрупаоператорів, яку можнавикликати для виконання будь-яку кількістьразівізрізнихмісцьпрограми. Кожнапідпрограма – цеміні-програма в програмі. В нійдіютьвсізакони, щопритаманні будь-якійпрограмі.

  4. uses crt; const n=6; var a:array[1..n,1..n] of integer; i,j,d1,d2:integer; begin for i:=1 to n do for j:=1 to n doзаповнити a[i,j]:=random(10); for i:=1 to n do begin for j:=1 to n doвивести write(a[i,j]:4); writeln;end; d1:=1; d2:=1; for i:=1 to n do begin for j:=1 to n do beginобчислити if (i<j) and(i+j<n+1) then d1:=d1*a[i,j]; if (i>j) and(i+j>n+1) then d2:=d2*a[i,j]; end;end; if d1>d2 then writeln(' d1>d2 ') else writeln(' d1<d2 '); writeln(' d1= ',d1);writeln(' d2= ',d2) end.

  5. Підпрограмиу вигляді процедури: procedure input; begin writeln('r1,r2,r3'); readln(r1,r2,r3); end; procedure plosha(r:integer;var s:real); begin s:=4*pi*r*r; end; procedure output; begin writeln('s1=',s1:6:1,' s2=',s2:6:1,' s3=',s3:6:1); writeln('v1=',v1:5:1,' v2=',v2:6:1,' v3=', v3:6:1); end;

  6. Підпрограма Функція (користувача) Процедура З параметрами Без параметрів Процедури і функціїописуються у відповіднихрозділахопису, до початку блоку виконуванихоператорів. Процедури і функціїмаютьнезначнівідмінності в синтаксисі і правилах виклику. Структура процедурианалогічнаструктуріосновноїпрограми: procedure ім’я; розділопису Begin розділоператорів end; procedureім’я [(список параметрів)]; { заголовок } розділопису Begin розділоператорів end;

  7. Процедура без параметрів Основна частина програми Виклик процедури без параметрів здійснюється за назвою процедури: figyra1; figyra2; Створіть свою власну програму, яка складається з процедури без параметрів

  8. Приклад №1 Процедура з параметрами procedure input; begin writeln('r1,r2,r3');readln(r1,r2,r3); end; procedure plosha(r:integer;var s:real); begin s:=4*pi*r*r; end; procedure obiem(r:integer;var v:real); begin v:=4/3*pi*r*r*r; end; procedure output; begin writeln('s1=',s1:6:1,' s2=',s2:6:1,' s3=',s3:6:1); writeln('v1=',v1:5:1,' v2=',v2:6:1,' v3=', v3:6:1); end; begin clrscr; input; plosha(r1,s1); plosha(r2,s2); plosha(r3,s3); obiem(r1,v1); obiem(r2,v2); obiem(r3,v3); output; end. r1 r3 r2 s:=4*pi*r*r; v:=4/3*pi*r*r*r;

  9. readln(r1, r1,r2,r3,r3); Фактично відомо величини : r1,r2,r3 У процедурі використовують формальні величини: r procedure plosha(r:integer;vars:real); begin s:=4*pi*r*r; end; VarВказує на передачу значень S в основну програму plosha Ім’я процедури – надає користувач При звернені (виклику процедури) до процедури, формальні величини замінюються фактичними. plosha(r1,s1); Після фактичних величин через кому записують результат

  10. uses crt; Constn = 8; type mas = array[1 .. n] of real; var a, b : mas; i : integer; riz, sr_a, sr_b: real; procedure sr_arufm(x : mas; varsr: real); {1} Vari : integer;s:real; begin s:= 0; for i := 1 to n do s := s + x[i]; sr:= s / n; end; {2} Begin{ головна програма} writeln('masiv A:'); for i := 1 to n do readln(a[i]); writeln('masiv B:'); for i := 1 to n do readln(b[i]); {звернення до процедури 2 рази} Sr_arufm(a, sr_a); {3} {виклик процедури} Sr_arufm(b, sr_b); {4} riz:= sr_a- sr_b; writeln( ‘sr_a =',sr_a); writeln( ‘sr_b =',sr_b); writeln(‘rizno= ', riz:6:2) end. Приклад № 2. Знайтирізницюсередніхарифметичнихзначеньдвохдійснихмасивів з 8 елементів. Як видно з умови, для двохмасивівпотрібнознайти одну і ту ж величину - середнєарифметичне. Отже, логічним буде оформитийогознаходження у виглядіпідпрограми, яка зможепрацювати з різнимимасивами. Сам по собіопис не приводить до виконанняпідпрограми. Для того щобпідпрограмавиконалася, її треба викликати. Викликзаписується в тому місціпрограми, де потрібноотриматирезультатироботипідпрограми

  11. Домашнє завдання: Створити власні програми за аналогією 1. прикладу №1 (процедури без параметрів) 2. Прикладу №2 (процедури з параметром) 3. Вивчити теоретичний матеріал.

More Related