Результаты симметричны относительно главной диагонали:
если Ch[i][j]=2 (победа), то Ch[j][i]=0 (поражение);
если Ch[i][j]=1 (ничья), то Ch[j][i]=1 (ничья);
если Ch[i][j]=0 (поражение), то Ch[j][i]=2 (победа);
Var
Begin
for i:=1 to n do // для каждой команды
for j:=i+1 to n do begin // вводим только элементы над главной диагональю
WriteLn(’Результат игры команды’, i, ’ с командой ’, j);
// заполняем элементы под главной диагональю
End
end;
procedure NameTeam(var Nm: tName);
Nm – список названий команд
Var
Begin
for i:=1 to n do // для каждой команды
ReadLn(Nm[i]) // вводим её название
end;
procedure Vivod (Ch: tChemp; Teams: tName);
Var
Begin
WriteLn (’** Итоговая таблица**’);
WriteLn (’ Команда Очков’);
for i:= 1 to n do
WriteLn(i:2, Teams[i]:30, Ch[i][j]:2);
end;
End.
Модуль 3.
unit obrabotka;
Interface
Синтаксический разбор предложения | Русский язык | TutorOnline
uses op;
procedure ResultKomand(var Ch: tChemp);
procedure SortKomand(var Ch: tChemp; var Teams: tName);
Implementation
procedure ResultKomand(var Ch: tChemp);
Var
Begin
for i:=1 to n do begin // для каждой команды
Ch[i, n+1]:=0; // обнуляем количество очков (очки хранятся в (n+1)-м столбце)
for j:=1 to n do // для каждой игры
Ch [i, n+1]:=Ch [i, n+1]+Ch [i, j] // добавляем результат в очки
end;
end;
procedure SortKomand(var Ch: tChemp; var Teams: tName);
Var
i, j, n_max: integer;
tempGame: integer; // соответствует типу элементов массива tChemp
tempName: string [30]; // соответствует типу элементов массива tName
Begin
for i:=1 to n-1 do begin // для каждой команды, кроме последней
// находим среди оставшихся команду с наибольших количеством очков
for j:=i+1 to n do
if Ch[j, n+1]>Ch[nMax, n+1] then // очков у j-й команды больше, чем у команды nMax
nMax:=j; // запомнили команду с большим результатом
//меняем названия соответствующих команд
tempName:= Teams [i];
Teams [i]:= Teams [nMax];
Teams [nMax]:= tempName;
//меняем результаты игр соответствующих команд
for j:=1 to n+1 do begin
Ch [nMax][j]:= tempGame
End
End
end;
End.
Основная программа.
uses op, vv_viv, obrabotka;
Var
Chemp: tChemp; // результаты
Begin
// ввод исходных данных
ResultKomand(Chemp); // Подсчет количества очков
SortKomand(Chemp, Name); // Сортировка таблицы по столбцу с количеством очков
// Вывод результатов чемпионата
end.
Задания для самостоятельного решения.
Для задач своего варианта лабораторной работы № 7 написать программы с использованием модулей.
Контрольные вопросы:
1. Модуль начинается заголовком, состоящим из зарезервированного слова ________ и имени модуля.
2. Часть программы, рассматриваемая как самостоятельная синтаксическая единица это _____________________________
Синтаксический разбор предложения. Как выполнить синтаксический разбор по членам предложения?
3. Зависимость результата работы модуля от исходных данных, но не от работы других модулей называется
варианты ответов:
1) функциональной завершенностью
2) логической независимостью
3) прочностью модуля
4) структурированностью данных
4. В модульном программировании борьба со сложностью программы осуществляется через
варианты ответов:
1) обеспечение небольшого размера модуля
2) использование небольшого числа команд
3) разбиение на максимальное число модулей
4) обеспечение независимости компонент системы, использование иерархических структур
5. Модуль должен иметь:
варианты ответов:
1) один вход и несколько выходов
2) несколько входов и множество выходов
3) множество входов и множество выходов
4) один вход и один выход
6. Мера внутренних связей модуля характеризует его
варианты ответов:
7. Мера зависимости по данным от других модулей характеризует его
варианты ответов:
8. Если результат обращения к модулю зависит только от значений его параметров, то это характеризует его
варианты ответов:
9. Модуль состоит из
варианты ответов:
1) декларативной части, исполнительной части
2) интерфейсной части, секции реализации, секции инициализации
3) интерфейсной части, секции реализации
4) декларативной части, исполнительной части, секции инициализации
10. Должно ли имя модуля совпадать с именем файла, в который помещается исходный текст модуля? Если да, то почему?
11. Является ли модуль выполняемой программой?
12. Какие объекты программы содержит интерфейсная часть модуля?
13. Какие объекты программы содержит секция связи модуля?
14. Является ли обязательной инициализирующая часть модуля?
15. Какие объекты программы может содержать инициализирующая часть модуля?
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru
Синтаксис. Основные единицы синтаксиса русского языка
Синтаксис как раздел науки о языке. Предложение и словосочетание как единицы синтаксиса.
Тема «Единицы синтаксиса» изучается в 5,8 классе.
↑ Синтаксис как раздел науки о языке
Синтаксис – раздел науки о языке, в котором изучается строение и значение синтаксических единиц, а также отношения между ними.
Синтаксис позволяет использовать язык как средство общения, ведь при общении мы обмениваемся не звуками, приставками или изолированными словами, а целостными высказываниями, построенными по законом того или иного языка.
Речь невозможна без соблюдения правил. Синтаксически правильно и последовательно организованную речь называют связной.
Любой носитель языка без труда распознает бессвязную речь, а отклонение от синтаксических норм расценивается как стилистическая ошибка:
Подумав, ему пришлось уехать. Она любит и заботится о нас. Мы восторгаемся перед нею. Меня поразил ответ брата: он был груб, неучтив. Нам говорили о недостатках и как с ними бороться. Почва охлаждается до три-пять градусов. Террористы учились управлять большие самолеты.
Мы все заинтересованы тем, чтобы выборы прошли успешно.
Тот факт, что приведенные примеры осознаются нами как неприемлемые, означает, что мы обладаем представлением о предписанных законах соединения слов в высказывании, о единых для всех правилах построения русской фразы.
Такие правила и описываются в синтаксисе, и связная речь есть не что иное, как выполнение этих правил.
↑ Синтаксические единицы
Основными синтаксическими единицами (согласно школьной программе по русскому языку) являются словосочетание (докоммуникативный уровень) и предложение (коммуникативный уровень).
*В языкознании выделяют также в качестве синтаксических единиц: словоформу, сложное синтаксическое целое и текст.
Традиционно выделяются синтаксические единицы докоммуникативного уровня — словоформу и словосочетание, являющиеся строительным материалом для предложения — простого и сложного, представляющего собой главную единицу коммуникации, а также единицы более высокого синтаксического уровня — сложное синтаксическое целое и текст.
↑ Словоформа как единица синтаксиса
Словоформа — это слово (знаменательная часть речи) в одной из его грамматических форм (или единственной форме — для неизменяемых слов), готовое к выполнению той или иной синтаксической роли.
Эта роль предопределена как его лексическим значением, так и местом в морфологической системе языка. По аналогии с такими единицами, как фонема, морфема, лексема, словоформа получила также наименование синтаксема. Как правило, словоформа обладает смысловой и грамматической валентностью — способностью присоединять к себе другие словоформы, причем строго или не слишком строго предопределенные системой языка.
↑ Словосочетание как единица синтаксиса
Словосочетание — это основная единица синтаксиса, состоящая из двух и более словоформ, соединенных посредством грамматического подчинения.
Подчинительные связи предполагают, что от одного слова к другому можно задать смысловой вопрос (он же окажется и грамматическим). Только знаменательные, значимые части речи, обладающие лексическим значением, выступают в роли компонентов словосочетания.
Таким образом, словосочетание — не что иное, как распространенная словоформа, или соединение словоформ.
Если словоформу мы определили как минимальную синтаксическую единицу, то словосочетание можно охарактеризовать как минимальную единицу связной речи, состоящую из двух и более словоформ. В словосочетании уже появляется синтаксическая связь — подчинительная, что выводит словосочетание за пределы морфологии и лексики и превращает его в сугубо синтаксическую единицу.
Словосочетание, так же как слово, называет явление действительности, но более точно, более детально, чем слово. Тем самым словосочетание сужает называемое понятие.
Словосочетание отличается от предложения функцией. Объем здесь не важен. Предложение может состоять из одного слова, из двух и более слов. Важно только то, что предложение, в отличие от словоформы и словосочетания, становится единицей коммуникации, оно не просто называет явления действительности, а сообщает о фактах и событиях, содержит суждение о них.
↑ Предложение как единица синтаксиса
Язык как средство общения начинается с предложения.
Наиболее адекватное определение «предложения» можно дать с точки зрения его функций. Именно этот взгляд положен в основу определения, сформулированного В.В. Виноградовым: «Предложение — это грамматически оформленная по законам данного языка целостная единица речи, которая является средством формирования, выражения и сообщения мысли».
Предложение — основная коммуникативная единица синтаксиса, грамматически оформленная и интонационно завершенная единица речи, состоящая из словоформ (иногда из одного слова), посредством которых формируется, выражается и сообщается мысль (сообщение, вопрос, побуждение к действию).
В пределах предложения мысль формируется, приобретает грамматически, структурно оформленный вид.
Кажется отчасти странным иллюстрировать предложение как единицу языка и речи. Мы окружены фразами, они живут в нас, многие из них являются общеизвестными высказываниями:
↑ Сложное синтаксическое целое как единица синтаксиса
Сложное синтаксическое целое (ССЦ, или СФЕ) — это коммуникативная единица синтаксиса, минимальный фрагмент текста, состоящий из последовательности предложений, связанных между собой и объединенных общей микротемой.
Если высказанную в предложении мысль развить, снабдить ее аргументами, примерами, то получится развернутый отрывок на ту же тему, но более подробный, чем отдельное предложение. Такой отрывок, посвященный одной теме и оформленный по законам данного языка, предписанным связной речи, получил название сложного синтаксического целого. В лингвистической литературе для обозначения такого единства используются также синонимы — сверхфразовое единство (СФЕ), прозаическая строфа, компонент текста и др.
Термины «сложное синтаксическое целое», «сверхфразовое единство» отражают сложноустроенность данной языковой единицы, выход за пределы предложения, связную упорядоченность высказываний по правилам синтаксиса и смысловую целостность, единство темы.
Как всякое «целое», данная единица речи структурирована и обладает ярко выраженным началом, серединой и концовкой.
Например, заметки фенолога в «Вечерней Москве» построены по схеме:
Сегодня утром крыши Москвы покрылись инеем (зачин). Этот первый «белый утренник» наступил на месяц позже среднего срока. Инеем покрылись поля и лесные поляны (развитие темы). В еловые и лиственничные чащи заморозок еще не проник (концовка).
В коммуникативном плане сложное синтаксическое целое находится между предложением как отдельным высказыванием и текстом как завершенным речевым произведением. Чем объемнее произведение, тем больше оно нуждается в делении на смысловые части. Иногда эти отрывки регулируются жанром произведения и определяются автором. Тома, главы, части, рубрики, параграфы являются принадлежностью разных типов деловых, художественных, публицистических, учебных текстов. Но и при отсутствии специальной рубрикации читающий вольно или невольно фиксирует переход к новой теме, новому эпизоду, новому отрывку текста.
↑ Текст как единица синтаксиса
Текст — самая крупная единица синтаксиса, произведение речевой деятельности, представляющее собой объединение единиц языка разных уровней, которые последовательно связаны между собой и отличаются смысловой законченностью, связностью и цельностью.
Протяженность текста определена его задачами, целями, коммуникативным намерением. Объем и структура текста заданы избранным жанром. Все речевые жанры: научный доклад, любовная записка, учебное пособие, роман-эпопея, информационная заметка, рекламная листовка — соответствуют своему коммуникативному предназначению в определенных стилевых и формальных рамках.
Объемные, сложно устроенные произведения Льва Толстого отвечают главному назначению художественного текста — образному отображению действительности (в отличие от нехудожественных текстов, которые, описывая, объясняя, анализируя окружающий мир, оперируют понятиями). Роман Льва Толстого «Анна Каренина» умещает свои два тома (в каждом из которых по четыре части, состоящие из 20–30 глав) между хрестоматийным началом (Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему. Все смешалось в доме Облонских) и малоизвестным высказыванием Левина (Так же буду сердиться на Ивана кучера, так же буду спорить, буду некстати высказывать свои мысли, так же будет стена между святая святых моей души и другими, даже женой моей, так же буду обвинять ее за свой страх и раскаиваться в этом, так же буду не понимать разумом, зачем я молюсь, и буду молиться, — но жизнь моя теперь, вся моя жизнь, независимо от всего, что может случиться со мной, каждая минута ее — не только не бессмысленна, как была прежде, но имеет несомненный смысл добра, которы я властен вложить в нее!).
Общей коммуникативной задачей, помимо сугубо эстетической, являлось для Толстого раскрытие смысла эпиграфа, взятого к этому произведению (Мне отмщение, и аз воздам), хотя сам автор утверждал, что, чтобы объяснить идеи романа, ему понадобится весь его текст без изъятий.
Есть тексты, которые по размеру совпадают со сложным синтаксическим целым. Чаще всего это малые газетные жанры. Например: Двухкомнатная квартира загорелась на первом этаже в доме номер 96, корпус 4, на Ленинградском проспекте. Когда приехали пожарные, одна из комнат уже полыхала вовсю.
Виновницей пожара оказалась настольная лампа, которую зажгли в чулане, чтобы достать с верхних полок что-то нужное. Хозяйка, к счастью, оказалась жива, хотя и попала в больницу.
Текстом является и деловое письмо, которое, казалось бы, умещается в одно предложение: Прошу предоставить мне отпуск без сохранения содержания с 5 по 12 октября по семейным обстоятельствам.
Однако и в таком документе присутствуют необходимые для данного жанра структурные элементы, как-то: кому, от кого, название документа (заявление), подпись, дата.
Источник: rustutors.ru
Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования) — презентация
Презентация на тему: » Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования)» — Транскрипт:
1 Подпрограммы в Паскале Подпрограммы в Паскале (Технология нисходящего программирования)
2 Технология нисходящего программирования Базируется на методе программирования «сверху – вниз» (иное название – метод пошаговой детализации). Основа метода – разбиение исходной задачи на ряд подзадач. Решение отдельного фрагмента сложной задачи может представлять собой самостоятельный программный блок, называемый подпрограммой.
ПОДПРОГРАММА – это обособленная, оформленная в виде отдельной синтаксической конструкции и снабжённая именем часть программы. В основной программе указываются только имена подпрограмм. Вызовы подпрограмм возможны неоднократно из разных участков программы.
3 Виды подпрограмм ПРОЦЕДУРЫ СЛУЖАТ ДЛЯ ЗАДАНИЯ СОВОКУПНОСТИ ДЕЙСТВИЙ, НАПРАВЛЕННЫХ НА ИЗМЕНЕНИЯ ВНЕШНЕЙ ПО ОТНОШЕНИЮ К НИМ ПРОГАММНОЙ ОБСТАНОВКИ. ФУНКЦИИ ЯВЛЯЮТСЯ ЧАСТНЫМ СЛУЧАЕМ ПРОЦЕДУР. ОБЯЗАТЕЛЬНО ВОЗВРАЩАЮТ В ТОЧКУ ВЫЗОВА ОСНОВНОЙ ПРОГРАММЫ ЕДИНСТВЕННЫЙ РЕЗУЛЬТАТ КАК ЗНАЧЕНИЕ ИМЕНИ ЭТОЙ ФУНКЦИИ. определение write, writeln, Read, readln… Sqr, sqrt, sin, cos … Встроенные(стандартные ) Kvur (ax 2 + c) Определённыепользователем flaw
4 ПРОЦЕДУРЫ Описание: PROCEDURE ( ); ; BEGIN END;
5 Имя процедуры – правильный идентификатор 1. Состоит из латинских букв и цифр. 2. Начинается с латинской буквы.
6 Пример1. Program prim; Uses crt; Procedure a; Begin write(I am procedure); end; BEGIN clrscr; writeln( Where is a procedure?); a; Writeln; write(good); Readln end.
7 Задания 1. Используя оператор выбора и процедуры, написать программу, вызывающую одну из трех страниц: 1 – справка; 2 – тест; 3 – выход. 2. Используя цикл и процедуры, «построить» забор.
8 Оператор выбора Позволяет выбрать одно из нескольких продолжений программы. CASE OF Else end; Ключ выбора – выражение, значение которого представлено порядковым типом. Список выбора : ;
9 Работа оператора выбора Вычисляется значение ; В последовательности операторов отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает работу.
10 Используя оператор выбора и процедуры, написать программу, вызывающую одну из трех страниц: 1 – справка; 2 – тест; 3 – выход. program menu1; uses crt; var m:integer; procedure sprav; begin textbackground(4); clrscr; gotoxy(38,12); write(‘spravka’) end; procedure test; begin textbackground(2); clrscr; gotoxy(38,12); write(‘test’) end; procedure vixod; begin textbackground(5); clrscr; gotoxy(38,12); write(‘vixod’) end; BEGIN textbackground(0); clrscr; write(‘vibor123=’); readln(m); case m of 1:sprav; 2:test; 3:vixod; end; readln; END.
11 procedure ekran(c:byte;st:string); begin textbackground(c);textcolor(15); clrscr; gotoxy(38,12); write(st) end; begin textbackground(0); clrscr; write(‘vibor123=’); readln(m); case m of 1:ekran(4,’cprav’); 2:ekran(2,’test’); 3:ekran(5,’vixod’); end; readln; end.
12 Что включает в себя служебная информация PROCEDURE ( : ); ; BEGIN END;
13 Вызов процедуры Необходимо указать имя и список фактических параметров. Количество и тип формальных и фактических параметров должны совпадать.
14 Формальные и фактические параметры При вызове процедуры её формальные параметры заменяются на фактические в порядке их следования. Фактические параметры – это параметры, которые передаются процедуре при обращении к ней (т.е. записываются при вызове процедуры в основной программе) Формальные параметры – это переменные, фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров, над которыми производятся действия.
15 Между формальными и фактическими параметрами должно быть полное соответствие: формальных и фактических параметров должно быть одинаковое количество; Порядок следования фактических и формальных параметров должен быть один и тот же; Тип каждого фактического параметра должен совпадать с типом соответствующего формального параметра. Формальные параметры Параметры -значения Параметры- переменные Параметры- процедуры Параметры- функции Параметры-переменные – это формальные параметры, перед которыми стоит служебное слово VAR. Они передаются по ссылке (передаётся адрес фактического параметра) тогда, когда необходимо передать некоторые новые значения в точку вызова процедуры из программы. Параметры-значения – перед ними слово VAR не ставится и идёт передача по значению, т.е. передаётся только копия значения этих параметров. Их любые изменения никак не отражаются на значениях соответствующих фактических параметров.
16 Глобальныелокальные переменные Глобальные и локальные переменные Глобальные переменные – это те переменные, которые объявлены в описании основной части. Локальные переменные – это те, которые объявлены в процедурах и функциях. Локальные переменные существуют только тогда, когда работает подпрограмма, появляются при вызове и исчезают при завершении работы.
17 Примеры обращения к процедуре (вызова процедуры). PROCEDURE SQ (a,b,c: real;VAR x1,x2:real) Примеры обращения к процедуре: SQ((25/3+2)*2, -1.5, ( )/3, a1, a2); SQ(P,Q,R,Y,Z); Фактическим параметром, соответствующим формальному параметру- значению, может быть любое выражение соответствующего типа; константа соответствующего типа; переменная соответствующего типа. Фактический параметр, соответствующим формальному параметру- переменной, может быть только переменной.
18 МЕХАНИЗМ ПЕРЕДАЧИ ПАРАМЕТРОВ А) ПАРАМЕТРЫ-ЗНАЧЕНИЯ (п-з) 1.В памяти выделяется место для каждого формального параметра. 2.Вычисляется значение фактического параметра и засылается в ячейку, соответствующую формальному параметру. 3.Если фактический параметр есть имя переменной, то значение этой переменной пересылается в соответствующий формальный параметр. На этом всякая связь между фактической переменной и формальным параметром обрывается. Б) ПАРАМЕТРЫ-ПЕРЕМЕННЫЕ (п-п) Для формального параметра используется именно та ячейка, которая содержит соответствующий фактический параметр.
19 1. Пример процедуры с параметрами-значениями PROGRAM PZ; VAR i : integer; Procedure P1 (i: integer); Begin i:=i*2; End; BEGIN i:=2; P1(i); WriteLn(i=, i); END. Механизм передачи параметров: i2 i 2 4 ЭКРАН i=2 PROGRAM PZ; Procedure P1 1.Назовите глобальные и локальные переменные. 2. назовите формальные и фактические параметры. 3.Какие формальные параметры использованы?
20 2. Пример процедуры с параметрами-переменными PROGRAM PP; VAR a,b: integer; PROCEDURE P2 (x: integer; VAR y: integer); Begin x:=x+1; y:=y+1; WriteLn(x,,y); End; BEGIN a:=0; b:=0; P2(a,b); WRITELN(a,,b); END PROGRAM PP; Механизм передачи параметров: 1.Назовите глобальные и локальные переменные. 2. назовите формальные и фактические параметры. 3.Какие формальные параметры использованы? PROCEDURE P2 a b 0 0 x y 0 адрес яч.b ЭКРАН 11 01
21 Упражнения на механизм передачи параметров в процедурах. А) var c,d:integer; Procedure P(x,y:integer;); Begin y:=x + 1; end; Б) var c,d:integer; Procedure Q(x:integer; var y:integer); Begin y:=x + 1; end; B) var c,d:integer; Procedure R(var x,y:integer); Begin y:=x + 1; end; 1) для каждой процедуры указать параметры- значения и параметры- переменные; 2) определить, что будет выведено на экран в следующих случаях: с:=2;d:=0;P(sqr( c ) + c, d); Writeln(d); с:=2;d:=0;Q(sqr( c ) + c, d); Writeln(d); 3) допустимы ли обращения R(sqr( c ) + c, d); и R(c, d); ?
22 Задания: 1. Даны 4 действительных числа a, b, c, d ( 0). Решить квадратные yравнения: ax 2 +bx+c=0; bx 2 +cx+d=0; ax 2 +dx+c=0; dx 2 +bx+c=0.
23 Задания: 2. Даны 4 действительных числа a, b, c, d ( 0). Решить линейные yравнения: ax+c=0; bx+c=0; ax+d=0; dx+b=0.
24 Задачи. 1. Вводятся два числа a и b. Определить a b и b a, используя процедуру вычисления степени числа. PROGRAM z1; VAR a, b: byte; ab: Longint; PROCEDURE stepen (x, y : byte, Var z : Longint); Var i: byte; Begin z:=1; For i:=1 To y Do z:=z*x; End; BEGIN WriteLn(Введите два целых числа); ReadLn(a,b); stepen(a, b, ab ); WriteLn(a:3, в степени b:3, равно,ab:10); stepen(b, a, ab ); WriteLn(); END.
Источник: www.myshared.ru