WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

А.С.Цветков

Язык программирования PASCAL

Система программирования ABC Pascal

Учебное пособие для школьников 7-9 классов

Санкт-Петербург

Павловск

2012-2013

Введение А.С.Цветков, ABC Pascal

Справочник по системе ABC Pascal

Редактор

Горячие клавиши

F2, Ctrl-S - сохранить файл F3, Ctrl-O - загрузить файл F12 - сохранить файл под новым именем Ctrl-Shift-S - сохранить все открытые файлы Ctrl-Shift-0... Ctrl-Shift-9 - установить закладку с номером 0...9 Ctrl-0... Ctrl-9 - перейти к закладке с номером 0...9 Ctrl-Tab, Ctrl-Shift-Tab - перейти к следующему/предыдущему окну редактора Окно вывода Под окном редактора расположено окно вывода. Оно предназначено для вывода данных процедурами write и writeln, а также для вывода сообщений об ошибках и предупреждений во время работы программы.

Окно вывода может быть скрыто. Клавиша F5 и кнопка показывают/скрывают окно вывода. Для скрытия окна вывода используется также клавиша Esc.

Окно вывода обязательно открывается при любом выводе в него.

Для очистки окна вывода следует нажать комбинацию клавиш Ctrl-Del или кнопку.

Окно ввода Окно ввода открывается при выполнении процедур read и readln в ходе работы программы:

Ввод данных в окно ввода сопровождается эхо-выводом в окно вывода (см. рис). После нажатия клавиши Enter данные из окна ввода попадают в соответствующие переменные, окно ввода закрывается, и программа продолжает работать дальше.

Запуск и остановка программы Для запуска программы в текущем окне редактора следует нажать клавишу F9 или кнопку панели инструментов.

Программа вначале компилируется во внутреннее представление, после чего, если не найдены ошибки, программа начинает выполняться. При выполнении программы кнопка запуска программы становится неактивной, кнопка останова программы, наоборот, активной и в строке статуса отображается информация "Программа выполняется".

Выполнение программы можно в любой момент прервать нажатием комбинации клавиш Ctrl-F2 или кнопки. При этом в окне вывода появится сообщение Программа прервана пользователем.

Если текущая программа не является модулем, то при ее запуске на вкладке перед именем появляется жирная точка, что свидетельствует о том, что данную программу запускали последней. Если текущая программа является модулем, то компилируется не она, а программа, чье имя на вкладке помечено точкой.

При выводе в графическое окно модуля GraphABC программу можно прервать нажатием клавиши Esc, при этом графическое окно будет закрыто.

Пошаговое выполнение программы Режим пошагового выполнения предназначен для отладки программы. Для выполнения одного шага (одной строки) программы следует нажать клавишу F8 или кнопку (шаг без входа в подпрограмму), либо клавишу F7 или кнопку (шаг со входом в подпрограмму). Для выполнения программы до данной строки следует установить на нее курсор и нажать клавишу F4 или кнопку.

Прервать программу, находящуюся в режиме пошагового выполнения, можно с помощью комбинации клавиш Ctrl-F2 или кнопки. Если программа находится в режиме пошагового выполнения, то ее можно выполнить до конца, нажав F9.

-2 - 01.06. Введение А.С.Цветков, ABC Pascal Окно отладки Окно отладки позволяет просматривать во время пошагового исполнения программы значения переменных. По умолчанию оно располагается в правом верхнем углу окна редактора и имеет следующий вид:

Для добавления переменной или выражения в окно отладки следует нажать комбинацию клавиш CtrlF5 или кнопку. Можно также перетащить из редактора в окно отладки выделенное выражение или при активном окне отладки нажать клавишу Ins. Допускаются выражения, содержащие функции, в т.ч. и определенные в программе.

Окно отладки включается/выключается нажатием комбинации клавиш Ctrl-Shift-W.

Для удаления строки из окна отладки следует выделить эту строку и нажать клавишу Del или воспользоваться командой контекстного меню окна отладки.

Для изменения строки в окне отладки следует дважды щелкнуть на ней.

Для очистки окна отладки следует нажать комбинацию клавиш CtrlDel или воспользоваться командой контекстного меню окна отладки.

Если выражение неверно, его вычисление вызывает ошибку или в данном контексте недоступны некоторые переменные, то при выполнении программы в столбце "Значение" появляется сообщение "нельзя вычислить".

Структура программы Программа на языке Pascal ABC имеет следующий вид:

program имя программы;

раздел подключения модулей раздел описаний Первая строка называется заголовком программы и не является обязательной.

Раздел подключения модулей начинается со служебного слова uses, за которым следует список имен модулей, перечисляемых через запятую.

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

Раздел подключения модулей и раздел описаний могут отсутствовать.

Операторы отделяются один от другого символом "точка с запятой".

Идентификаторы и служебные слова Идентификаторы служат в качестве имен программ, модулей, процедур, функций, типов, переменных и констант. Идентификатором считается любая последовательность латинских букв или цифр, начинающаяся с буквы. Буквой считается также символ подчеркивания "_".



Например, a1, _h, b123 - идентификаторы, а 1a, ф2 – нет.

Служебные слова служат для оформления конструкций языка и не могут быть использованы в качестве имен. Список всех служебных слов языка Pascal ABC приведен ниже:

and array as begin break case class const constructor continue destructor div do downto else end exit external external sync file finalization for forward function if in inherited initialization is mod not of or private procedure program property protected public record repeat set shl shr sizeof string then to type unit until uses var while with xor Program Prog1;

var a, b : integer;

begin write('Введите число ');

readln(a);

b:=a*a;

writeln('Квадрат этого числа = ',b);

end.

Задание:

Набрать и выполнить программу; понять, как она работает.

Модифицировать программу так, чтобы она:

o вычисляла куб числа o вводила не одно, а два числа, и вычисляла сумму их квадратов Термины:

var – идентификаторы (имена) различных объектов a, b, Prog – переменные целочисленного (integer) типа integer write, writeln – операторы вывода readln – оператор присваивания (переменной b присваивается значение выражения a+1) b:=a+ begin... end – операторные скобки Переменная – это величина, которая может менять свое значение. Переменная всегда должна быть явно описана как принадлежащая какому-либо типу данных.

Тип данных – множество значений, которые может принимать объект (чаще всего это переменная) данного типа. Кроме множества значений тип данных задает множество допустимых операций. Например, целочисленный тип integer определяет диапазон целых чисел от –2 147 483 648 до +2 147 483 647, в целочисленных выражениях можно применять операции сложения, вычитания и т.п.

Непосредственные константы – это числа, используемые в арифметических выражениях. Например, в операторе b:=a+1 единица – это непосредственная константа.

Правила записи целых чисел. Целые числа записываются так же, как и в математике.

Цифрам может предшествовать знак "–" или "+" (последнее обычно не нужно). Пробелы между знаком и цифрами, а также между цифрами недопустимы. Примеры правильных записей чисел: 1, 123, –4567, 003, +012.

Оператор – инструкция языка Паскаль. Операторы отделяются точкой с запятой друг от друга. Операторы можно объединить в составной оператор, заключив их в операторные скобки begin... end.

Оператор присваивания. Оператор присваивания обозначается двумя символами :=, между которыми нет пробела. Слева от знака оператора должна стоять переменная, а справа – выражение. Суть оператора заключается в вычислении выражения и присвоения получившегося значения переменной.

Примеры: a:=2; a:=2+3; a:=b*2+1;

Неправильные примеры: a+1:=a; 2:=b+3;

Очень часто используется оператор вида a:=a+1; Он не содержит ошибки. Вначале берется старое значение переменной, к нему прибавляется единица, и результат записывается в опять в переменную a. Таким образом, этот оператор увеличивает значение переменной a на единицу.

Важно следить, чтобы все переменные, используемые в правой части оператора присваивания были определены к моменту вычисления оператора. В противном случае результат будет непредсказуем.

Существует два способа задать переменной значение: оператор присваивания и оператор ввода (read или readln).

Согласование типов в операторе присваивания. Общее правило таково: тип выражения в правой части оператора присваивания должен совпадать с типом переменной в левой части оператора присваивания. Т.е. если переменная имеет тип integer, то справа должно быть выражение, значение которого есть также целое число.

Арифметическое выражение – целочисленное арифметическое выражение состоит из переменных, констант, знаков операций, скобок и вызовов функций. Правила построения выражения очень похожи те, которые употребляются в математике, за исключением деления, для которого существуют две операции, обозначаемые ключевыми словами div и mod. Надо запомнить, что знак операции умножения * никогда не опускается в отличие от алгебры. Операции имеют обычный приоритет: умножение и деление выполняется раньше, чем сложение и вычитание. Вычисление функций (см. далее) выполняется еще раньше. В остальном операции выполняются слева направо. Для изменения порядка операций используются круглые скобки. Уровень вложенности скобок не ограничен.

Бинарные1 арифметические операции над типом integer Бинарные операции – имеющие два операнда, располагающиеся слева и справа от оператора Пример:

Выражение в математической записи:

Кроме бинарных операций в Паскале используются унарные2 операции – и + (в последнем особого смысла нет). Например, в выражении –2*(–a–b) минус перед переменной a является унарной операцией, а минус перед двойкой может рассматриваться и как унарная операция и как запись отрицательной константы.

При выполнении оператора присваивания следует следить за тем, чтобы значение целочисленного выражения не вышло за допустимый диапазон целого числа. Например, если переменная a имеет тип word, то в операторе a:=512*128; произойдет ошибка, так как значение выражения является 65536, а это число больше верхней границы типа word. Отметим, что если бы переменная a описана как integer, то оператор a:=512*128; является допустимым. Без особой необходимости не следует использовать типы byte и word.

Консольный ввод/вывод – исторически самый «древний» способ диалога с компьютером. У первых ЭВМ консоль – это электрическая пишущая машинка, подключенная к компьютеру, печатающая на рулонной бумаге (как факс). Оператор мог вводить информацию в компьютер, завершая команду нажатием клавиши перевода строки (Enter). Компьютер отвечал, заставляя консоль печатать цифры и символы. Несмотря на простоту такого интерфейса3, он весьма эффективен и до сих пор используется в самых современных операционных системах. В Windows-системах консоль обычно представляет текстовое окно шириной 80 символов, а высотой 25 символов4. При достижении ввода или вывода последней строки все строки скроллируются на одну позицию вверх, а первая строка исчезает.

Операторы вывода – write и writeln выводят заданную информацию на консоль.

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

Пример: write('Текстовая строка'); writeln(a,b);

Унарная операция – имеющая только один операнд.

Интерфейс – в данном случае способ общения человека с компьютером.

В системе ABC Pascal отдельное окно консоли появляется только при использовании модуля CRT.

Форматы вывода. В операторах write и writeln можно указывать формат, определяющий число позиций, используемых для вывода целого числа на экран, например:

writeln('Ответ ',a:5);

Это означает, что для вывода значения, хранящегося в переменной a следует зарезервировать 5 символов, т.е. если число будет не пятизначным, то при выводе оно будет дополнено слева пробелами. Если число «не помещается» в формат, он будет автоматически «растянут», так чтобы число «влезло».

Оператор ввода – read, readln. Оператор read при чтении данных с консоли используется крайне редко, в основном используется оператор readln. Параметры оператора – только переменные и только стандартных типов, возможно использование оператора вообще без аргументов для создания ситуации ожидания нажатия клавиши Enter. По оператору readln программа приостанавливает свою работу, ожидая ввода данных от пользователя. Пользователь набирает желаемые значения переменных, разделяя их пробелами (или Enter) и нажимает Enter. Оператор интерпретирует введенные символы, переводя их во внутреннее (машинное) представление соответствующих переменных. Если это не удается (например, вместо целого числа введены буквы), программа аварийно завершает свою работу.

Пример: readln(a,b);

Недопустимо: readln(a+3);

Для того чтобы пользователь знал что «хочет» ввести программа, полезно перед оператором readln выводить подсказку с помощью оператора write или writeln.

Например:

write('Введите количество учеников в классе ');

readln(n);

Обратите внимание на пробел перед вторым апострофом. Он сделан для того, чтобы ввод пользователя отделялся от подсказки.

Встроенные функции – в языке Pascal предусмотрено большое число различных встроенных функций. Функции можно применять в выражениях, аргумент(ы) функции всегда заключаются в скобки, например: x:=x-abs(x). Функции требуют аргументы определенных типов (например, целого типа) и возвращают значение также определенного типа (может не совпадать с типом аргумента). Ниже приведен список арифметических функций, имеющих целочисленный аргумент.

abs(n) Возвращает модуль (абсолютное значение) числа.

pred(n) Возвращает значение, на единицу меньшее аргумента.

succ(n) Возвращает значение, на единицу большее аргумента.

odd(n) Возвращает TRUE, если аргумент нечетный, иначе – FALSE even(n) Возвращает TRUE, если аргумент четный, иначе – FALSE random(n) Возвращает случайное число в диапазоне от 0 до n-1.

Задание № 1. Записать следующие выражения на языке Pascal, считая все переменные и действия целочисленными.

2. Вычислить (в уме) значение выражения 3. Напишите и выполните программу на компьютере Программа вводит одно число, и вычисляет его квадрат, вычитая из него удвоенное значение введенного числа.

Программа вводит два числа, выводит сумму квадратов этих чисел минус их Программа вводит два числа, выводит сумму их модулей (см. функцию abs) 4. Напишите программу, которая решает следующую задачу Оплата Интернета в школе состоит из двух частей: 100 долларов в месяц за доступ и долларов в месяц за поддержку школьного сайта. Платеж можно делать независимо за любое количество месяцев за доступ и за поддержку сайта. Напишите программу, которая позволяла бы вводить отдельно количество оплачиваемых месяцев для доступа и поддержки и выводила бы сумму оплаты.

Язык Паскаль имеет специальную библиотеку работы с экраном в текстовом режиме. Она называется CRT5. Эта библиотека содержит набор подпрограмм, позволяющих задавать цвет выводимых букв, цвет фона, устанавливать курсор в желаемую позицию. В текстовом режиме считается, что окно содержит 25 строк по 80 колонок. В каждой позиции может быть один символ (буква, цифра, специальные знаки). Графические объекты (прямые, окружности и т.п.) в текстовом окне не допустимы. Модуль CRT эмулирует текстовый терминал первых персональных компьютеров.

Подключение библиотеки к программе осуществляется предложением Uses:

Program Card;

Uses CRT; { Это предложение вставляется сразу после Program } Далее могут идти описания переменных, затем begin и тело программы.

Рассмотрим использование подпрограмм этой библиотеки на примере создания заставки программы.

Program Card;

Uses CRT; { Подключить модуль CRT } begin TextColor(White); { Установить белый цвет букв } TextBackGround(Blue); { Установить синий цвет фона } GotoXY(36,13); { Поставить курсор в 36 колонку, 13 строку } write(' Привет '); { Вывести текст } ReadKey; { Ожидать нажатия любой клавиши } end.

Наберите текст этой программы и выполните её.

Разберем действия отдельных процедур:

ClrScr – очищает экран или текущее окно (от англ. Clear Screen), закрашивая его текущим цветом фона, установленным процедурой TextBackGround. По умолчанию – цвет экрана белый.

TextColor(цвет) – устанавливает текущий цвет букв, который будет исполь– зоваться операторами write и writeln. По умолчанию используется светло-серый цвет TextBackgroud(цвет) – устанавливает текущий цвет фона, который будет использоваться операторами write и writeln.

GotoXY(колонка, строка) – переводит курсор в указанную позицию; вывод, осуществляемый последующим оператором write или writeln будет начинаться с этой позиции. Обычно экран в текстовом режиме содержит 80 колонок и 25 строк.

ReadKey – ожидание нажатия на любую клавишу (далее мы рассмотрим другое применение этой подпрограммы).

От английского Cathode Ray Tube – Электронно-лучевая трубка (ЭЛЧ) В качестве цвета может использоваться число от 0 до 15, но лучше пользоваться определенными в модуле CRT константами:

Таблица цветов Рассмотрим еще несколько полезных подпрограмм.

Window(x1,y1,x2,y2) – создание окна вывода. В случае задания окна, все операторы write и writeln выводят только в него, процедура ClrScr будет очищать только это окно.

WhereX, WhereY – две функции, позволяющие узнать координаты местонахождения курсора. Пример использования: GotoXY(WhereX+10,WhereY+2).

Задание №2:

Напишите программу «Визитная карточка», которая выводила бы на экран хорошо оформленные ваши личные данные: имя, фамилию, год рождения, адрес, телефон.

Используйте разные цвета, хорошо скомпонуйте.

Задание №2*:

Модуль Sounds содержит процедуры и функции для работы со звуком:

n:=LoadSound(fname) – загружает звук из файла с именем fname в оперативную память и возвращает описатель звука в целую переменную n (звуковой файл должен может иметь любой формат);

PlaySound(n) – начинает проигрывание звука с описателем n;

StopSound(n) – останавливает проигрывание звука с описателем n;

RewindSound(n) – "перематывает" звук с описателем n на начало;

DestroySound(n) – удаляет звук с описателем n из оперативной памяти, описатель звука при этом становится недействительным;

SoundLength(n) – возвращает длительность звука с описателем n в миллисекундах.

Используйте его возможности для «улучшения» программы «Визитная карточка»

Пример использования модуля sound:

Program Player;

Uses Sounds, CRT;

var n: integer;

begin n:=LoadSound('C:\WINDOWS\MEDIA\ringin.wav'); // укажите расположение файла PlaySound(n);

Sleep(SoundLength(n));

DestroySound(n);

end.

Система ABC Pascal обладает великолепной графической библиотекой. Для ее модключения после заголовка программы необходимо написать Uses GraphABC. Модуль GraphABC содержит константы, типы, процедуры и функции для рисования в графическом окне. Они подразделяются на несколько групп:

Действия с точками и прямоугольниками Действия с рисунками Рассмотрим сразу пример:

SetPenColor(RGB(0,0,255));

Line(0,0, WindowWidth, WindowHeight) Line(0,WindowHeight, WindowWidth, 0) Процедура SetWindowSize устанавливает размер графического окна 256256 пикселей.

Процедура SetPenColor определяет цвет рисования линий. Функция RGB возвращает цвет, заданный своими Red, Green, Blue компонентами. Процедура Line рисует линию из точки, заданной первой парой координат, в точку, заданную второй парой координат. Функции WindowWidth и WindowHeight возвращают текущие значения ширины и высоты графического окна (следовательно, если вы поменяете размер окна в процедуре SetWindowSize, то линии все равно будут проводиться из угла в угол).

Оконные координаты Координата x растет слева на право от 0 до значения WindowWidth Координата y растет сверху вниз от 0 до значения WindowHeight Задание цвета Как известно восприятие цвета у человека трехцветное. Основываясь на этом, в графических библиотеках используется именно такое трехкомпонентное представление цвета. Цвет задается с помощью функции Здесь Red – число от 0 до 255, соответствующее интенсивности красной компоненты Green – число от 0 до 255, соответствующее интенсивности зеленой компоненты Blue – число от 0 до 255, соответствующее интенсивности синей компоненты Функция формирует целое число (integer), которое может использоваться везде в графической библиотеке, где требуется указание цвета. Есть несколько предопределенных цветов:

Задание стиля и цвета пера SetPenColor(цвет) – устанавливает цвет пера, задаваемый параметром color.

SetPenWidth(ширина) – устанавливает ширину пера.

SetPenStyle(стиль) – устанавливает стиль пера (сплошной, пунктир и т.п.), возможные значения указаны в таблице (стиль применим только к ширине пера 1 пиксел) Текущее перо используется для рисования линий, прямоугольников, ломаных, окружностей, эллипсов, дуг и т.п.

Пример:

Задание стиля и цвета кисти SetBrushColor(цвет) – устанавливает цвет кисти SetBrushPicture(имя файла) – устанавливает в качестве образца для закраски кистью образец, хранящийся в файле, при этом текущий цвет кисти при закраске игнорируется.

ClearBrushPicture – очищает рисунок-образец, выбранный для кисти.

SetBrushStyle(стиль) – устанавливает стиль кисти, задаваемый параметром bs.

Возможные стили кисти:

bsSolid bsClear bsCross bsDiagCross bsHorizontal bsBDiagonal bsVertical bsFDiagonal Текущей кистью закрашиваются все замкнутые фигуры, контур фигур рисуется текущим пером. Чтобы нарисовать не закрашенную фигуру, используйте SetBrushColor(bsClear).

Пример:

