Урок обобщения знаний по теме: "Функции  и процедуры в паскале"

Урок 5

 

Цель и задачи урока: Контроль навыков и знаний  построения и использования функций и процедур при решения задач на языке Паскаль.

Задачи:

  • образовательная: Контроль навыков и знаний  учащихся по теме “Функции и процедуры в Паскале” стандартные и пользовательские типы функций;
  • развивающая: развитие приемов умственной деятельности (обобщение, анализ, синтез, сравнение), внимания и восприятие полученной информации;
  • воспитательная: формирование познавательного интереса к программированию, повышение информационной культуру учащихся.

Тип урока: урок закрепления новых знаний.

Оборудование: компьютерный класс, карточки с текстом обобщающей работы

План урока:

ХОД УРОКА

I.                    Организационный момент Приветствие. Проверка отсутствующих.

II.                  Актуализация знаний

a.       Как записать четность – нечетность числа

b.       Как объявляется массив?

c.       Как распечатать свою работу

III.                Выполнение заданий обобщающего урока

a.       Открыть файл  »Контр работа»

b.       Скопировать свой вариант (с шапкой) ; вставить на новую страницу; сохранить свой вариант в своей папке с именем «ТО подпрограммы фамилии»

c.       Пояснение учителя хода выполнения задания( Содержание этого абзаца записать в тетрадь с компьютера( открыв файл «Пояснения к работе»

·         Работу выполняют на компьютере, написав свои ответы после каждого задания

·         Написав программу к 3 заданию, сохранить программу с именем «Топодпр»; закрыть Паскаль; зайти в папку «BIN»; найти свой файл и открыть это свой файл через «Блокнот»копировать текст программы и вставить этот текст в сою основную работу после 3 задания.

·         По окончании – свою работу отправить на принтер по сети

d.       Примечание а работу отводится 2 урока

IV.                Содержание работы

 

 

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ Украины

 

Средняя школа № 122 Московского района г. Харьков

 

обязательная

Контрольная работа

 

По дисциплине

 

«Подпрограммы на языке Pascal»

 

для 11-A класса

Профиль   Физико-математический ”

 

Выполнил(а) _________________________________________

Класс __________

Дата___________________

 

 

 Составлено

преподавателем информатики Баталовой Л.В..

 

1.    Пояснительная записка

 

Контрольная работа составлена по предмету «Язык программирования Pascal» для физико-математического класса. Работа  включает 4 задания, охватывающих раздел «Подпрограммы». Первые два задания проверяют теоретические знания по названному разделу. Учащиеся должны дать определения указанным в заданиях понятиям.

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

Четвёртое задание проверяет умение создавать программы с использованием подпрограмм.

Обязательная контрольная работа содержит 6 вариантов одинаковой степени сложности и рассчитана на два академических часа.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 




Вариант 1

I.        Дать понятие подпрограммы. Виды подпрограмм.

 

II.     Как описывается в основной программе подпрограмма- функция?

 

III.   Составьте условие задачи, программа решения которой представлена вам ниже:

 

program r5;

const n=5;

var  f:array[1..n] of real;  a,b,c,y:real;i:integer;

procedure stat(x:real;var s,min,max:real);

begin

s:=0;min:=f[1];max:=f[1];

for i:=1 to n do

begin

if f[i]<min then  min:=f[i] ;  if f[i]>max then  max:=f[i] ; s:=s+f[i]; end; s:=s/n;  end;

begin

  for i:=1 to n do

  begin

  writeln('soob chisla');   read(f[i]);  end;

  stat(y,a,b,c);

writeln('sr=',a:5:2,'min=',b:5:2,'max=',c:5:2);

  end.

 

  Ответ: Программа находит  миним, мак и среднее арифметическое в одномерном массиве, состоящем из N действительных чисел

 

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

 

Ответ:

Program max_tabl;

const n=3;

var a:array[1..n] of integer; i:integer; s:integer;

function del10(x1:integer):integer;

begin

     if x1 mod 10=0 then   del10:=x1;

     end;

begin

     for i:=1 to n do

     begin

      writeln ('soob choslo');

       readln(a[i]);

       end;

       for i:=1 to n do begin

 s:= del10(a[i]);

 s:=s div 10;

      writeln(s);

      end;

          end.

 

 

 

 

 

Вариант 2

I.  Процедуры и функции. Способы описания и обращения. Параметры: формальные и фактические, локальные и глобальные.

II.     Чем отличается процедура от функции?

III.   Составьте условие задачи, программа решения которой представлена вам ниже:

 

program r5;

const n=4;

var r:array[1..n] of real;

var y:real; a,b,c, s1,s2,s3,s4:real;i:integer;

function stat(x, s,min,max:real):real;

begin

s:=0;

for i:=1 to n do

begin

min:=r[1];max:=r[1];

      if r[i]<min then  min:=r[i] ; if r[i]>max then  max:=r[i] ;

s:=s+r[i];

end;

s:=s/n;

end;

begin

  for i:=1 to n do

  begin

  writeln('soob chisla');

  readln(r[i]);

  end;

     writeln('soob chisla');

  readln(a,b,c);

  stat(r[i],a,b,c);

  writeln;

  writeln('sr=',a,'min=',b,'max=',c);

  end.

 

Ответ: Программа находит среднее арифметическое, мак, мин в массиве

 

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

 

Program tabl;

const n=3;

var a:array[1..n] of integer; i:integer; s:integer;

procedure del(k,x1:integer;var y:integer);

begin   y:=1;

for k:=1 to n do

     if x1 mod 2=0 then 

      y:=y*x1;           end;

     begin

      for i:=1 to n do

     begin

      writeln ('soob choslo');

       readln(a[i]);

       end;

  del(i,a[i],s);     writeln(s);    end.

 



Вариант 3

I.        Что такое подпрограммы?

II.     Что такое локальные и глобальные переменные?

III.   Составьте условие задачи, программа решения которой представлена вам ниже:

 

 Program B;

 var x,y,max,min,p,s,v:real;

 Function D(m,n:real):real;

 begin

 if n>m then D:=n else D:=m; end;

 

begin

writeln('soobwite 4isla x,y:'); readln(x,y);

max:=D(x,y); s:=x+y; S:=sqr(s);              {sqr(max(5,x+y))}

max:=sqr(max);          {sqr(max(x,y))}

min:=sqr(s);            {min(5,x+y)}

p:=2*max;               {2*min(x,y)}

V:=S+max-min+p;         {V:=sqr(max(5,x+y))+sqr(max(x,y))-min(5,x+y)+(2*min(x,y))}

writeln(v:3:2);  writeln(s:3:2); writeln(max:3:2); writeln(min:3:2);

 writeln(p:3:2);

End.

 

 

 

Ответ: Находит значение выражения:

V:=sqr(max(5,x+y))+sqr(max(x,y))-min(5,x+y)+(2*min(x,y))}

 

 

 

IV.  Построить программу с подпрограммой функцией, которая создает массив из N целых чисел и определяет,  подсчитывает количество элементов, больших  3.

 

Program tabl;

const n=3;

var a:array[1..n] of integer; i:integer; s,z:integer;

function tri(k,x1,y:integer):integer;

begin

y:=0;

for k:=1 to n do

if x1>3 then tri:=y+1;

     end;

     begin    s:=0;

     for i:=1 to n do

     begin   writeln ('soob choslo');

       readln(a[i]);

       end;

       z:=tri(i,a[i],s);

 writeln(z);    end.

 

 

 

Вариант 4

I.        Дать понятие подпрограммы

II.     Как вызывается подпрограмма- функция из основной программы?

III.               Составьте условие задачи, программа решения которой представлена вам ниже:

 

program r5;

const n=5;

var  f:array[1..n] of real;  a,b,c,y:real;i:integer;

procedure stat(x:real;var s,min,max:real);

begin

s:=0;min:=f[1];max:=f[1];

for i:=1 to n do

begin

if f[i]<min then  min:=f[i] ;  if f[i]>max then  max:=f[i] ; s:=s+f[i]; end; s:=s/n;  end;

begin

  for i:=1 to n do

  begin

  writeln('soob chisla');   read(f[i]);  end;

  stat(y,a,b,c);

writeln('sr=',a:5:2,'min=',b:5:2,'max=',c:5:2);

  end.

 

  Ответ: Программа находит миним, мак и среднее арифметическое в одномерном массиве, состоящем из N действительных чисел

 

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

Program tabl;

const n=3;

var a:array[1..n] of integer; i:integer; s:integer;

procedure del(k,x1:integer;var y:integer);

begin   y:=0;

for k:=1 to n do

     if x1 mod 2=0 then 

      y:=y+1;           end;

     begin

      for i:=1 to n do

     begin

      writeln ('soob choslo');

       readln(a[i]);

       end;

  del(i,a[i],s);     writeln(s);    end.

 

 

 

 

 



 

Вариант 5

I.        Что такое фактические и формальные параметры?

II.                 Как вызывается подпрограмма- функция из основной программы?

III.               Составьте условие задачи, программа решения которой представлена вам ниже:

 

program r5;

const n=4;

var r:array[1..n] of real;

var y:real; a,b,c, s1,s2,s3,s4:real;i:integer;

function stat(x, s,min,max:real):real;

begin

s:=0;

for i:=1 to n do

begin

min:=r[1];max:=r[1];

      if r[i]<min then  min:=r[i] ; if r[i]>max then  max:=r[i] ;

s:=s+r[i];

end;

s:=s/n;

end;

begin

  for i:=1 to n do

  begin

  writeln('soob chisla');

  readln(r[i]);

  end;

     writeln('soob chisla');

  readln(a,b,c);

  stat(r[i],a,b,c);

  writeln;

  writeln('sr=',a,'min=',b,'max=',c);

  end.

 

Ответ: Программа находит среднее арифметическое, мак, мин в массиве

 

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

Program tabl;

const n=3;

var a:array[1..n] of integer; i:integer; s:integer;

procedure del(k,x1:integer;var y:integer);

begin   y:=0;

for k:=1 to n do

     if x1 mod 2<>0 then 

      y:=y+x1;           end;

     begin

      for i:=1 to n do

     begin

      writeln ('soob choslo');

       readln(a[i]);

       end;

  del(i,a[i],s);     writeln(s);    end.

 

 

Вариант 6

1.               Дать понятие подпрограммы. Виды подпрограмм.

2.                  Как описывается в основной программе подпрограмма- прцедура?

3.               Составьте условие задачи, программа решения которой представлена вам ниже:

 Program B;

 var x,y,max,min,p,s,v:real;

 Function D(m,n:real):real;

 begin

 if n>m then D:=n else D:=m; end;

 

begin

writeln('soobwite 4isla x,y:'); readln(x,y);

max:=D(x,y); s:=x+y; S:=sqr(s);              {sqr(max(5,x+y))}

max:=sqr(max);          {sqr(max(x,y))}

min:=sqr(s);            {min(5,x+y)}

p:=2*max;               {2*min(x,y)}

V:=S+max-min+p;         {V:=sqr(max(5,x+y))+sqr(max(x,y))-min(5,x+y)+(2*min(x,y))}

writeln(v:3:2);  writeln(s:3:2); writeln(max:3:2); writeln(min:3:2);

 writeln(p:3:2);

End.

 

 

Ответ: Находит значение выражения:

V:=sqr(max(5,x+y))+sqr(max(x,y))-min(5,x+y)+(2*min(x,y))}

 

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

Program tabl;

const n=3;

var a:array[1..n] of integer; i:integer; s:integer;

procedure del(k,x1:integer;var y:integer);

begin  

for k:=1 to n do

     if x1 mod 2=0 then    y:=k;    

      end;

     begin

      for i:=1 to n do

     begin

      writeln ('soob choslo');

       readln(a[i]);

       end;

  del(i,a[i],s);     writeln(s);    end.

 

 

 

 

 

 

 

 

 

 


 

Hosted by uCoz