Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Поступление на высшее / ИТ / Metodichka_kursy_60ch.doc
Скачиваний:
26
Добавлен:
04.01.2020
Размер:
5.04 Mб
Скачать

Раздел 4. Основы алгоритмизации и программирования Теоретические сведения

Алгоритм – это описание последовательности действий, строгое исполнение которых приводит к решению поставленной задачи. В настоящее время существует всего три базовых алгоритмических конструкции: следование (линейный алгоритм); ветвление (разветвляющийся алгоритм); повторение (циклический алгоритм).

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

Существуют следующие способы записи алгоритма: словесный, блок-схема, программа.

Программа, записанная на языке Паскаль, начинается заголовком Program, за которым следует имя программы, и заканчивается служебным словом end. Между этими словами располагаются два раздела программы: раздел описания данных и раздел описания действий. Действие называется оператором. Раздел операторов начинается служебным словом begin. Каждое предложение программы заканчивается точкой с запятой. Схематично это выглядит так:

Program <имя программы>;

<раздел описания данных>

begin

<раздел операторов>

end.

Составление и реализация алгоритмов различных типов на языке программирования Pascal. Лабораторная работа Задание 1.

1. Известно, что a=7, b=18, c=9. Чему равен результат вычисления значения логического выражения на языке Pascal:

z:=(a>b) and (a<c);

2. Известно, что a=7, b=18, c=9. Чему равен результат вычисления значения логического выражения на языке Pascal:

z:=(a>b) or (a<c);

3. Известно, что a=7, c=9. Чему равен результат вычисления значения логического выражения на языке Pascal:

z:=not (a<c);

4. Известно, что a=9, b=3, c=15. Чему равен результат вычисления значения логического выражения на языке Pascal:

z:=(a=sqrt(b)) or not(a+b<c);

5. Известно, что a=9, b=3, c=15. Чему равен результат вычисления значения логического выражения на языке Pascal:

z:=(c=a+b) or (a=sqr(b));

6. Известно, что a=56, b=3. Чему равен результат вычисления выражения на языке Pascal: z:=a mod b;

7. Известно, что a=57, b=4. Чему равен результат вычисления выражения на языке Pascal: x:=a div b;

8. Известно, что a=2, b=11. Определите результат выполнения команды ветвления на языке Pascal:

if a<=b then z:=b-2*a else z:=a-2*b;

9. Известно, что x=-0,9. Определите результат выполнения команды ветвления на языке Pascal:

if x<= -1 then z:= -5 else if x>=1 then z:=5 else z:=x;

10. Известно, что operation='%', x=5, y=7. Определите результат выполнения оператора выбора на языке Pascal:

case operation of

'+': z:=x+y;

'-': z:=x-y;

'/': z:= x/y;

'*': z:=x*y

else z:=abs(x-y)/100

end;

11. Чему будет равно значение величины z после выполнения серии операторов на языке Pascal:

a:=1; b:=-4; z:=sqrt(a*a-8+sqr(b));

Задание 2.

1. Запишите оператор цикла for в котором переменная j изменяет значение от 10 до -10 на языке Pascal

2. Определите значение переменной z после выполнения следующих операторов на языке Pascal:

var k : byte; z : real;

z:=1; k:=0; while k<7 do k:=k+1; z:=z+2*k;

3. Определите значение переменной z после выполнения следующих операторов на языке Pascal:

var k : byte; z : real;

begin z:=5; k:=7; while k>7 do begin z:=z+1/k; k:=k-1; end; writeln(z); end.

4. Определите значение переменной z после выполнения следующих операторов на языке Pascal:

var k : byte; z : real;

begin . . . z:=1; k:=4; repeat z:=z+1/k; k:=k-1; until k<=3; . . . end.

5. Определите значение переменной z после выполнения следующих операторов на языке Pascal:

var k, m : byte; z : real;

z:=8; m:=3; for k:=6 to m do z:=z+1/k;

6. Определите значение переменной m после выполнения следующих операторов на языке Pascal:

var i, j, m : integer;

m:= -7; for i:=0 to 20 do for j:=i to 5 do if i = j then m:=m+i;

7. В программе вводится строка символов (цифр и букв). Фрагмент алгоритма на языке Pascal подсчитывает количество цифр в строке. Запишите оператор, который должен быть вставлен на место символов «?».

Var Stroka : string; k,j,n,c : integer;

begin

readln(Stroka); k := 0; for j := 1 to Length (Stroka) do

begin val(Stroka[j], n, c); ??????????????????????end; writeln(k);

end.

8. Что будет выведено на экран монитора в результате выполнения данного фрагмент кода, написанного на языке Pascal:

var i, z: byte; m: array[1..7] of byte:

содержимое массива m: 7, 18, 4, 11, 3, 8, 2.

z:=m[1]; for i:=2 to 6 do if m[i]<z then z:=m[i]; writeln('z=',z);

9. Определите значение переменной k после выполнения следующих операторов на языке Pascal:

var n, m, k : integer;

k:=4; for n:=0 to 20 do for m:=0 downto n do k:=k+1;

10. Дан фрагмент программы на языке Pascal:

k:=9; n:=1; While (A[n]<k) AND (n<=7) Do n:=n+4;

В качестве элементов массива введены числа: 4, 3, 8, 16, 7, 1, 5, 6, 11

Какое значение примет n после исполнения фрагмента программы?

Соседние файлы в папке ИТ