46043 (Розробка та виконання програм на мові pascal.)

2016-07-31СтудИзба

Описание файла

Документ из архива "Розробка та виконання програм на мові pascal.", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46043"

Текст из документа "46043"

Заняття №3.

Розробка та виконання програм на мові Pascal.

Мета: систематизація знань, формування вмінь і навичок, розробки та виконання на ЕОМ найпростіших програм на мові Pascal.

Теоретичні відомості.

Програма на мові Pascal складається:

  • розділ оголошень;

  • розділ текстів процедур і функцій;

  • розділ основного блоку.

Розділ оголошень

program заголовок програми:

{ $…} глобальні директиви компілятора:

uses підключаємі бібліотеки:

label розділ оголошення глобальних міток:

const розділ оголошення глобальних констант:

type розділ оголошення глобальних типів:

var розділ оголошення глобальних змінних:

Розділ текстів процедур і функцій

procedure (function)

label розділ оголошення локальних міток:

const розділ оголошення локальних констант:

type розділ оголошення локальних типів:

var розділ оголошення локальних змінних:

begin основний блок процедури або функції:

end;

Розділ основного блоку програми.

begin основний блок програми:

end.

Програми діляться на прості(лінійні), розгалужені та циклічні. В простих програмах відсутні будь-які перевірки умов та використовуються лінійні оператори. В розгалужених можуть бути оператори умовного та безумовного переходу.

Умовні:

скорочена форма IF умова THEN опер.

повна форма IF умова THEN опер.1 ELSE опер. 2

Оператор безумовного переходу – GOTO «мітка».

Оператор множинного вибору:

CASE вираз OF

мітка1: опер. 1;

мітка2: опер. 2;

END;

Розрізняють три способи організації циклів:

  1. цикл з параметром (FOR .. TO .. DO);

  1. цикл з післяумовою(REPEAT UNTIL);

  1. цикл з передумовою(WHILE .. DO).

Індивідуальне завдання.

Варіант №3.

Скласти та виконати на ЕОМ програми розв’язування слідуючих задач:

Задача 1.

Обчислити та вивести на очищений екран з К-ї позиції L-го рядка в форматованому вигляді значення вихідних даних та результатів обчислення виразу:


Обчислити значення виразу на ЕОМ для значень:

A=-6, b=6.4, c=8.85, k=20, l=10

Задача 2.

Обчислити значення даної функції, використовуючи оператори IF_THEN, IF_THEN_ELSE (два варіанти програми):

В иконати для: a=-2.3, b=-8, t1=-4.5, t2=1.2*10-3, t3=4.3

Задача 3.

Обчислити та вивести на екран в стовпчик таблицю значень функції:

Для значень Х із проміжку Х=[-3,5] з кроком h=1.2

С класти програми, використавши всі структури циклів.

Задача 1:

program zanattia3;

uses crt;

const

k=20;

l=10;

a=-6;

b=6.4;

c=8.85;

var

f:real;

begin

clrscr;

f:=(exp(a)+2*ln(b+c))/(arctan(b))+a*b;

gotoxy(k,l);

textcolor(2);

write('Вiдповiдь : ');

textcolor(3);

write(f:7:5);

textcolor(14);

write(' при а=-6, в=6.4, с=8.85');

end.

Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И :

______________________________________________________________________________

Вiдповiдь : -34.54943 при а=-6, в=6.4, с=8.85

______________________________________________________________________________

Задача 2:

program zanattia3_variant1;

uses crt;

const

a=-2.3;

b=-8;

t1=-4.5;

t2=1.2e-3;

t3=4.3;

var

y,t:real;

function obch(t:real):real;

begin

if t>3 then obch:=exp(t)/ln(t);

if t<-3 then obch:=exp(a)+a*b;

if ((t=-3)) then obch:=sin(t)/cos(t)+sqrt(a*b+b);

end;

begin

clrscr;

t:=t1;

y:=obch(t);

writeln('при t=',t:7:3,' вiдповiдь : ',y:7:3);

t:=t2;

y:=obch(t);

writeln('при t=',t:7:3,' вiдповiдь : ',y:7:3);

t:=t3;

y:=obch(t);

writeln('при t=',t:7:3,' вiдповiдь : ',y:7:3);

end.

Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И :

______________________________________________________________________________

при t= -4.500 вiдповiдь : 18.500

при t= 0.001 вiдповiдь : 3.226

при t= 4.300 вiдповiдь : 50.527

______________________________________________________________________________

program zanattia3_variant2;

uses crt;

const

a=-2.3;

b=-8;

t1=-4.5;

t2=1.2e-3;

t3=4.3;

var

y,t:real;

function obch(t:real):real;

begin

if t>3 then obch:=exp(t)/ln(t) else

if t<-3 then obch:=exp(a)+a*b else obch:=sin(t)/cos(t)+sqrt(a*b+b);

end;

begin

clrscr;

t:=t1;

y:=obch(t);

