- •Этапы решения задач с исполь эвм.
- •Понятие алг-ма. Подходы к опред алг-ма. Св-ва алг-ма Способы записи алг-ма.
- •3. Понятие алг-ма. Понятие исполнителя. Системы команд исполнителя.
- •4. Понятие величины. Типы. Присваивание величин. Совместимость.
- •5. Понятие о структурном прог-ии. Др парадигмы прог-ия: сравн-ая хар-ка.
- •6. Языки прог-ия. Алгор-ие языки (алфавит, синтакис, семантика). Способы описания синтаксиса.
- •7. Общая хар-ка Pascal. Система прог-ия Turbo-Pascal.
- •8. Паскаль-программа: структура, эл-ты языка (алфавит). Данные, обраб-ые Паскаль-программой. Понятие типа данных.
- •9. Операции (ариф-ие и лог-ие) на типах. Струк-ые ф-ци. Выражения.
- •10. Процедура ввода и вывода, управ-ие вводом-выводом. Оператор присваивания. Совмес-ть по присваиванию.
- •11. Уловный оператор. Оператор множ-ного ветвления(выбора).
- •12. Цикл с предусловием., с постусловием. Связь с другими циклами.
- •13. Циклы с параметром. Связь с другими циклами.
- •14. Структ-ый тип данных. Линейные массивы. Примеры.
- •15. Структурированный тип данных. Двумерные массивы. Примеры.
- •16.Сортировка массивов. Метод выбора. Двоичный поиск в массиве.
- •17.Сортировка массивов. Метод обменов.
- •18.Сортировка массивов. Метод вставок.
- •19.Подпрограммы в Паскале. Основные способы передачи параметров в подпрограмму, их сравнение.
- •20.Подпрограммы в Паскале. Область видимости. Локальные и глобальные идентификаторы.
- •23. Скалярные типы данных в Pascal. Перечислимый и ограниченный типы.
- •24.Структурированные типы данных Строковый тип данных: основные процедуры и ф-ции
20.Подпрограммы в Паскале. Область видимости. Локальные и глобальные идентификаторы.
Подпрограммы помогают реализовать принцип структурного прог-ия связанный с нисходящим проектированием программы. При обращении к подпрограмме вместо формальных параметров указываются фактические параметры. Список формальных параметров отражает исходные данные и результаты подпрограммы. При обращении к подпрограмме на месте формальных параметров задаются фактические, т.е. это вполне определённые значения величин подлежащих обработки. М/у формальными и фактическими параметрами должны выполнятся следующие соответствия:
по количеству;
по типу: на соответствующих местах должны стоять величины одного и того же типа;
по смыслу: на соответственных местах должны стоять параметры, в которые вкладывается один и тот же смысл.
Все идентификаторы, объявление которых предшествует реализации очередной подпрограммы м/б использованы в ней. Это означает в том числе, что процедуры и функции м/б вызваны данной подпро-ме. Все внешние идентификаторы по отношению к данной подпро-ме являются глобальными, те идентификаторы, которые объявлены внутри подпрограмм являются локальными, т.е. область их действия распространяется лишь на эту подпро-му. Понятие локальный, глобальный является относительным потому, что идентификаторы данной подпро-мы могут выступать в качестве глобальных по отношению к тем подпро-мам, которые реализованы внутри данной. Формальные параметры подпро-мы тоже явл. её локальными параметрами. Глобальные и локальные идентификаторы частично м/б одинаковы, в этом случае в подпро-ме будет использован соответствующий локальный идентификатор. Для того чтобы подпро-мы сохранили cв-во общности, необходимо отказаться от использования глобальных параметров, т.е. всё, что возможно, необходимо локализовать внутри подпрограммы.
21-22. Процедуры. Ф-ции.
Существуют 2 вида подпрограмм: процедуры и ф-ции. Более унив-ым видом явл-ся процедура. Ф-ция м/б преобразована в процедуру. Обратное не верно. Если подпрог-ма возвращает един-ое знач простого или строкового типа, целесообразно ее оформить как ф-цию. В остальных случаях - процедура.
Структура процедуры: procedure идент-тор процедуры (список формальных параметров);
{Раздел описаний} - здесь м/б описаны const, переменные, типы, др. процедуры и ф-ции.
Begin {раздел операторов} - любые операторы Pascal; end. В таком виде она будет записана в разделе описаний. Обращение к процедуре: обращ-ся можно к ней как в осн-ой прог-ме, так и в процедурах и ф-циях, j расположены ниже. Идент-тор процедур (список фактических параметров; формальные параметры задаются с указанием типа, а фактические просто перечис-ся без указания типа). Формальные параметры — это идент-торы входных данных для подпрограммы. Если формальные параметры получают конкретные значения, то они называются фактическими.
Пример процедуры. Используем алг-м нахождения наибольшего общего делителя двух натур-ых чисел в качестве вспом-ого при решении задачи: составить прог-му вычитания дробей (a, b, c, d — натур-ые числа). Результат представить в виде обык-ой несокр-ой дроби.
Program Sub;
Var A, B, C, D, G, E, F: Integer;
Procedure Nod (M, N: Integer; Var K: Integer);
Begin
While M <> N Do
If M > N Then M: = M - N Else N: = N - M;
K:= M
End;
Begin
Write('Вв числ-ли и знам-ли дробей:');
ReadLn(A, B, C, D);
E := A * D - B * C;
F := B * D;
If E = 0 Then WriteLn(E)
Else
Begin
Nod(Abs(E), F, G);
E := E Div G;
F := F Div G;
WriteLn('Ответ: ', E, '/', F)
End
End.
Структура ф-ций:
Function идент-тор ф-ции (список формальных параметров): тип результата;
{раздел описаний};
Begin {раздел операторов}
Идент-тор ф-ции:=выражение
End.
Обращение к ф-ции может встречаться в любом месте, где может присутствовать выр-ие. Ф-ция самостоятельно вызываться не может, как отдельный оператор, она вызы-ся там, где уместно ЛВ.
Пример ф-ции дано условие выше:
program lab21;
var k,i,sc,sz,n:longint;
function pd (m,n:longint):longint;
begin
if m=0 then pd:=n
else begin m:=abs(m);
while m<>n do begin if m>n then m:=m-n
else n:=n-m;
end;end;
pd:=m; end;
begin
writeln('вв. кол. членов');
readln(n);
sc:=1;
sz:=1;
for i:=2 to n do begin
if odd(i) then
sc:=sc*i+sz
else
sc:=sc*i-sz;
sz:=sz*i;
k:=pd(sc,sz);
sc:=sc div k;
sz:=sz div k;
end;
writeln('сумма=',sc,'/',sz);
readln;
end.