понедельник, 14 мая 2012 г.

Урок 28. Подготовка к итоговому зачету

1. Задание без использования компьютера
а) Истинным или ложным является  значение выражения:
not (a<15) or not (b<30), если а=10, b=20?

б) Какими будут значения j, k после выполнения условного оператора:
if j>k then j:=k-2 else k:=k-2;
если исходные значения переменных равны j=3, k=5?

в) Сколько раз будет выполнено тело цикла for?
for i:=12 downto 7 do

г) Чему будет равно значение переменно s после выполнения программы:
var s, i: integer
begin
s:=1;
for i:=12 to 13 do
s:=s*i;
s:=2*s;
end.

2. Рассмотреть решение домашнего задания
В рамках подготовки к итоговому зачету необходимо было выполнить следующие задания:
Boolean20 (стр. 18); Boolean33 (стр. 19); If19 (стр. 21); For19 (стр. 26).

3. Программирование по теме (повторение)
Напишите программы для решения следующих задач:
  1. Дан одномерный массив длиной 10. Заполните его случайными числами в диапазоне от 15 до 20, включая крайние числа. Упорядочите массив по возрастанию.
  2. Дана матрица размера 10х15. Найдите максимальный элемент матрицы (последний из максимальных, если их несколько, матрицу просматриваем по строкам), номер строки и столбца этого элемента.
4. Домашнее задание 
В рамках подготовки к итоговому зачету выполните следующие задания: Begin40; Integer12; Array30.
21 мая - итоговый зачет. Он будет состоять из двух частей: тест на знание языка Pascal (строковая запись выражений, операции div  и mod, ветвления, сложные условия, цикл for, одномерные массивы и матрицы) и программирование задач из электронного учебника (2 задачи разного  уровня сложности по билетам). Все заготовки на рабочем компьютере необходимо удалить, записями и интернетом пользоваться нельзя.

суббота, 5 мая 2012 г.

Урок 27. Диагонали квадратной матрицы (продолжение)

1. Задание без использования компьютера 
а) Дана квадратная матрица, размера 4х4 (m=4). Определите, как будет выглядеть эта матрица после выполнения фрагмента программы. 
for i:=1 to m do
  for j:=1 to  m  do
    A[i,j] := 0 ;
for i:=1 to m do
  for j:=2*i to  m  do
    A[i,j] := 1 ;
б) Дана квадратная матрица, размера 4х4 (m=4). Чему будет равно значение переменной s после выполнения фрагмента программы?

for i:=1 to m do
  for j:=1 to  m  do
    A[i,j] := i ;
s:=0;
 for i:=1 to m do
  for j:=1 to  m  do
    s:= s+A[i,j];
writeln(s);

в)Дана квадратная матрица, размера 4х4 (m=4). Чему будет равно значение переменной s после выполнения фрагмента программы?

for i:=1 to m do
  for j:=1 to  m  do
    A[i,j] := i ;

for i:=1 to m do
 begin
 s:=0;
   for j:=1 to  m do
    s:= s+A[i,j];
 end;
writeln(s);

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

3. Программирование по теме (повторение)
Напишите программы для решения следующих задач:
  1. Задайте одномерный массив длиной 10. Заполните его четными числами от 2 до 20 и выведите в столбик.
  2. Найдите в одномерном массиве длиной 8 минимальный элемент (последний из минимальных, если он не один) и его номер. Массив заполните случайными числами в диапазоне от -5 до 10 включительно.
  3. Задайте квадратную матрицу размера 5х5 и заполните ее по следующему алгоритму: на главной диагонали 1, выше и ниже параллельно главной диагонали  2, затем 3, 4 и 5.
4. Домашнее задание
В рамках подготовки к итоговому зачету выполните следующие задания:
Boolean20Boolean33If19For19.

воскресенье, 22 апреля 2012 г.

Урок 26. Диагонали квадратной матрицы

1. Устный практикум 
Определите, как будет выглядеть матрица, после заполнения ее по следующему алгоритму:
а) const n=4;m=4;
var i,j: integer;
a: array[1..m,1..n] of integer;
begin
for i:=1 to m do
  for j:=1 to n do
    A[i,j] := 0 ;
...
b) const n=4;m=4;
var i,j: integer;
a: array[1..m,1..n] of integer;
begin
for i:=1 to m do
  for j:=1 to n do
    A[i,j] := i ;
...
c) const n=4;m=4;
var i,j: integer;
a: array[1..m,1..n] of integer;
begin
for i:=1 to m do
  for j:=1 to n do
    A[i,j] := i+j ;
...
Изначально, квадратная матрица 4х4 заполнена нулями. Как изменится матрица после выполнения следующих фрагментов программы:
а)for i:=1 to m do
  for j:=i to n do
    A[i,j] := 1 ;


b)for i:=1 to m do
  for j:=i to i do
    A[i,j] := 1 ;
2. Проверка ДЗ

3. Программирование по теме
Выполните следующие задания:
  • matrix80;
  • matrix81 (самостоятельно);
  • matrix82.
4. Домашнее задание
Решить задачу: в квадратной матрице посчитать сумму элементов на главной диагонали и всех диагоналях, параллельных ей, расположенных выше главной.

воскресенье, 15 апреля 2012 г.

Урок 25. Преобразование матрицы

1. Домашнее задание
Решение задачи natrix32:
const n=3;m=4;
var i,j,np,no,ni: integer;
a: array[1..m,1..n] of integer;
begin
for i:=1 to m do
  for j:=1 to n do
    A[i,j] := random(10)-5 ;
writeln('Исходный массив:');
for i:=1 to m do begin
  for j:=1 to n do
  write ( A[i,j]:5 );
  writeln;
end;
for i:=1 to m do
  begin
  no:= 0;np:= 0;
   for j:=1 to n do begin
     if A[i,j]<0 then no:= no+1;
     if A[i,j]>0 then np:= np+1; end;
  if no=np then begin ni:=i; break end;
  end;
writeln('Номер первой строки, содержащей равное количество положитедльных и отрицательных элементов: ',ni);
end.


 Решение задачи natrix43:
const n=5;m=3;
var i,j,up,u: integer;
a: array[1..m,1..n] of integer;
begin
for i:=1 to m do
  for j:=1 to n do
    A[i,j] := random(5) ;
writeln('Исходный массив:');
for i:=1 to m do
  begin
   for j:=1 to n do
    write ( A[i,j]:5 );
  writeln;
 end;
up:=0;
for j:=1 to n do
  begin
  u:= 1;
   for i:=1 to m-1 do if A[i+1,j]>A[i,j] then u:= 0;
  up:=up+u;
  end;
writeln('Количество упрорядоченных по убыванию столбцов: ',up);
end.


2. Преобразование матрицы
Решить следующие задачи:

  • matrix47;
  • matrix48 (самостоятельно);
  • matrix59.

3. Домашнее задание
Решите следующие задачи: matrix52matrix56.

воскресенье, 8 апреля 2012 г.

Урок 24. Анализ элементов матрицы

1. Рассмотреть решение домашнего задания
Решение задачи matrix20:
const n=5;m=10;
var i,j,k,s,p: integer;
a: array[1..m,1..n] of integer;
begin
writeln('Дана матрица размера MxN и целое число K (1<K<M). Найти произведение элементов каждого столбца данной матрицы.');
for i:=1 to m do
  for j:=1 to n do
    A[i,j] := random(2)+1 ;
writeln('Исходный массив:');
for i:=1 to m do 
begin
  for j:=1 to n do
    write ( A[i,j]:5 );
writeln;
end;
for j:=1 to n do 
begin
p:=1;
  for i:=1 to m do  p:=p*A[i,j];
writeln('Произведение элементов ', i, '-го столбца равно ', p);
end;
end.


Решение задачи matrix23:
const n=3;m=4;
var i,j,k,imax,jmax,max: integer;
a: array[1..m,1..n] of integer;
begin
writeln('Дана матрица размера MxN. Найти минимальный элемент каждой строки');
for i:=1 to m do
  for j:=1 to n do
    A[i,j] := random(10) ;
writeln('Исходный массив:');
for i:=1 to m do
begin
  for j:=1 to n do
    write ( A[i,j]:5 );
writeln;
end;
for i:=1 to m do
begin
max:=A[1,1];imax:=1;jmax:=1;
 for j:=1 to n do  if A[i,j]<max then 
     begin max:= A[i,j];imax:=i;jmax:=j end;
writeln('Минимальный элемент ',i,' строки: ','А[', imax, ';', jmax,']=',A[imax,jmax]);
end;
end.

2. Решение упражнений по теме
Выполните следующие задания:
  • matrix25,
  • matrix26 (самостоятельно),
  • matrix30,
  • matrix31  (самостоятельно).


3. Домашнее задание
Решите задачи matrix32, matrix43.

воскресенье, 1 апреля 2012 г.

Урок 23. Двумерные массивы

1. Понятие двумерного массива
Двумерный массив (матрица) - это прямоугольная таблица чисел (или данных другого типа), в которой каждый элемент имеет два индекса (номер строки и номер столбца).
2. Задание двумерного массива. Вывод на печать
Объявление двумерного массива:
const N = 3;
      M = 4;
var A: array[1..N,1..M] of integer;
    B: array[-3..0,-8..M] of integer;
Ввод с клавиатуры:
for i:=1 to N do
  for j:=1 to M do begin
    write('A[',i,',',j,']=');
    read ( A[i,j] );
  end;
Заполнение случайными числами:
for i:=1 to N do
  for j:=1 to M do
    A[i,j] := random(25) - 10;
Вывод на экран:
for i:=1 to N do begin
  for j:=1 to M do 
  write ( A[i,j]:5 );
  writeln; 
end;
3. Решение упражнений
Напишите программу для решения следующих задач (стр. 65): matrix17 matrix18 (самостоятельно), matrix19 (доработать 17).
Напишите программу по поиску первого среди максимальных элементов матрицы.

4. Домашнее задание
Напишите программу для решения следующих задач: matrix20matrix23.

воскресенье, 18 марта 2012 г.

Урок 22. Множество точек на плоскости

1 . Рассмотреть решения ДЗ
Проверить решение задачи array115.


2. Решение задач на тему "Множество точек на плоскости"
Для хранения данных о каждом наборе точек следует использовать по два массива: первый массив для хранения абсцисс, второй — для хранения ординат.


  • Вместе написать программу для решения задачи  array131 (стр. 62). Проверить ее работу на примере данной таблицы:

  • Задачу array132 решаем самостоятельно. Решение задачи может быть проверено на тех же данных.
А для такого набора искомой точки нет:
  • Задача array134 (вместе). Для проверки нарисовать координатную плоскость и расставить точки. Если использовать первую таблицу, то наиболее удаленные друг от друга будут точки: (-3; 3) и (5; 3).
  • Задача array137 (вместе). Для проверки нарисовать координатную плоскость и расставить точки. Если использовать  первую  таблицу, то наиболее удаленные друг от друга будут точки: (-3; 3), (4;0) и (5; 3). 
3 . Итоги четверти
Лучшей по итогам четверти с результатом 590 баллов стала Богданова Алина.