SetBrushColor(rgb(128,0,255));

SetBrushStyle(bsDiagCross);

Rectangle(10,10,WindowWidth-10,WindowHeight-10);

Некоторые графические примитивы Line(x1,y1,x2,y2) – рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).

Circle(x,y,r) – рисует окружность с центром в точке (x,y) и радиусом r.

Ellipse(x1,y1,x2,y2) – рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).

Rectangle(x1,y1,x2,y2) – рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).

RoundRect(x1,y1,x2,y2,w,h) – рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев.

Arc(x,y,r,a1,a2) – рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).

Pie(x,y,r,a1,a2) – рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

Chord(x,y,r,a1,a2) – рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

FloodFill(x,y,color) – закрашивает область одного цвета, начиная с точки (x,y) цветом Задание:

Напишите программу, использующую не менее трех процедур рисования, которая рисовала бы несложный рисунок (домик, автомобиль, и т.п.) Дополнительную информацию можно получить в справочной системе ABC Pascal, раздел Стандартные модули – Модуль GraphABC.

Тема №3. Графика в системе ABC Pascal А.С.Цветков, ABC Pascal Пример решения задания program avto;

uses graphABC;

var i : integer;

begin SetWindowSize (800,600);

SetPenStyle (psClear); // верхняя часть автомобиля setBrushColor (Clgreen);

rectangle (250,250,550,351);

setBrushColor (ClAqua); // окна rectangle (255,255,395,345);

rectangle (405,255,545,345);

setBrushColor (Clgreen); // корпус rectangle (50,350,750,500);

setBrushColor (ClYellow); // фары rectangle (749,375,764,400);

setBrushColor (ClRed);

rectangle (35,375,51,400);

setBrushColor (ClLightGray); // бампер RoundRect (725,450,775,475,10,10);

RoundRect (25,450,75,475,10,10);

SetPenStyle (psSolid); // двери Line(250,350,250,425);

Line(250,425,300,500);

Line (400,250,400,500);

Line (550,350,550,425);

Line (550,425,500,500);

setBrushColor (ClBlack); // колеса Circle (200,500,50);

setBrushColor (ClLightGray);

Circle (200,500,25);

setBrushColor (ClBlack);

Circle (600,500,50);

setBrushColor (ClLightGray);

Circle (600,500,25);

end.

Цикл for используется для повторения фрагментов программы заданное число раз.

Синтаксис оператора:

for i:=N1 to N2 do оператор;

или Здесь i – индекс цикла (обязательно переменная целочисленного типа), N1 – целочисленное выражение, определяющее нижнюю границу индекса цикла, N2 – целочисленное выражение, определяющее верхнюю границу индекса цикла, N2 должно быть больше или равно N1, для того чтобы цикл выполнился хоть один Алгоритм выполнения оператора такой:

1. Индексу цикла присваивается значение выражения N1.

2. Проверяется условие i0 then z:=1 else z:=–1;

Выполнение оператора начинается с проверки логического условия, если оно истинно, то выполняется оператор-1, иначе оператор-2. В качестве оператора может выступать простой оператор или составной оператор. Составной оператор – это группа операторов, заключенная в операторные скобки begin... end.

Пример:

if x>0 then begin Обратите внимание, что перед else точка с запятой не ставится. Точка с запятой используется только для разделения операторов друг от друга. Можно было бы и не ставить запятую после операторов x:=2*x и x:=-x, поскольку begin и end не являются операторами, а являются скобками. Паскаль будет интерпретировать8 точку с запятой перед end, как наличие пустого оператора между ней и end.

Обратите внимание на запись “лесенкой”, она не обязательна, но весьма желательна, поскольку помогает наглядно увидеть алгоритмическую структуру программы. Правило такое: end пишем под begin.

Синтаксис оператора – правила его записи.

Интерпретировать – толковать.

Оператор if (сокращенная форма) Часто встречается ситуация, когда ветвь else не нужна. В этом случае ее можно опустить.

Например:

if x0 then writeln('Число положительное') else if n=0 then writeln('Число ноль') end.

Обратите внимание, что после вложенный оператор if можно не заключать в операторные скобки begin... end, поскольку оператор if синтаксически рассматривается как один оператор.

Если имеются вложенные операторы if, один из которых неполный, например:

if n>0 then if n=0 then writeln('У вас ноль') возникает неоднозначность: к какому if относится else. Принято, что else относится к ближайшему if, т.е. таки образом, как отражает запись данного примера. Если следовать правилу, помещая, по возможности, вложенные операторы в ветвь else, то таких ситуаций не будет.

Логические выражения. В операторе if используются логические выражения, имеющие тип boolean9. Про такие выражения можно сказать только являются ли они истинными (true) или ложными (false). Простейший случай логического выражения – логическая переменная.

Пример:

Такие логические переменные называют флагами, иногда их использование оказывается очень эффективным решением.

Операции сравнения. Существует шесть бинарных10 операций сравнения, у которых операнды могут быть самых разных типов (целые, вещественные, символьные строковые).

Эти операции весьма часто используются для построения различных логических условий.

Например: if a>0 then a:=1 else a:=-1. С точки зрения языка Pascal a> представляет собой логическое выражение (можно написать даже так: b:=a>0, если b – переменная булевского типа).

Логические операции. Для составления сложных логических выражений могут использоваться две бинарные логические операции AND, OR и одна унарная11 NOT.

and – результат операции истинен тогда и только тогда, когда истины оба операнда.

or – результат операции истинен тогда, когда истинен хотя бы один операнд.

not – имеет результат противоположный операнду.

Примеры операторов if со сложными условиями:

if (x>=0) and (x=0) and (x=1) do circle(400,400,r);

until r1.0; // Условие окончания цикла end.

Задание 8 (часть 2) 3. Проанализируйте пример и постройте аналогичную программу, вычисляющую площади круга (по формуле s r 2 ). (2 балла) 4. Напишите программу, которая вводила бы с клавиатуры значения времени и скорости, вычисляла бы пройденный путь. (3 балла) 5. Напишите программу, которая вводила бы с клавиатуры 10 вещественных чисел и вычисляла бы их среднее арифметическое. (5 баллов) 6. * Напишите программу, которая вводила бы градусы, минуты и секунды дуги переводила их в градусы и его десятичные доли.

При решении сложных задач разумно разбить алгоритм на несколько более простых составляющих. В языке Pascal существуют специальные средства для этого – подпрограммы. Есть два вида подпрограмм: процедуры и функции. Функция получает информацию от вызывающей программы через свои параметры. Параметры, описанные в заголовке функции, называются формальными параметрами. Параметры, указанные при вызове функции называют фактическими. Типы и число фактических параметров должны соответствовать типу и числу формальных параметров. Следующий пример иллюстрирует работу функций.

Program Table;

Uses CRT; // Подключение модулей // Описания функций, требующихся в программе function cube(x:real):real; // возведение в куб begin cube:=x*x*x; // имени функции присваивается значение end;

