Сборник материалов по итогам программы профессиональной переподготовки "Теория и методика преподавания предмета "Информатика и ИКТ", 2013
учебно-методический материал по информатике и икт по теме

Лёвкина Надежда Михайловна

Очень важно, когда учебные занятия не проходят даром и силы, потраченные на изучение предмета не уходят в пустую. Здесь представлен всего лишь отрывок методических материалов, который был создан силами обучающихся нашей группы профессиональной переподготовки "Теория и методика преподавания предмета "Информатика и ИКТ" в рамках курса "Теория алгоритмов и программирование".

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

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

 

Скачать:

ВложениеРазмер
Файл zadachi_na_paskal.docx72.98 КБ

Предварительный просмотр:

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

Простая

Сложная

Линейный алгоритм

№1.  Вычислить кинетическую энергию тела массой m, движущегося со скоростью v.

           2

[E=]

Решение:

var E, M, V: real;

 begin

  writeln('введите массу в кг');

  readln (M);

  writeln('введите среднюю скорость в м/с');

  readln (V);

  E:=M*V*V/2;

  writeln (E,' Джоуль');

 end.

№1 Вычислить  площадь и периметр прямоугольника по двум известным сторонам.

[s=ab;   p=2(a+b)]

Решение:

 var a,b: integer;

        s,p: integer;

 begin

  write ('длина прямоугольника   ' );

  read (a);

  write ('ширина прямоугольника ');

  read (b);

  s:=a*b;

  p:=2*(a+b);

  writeln (' периметр треугольника = ' , p) ;

  writeln (' площадь  треугольника = ' , s) ;

 end.

Условный выбор

№2. Дано натуральное число.  Если заданное число четное, вывести чётное число,  иначе – нечётное.

Решение:

  var a: integer;

  res: boolean;

begin

  writeln('введите число');

  readln(a);

  if  a mod 2 = 0 then begin

 writeln ('чётное число') end else begin

  writeln ('нечётное число') end;  

end.

№2. Написать  программу, которая определит, в какой четверти находится точка с координатами (X,Y).

Решение:

var         x,y: integer;

begin

        write('задайте координату х=');

        readln(x);

                write('задайте координату у=');

        readln(y);

        if (x>0) and (y>0) then begin

        writeln('точка находится в I четверти');

        end;

  if (x<0) and (y>0) then begin

        writeln ('точка находится в II четверти');

        end;

  if (x<0) and (y<0) then begin

        writeln('точка находится в III  четверти');

        end;

   if (x>0) and (y<0) then begin

        writeln('точка находится в IV четверти');

        end;

        if ((x=0)and(y=0)) then begin  

  writeln('точка находится в начале координат');

  end else begin

        if ((x=0) or (y=0)) then begin  

  writeln('точка находится на координатных осях');

  end;

         end;

         

         end.

Цикл с параметром

№3. Вывести на экран квадраты  целых чисел из диапазона -5…5. 

Решение:

var a,b: integer;

begin

 for a:=-5 to 5 do begin

      b:=a*a;

 writeln (a, ' в квадрате равно = ' ,b);

end;  

end.

№3. Напишите программу, чтобы она выводила на экран звёздочки

Решение:

var i,j,n: integer;

begin

readln(n);

for i:=1 to n do begin

for j:=1 to n  do begin

write (' ** ');

end;

writeln;

end;

end.

Цикл с условием

 №4.  Составить программу подсчёта количества цифр натурального числа,

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

Решение:

var n, i: integer;

begin

  write ( 'Введите натуральное число: ' );

  readln ( n );

  i:= 0;

  while n > 0 do begin

    n:= n div 10;

    i:= i + 1

  end;

  writeln ( 'Цифр в числе: ', i );

end.

№4.Ученик 5 класса взял книгу в библиотеке объёмом 210 страниц. За сколько дней он прочитает книгу, если в день он будет читать по 15 страниц.

Решение:

var Sn, Sk, S, P: integer;

   Nd: integer;

   begin

   Sn:=0; Sk:=210; p:=15; Nd:=0;

   S:=Sn;

   while Sdo begin

   Nd:= Nd+1;

   S:=S+p;

 

   end;

   writeln (' за ', Nd,' дней ');

   end.

   

Компьютерная графика

№5.  Нарисовать спортивный снаряд для силовых упражнений:  гантель.

 Решение:

Program gant;

uses GraphABC;

Begin

Pen.Color:=ClRed;

Pen.Width:=5;

