|
||||||||||||
|
||||||||||||
|
|||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Елементи та структура програми мови ПаскальЕлементи та структура програми мови ПаскальРефератна тему: Елементи та структура програми мови Паскаль ПЛАН 1. Загальні відомості 2. Робота з масивами 3. Складання програм з використанням процедур та функцій 1. ЗАГАЛЬНІ ВІДОМОСТІ Мова Паскаль - це вдалий компроміс між простотою і потужністю, ефективністю, лаконічністю і багатослів'ям. У ній вперше відображено концепції структурного програмування. Мову програмування Паскаль розробив Ніклаус Вірт у Швейцарському технологічному інституті в Цюріху на базі мови Алгол - 60. Сьогодні її широко застосовують як засіб для вивчення програмування. Вона завоювала велику популярність, що можна пояснити такими чинниками. По-перше, мову проектували з урахуванням простоти написання транслятора (тобто програми, яка перекладає текст з мови високого рівня машинною мовою). Невеликий обсяг трансляторів дає змогу детально їх описувати і добре документувати. По-друге, ця мова значно простіша, ніж близькі за можливостями мови. Водночас, мова Паскаль дає змогу писати складні програми, її використовують у програмному забезпеченні персональних комп'ютерів, зокрема для створення системного програмного забезпечення. Програма для комп'ютера. Записана мовою Паскаль. Як і багатьма іншими мовами, складається з двох основних головних частин: опис дії, які яку потрібно виконати, та опис даних, з якими оперують ці дії. Дії описують з допомогою операторів, а дані - за допомогою описів і визначень. Поділяють програму на заголовок і блок програми. У заголовку наводять ім'я програми і перечислюють її параметри. Параметри є змінні, які містять аргументи - вхідні дані та результати обчислень. Блок складається з шести розділів розташований у такій послідовності: Блок = розділ опису позначок; Блок = розділ визначення сталих; Блок = розділ опису змінних; Блок = розділ опису процедур і функцій; Блок = розділ операторів. Згідно з синтаксисом мови Паскаль кожна програма починається символом program, після якого зазначають її ім'я. Далів круглих дужках можна наводити параметри програми (імена файлів, через які програма спілкується з зовнішнім середовищем - операційною системою; найчастіше для нескладних програм - це імена стандартних файлів input output). Далі йде блок і закінчується програма крапкою. Програма мовою Паскаль складається з лексем і символів - розділювачів. Лексеми Паскалю - це спеціальні символи, символи слова, імена, числа, рядки символів, позначки і дерективи. Розділювачі. Символами - розділювачами вважають: програму, кінець рядка і коментар. Всередині лексем використання їх не допустиме, а між двома сусідніми іменами, термінальними словами або числами повинен бути хоча б один розділювач. Коментар починається з символу { або ( * і закінчується символами } або * ) і може містити будь які символи, в тому числі кінець рядка за винятком } або * ). Для більшої наочності програми доцільно вживати прогалини, порожні рядки (символ, “кінець рядка”) і коментарі. Спеціальні символи і зарезервовані слова.Під час написання програм мовою Паскаль використовуються такі спеціальні символи: + - * / : = … ^ = ' < > < < = > > = ( ) [ ]. Зарезервовані слова - це program, begin, end, if, then, else, for та ін. Їх не можна застосовувати з іншою метою, наприклад, як імена. Вони є символами, а не послідовністю літер. Імена. Для позначення змінних, сталих, типів, процедур, функцій використовують імена або ідентифікатори. Імена складаються з літер і цифр, однак першим символом повинна бути літера. Числа. Числа у мові Паскаля використовують цілі та дійсні. Перед числом може стояти знак “+” або “-”. Дійсні числа записують з десятковою крапкою, з порядком, або із крапкою і порядком. Рядки символів. Послідовність символів, узяту в поодинокі лапки, називають рядком символів. Символами можуть бути будь-які, якщо треба поставити апостроф, то його записують двічі: `f' `;' ” `don”t'. 2. РОБОТА З МАСИВАМИ Масив - це структурний тип даних, який складається із фіксованого числа елементів одного типу. Для звернення до елемента масиву необхідно вказати в квадратних дужках порядковий номер елемента А[4]. При описі масиву необхідно вказати його ім'я, вказати, в яких границях здійснюється нумерація елементів, вказавши початкове і кінцеве значення індексів, вказати також тип елементів. Двовимірний масив - це прямокутна таблиця, яка складається із m рядків та n стовпців. Опис двовимірного масива можна здійснити задавши тип масиву або безпосередньо змінну типу масив. Індивідуальне завдання. Скласти програму на мові Pascal розв'язку даної задачі та виконання її на ЕОМ. Передбачивши виведення на очищений екран масивів у вигляді матриці та результатів обчислень, супроводивши їх необхідними поясненнями.Задача 1.Обчислити максимальне значення із добутку елементів кожного із стовпчиків масива К(6,4).Задача 2.Знайти найбільший та найменший елементи масиву А(5,5) та поміняти їх місцями. Вивести масив порядках.Задача 1:program masiv_1;uses crt;var k:array [1..6,1..4] of integer; i,j,max:integer; dob:array [1..4] of real;begin clrscr; for i:=1 to 6 do for j:=1 to 4 do begin write('Введiть елемент K[',i,',',j,']='); readln(k[i,j]); end; for j:=1 to 4 do begin dob[j]:=1; for i:=1 to 6 do dob[j]:=dob[j]*k[i,j]; end; max:=1; for j:=1 to 4 do if dob[max]<dob[j] then max:=j; for i:=1 to 6 do beginfor j:=1 to 4 do write(k[i,j],' '); writeln; end; for j:=1 to 4 do write(dob[j]:3:1,' '); writeln; write('Максимальний добуток в стовпцi з номером ',max); writeln(' i дорiвнюї ',dob[max]:3:1);end.Р Е З У Л Ь Т А Т И О Б Ч И С Л Е Н Ь П Р О Г Р А М И :22 3 3 34 5 6 73 3 3 322 -6 -5 4-7 3 2 02 3 4 5-7392.0 -2430.0 -2160.0 0.0Максимальний добуток в стовбцi з номером 4 i дорiвнює 0.0Задача 2:program masiv_2;uses crt;var a:array [1..5,1..5] of integer; i,j,max1,max2,min1,min2:integer; temp:integer;begin clrscr; for i:=1 to 5 do for j:=1 to 5 do begin write('Введiть елемент A[',i,',',j,']='); readln(a[i,j]); end; max1:=1; min1:=1; max2:=1; min2:=1; for i:=1 to 5 do for j:=1 to 5 do begin if a[max1,max2]<a[i,j] then beginmax1:=i; max2:=j; end; if a[min1,min2]>a[i,j] then begin min1:=i; min2:=j; end; end; clrscr; writeln('Вихiдний масив:'); for i:=1 to 5 do begin for j:=1 to 5 do write(a[i,j],' '); writeln; end; temp:=a[max1,max2]; a[max1,max2]:=a[min1,min2]; a[min1,min2]:=temp; writeln('Перетворений масив:'); for i:=1 to 5 do beginfor j:=1 to 5 do write(a[i,j],' '); writeln; end;end. Р Е З У Л Ь Т А Т И О Б Ч И С Л Е Н Ь П Р О Г Р А М И :Вихiдний масив:1 2 3 4 56 7 8 9 25 3 -3 -6 211 4 -7 3 28 9 2 2 3Перетворений масив:1 2 3 4 56 7 8 9 25 3 -3 -6 2-7 4 11 3 28 9 2 2 33. СКЛАДАННЯ ПРОГРАМ З ВИКОРИСТАННЯМ ПРОЦЕДУР ТА ФУНКЦІЙПідпрограма - це пойменована, логічно закінчена група операторів, яку можна викликати для виконання довільну кількість разів з різних місць програми.В мові Pascal в ролі підпрограм використовуються процедури і функції. Функція представляє собою групу операторів, в результаті виконання яких обчислюється одне значення, що присвоюється значенню функції.Опис функції здійснюється за допомогою ключового слова FUNCTION ім'я, а в дужках змінні.Процедура на відміну від функції може повертати в програму одне, декілька або не повертати жодного значення. В заголовку після ключового слова PROCEDURE ім'я, а в дужках змінні зі своїми описами.Індивідуальне завдання.Скласти програму на мові Pascal розв'язку даної задачі та виконання її на ЕОМ. Передбачивши виведення на очищений екран результатів обчислень, супроводивши їх необхідними поясненнями.Задача 1.Дано масив С(5,4) . Зформувати новий масив К, кожний елемент якого дорівнює відповідному елементу масива С, поділеному на факторіал суми його індексів. Надрукувати масив К по рядках, підрахувавши кількість його елементів, значення яких меньше одиниці.Задача 2.Знайти суму від'ємних елементів та середнє значення додатніх елементів масивів: L (6), B (5), H(7) цілих чисел, використовуючи процедури.Задача 1:program var_1_1;uses crt;var c,k:array [1..5,1..4] of real; i,j:integer; m:byte;function facktorial(x:integer):real;var i:integer; facktorial1:real;begin facktorial1:=1; if i<=1 then facktorial:=1 else begin for i:=1 to x do facktorial1:=facktorial1*i; facktorial:=facktorial1; end;end;begin clrscr; writeln('Введiть елементи масива:');writeln; for i:=1 to 5 do for j:=1 to 4 do begin write('Елемент [',i,',',j,']='); readln(c[i,j]); end; m:=0; clrscr; for i:=1 to 5 do begin for j:=1 to 4 do begin k[i,j]:=c[i,j]/facktorial(i+j); if k[i,j]<1 then m:=m+1; write(k[i,j]:7:5,' '); end; writeln; end;end.РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ :0.50000 0.33333 0.16667 -0.041670.66667 0.12500 -0.01667 0.005560.20833 -0.01667 -0.00417 0.001190.05833 0.01250 0.00417 0.000050.00417 -0.00099 0.00005 0.00000Задача 2:program var_1_2;uses crt;var l:array [1..7] of integer; b:array [1..6] of integer; h:array [1..8] of integer; v:integer; s:real;procedure masiv(var x:array of integer;kol:integer;var vid:integer;var ser:real);var i:integer;begin clrscr; vid:=0; ser:=0; writeln('Введiть елементи масива :'); writeln; for i:=1 to kol do begin write('Елемент x[',i,']=');readln(x[i]); if x[i]<0 then vid:=vid+1 else ser:=ser+x[i]; end; ser:=ser/kol;end;begin masiv(l,6,v,s); writeln('Вiдемних елементiв: ',v); writeln('Середне арифметичне суми додатнiх елементiв: ',s); repeat until keypressed; masiv(b,5,v,s); writeln('Вiдемних елементiв: ',v); writeln('Середне арифметичне суми додатнiх елементiв: ',s); repeat until keypressed; repeat until keypressed; masiv(h,7,v,s); writeln('Вiдемних елементiв: ',v); writeln('Середне арифметичне суми додатнiх елементiв: ',s);end.РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ :Введiть елементи масива :Елемент x[1]=2Елемент x[2]=-2Елемент x[3]=-3Елемент x[4]=5Елемент x[5]=3Елемент x[6]=4Вiдемних елементiв: 2Середне арифметичне суми додатнiх елементiв: 2.33Введiть елементи масива :Елемент x[1]=23Елемент x[2]=-3Елемент x[3]=-4Елемент x[4]=2Елемент x[5]=8Вiдемних елементiв: 2Середне арифметичне суми додатнiх елементiв: 6.60Введiть елементи масива :Елемент x[1]=4Елемент x[2]=5Елемент x[3]=-6Елемент x[4]=3Елемент x[5]=2Елемент x[6]=-7Елемент x[7]=0Вiдемних елементiв: 2Середне арифметичне суми додатнiх елементiв: 2.00 |
РЕКЛАМА
|
|||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
© 2010 |