function sign(x:real):integer; // вычисление знака числа begin if x>0 then sign:= end;

// ==== Начало главной программы ========== var a : real; // блок описания переменных const a1 = -5.0; // блок описания констант (постоянных) begin while (amax then max:=A[i];

Напишем теперь целиком программу, использовав полученные знания:

max:=A[1]; // Поиск максимального значения Задание 1. Внимательно прочитать текст. Знать определение массива и способы его описания.

2. Напишите программу, которая вводит с клавиатуры значения массива, состоящего из 10 элементов, а затем выводит его.

3. Модифицируйте предыдущую программу, так чтобы она выводила элементы массива в обратном порядке (используйте цикл for i:=N downto 1 do).

4. По аналогии с примером на стр. 35 напишите программу, находящую минимальный элемент массива и выводящую его значение.

5. Модифицируйте предыдущий пример, так чтобы программа определяла максимальный и минимальный элемент массива.

6. * Напишите программу, которая бы определяла среднее арифметическое значение элементов массива (конечно, это будет вещественная величина типа real) 7. * Напишите программу, которая бы вводила значения элементов целочисленного массива, а затем рисовала бы N окружностей, радиусы которых бы равнялись введенным значениям.

Задачи, отмеченные *, являются необязательными и их баллы – дополнительными.

СОРТИРОВКА МАССИВОВ

Первой серьезной задачей программирования, с которой сталкивается начинающий программист – это задача сортировки массива. Под сортировкой понимается упорядочивание элементов массива по возрастанию (или по убыванию) без создания копии массива (т.е. «на месте»).

Самый простой алгоритм – это линейная сортировка. Рассмотрим рис. 13.1.

Проведем последовательно сравнение первого элемента со всеми последующими, при если при очередном сравнении (например сразу 4 и 2) выяснится, что элементы стоят в «неправильном» порядке – переставим их местами, затем продолжим сравнение (рис. 13.2). По окончании одного прохода, можно сказать, что в первом элементе массива находится минимальный элемент (Рис. 13.4).

Далее применим указанную процедуру к неотсортированному «остатку» массива (рис.

13.5) до тех пор, пока не переставим два последних элемента (рис. 13.6-13.7).

Алгоритм линейной сортировки очень прост, но не экономичен, среднее число просмотров и перестановок пропорционально квадрату числа элементов (точнее ).

Приведем программу сортировки. Обратите внимание, что мы использовали массив в качестве параметра процедуры. Для этого необходимо создать тип Massiv (стр. 34). Часто для экономии памяти массив передают через var-параметр (стр. 32), даже если не предполагается его модифицировать в подпрограмме. Т.е. заголовок процедуры print мог бы выглядеть следующим образом: procedure print(var m : Massiv);.

Program LinerSort;

Const N = 10; // Число элементов массива Type Massiv = array [1..N] of integer; // Определение типа Massiv procedure swap(var x,y: integer); // Перестановка элементов местами var z : integer;

begin z:=x; x:=y; y:=z;

end;

procedure print(m : Massiv); // Вывод массива var i : integer;

begin for i:=1 to N do write(m[i]:5);

writeln; // Новая строка end;

// Переменные главной программы Var a : Massiv;

begin // Заполнение массива случайными числами в диапазоне от 0 до for i:=1 to N do a[i]:=random(100);

print(a); // Вывод массива for i:=1 to N-1 do // Внешний цикл до N-1 (обратите внимание!) for j:=i+1 to N do // Внутренний цикл от i+1 (обратите внимание!) if (a[i]>a[j]) then swap(a[i],a[j]); // Перестановка элементов print(a); // Вывод отсортированного массива end.

Задание 1. Внимательно прочитать текст. Оформите сортировку массива в виде отдельной процедуры (здесь уже применение var-параметра будет обязательным).

2. Добавьте в процедуру сортировки операторы, которые позволил ли бы узнать сколько раз происходят перестановки в процессе сортировки. Выясните этот вопрос для N=10, 100, 1000.

РАБОТА С ФАЙЛАМИ

Многим программам требуется сохранять и читать информацию, используя файловую систему компьютера. В языке Pascal изначально были предусмотрены специальные операторы и типы данных для работы с файлами.

В ABC Pascal есть два вида файлов: текстовые и типизированные. В типизированных файлах обмен с внешними устройствами производится без какого либо преобразования данных, т.е., например, числа типа integer непосредственно копируются на диск, занимая по 4 байта каждое. Попытка просмотра такого файла в текстовом редакторе обречена на неудачу, мы увидим лишь бессмысленный набор знаков. Однако скорость ввода/вывода для таких файлов будет максимальной. Типизированные файлы мы рассмотрим позже в связи с типом данных record.

Работа с текстовым файлами очень похожа на работу с обычным консольным вводом/выводом. Числовые данные преобразуются в цифры в соответствии с заданными форматами (стр. 15 и стр. 26). Строковый и символьный тип данных выводится без преобразований. Следует учесть, что текстовый файл может быть открыт либо на чтение, либо на запись Созданный текстовый файл можно прочитать в простом текстовом редакторе (notepad, aditor, в редакторе ABC Pascal, [можно и в Word12]). В текстовом файле ABC Pascal используется кодировка Win-1251, в которой один символ занимает один байт.

Текстовый файл можно создать в редакторе (в соответствии с указанными правилами) и прочитать в программе на ABC Pascal.

Рассмотрим сразу простой пример – вывод таблицы квадратов первых 10 чисел в текстовый файл table.txt.

Program TextOut;

const name = 'text.txt'; // имя файла в текущем каталоге begin assign(f,name); // связывание файловой переменной с именем файла на диске rewrite(f); // создание и открытие файла на запись for n:=1 to 10 do writeln(f,n:2,sqr(n):4); // вывод в файл writeln(f,...);

close(f); // закрытие файла, сохранение всех еще незаписанных данных на диск end.

В этом пример надо обратить внимание на несколько операторов:

1. f : text – переменная специального встроенного типа «текстовый файл»;

2. assign(f,name) – сопоставление файлу f в программе файла name на диске;

3. rewrite(f) – «перезаписывает» файл f, т.е. либо создает новый пустой файл, либо уничтожает старый (будьте осторожны поэтому) и опять создает новый 4. writeln(f,…) – модификация уже известного оператора writeln, отличается от привычного только тем, что первый параметр – имя файловой переменной 5. close(f) – файлы надо обязательно закрывать, особенно файлы, открытые на запись (как в приведенном примере), иначе часть данных может быть утеряна.

Для этого в MS Word при создании файла надо выбрать тип «*.txt – обычный текст», а при открытии указать, что мы открываем текстовый файл в кодировке Win-1251.

Вместо оператора rewrite, файл можно открыть оператором append, в этом случае будет произведено открытие уже существующего файла в режиме дозаписи в конец файла. Рассмотрим теперь пример чтения уже существующего файла, в качестве файла используем созданный в предыдущем примере файл text.txt.

Program TextIn;

Uses CRT;