writeln('при t=',t:7:3,' вiдповiдь : ',y:7:3);

t:=t2;

y:=obch(t);

writeln('при t=',t:7:3,' вiдповiдь : ',y:7:3);

t:=t3;

y:=obch(t);

writeln('при t=',t:7:3,' вiдповiдь : ',y:7:3);

end.

Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И :

______________________________________________________________________________

при t= -4.500 вiдповiдь : 18.500

при t= 0.001 вiдповiдь : 3.226

при t= 4.300 вiдповiдь : 50.527

______________________________________________________________________________

Задача 3:

program zanattia3_variant1;

uses crt;

var

y:real;

x:real;

h:real;

begin

clrscr;

x:=-3;

h:=1.2;

repeat

y:=2*sqr(x-1)+3;

writeln(' y=',y:7:5,' при x=',x:7:5);

x:=x+h;

until x>5;

end.

Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И :

______________________________________________________________________________

y=35.00000 при x=-3.00000

y=18.68000 при x=-1.80000

y=8.12000 при x=-0.60000

y=3.32000 при x=0.60000

y=4.28000 при x=1.80000

y=11.00000 при x=3.00000

y=23.48000 при x=4.20000

______________________________________________________________________________

program zanattia3_variant2;

uses crt;

var

y:real;

x:real;

h:real;

begin

clrscr;

x:=-3;

h:=1.2;

while x<5 do begin

y:=2*sqr(x-1)+3;

writeln(' y=',y:7:5,' при x=',x:7:5);

x:=x+h;

end;

end.

Р Е З У Л Ь Т А Т И Р О Б О Т И П Р О Г Р А М И :

______________________________________________________________________________

y=35.00000 при x=-3.00000

y=18.68000 при x=-1.80000

y=8.12000 при x=-0.60000

y=3.32000 при x=0.60000

y=4.28000 при x=1.80000

y=11.00000 при x=3.00000

y=23.48000 при x=4.20000

Висновок: закріпив основні навички роботи з усіми видами циклів, умов, рівнянь та математичнимх функцій в Torbo Pascal, виконав всі завдання по розробці програм з циклами та розгалудженнями, які надає мова Pascal.

Заняття №4.

Робота з масивами.

Мета: систематизація та поглиблення знань, формування вмінь і навичок, розробки програм обробки масивів.

Теоретичні відомості.

Масив – це структурний тип даних, який складається із фіксованого числа елементів одного типу. Для звернення до елемента масиву необхідно вказати в квадратних дужках порядковий номер елемента А[4]. При описі масиву необхідно вказати його ім’я, вказати, в яких границях здійснюється нумерація елементів, вказавши початкове і кінцеве значення індексів, вказати також тип елементів.

Двовимірний масив – це прямокутна таблиця, яка складається із m рядків та n стовпців. Опис двовимірного масива можна здійснити задавши тип масиву або безпосередньо змінну типу масив.

Індивідуальне завдання.

Варіант №15.

Скласти програму на мові 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]

for i:=1 to 6 do begin

for 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 3

4 5 6 7

3 3 3 32

2 -6 -5 4

-7 3 2 0

2 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]

max1:=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 begin

for j:=1 to 5 do write(a[i,j],' ');

writeln;

end;

end.

Р Е З У Л Ь Т А Т И О Б Ч И С Л Е Н Ь П Р О Г Р А М И :

Вихiдний масив:

1 2 3 4 5

6 7 8 9 2

5 3 -3 -6 2

11 4 -7 3 2

8 9 2 2 3

Перетворений масив:

1 2 3 4 5

6 7 8 9 2

5 3 -3 -6 2

-7 4 11 3 2

8 9 2 2 3

Висновок: на практичній роботі я систематизував знання, вміння та навички по роботі з масивами, як двомірними, так і одномірними, навчився працювати з матрицями та операціями з ними.

Заняття №5.

Складання програм з використанням процедур та функцій.

Мета: систематизація та поглиблення знань, вмінь і навичок, розробки програм з використанням процедур та функцій.

Теоретичні відомості.

Підпрограма – це пойменована, логічно закінчена група операторів, яку можна викликати для виконання довільну кількість разів з різних місць програми.

В мові Pascal в ролі підпрограм використовуються процедури і функції. Функція представляє собою групу операторів, в результаті виконання яких обчислюється одне значення, що присвоюється значенню функції.

Опис функції здійснюється за допомогою ключового слова FUNCTION ім’я, а в дужках змінні.

Процедура на відміну від функції може повертати в програму одне, декілька або не повертати жодного значення. В заголовку після ключового слова PROCEDURE ім’я, а в дужках змінні зі своїми описами.

Індивідуальне завдання.

Варіант №13.

Скласти програму на мові 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.04167

0.66667 0.12500 -0.01667 0.00556

0.20833 -0.01667 -0.00417 0.00119

0.05833 0.01250 0.00417 0.00005

0.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

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее