Практическая работа по информатике

  • docx
  • 31.05.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Практическая работа №93.docx

Практическая работа

Тема: подпрограммы.

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

Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.

Литература:

1. Бабушкин И.А. и др. Практикум по Турбо     Паскалю. Учебное пособие.: М,1998

2. Информатика. 7–9 класс. Базовый курс. Практикум-задачник по моделированию./ Под ред.Н. В. Макаровой. –СПб.: Питер, 2001

3. Лапчик М. П. Вычисления. Алгоритмизация. Программирование: Пособие для учителя. - М.: Просвещение, 1988

4. Основы информатики и вычислительной техники: Проб. учеб. Для 10-11 кл. сред. шк./ А. Г. Гейн, В. Г. Житомирский, Е.В. Линецкий и др. - М. Просвещение, 1992

5. Основы информатики и вычислительной техники: Проб. учеб. пособие для сред. учеб. заведений. В 2 ч./ под ред А.П. Ершова, В.М. Монахова. - М.: Просвещение, 1986

 

Задания:

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

1 вариант.

1. Вычислить значение функции  у=, если A=20,B=60,C=45,D=30.

(Числовые значения углов даны в градусах).

 

2. Вычислить по формуле С=n!m!.

                                                           

3. Вычислить значение выражения .

2 вариант.                                                          

 1. Вычислить значение функции у= , если A=20,B=60,C=45,D=30.

(Числовые значения углов даны в градусах).

                                                           

2. Вычислить по формуле С=.

                                                          

3. Вычислить значение выражения   .

                                                 

Теоретические сведения к практической работе:

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

    Передача данных из основной программы в подпрограмму (входные данные) и возврат результата выполнения подпрограммы осуществляется с помощью параметров.

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

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

Структура процедуры имеет вид :

 

  Procedure  имя(список формальных параметров);

        (*  раздел описаний *)

   begin

        (* раздел операторов *)

   end;

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

Функции

   Заголовок функции состоит из слова Function, за которым указывается имя функции, затем в круглых скобках записывается список формальных параметров, далее ставится двоеточие и указывается тип результата функции.

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

Общий  вид описания функции:

Function Имя[(список формальных параметров)]:Тип результата;

  описательная часть      

     Begin

  тело функции, в которой обязательно должно быть

        присваивание   Имя_функции:=значение;         

      End;

    Формальные  параметры - параметры, определенные в заголовке процедуры.

    Фактические параметры - выражения, задающие конкретные значения при обращении к процедуре.

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

    Фактические параметры - это параметры, которые передаются процедуре при ее вызове.

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

 

 

 

 

 

 

 

 

 

 

program primer1;

var

 a,b,c,d,z,z1,z2,x,y:real;

     procedure w(x,y:real; var w:real);

        begin

           w:=cos(x)+sin(y)+3;

        end;

begin

 writeln(‘задайте a,b,c,d’);

 readln(a,b,c,d);

 x:=a*3.14/180;

 y:=b*3.14/180;

 w(x,y,z1);

 x:=c*3.14/180;

 y:=d*3.14/180;

 w(x,y,z2);

 z2:=sqrt(z2);

 z:=z1/z2;

 write(‘z=‘,z:4:2);

 readln;

end.

 

Тестовый пример

A=20

B=60

C=45

D=30

Z=2.19

 

Пример 2:

Вычислить С=

 

N!=1*2*3*…*N

1!=1

2!=1*2=2

3!=1*2*3=6

4!=1*2*3*4=24

 

program primer2;

var 

  z,z1,z2,c:real;

  k,m,n:integer;

function factorial(k:integer):integer;

  var   i,p:integer;

    begin

       p:=1;

       for i:=1 to k do

         p:=p*i;

         factorial:=p;

    end;

begin

 writeln(‘задайте m’);

 readln(m);

 writeln(‘задайте n’);

 readln(n);

 z:=factorial(n);

 z1:=factorial(m);

 z2:=factorial(n-m);

 c:=z/(z1*z2);

 write(‘c=‘,c:4:2);

 readln;

end.

 

Тестовый пример

m=2

n=5

c=10

Пример3:  Вычислить значение выражения:

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

 

program primer3;

var x,у:real;

function  lg(x:real) :real;    {Функция вычисления десятичного логарифма}

begin

 lg:=ln(x)/ln(10);

end;

function  tg (x: real) : real;         {Функция вычисления тангенса}

begin

 tg:=sin(x)/cos(x);

end;

BEGIN

 writeln('Введите х');

 readln(x);

 y:=lg(sqr(tg(x))+sqr(cos(x)))/sqr(tg(x+sqr(lg(x)))+sqr(sin(x)));

  writeln('y=',y:10:4);

END.

Тестовый пример:

Введите  х

3.4
у=0.0045

 

 

Сделайте вывод по работе.