const name = 'text.txt'; // имя файла в текущем каталоге begin assign(f,name); // связывание файловой переменной с именем файла на диске reset(f); // открытие существующего файла на чтение repeat readln(f,a,b); // чтение из файла информации из целой строки writeln(a:5,b:5); // вывод в окно CRT until Eof(f); // Функция eof возвращает true при достижении конца файла end.

В этом пример надо обратить внимание на следующее:

1. reset(f) – открытие существующего файла на чтение, если файла нет, то произойдет ошибка выполнения программы;

2. readln(f,…) – оператор чтения из файла, при работе с файлами действие операторов read(f,…) и readln(f,…) различно, первый прочитает необходимую информацию посредине строки, так что следующий оператор чтения продолжит чтение со средины строки. Оператор readln после чтения информации пропустит все оставшиеся до конца строки символы, таким образом следующий оператор чтения начнет ввод с начала следующей строки;

3. Функция eof(f) возвращает всегда ложное значение, кроме одного единственного случая: достигнут конец строки. Для того, чтобы обойти всякие тонкие случаи, когда в конце файла есть несколько символов «конец строки» или лишние пробелы и символы табуляции, рекомендуются использовать функцию SeekEof(f) – ее действие аналогично eof, но она возвращает true, если до конца файла есть только «пустые» символы: конец строки, табуляция и пробелы14.

Задание 1. Напишите программу, создающую таблицу умножения в файле mult.txt. Для ее создания используйте вложенные циклы for (стр. 20). Откройте получившийся файл в текстовом редакторе 2. Напишите программу чтения файла, созданного в упражнении 14. В ABC Pascal существуют функции FileExists(name), проверяющая, существует ли файл с таким именем, и CanCreateFile(name), проверяющая можно ли создать файл с таким именем.

В ABC Pascal существуют две аналогичные функции Eoln и SeekEoln, которые вместо конца файла ищут конец строки.

СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ И СТРОКИ СИМВОЛОВ

информацией. Переменные типа char могут принимать значение одного из 256 символов стандартной таблицы кодировки. Константы типа char … переменные можно вводить оператором readln, но при этом придется еще нажимать Enter для подтверждения ввода. В модуле CRT есть очень удобная функция ReadKey, которая вводит символьную переменную без подтверждения ввода.

Для работы с символьными переменными в языке Pascal есть две специальные функции: ord и chr. Первая функция возвращает код (порядковый номер в таблице кодировки) символа, например ord('A') вернет значение 65. Вторая функция имеет обратный смысл, по коду, возвращает символ, т.е. chr(65) будет символ 'A'. Следующий пример выводит все символы кодовой таблицы, начиная с кода 3215 и заканчивая кодом 255. Оператор if в цикле производит переход на новую строку после вывода линейки из символов. Результат работы программы приведен справа.

Program ANSI;

Uses CRT;

var c : char;

i : integer;

begin for i:=32 to 255 do begin write(Chr(i));

if (i+1) mod 32 = 0 then writeln;

end;

end.

В языке Turbo Pascal появился специальный тип string, который имеет черты массива символов, а также некоторые дополнительные удобные возможности. Тип string реализован и в языке ABC Pascal.

Строки в Pascal ABC имеют тип string и состоят из не более чем 255 символов. При описании под переменную s отводится 256 байт, при этом в нулевом байте хранится длина строки.

Для экономии памяти предусмотрено описание вида var s1: string[40];

В этом случае под строку отводится 41 байт (нулевой байт – под длину строки). В случае присваивания переменной s1 строки из более чем 40 символов лишние символы отсекаются, и длина строки s1 полагается равной 40.

При выполнении операции конкатенации («склеивания») вида s1+s1 результат считается строкой типа string, т.е. занимает 256 байт. Однако если при конкатенации результат будет занимать более 255 символов, то программа завершится с ошибкой. Строки можно сравнивать, подразумевается их упорядоченность по алфавиту.

К символам в строке можно обращаться, используя индекс: s[i] обозначает i-й символ в строке. Обращение к нулевому символу s[0] считается ошибочным.

Коды с 0 по 31 являются служебными и в таблице ANSI им не соответствуют никакие печатные символы.

Для того чтобы узнать длину строки следует воспользоваться встроенной функцией Length(s). Чтобы изменить длину строки, следует воспользоваться процедурой SetLength(s,n). Если индекс i выходит за пределы памяти, отводимой под строку, то выдается сообщение об ошибке. Однако если индекс i выходит лишь за пределы длины строки, то сообщение об ошибке не выдается.

Тип char и тип string могут быть параметрами процедур и функций, а также возвращаться функциями. Для иллюстрации работы со строками и символами напишем функцию, заменяющую в строки заданный символ на другой и возвращающую результат.

Program Strings; // замена символов a на b в строке s function replace(s : string; a,b : char):string;

var i : integer;

begin for i:=1 to Length(s) do // цикл для всех символов строки if s[i]=a then s[i]:=b; // замена символов replace:=s; // имени функции присваивается значение end;

begin writeln(replace('мама мыла раму','м','н')); // Проверка работы функции end.

Тип char или string может использоваться для чтения информации из текстового файла, например:

Program ReadText;

Uses CRT;

var name : string; // Имя файла : string; // Буфер для чтения строки : integer; // Счетчик строк begin write('Введите имя файла: '); readln(name); // Ввод имени файла assign(f,name); reset(f); // Открытие файла while not eof(f) do // Чтение «пока не конец файла»

begin readln(f,s); // Чтение одной строки из файла f writeln(n:4,': ',s); // Вывод номера и строки на экран if n mod 25 = 0 then readln; // Пауза после каждой 25-й строки close(f);

end.

Задание 1. С помощью функций ReadKey и Ord напишите программу, которая выводила бы сразу символ и его код по нажатию одной клавиши.

2. Напишите целочисленную функцию с двумя параметрами, подсчитывающую сколько раз символ, заданный вторым параметром, встречается в строке, заданной первым параметром, и проверьте её работу.

3. Напишите программу, запрашивающую имена файлов, и копирующую один файл в другой, заодно вычисляя число строк (или символов) в файле Для работы с текстовыми строками в языке Pascal существует набор функций, который немного расширен в реализации ABC Pascal. Приведем справочник по этим функциям.

Стандартные процедуры и функции для работы со строками

МНОЖЕСТВА

В языке Pascal есть очень интересный тип данных множество. Множество представляет собой набор элементов одного порядкового типа. Элементы множества считаются неупорядоченными; каждый элемент может входить во множество не более одного раза. Тип множества описывается следующим образом:

В качестве базового может быть любой порядковый тип с элементами, для которых функция Ord возвращает значения в диапазоне от 0 до 255. К таким типам, из изученных нами, относятся тип char и byte (а также их подмножества).16 Аналогично массивам можно определить название нового типа в секции type, например:

Digits = set of '0'..'9'; // подмножества типа char Сами множества задаются в виде перечисления их элементов (возможно с использованием диапазонов), заключенные в квадратные скобки:

