воскресенье, 29 января 2012 г.

Урок 15. Действия с элементами массива

1. Выполните задания
1) Есть ли ошибки в описании и обращении к элементам массива?
2) Чему будет равно A[5] после выполнения программы?
const n=10;
var i,p: integer;
a: array[1..n] of integer;
begin
a[1]:=2;  a[2]:=3;
for  i:=3 to n do  a[i]:=a[i-1]*a[i-2];
writeln ('Сформирован массив:');
for  i:=1 to n do  write(a[i]:8);
end.

2. Рассмотреть решение ДЗ
Решение задачи array3:
const n=10;
var i,a,d: integer;
mas: array[1..n] of integer;
begin
writeln(' Дано целое число N (>1),а так же первый член A и разность D арифметической прогрессии. Сформировать и вывести массив размера N,содержащий N первых членов данной прогрессии: A, A + D, A +2*D, A +3*D...');
writeln('Введите числа А и D: ');
readln(a,d);
mas[1]:=a;
for  i:=2 to n do  begin mas[i]:= mas[i-1]+d; end;
writeln ('Сформирован массив:');
for  i:=1 to n do  write(mas[i]:8);
end.



Решение задачи array6:
const n=10;
var i,a,b,s: integer;
mas: array[1..n] of integer;
begin
writeln(' Даны целые числа N (>2), A и B. Сформировать и вывести целочисленный массив размера N,первый элемент которого равен A, второй равен B,а каждыйпо следующий элемент равен сумме всех предыдущих.');
writeln('Введите числа А и B: ');
readln(a,b);
mas[1]:=a;  mas[2]:=b;  s:=mas[1];
for  i:=3 to n do  begin s:= s+mas[i-1];mas[i]:=s;  end;
writeln ('Сформирован массив:');
for  i:=1 to n do  write(mas[i]:8);
end.

3. Заполнение массива случайными числами. 
Генератор случайных чисел:
Пример заполнения массива целыми числами из диапазона [50, 150):
4. Решение задач
Напишите программы для решения следующих задач:  array8, array18.

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


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

Урок 14. Одномерные массивы

1. Рассмотреть решение ДЗ
Задачи for21.pas:
var i, n: integer;
s,p:real;
begin
writeln('Найти 1/1!+1/2!+... 1/N!');
write('Введите число N: ');
readln(n);
p:=1;
s:=0;
for  i:=1 to n do  begin p:=p*i; s:=s+1/p;   end;
writeln('1/1!+1/2!+... 1/N!=',s:10:4);
end.


Задача for26.pas:
var n,i: integer;
x,s,ai:real;
begin
writeln('Найти X-X^3/3+ X^5/5-...+(-1)^N*X^(2*N+1)/(2*N+1)');
write('Введите число N: ');
readln(n);
write('Введите значение x: ');
readln(x);
ai:=1;
for  i:=1 to n do
begin s:=s+ai;
      ai:=-ai*x*x/(2*i-1)/(2*i+1)
end;
writeln (s:10:4, Arctan(x):10:4);
end.

2. Понятие одномерного массива
Массив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом.
Особенности:
  • все элементы имеют один тип;
  • весь массив имеет одно имя;
  • все элементы расположены в памяти рядом.
3. Объявление массива

Зачем объявлять?
  • определить имя массива;
  • определить тип массива;
  • определить число элементов;
  • выделить место в памяти.

4. Заполнение  массива с клавиатуры и вывод на экран
5. Решение задач из решебника
Стр. 49. Решить задачи: array2,  array5.


6. Домашнее задание
Стр. 49. Решить задачи: array3,  array6.

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

Урок 13. Цикл for (продолжение)

1. Выполните задания с циклом for:

Чему будет равно значение переменно s после выполнения программы?
var s, i: integer;
begin
s:=0;
for i:=1 to 10 do
s:=s+i;
s:=s*10;
end.
2. Рассмотрим решение ДЗ
Решение задачи for19.pas:
var i: integer;
n:real;
begin
writeln('Найти N!');
write('Введите число N: ');
readln(n);
for  i:=1 to trunc(n) do  n:=n*i;
writeln('N!=',n:20:0);
end.


Решение задачи for20.pas:
var i,n: integer;
s,p:real;
begin
writeln('Найти 1!+2!+... N!');
write('Введите число N: ');
readln(n);
p:=1; s:=0;
for  i:=1 to n do  begin p:=p*i; s:=s+p;   end;
writeln('1!+2!+... N!',s:20:0);
end.


Решение задачи for24.pas:
var n,i: integer;
x,s,ai:real;
begin
writeln('Найти X - X^2 /(2!)+ X^4 /(4!)- ... +(-1)^N*X^(2*N)/((2*N)!)');
write('Введите число N: ');
readln(n);
write('Введите значение x: ');
readln(x);
ai:=1;
for  i:=1 to n do
begin
     s:=s+ai;
     ai:=-ai*x*x/(2*i-1)/(2*i)
end;
writeln (s);
end.

3. Решение задач
Напишите самостоятельно программу для решения задачи for25.pas.

4. Домашнее задание
Решите задачи for21.pas, for26.pas.