Составить программу вычисления функции паскаль

Моя пятая лабораторная работа по программированию на Pascal.

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

— проверка знаний по организации и использованию процедур и функций, понимание способов передачи параметров;

— знакомство с сообщениями транслятора при обнаружении ошибок в описаниях и/или обращениях к процедурам и функциям;

— знакомство с некоторыми видами ошибок при описании и вызове процедур, тренировка умения поиска и устранения ошибок (отлад­ка);

— получение практических навыков по программированию с использованием процедур и функций.

Delphi/Pascal
program Test6A ;
A , B , T , P , I : integer ;
M : array [ 1..2 ] of integer ;
procedure P1 ;
T := A ; A := B ; B := T end ;
procedure P2 ;
var T : integer ;
T := A ; A := B ; B := T end ;
procedure P3 ( X , Y : integer ) ;
T := X ; X := Y ; Y := T end ;
procedure P4 ( var X , Y : integer ) ;
var T : integer ;
T := X ; X := Y ; Y := T end ;
procedure P5 ( var X , Y : integer ) ;
var T : integer ;
function Kv ( var A : integer ) : integer ;
begin Kv := A * A end ;
T := Kv ( X ) ; X := Kv ( Y ) ; Y := T ; end ;

Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов

Write ( ‘Введите целое в интеpвале 1..9: ‘ ) ; Readln ( P ) ; I := 2 ; M [ 1 ] : = 0 ; M [ 2 ] : = 1 ; A := 1 ; B := 2 ; T := 3 ;

3 : P3 ( A , B ) ;
4 : P3 ( A + 1 , B + 2 ) ;
5 : P4 ( A , B ) ;
P4 ( I , M [ I ] ) ; A := I ; B := M [ 1 ] ; T := M [ 2 ] end ;
7 : P5 ( A , B ) ;
8 : P5 ( B , B ) ; end ;
Writeln ( ‘A=’ , A , ‘ B=’ , B , ‘ T=’ , T ) end .
Delphi/Pascal
program Test6b ;
A : integer ;
procedure S ( X , Y : integer ) ;
T := X ; X := Y ; Y := T end ;
A := 1 ; B := 2 ; T := 3 ; S ( B ) ;
writeln ( A : 7 , B : 7 , T : 7 ) end .

По сообщениям компилятора об ошибках была заполнена таблица:

N строки программы N ошибки Текст сообщения об ошибке Классификация ошибки и причина возникновения
На английском языке На русском языке
7 3 Unknown identifier Неизвестный идентификатор Переменная T не была объявлена
9 36 BEGIN expected BEGIN пропущено BEGIN пропущено
10 87 “,” expexted. «,» пропущена Пропущена запятая и переменная

При устранении логических ошибок была составлена таблица:

Читайте также:
Какие программы для видеозвонков
Результаты выполнения после устранения ошибок
синтаксических семантических побочного эффекта
A B T A B T A B T
1 2 1 2 1 1 2 1 3

Программа для вычисления площади кольца с использованием подпрограммы / Pascal ABC

Источник: urvanov.ru

ПРАКТИЧЕСКАЯ РАБОТА Наименование работы: «Разработка и программирование задач с использованием подпрограмм процедур и подпрограмм функций

ПРАКТИЧЕСКАЯ РАБОТА Наименование работы: «Разработка и программирование задач с использованием подпрограмм процедур и подпрограмм функций

Шумская Лариса

Составим программу вычисления степени числа а на языке программирования Паскаль АВС:

Program STEPEN;

Var p,a,n,i:integer;

for i:=1 to n do p:=p*a;

write (‘степень числа а = ’, р);

В практике программирования часто складываются ситуации, когда одну и ту же группу операторов, реализующих определенную цель, требуется повторить без изменений в нескольких местах программы. Для избавления от столь нерациональной траты времени было предложено использовать подпрограммы.

Подпрограмма – именованная, логически законченная группа операторов языка, которую можно вызвать для выполнения любое количество раз из различных мест программы. В языке Паскаль АВС существует 2 вида подпрограмм: процедуры и функции.

Главное отличие процедур от функций заключается в том, что результатом последних является одно единственное значение.

Procedure a17 (a:real; b,c:real; var x1,x2:real: var k:integer);

Формальные параметры отделяются точкой с запятой. После заголовка идут разделы описаний (констант, типов, переменных, процедур и функций, используемых в процедуре) и операторы языка Паскаль АВС, реализующие алгоритм процедуры. Формальные параметры нельзя описывать в разделе описания процедуры.

Для обращения к процедуре необходимо использовать оператор вызова процедуры. Он имеет вид:

STEPEN ( b , m , j , h );