var Vowels : CharSet; // можно было написать vowels : set of char;

Vowels:=['A', 'E', 'O', 'I', 'U']; // Элементы явно перечислены Good:=['3'.. '5', '10']; // Диапазон и отдельный элемент Для проверки принадлежности элемента множеству существует операция in:

if c in Vowels then inc(n); // Если с – гласная, то увеличить n на На обороте страницы приведена программа, которая вводит текстовую строку с экрана и выводит ее на экран азбукой Морзе, заодно проигрывая ее. В этой программе используется много нового: работа с модулем Sound, массив из строк, индексация массива не целыми числами, а типом char, функция задержки выполнения Sleep, функция перевода буквы в верхний регистр Upcase, работа с множеством.

Задание 1. Внимательно изучите текст программы ABCMorse, задайте преподавателю вопросы.

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

3. Напишите программу, которая вводит из файла 10 текстовых строк и выводит их в другой файл, отсортированными в алфавитном порядке. Используйте алгоритм сортировки занятия №13, и операцию сравнения строк < или >.

4. Основываясь на программе ABCMorse придумайте интересную задачу на использование текстовых строк и множеств.

Другие возможные базовые типы – перечисления (об этом позже).

Program ABCMorze;

Uses Sounds,CRT;

i,j : integer;

morze : string[5];

// Выводим таблицу на экран begin // Если это русская буква (перевод в заглавные – Upcase) ··-morze:=A[Upcase(s[i])]; // Читаем s[i] элемент массива A в строку morze for j:=1 to Length(morze) do // Разбираем строку Morze и проигрываем её write(morze[j]); // Вывод на экран буквы кодом Морзе if morze[j]='-' then PlaySound(dash); Sleep(SoundLength(dash)); // играем dash PlaySound(dot); Sleep(SoundLength(dot)); // играем dot Sleep(50);

write(' '); Sleep(500); // Пауза между буквами 500 мс end; // end к внешнему оператору if end.

Вычислительные программы – квадратное уравнение Решение квадратного уравнения выходит за рамки курса математики 7 класса, но мы сочли возможным внести эту классическую задачу программирования в дополнение.

Квадратным уравнением называ d 0 ется уравнение вида На первом этапе его решения определяется так называемый дискриминант:

Далее рассматривают три случая 1. d 0 – в этом случае вещественных решений нет17;

2. d 0 – один корень, определяемый формулой ;

соответствует первому корню, а знак «–» – второму корню.

Составим программу для решения этой задачи:

Program SquareEquation;

var a, b, c : real; // Коэффициенты уравнения x1, x2 : real; // Корни уравнения begin write('Введите a, b, c '); readln(a,b,c); // Ввод исходных данных d:=b*b-4*a*c; // Вычисление дискриминанта



Похожие работы:

«Посвящается светлой памяти Владимира Ланцберга ТЕХНОЛОГИЯ ГРУППЫ Учебное пособие для лидера молодёжной неформальной группы Москва 2008 ISBN 978-5-9900354-3-0 Кордонский М., Кожаринов М. Очерки неформальной социотехники (Учебное пособие для лидера молодёжной неформальной группы). (Серия: Технология группы), предисловие В.Хилтунена - М.: Net2Net, 2008. - 336 c., ил. Это книга о неформалах и для неформалов, а ещё для их родителей, друзей, учителей, журналистов, политиков, социологов. О...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ АКАДЕМИЯ СОЦИАЛЬНОГО УПРАВЛЕНИЯ Кафедра общей психологии и психологии развития Рабочая программа по дисциплине ПСИХОЛОГИЯ ВЛИЯНИЯ Направление подготовки – 030300.68 Психология Профиль подготовки – Организационная психология Квалификация (степень) выпускника – магистр Форма обучения – очная АСОУ 2013 УДК 371 А в т о р - с о с т а в и т е л ь : Бакшаева Н. А., канд. психол. наук, доцент кафедры общей психологии и психологии развития. Рабочая программа...»

«Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Ульяновский государственный технический университет ЭЛЕКТРОНИКА Методические указания и контрольные задания для студентов неэлектротехнических специальностей Составитель Е. И. Голобородько Ульяновск 2005 2 УДК 621.38 (076) ББК 31.264.5я 7 Э40 Рецензент кандидат технических наук, доцент кафедры БЖД и энергетика УГСХА г. Ульяновска Е. Г. Кочетков Одобрено секцией методических...»

«МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА №4 ГОРОДА ВЯЗНИКИ ПРИКАЗ № _185_ 10.09.2013 Об организации мероприятий по реализации контентной фильтрации доступа муниципальных общеобразовательных учреждений к сети Интернет В целях осуществления ограничения доступа обучающихся общеобразовательных учреждений к ресурсам сети Интернет, не имеющих отношения к образовательному процессу, в соответствии с Федеральным законом от 29.12.2010 № 436-ФЗ О защите...»

«В.Н. ВОЛЫНСКИЙ ТЕХНОЛОГИЯ КЛЕЕНЫХ УЧЕБНОЕ ПОСОБИЕ ДЛЯ ВУЗОВ МАТЕРИАЛОВ 2003 В.Н. Волынский ТЕХНОЛОГИЯ КЛЕЕНЫХ МАТЕРИАЛОВ (Учебное пособие) Рекомендовано Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности Технология деревообработки Архангельск ББК 37.130 + 37. В УДК (674.213:624.011.14) Волынский В.Н. Технология клееных материалов: Учебное пособие для вузов. (2-е изд., исправленное и дополненное)....»

«Министерство образования Российской Федерации Томский политехнический университет С.А. Наумова ЭКОНОМИКА И ПРЕДПРИНИМАТЕЛЬСТВО В СОЦИАЛЬНО-КУЛЬТУРНОМ СЕРВИСЕ И ТУРИЗМЕ Учебное пособие Томск 2003 УДК 657.1: 338. 48 Н 34 Наумова С. А. Экономика и предпринимательство в социально - культурном сервисе и туризме: Учеб. пособие – Томск: Изд. ТПУ, 2003. – 127 с. В пособии в краткой форме изложены основы экономики и предпринимательства в социально-культурном сервисе. По каждой теме представлены...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования Дальневосточный государственный гуманитарный университет (ГОУ ВПО ДВГГУ) ИНСТИТУТ МАТЕМАТИКИ, ФИЗИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Кафедра физики ОТЧЕТ о результатах самообследования КАФЕДРЫ ФИЗИКИ ИНСТИТУТА МАТЕМАТИКИ, ФИЗИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ по состоянию на 11.12.2008 года Утвержден на заседании кафедры физики...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра Оборудование и технология сварочного производства Г.Н. Соколов, И.В. Зорин, А.А. Артемьев, А.С. Трошков МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ По магистерской программе Технология и оборудование сварочного производства (с подготовкой к производственно-технологической деятельности) Учебное пособие к выполнению магистерской диссертации по направлению 150700.68 Машиностроение Волгоград 2013 УДК...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Самарский государственный университет Кафедра философии гуманитарных факультетов ФИЛОСОФИЯ Методические материалы Для студентов романо-германского отделения филологического факультета Самара 2003 1 Печатается по решению Совета кафедр гуманитарных и социально-экономических наук Самарского государственного университета Составитель канд. филос. наук, доцент Л.Б.Четырова Рецензент кандидат философских наук, доцент Л.А. Конева Материалы подготовлены и...»

«Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Ивановская государственная текстильная академия (ИГТА) Кафедра проектирования текстильных машин СТРУКТУРНЫЙ АНАЛИЗ ПЛОСКИХ И ПРОСТРАНСТВЕННЫХ МЕХАНИЗМОВ ШВЕЙНЫХ МАШИН Методические указания к лабораторным работам по дисциплинам ТММ и РКМЛП для студентов специальности 150406 (170700) ИВАНОВО 2008 Настоящие методические указания предназначены для студентов специальности 150406...»

«Содержание Введение 3 1. Общие положения 5 2. Обоснование системы обобщающих критериев эффективности и результативности профессиональной 7 служебной деятельности муниципальных служащих 2.1. Правовые основы оценки эффективности и 7 результативности работы муниципальных служащих Анализ содержания профессиональной служебной 2.2. 13 деятельности муниципальных служащих 2.3. Формирование модели системы показателей оценки эффективности и результативности профессиональной служебной деятельности...»

«Методические рекомендации по использованию учебно-методического обеспечения по биологии в 2011-2012 году Методист кафедры естественнонаучного образования Н.В. Дмитриева 2012 г Введение Задачи, стоящие перед школьным биологическим образованием, реализуются через учебные программы и учебники, разработанные на основе нормативов, утвержденных Министерством образования и науки РФ. Учебник - главный компонент учебно-методического комплекта (УМК), один из основных источников знаний, необходимых для...»

«МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА №121 ГОРОДСКОГО ОКРУГА САМАРА СОГЛАСОВАНО УТВЕРЖДАЮ педагогическим Советом Директор МБОУ СОШ №121 Протокол № 1 _Т.В. Моргунова от 31 августа 2012 Положение о школьной медиатеке МБОУ СОШ №121 г.о. Самара Общие положения. Медиатека МБОУ СОШ №121 г.о. Самара создана для оказания помощи учителям в деятельности по внедрению электронных средств обучения в образовательный процесс; аккумуляции электронных средств...»

«АННОТАЦИЯ В методических рекомендациях рассмотрены организационные мероприятия и вопросы разработки и реализации проектов реконструкции жилых домов с надстройкой и обстройкой здания без отселения жителей с привлечением средств собственников и других источников внебюджетного финансирования в условиях города Москвы (далее – Проект). Приведены перечни необходимых работ, основополагающих законодательных и нормативных актов, участников проекта реконструкции, а также регламент их взаимодействия....»

«МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РЕСПУБЛИКИ УЗБЕКИСТАН РСНПМЦ ФТИЗИАТРИИ И ПУЛЬМОНОЛОГИИ им. Ш.А.АЛИМОВА ПРЕДОПЕРАЦИОННАЯ ПОДГОТОВКА РАСПРОСТРАНЕННОГО ЛЕКАРСТВЕННО-УСТОЙЧИВОГО ФИБРОЗНО-КАВЕРНОЗНОГО ТУБЕРКУЛЕЗА ЛЕГКИХ (методические рекомендации) ТАШКЕНТ - 2009 МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РЕСПУБЛИКИ УЗБЕКИСТАН РСНПМЦ ФТИЗИАТРИИ И ПУЛЬМОНОЛОГИИ им. Ш.А.АЛИМОВА “СОГЛАСОВАНО” “УТВЕРЖДАЮ” Начальник отдела по координации Начальник Главного научно-исследовательской Управления науки и учебных деятельности...»

«Международные стандарты финансовой отчетности. Учебное пособие. © Бровкина Н.Д., 2012 Н.Д. Бровкина Международные стандарты финансовой отчетности Учебное пособие Об авторе. Бровкина Наталья Дмитриевна, доцент кафедры Аудит и контроль Финансового университета при Правительстве РФ. Практикующий аудитор (аттестат Министерства финансов с 1994 года). Имеет многолетний опыт работы по трансформации отчетности компаний в формат МСФО и аудиторских проверок отчетности в формате МСФО. Квалификация по...»

«Т Тверь 2009 1 Составитель-редактор: Л.А. Абрамова, заведующая научно-методическим отделом Тверской ОУНБ им. А. М. Горького Ответственный за выпуск: заместитель директора С.Д. Мальдова Информацию для Хроники. предоставили: Сотрудники муниципальных библиотек: Т.С. Ковалева (Андреаполь) Е.В. Кукина (Бежецк) М.В. Ефимова (Бологое) Г.А. Ермолаева (Весьегонск) С.А. Ливаук (В. Волочк) Н.В. Гришина (Жарковский) С.А. Сафошина (Западная Двина) М.А. Шубина (Зубцов) Без подписи (Калязин) Л.В....»

«РОССИЙСКАЯ ФЕДЕРАЦИЯ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ МЕЖДУНАРОДНЫЙ ИНСТИТУТ ФИНАНСОВ, УПРАВЛЕНИЯ И БИЗНЕСА Кафедра Управления качеством А.Г. Рыбка, А.В. Воронцова ПОРЯДОК ВЫПОЛНЕНИЯ, ОФОРМЛЕНИЯ, ЗАЩИТЫ КУРСОВЫХ И ВЫПУСКНЫХ КВАЛИФИКАЦИОННЫХ / ДИПЛОМНЫХ РАБОТ Учебно-методический комплекс Методические рекомендации для студентов специальности...»

«170 ЭКОНОМИКА ЛИТЕРАТУРА 1. Гранберг А.Г. Основы региональной экономики. Учебник для вузов. –М.: ГУ ВШЭ, 2000. – 495 с. 2. Ларина Н.И. Смена парадигмы в региональной политике. // Регион: экономика и социология. – 2000. – №4. – С.3-22. 3. Михеева Н.Н. Региональная экономика и управление. Учебное пособие для вузов. – Хабаровск: Изд-во РИОТИП, 2000. – 400с. 4. Региональная социально-экономическая политика: разработка, реализация, оценка эффективности (учебнометодическое пособие) /Авт. колл. под...»

«1 СОДЕРЖАНИЕ А. Учебно-организационная документация А.1. Компетентностная модель выпускника А.2. Учебный план дисциплины А.3. Учебный график А.4. Программа учебной дисциплины Б. Технология и методика обучения В. Методические рекомендации для преподавателя Г. Записи А. УЧЕБНО-ОРГАНИЗАЦИОННАЯ ДОКУМЕНТАЦИЯ А.1.Компетентностная модель выпускника А.1.1. Область профессиональной деятельности выпускника специальности 080502 Экономика и управление на предприятии транспорта: рациональное управление...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.