brush.Color:=clRed;

FillRectangle (200,185,400,215);

circle (180,200,50);

FloodFill (180,200,clred);

circle (420,200,50);

FloodFill (420,200,clred);

End.

   

№5. Нарисовать несколько одинаковых домиков.

Решение:

uses graphabc;

var i, n: integer;

procedure home(x, y: integer);

begin

brush. Color:=clBlue;

pen.color:=clGreen;

Rectangle(x,y,x+100,y+100);

pen.color:=clGray;

brush. Color:=clBlue;

Line(x,y,x+50,y-50);

Line(x+50,y-50,x+100,y);

end;

begin

   writeln ('Введите количество домов');

   readln(n);

   writeln (n);

   

   for i:=1 to n do

   begin

        home(10+120*(i-1), 100);

   end;

     

end.

Вспомогательный алгоритм

         

№6.Составьте программу, при помощи которой можно вычислить значения данной функции при   х=1;

            2

Y=.

Решение:

function fy (x: real):real;

begin

fy:=(2*sqr(cos(x))/sin(x));

end;

var x1, x2, y: real;

begin

x1:=1;

writeln (fy(x1));

x2:=pi/4;

writeln (fy(x2));

end.

№6. Найти площадь полов каждого кабинета, для того чтобы в дальнейшем можно было приобрести линолеум в кабинеты.

Решение:

procedure s (a,b: integer); var c : integer;

begin

// задаем процедуру, которая считает произведение длин стен кабинета

     c:=a*b;

     writeln(a,'м * ', b, ' м =  ', c , ' м2  ');

end;

 var c,  x, y, i, n: integer;

BEGIN

 

 writeln ('введите количество  кабинетов');

 readln(n);

 

  for i:= 1 to n do begin

    writeln ('введите длины стен кабинета');

    readln(x,y);

      s (x,y);

  end;  

   

END.

Линейный массив

№7.Заполнить массив следующими значениями 3, 9, 27,81,  …

Решение:

const n=7;

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

i: integer;

begin

for i:=1 to n do begin

a[i]:= round(power(3,i));

end;

writeln;

for i:=1 to n do begin

writeln (i, '-й элемент =   ',[i]);

end;

end.

№7. Имеется массив M из n произвольных целых чисел. Напечатать, те числа из массива, которые больше предыдущего числа.

Решение:

const n=20;

var M: array[1..n] of integer;

i: integer;

begin

write('наш исходный массив: ');

randomize;

for i:=1 to n do begin

M[i]:=random(100);

write(M[i]:4); end;

writeln;

write('выводимые числа: ');

for i:=1 to n-1 do

if M[i]1] then write(M[i+1]:4);

end.

Операции со строками

№8. Подсчитать, сколько из введённой с клавиатуры строке, букв «с»

Решение:

var k: string; i,counte: integer;

BEGIN

 write('Введите строку: '); readln(k);

 counte := 0;

 for i := 1 to length(k) do begin

   if k[i] = 'с' then begin

     counte := counte + 1;

   end;  

 end;

 writeln(counte,' букв с');

END.

№8. Ввести несколько  строк (в нашем случае 3) и найти  максимальную по длине строку.

Решение:

const n = 3;

var

    Ks: array[1..n] of string;

    i,isd: byte;

begin

    for i:=1 to n do

        readln(Ks[i]);

 

    isd:=1;

    for i:=2 to n do

        if length(Ks[i]) > length(Ks[isd]) then

            isd := i;

     writeln('самая длинная строка: ',Ks[isd]);

    readln;

end.

uses graphabc;

var i, n: integer;

procedure home(x, y: integer);

begin

pen.color:=clRed;

Rectangle(x,y,x+100,y+100);

pen.color:=clGreen;

Line(x,y,x+50,y-50);

Line(x+50,y-50,x+100,y);

end;

begin

   writeln ('Введите количество домов');

   readln(n);

   writeln (n);

   

   for i:=1 to n do

   begin

        home(10+120*(i-1), 100);

   end;

     

end.

Матрицы

№9.Найти в матрице элемент с максимальным значением и обнулить его.

Решение:

const n = 5; m = 5;

 var a: array [1..n,1..m] of integer;

     x,y,xm,ym: integer;

BEGIN

 randomize;

//Заполнение матрица случайными числами

 for y := 1 to m do begin  

   for x := 1 to n do begin

     a[x,y] := random(100);

   end;

  end;

//Вывод матрица

 for y := 1 to m do begin  

   for x := 1 to n do begin

     write(a[x,y]:3);

   end;

   writeln;

 end;

//Поиск максимального элемента

 xm := 1; ym := 1;

 for y := 1 to m do begin  

   for x := 1 to n do begin

     if a[x,y] > a[xm,ym] then begin

       xm := x; ym := y;

     end;

   end;

  end;

//Вывод всех максимальных элементов

 for y := 1 to m do begin  

   for x := 1 to n do begin

     if a[x,y] = a[xm,ym] then begin

        writeln(y,' строка,',x,' столбец');

     end;

   end;

  end;

//Обнуление максимального элемента

 a[xm,ym]:=0;

 //Вывод матрица

 for y := 1 to m do begin  

   for x := 1 to n do begin

     write(a[x,y]:3);

   end;

   writeln;

 end;

END.

№9. Найти сумму минимального и максимального элементов матрицы.

Решение:

const n = 3; m = 3;

 var a: array [1..n,1..m] of integer;

     x,y,xmax,ymax,xmin,ymin,s: integer;

BEGIN

 randomize;

//Заполнение матрица случайными числами

 for y := 1 to m do begin  

   for x := 1 to n do begin

     a[x,y] := random(100);

   end;

  end;

//Вывод матрица

 for y := 1 to m do begin  

   for x := 1 to n do begin

     write(a[x,y]:3);

   end;

   writeln;

 end;

//Поиск минимального элемента

 xmin := 1; ymin := 1;

 for y := 1 to m do begin  

   for x := 1 to n do begin

     if a[x,y] < a[xmin,ymin] then begin

       xmin := x; ymin := y;

     end;

   end;

  end;

  //Поиск максимального элемента

 xmax := 1; ymax := 1;

 for y := 1 to m do begin  

   for x := 1 to n do begin

     if a[x,y] > a[xmax,ymax] then begin

       xmax := x; ymax := y;

     end;

   end;

  end;

//Вывод всех минимального элементов

 for y := 1 to m do begin  

   for x := 1 to n do begin

     if a[x,y] = a[xmin,ymin] then begin

        writeln(y,' строка,',x,' столбец');

     end;

   end;

  end;

 //Вывод всех максимальных элементов

 for y := 1 to m do begin  

   for x := 1 to n do begin

     if a[x,y] = a[xmax,ymax] then begin

        writeln(y,' строка,',x,' столбец');

     end;

   end;

  end;  

//Сумма мах и  мин элементов матрицы

s:= a[xmax,ymax]+a[xmin,ymin];

writeln ('сумма = ',s );

END.


По теме: методические разработки, презентации и конспекты

РАБОЧАЯ ПРОГРАММА ПРОФЕССИОНАЛЬНОГО МОДУЛЯ ПМ 01. ПРЕПОДАВАНИЕ В ОБЛАСТИ ИЗОБРАЗИТЕЛЬНОЙ ДЕЯТЕЛЬНОСТИ И ДЕКОРАТИВНО - ПРИКЛАДНОГО ИСКУССТВА ДЛЯ СПО 44.02.03

Программа предназначена для специальности СПО " Педагогика дополнительного образования в области ИЗО и ДПИ". В программу входят дисциплины: МДК " Рисунок",  МДК "Живопись", МДК " ДПИ", МДК "Метод...

Зачетная работа слушателя курсов повышения квалификации по дополнительной профессиональной образовательной программе «Теория и методика преподавания иностранного языка в контексте реализации ФГОС ООО и СОО» (Срок обучения: 19.11.2018 – 04.12.2018)

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

Программа профессиональной переподготовки "Методика преподавания английского языка в начальной школе"

Программа профессиональной переподготовки "Методика преподавания английского языка в начальной школе"...

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

19 и 20 июля 2021 года пройдет серия семинаров, посвященных профессиональному обсуждению разработанных методик преподавания общеобразовательных учебных дисциплин («Русский язык», «Ли...

Дополнительная профессиональная программа (профессиональная переподготовка) «История: теория и методика преподавания в образовательной организации» ДНЕВНИК

Дополнительная профессиональная программа (профессиональная переподготовка) «История: теория и методика преподавания в образовательной организации» ДНЕВНИК ...

Рабочая учебная программа для учителей истории «Методика преподавания истории в УКП при УФСИН в условиях реализации ФГОС»

Рабочая учебная программа для учителей истории «Методика преподавания истории в УКП при УФСИН в условиях реализации ФГОС»...