Фактические параметры в списке отделяются друг от друга запятой. Механизм применения формальных – фактических параметров обеспечивает замену формальных параметров фактическими, что позволяет выполнять процедуру с различными данными. Между фактическими параметрами в операторе вызова процедуры и формальными параметрами в заголовке процедуры устанавливается взаимно однозначное соответствие.

Количество, типы и порядок следования формальных и фактических параметров должны совпадать.

Читайте также:
Как запустить свою программу в powershell

Пример использования процедуры в программе приведен ниже:

Program PROCED1;

Var b, m, j, h:integer;

Procedure s (a,n,i:integer; var p:integer);

for i:=1 to n do p:=p*a;

write (‘степень числа b = ’, h );

Функции. В Турбо Паскале есть стандартные функции ( sin , ln , exp . . .), кроме них программист может воспользоваться собственными функциями, предварительно описав их в программе.

Формат описания функции:

Обращение к функции осуществляется по имени с указанием списка фактических параметров. Количество, типы и порядок следования формальных и фактических параметров должны совпадать:

Пример описания функций : function tan (x:real):real;

function max (x,y:real):real;

ПОРЯДОК ВЫПОЛНЕНИЯ ЗАДАНИЯ НА КОМПЬЮТЕРЕ.

1. Запустить среду программирования Паскаль АВС, щелкнув 2 раза ЛКМ на ярлыке.

2. В окне редактора введите текст программы PROCED 1.

3. Сохранить текст программы, для добавиться автоматически.

4. Выполнить компилирование. Если в программе есть ошибки, то появится сообщение об ошибке, код ошибки, а текстовый курсор покажет место ошибки.

5. Запустить программу на выполнение, для чего выбрать команду Run – Run (или нажать одновременно клавиши Ctrl и F 9).

Откроется пользовательский экран в котором нужно ввести исходные данные:

1). B = 2; 2). B = 5; 3). B = 12.

Для возврата к окну с текстом программы используется клавиша Esc .

6. Показать результат выполнения программы преподавателю, записать результат в тетрадь.

Задача 2: составить процедуру (подпрограмму) вычисления суммы двух чисел a и b :

c = a + b , где а, b , c – вещественные числа.

Составим на языке программирования Паскаль АВС программу вычисления суммы двух чисел с использованием процедуры:

Program PROCED2;

Var x,y,z:real;

Procedure SUM(a,b:real;var c:real);

writeln (‘z = ’,z);

ПОРЯДОК ВЫПОЛНЕНИЯ ЗАДАНИЯ НА КОМПЬЮТЕРЕ.

1. Запустить среду программирования Паскаль АВС, щелкнув 2 раза ЛКМ на ярлыке.

2. В окне редактора введите текст программы PROCED 1.

Читайте также:
Как установить программу basic

3. Сохранить текст программы, для добавиться автоматически.

4. Выполнить компилирование. Если в программе есть ошибки, то появится сообщение об ошибке, код ошибки, а текстовый курсор покажет место ошибки.

5. Запустить программу на выполнение, для чего выбрать команду Run – Run (или нажать одновременно клавиши Ctrl и F 9).

Откроется пользовательский экран в котором нужно ввести исходные данные:

х = 457; y = 525.

Для возврата к окну с текстом программы используется клавиша Esc .

6. Показать результат выполнения программы преподавателю, записать результат в тетрадь.

Задача 3: разработать на языке программирования Паскаль АВС функцию вычисления суммы двух чисел a и b :

c = a + b , где а, b , c – вещественные числа.

Составим программу вычисления функции суммирования двух чисел на языке программирования Паскаль АВС:

Program FUNC1;

Function SUM(a,b:real):real;

Источник: znanio.ru

Составить программу вычисления функции паскаль

Используя обращение к подпрограмме r=q^2+s^2+x^2 написать программу вычисления функции Z=sqrt(sqr(a)+sqr(b)+sqr(c))/ (кубический корень)exp (ln (sqr(n)+sqr(m)+sqr(k)) / 3).Определить в программе формальные и фактические параметры.

М-да, вообще-то обычно подобные запросы, свидетельствующие лишь об абсолютном лоботрясничании в течение семестра и о неудосуживании разобраться со структурой паскалевских подпрограмм, я оставляю без внимания, но , так что держите:

Var a,b,c,Z:Real; Function R(q,s,x:real):Real; begin R:=q*q+s*s+x*x; end; Begin Write(‘a= ‘); Readln(a); Write(‘b= ‘); Readln(b); Write(‘c= ‘); Readln(c); Z:=Sqrt(R(a,b,c))/Exp(Ln(R(a,b,c))/3); Writeln(‘Z= ‘,Z:0:5); Readln End.

Источник: www.tehnari.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru