- •1.Предмет и задачи информатики
- •1) Теоретическая информатика:
- •2) Средства информатизации:
- •3) Информационные технологии
- •4) Социальная информатика:
- •2. Истоки и предпосылки информатики.
- •3. Структура современной информатики
- •4. Понятие информации. Носители информации. Сигналы
- •5. Количество информации. Измерение информации. Единицы измерения
- •6. Кодирование информации различных видов
- •7. Свойства информации
- •8. Устройство персонального компьютера
- •9. Основные принципы построения и работы компьютера
- •10. Понятие файла и файловой системы
- •11. Понятие информационной технологии
- •13. Основы интернета. Основные протоколы
- •14. Службы Интернета
- •15. Этапы решения задачи на эвм
- •16. Алгоритм. Свойства алгоритма
- •17. Методы проектирования алгоритмов
- •18. Способы описания алгоритмов. Основы графического способа.
- •19. Структуры алгоритмов. Основные виды вычислительных процессов. Примеры.
- •20. Алгоритмы вычисления суммы функционального ряда. Использование рекуррентных формул. Пример
- •Примеры
- •21. Поиск минимального и максимального элементов массива.
- •22. Сортировка одномерных массивов
- •23. Системы программирования и их состав.
- •24. Понятие о программировании
- •25. Понятие программного обеспечения. Классификация программного обеспечения.
- •26. Назначение операционной системы
- •27. Основные функции операционных систем
- •28. Прикладное по
- •29. Язык программирования Паскаль. Общая характеристика. Основные правила записи программ на языке Паскаль. Структура программы. Пример программы
- •6.Понятие типа данных в Турбо Паскаль
- •Простые типы данных
- •Численные (арифметические) выражения
- •Логические выражения
- •Символьные выражения
- •Составной оператор
- •30. Основные элементы языка Pascal
- •31. Понятие типа данных в Турбо Паскаль
- •Простые типы данных
- •Численные (арифметические) выражения
- •Логические выражения
- •Составной оператор
- •34. Ввод и вывод данных в Паскале.
- •Рассмотрим, для начала, Вывод данных в Паскале.
- •Рассмотрим, теперь, Ввод данных в Паскале.
- •35. Условные операторы Pascal-Паскаль
- •36. Оператор выбора Паскаля
- •37. Оператор безусловного перехода
- •38. Счетный оператор цикла или оператор цикла с параметром
- •39. Цикл с предпроверкой условия
- •40. Цикл с постпроверкой условия
- •42. Процедуры и функции
- •Описание и вызов процедур и функций
- •43. Процедуры.
- •44. Численное решение систем нелинейных уравнений
- •Методы численного решения уравнений и систем нелинейных уравнений
- •3.1. Решение нелинейных уравнений
- •3.1.2. Методы уточнения корней нелинейных уравнений
- •Тогда .
- •С погрешностью
- •Откуда при
- •Пусть тогда и
- •45. Метод половинного деления.
- •Тогда .
- •С погрешностью
- •46. Метод хорд
- •47. 52. Метод Ньютона (метод касательных)
- •48. Комбинированный метод хорд и касательных для уточнения корней нелинейных уравнений
- •49. 51. Метод простых итераций
- •50. Решение систем линейных алгебраических уравнений методом Гаусса
- •53. Метод прямоугольников
- •Составные квадратурные формулы
- •Составные формулы для равномерных сеток
- •Погрешность метода
- •Пример реализации
- •54. Метод трапеций
- •Составная формула
- •59. Интерполяцио́нный многочле́н Лагра́нжа
- •Определение
- •Применения
- •Случай равномерного распределения узлов интерполяции
- •60. Разделё́нная ра́зность
- •Определение
- •Применение
- •История
29. Язык программирования Паскаль. Общая характеристика. Основные правила записи программ на языке Паскаль. Структура программы. Пример программы
Введение
В кратком изложении история языков программирования такова: изначально вычислительные машины программировались в машинном коде. То есть в их оперативную память напрямую вводили последовательность чисел, являющиеся кодами команд, которые процессор может выполнить. При этом программа составлялась с периодическим заглядыванием в таблицу кодов команд процессора и была отнюдь не наглядной. Затем появилась идея обозначить коды какими-то короткими, но осмысленными, и потому легко запоминаемыми словами – мнемониками, и создать программу, которая бы, руководствуясь таблицей команд, переводила последовательность мнемоник – мнемокод в последовательность машинных кодов. Такую программу называют ассемблером (assembler - сборочное устройство, транслятор, ассемблер). Программы стали гораздо нагляднее, но решение практических задач требовало написания очень длинных программ (например, файловый менеджер Volkov Commander имеет размер около 64000 байт). Тогда появились языки программирования высокого уровня. При их создании использовали то обстоятельство, что в программе часто встречаются участки одинакового кода, выполняющие какое либо одно действие: вывод строки, запись в файл, вычисление математической функции и т.д. В языках высокого уровня таким последовательностям кода присвоены имена, и программа составляется на условном языке, каждое, из слов которого заменяет десятки, ато и сотни команд процессора. Таким образом, программа становится еще нагляднее и короче. Существует множество условных языков высокого уровня, для каждого из них написано немало вариантов пограммы, переводящей условный код в последовательность машинных команд. Один из таких языков – Паскаль.
Язык программирования Pascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском Институте информатики (Швейцария), и назван в честь Блеза Паскаля – выдающегося математика, философа и физика 17-го века. Первоначальная цель разработки языка диктовалась необходимостью создания инструмента "для обучения программированию как систематической дисциплине". Однако очень скоро обнаружилась чрезвычайная эффективность языка Pascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем - компиляторов, баз данных, операционных систем и т.п. К настоящему времени Pascal принадлежит к группе наиболее распространенных и популярных в мире языков программирования:
существуют многочисленные реализации языка практически для всех машинных архитектур;
разработаны десятки диалектов и проблемно-ориентированных расширений языка Pascal;
обучение программированию и научно-технические публикации в значительной степени базируются на этом языке.
Характеристика и особенности языка
Существует ряд объективных причин, обусловивших выдающийся успех языка Pascal. Среди них в первую очередь необходимо указать следующие:
Язык в естественной и элегантной форме отразил важнейшие современные концепции технологии разработки программ:
a. развитая система типов,
b. ориентация на принципы структурного программирования,
c. поддержка процесса пошаговой разработки.
Благодаря своей компактности, концептуальной целостности и ортогональности понятий, а также удачному первоначальному описанию, предложенному автором языка, Pascal оказался весьма легок для изучения и освоения. В противоположность громоздким многотомным описаниям таких языков, как PL/l, Cobol, FORTRAN, достаточно полное описание языка Pascal занимает около 30 страниц текста, а его синтаксические правила можно разместить на одной странице.
Несмотря на относительную простоту языка, он оказался пригоден для весьма широкого спектра приложений, в том числе для разработки очень больших и сложных программ, например, операционных систем.
Pascal весьма технологичен для реализации практически для всех, в том числе и нетрадиционных, машинных архитектур. Утверждается, что разработка Pascal-транслятора "почти не превышает по трудоемкости хорошую дипломную работу выпускника вуза". Благодаря этому для многих ЭВМ существует несколько различных реализаций языка, отражающих те или иные практические потребности программистов.
Язык Pascal стандартизован во многих странах. В 1983 году был принят международный стандарт (ISO 7185:1983)
1.Общая характеристика языка ПаскальЯзык Паскаль относится к процедурно-ориентированным языкам высокого уровня. Разработан американским ученым Никласом Виртом в 1971г. в качестве языка для обучения программированию. Базой при разработке явился язык Алгол. Достоинства языка Паскаль: 1) относительная простота (т.к. разрабатывался с целью обучения программированию); 2) идеология языка Паскаль близка к современным методикам и технологиям программирования, в частности, к структурному программированию и нисходящему проектированию (метод пошаговой детализации) программ. Паскаль может использоваться для записи программы на различных уровнях ее детализации, не прибегая к помощи схем алгоритмов; 3) гибкие возможности в отношении используемых структур данных; 4) высокая эффективность программ; 5) наличие средств повышения надежности программ, включающих контроль правильности использования данных различных типов и программных элементов на этапах трансляции, редактирования и выполнения. В связи с этим язык Паскаль в настоящее время находит самое широкое распространение для решения большого круга разнообразных практических и научных задач. Грамматическое описание любого языка программирования включает в себя: 1. алфавит – набор основных символов языка, используемых при записи текста программы; 2. синтаксис – правила построения фраз языка; 3. семантику – смысловое значение фраз языка.2.Основные элементы языка ПаскальНапомним вначале некоторые основные понятия программирования. Опытный программист уже знает, а новичку полезно узнать, что главными элементами любой программы являются переменные, константы и операторы. Переменная — это ячейка (или несколько ячеек) оперативной памяти компьютера. Такой ячейке присвоено определенное имя, ее содержимое может изменяться в ходе выполнения программы. Вид информации, содержащейся в ячейке, набор преобразований, которые можно выполнять над этой информацией, и множество допустимых значений определяются типом переменной. Константа отличается от переменной тем, что ее значение фиксировано и не может быть изменено в ходе выполнения программы. Операторы задают те или иные действия, которые должна выполнять программа. Язык Турбо Паскаль состоит приблизительно из 80 зарезервированных слов и специальных символов. Алфавит языка составляют буквы латинского алфавита, цифры, а также специальные символы, такие, например, как +, -, _. Специальными символами языка являются и некоторые пары символов. Как уже отмечалось, зарезервированные слова в языке Паскаль могут применяться только по своему прямому назначению, то есть в качестве имен операторов, названий операций и т. д. В табл. 1.1 приведен алфавитный список зарезервированных слов. В большинстве случаев овладение даже небольшой частью этого «словаря» достаточно для начала успешной работы по программированию на Паскале.^Таблица 1.1. Зарезервированные слова языка Паскаль
absolute |
and |
array |
assembler |
begin |
break |
case |
const |
constructor |
continue |
destructor |
div |
do |
dpwnto |
else |
end |
external |
far |
file |
for |
function |
goto |
if |
implementation |
in |
inline |
interface |
interrupt |
label |
mod |
near |
nil |
not |
object |
of |
or |
packed |
private |
procedure |
program |
public |
record |
repeat |
set |
shl |
shr |
string |
then |
to |
type |
unit |
until |
uses |
var |
virtual |
while |
with |
xor |
|
|
В дальнейшем мы разберем применение приведенных в данной таблице зарезервированных слов, а сейчас лишь кратко поясним смысл некоторых из них, наиболее часто используемых в программах на Паскале. Заголовки, то есть первые операторы программ и библиотечных модулей — это program и unit. Для описания переменных, констант и составных частей программы — подпрограмм-процедур и подпрограмм-функций — используются зарезервированные слова var, const, procedure, function. Операторы описания типов переменных, задаваемых пользователем, — это type, array, string, record...end, file of... . Слова, используемые для программирования составных операторов, а также начинающие и оканчивающие последовательность исполняемых операторов программы, — begin и end. Операторами, управляющими ходом выполнения программы (они так и называются — управляющие операторы), являются if-then...else, for...to...do, repeat...until, case...of...end, for...downto...do, while...do. В библиотечных модулях используются зарезервированные слова implementation, interface. Зарезервированные слова для обозначения арифметических и логических операций — div, mod, shl, shr, and, or, not и некоторые другие. В программах, написанных с использованием методов объектно-ориентированного программирования, применяются зарезервированные слова object, constructor, destructor, public и virtual. Как уже было отмечено, кроме зарезервированных слов в программах на языке Паскаль используются как отдельные специальные символы, так и пары символов, которые имеют специальное значение. Перечень таких символов приведен в табл. 1.2. ^Таблица 1.2. Одиночные и двойные специальные символы языка Паскаль
:= |
Присваивание переменной (слева от символа) значения выражения (справа от символа) |
; |
Разделитель операторов в программе |
( ) |
Скобки для арифметических и логических выражений |
: |
Разделитель в описаниях переменных и формате операторов вывода |
.. |
Многоточие для списков |
+,-,*,/ |
Бинарные операции (не только арифметические!) |
= |
Логическое равенство, элемент описания констант и типов |
<> |
Логическое неравенство |
<= |
Отношения «меньше чем» и «больше чем» |
>= |
Отношения «меньше или равно» и «больше или равно» |
. |
Конец программы или модуля, а также десятичная точка в константах вещественного типа |
' |
Ограничители константы строкового типа |
{} (* *) |
Пары скобок для комментариев |
, |
Разделитель элементов списка |
[ ] |
Скобки для ссылки на элемент массива или указания диапазона значений индекса |
Одних только зарезервированных слов и специальных символов недостаточно для написания полноценной программы, ведь в нее надо вводить данные, а результат ее работы должен быть доступен пользователю. Все это обеспечивают специальные операторы ввода/вывода. Важным элементом современных программ является графическое отображение результатов работы. Эти и множество других возможностей поддерживаются библиотечными модулями. Подробнее о программировании операций ввода/вывода речь пойдет позже. ^ 3.Структура программы на языке Турбо Паскаль
-
Program P1; {заголовок, название программы} {±}Uses………;{подключение внешних модулей с расширением *.tpu}{±}Const……...; {описание констант} {±}Type………; {задание типов} {±}Var………..; {раздел объявления переменных}{±}Function F1….; {описание функций} {±}Procedure Pr1….; {описание процедур} {±}
Begin{начало основной программы} {+} ….. {тело основной программы} {±}End. {конец основной программы} {+}.
^ 4.Технология программированияВключает пять технологических операций (этапов):
Постановка задачи.
Математическое описание.
Алгоритм – структограмма.
Написание текста программы.
Отладка, получение результатов.
5.В ходе отладки программы приходится сталкиваться с тремя видами ошибок: 1. Синтаксические ошибки- текст программы не отвечает требованиям языка Паскаль. Такие ошибки выявляются сразу при попытке компиляции и запуска программы. 2.^ Ошибки периода выполнения программы (RUNTIME ERROR)– ошибки, возникающие при выполнении программы, когда текст программы формально записан правильно, но при выполнении программы в результате неблагоприятного стечения обстоятельств возникает ошибочная ситуация и компьютер не может продолжить работу (например, в случае деления на ноль). 3.^ Ошибки в алгоритме (семантические ошибки)- программа работает без сбоев, но результаты получаются неверные. Ошибки 1 и 2 видов помогает отыскать сам компьютер, приостанавливая работу и выводя на первой строке сообщение о характере ошибки. Более того, при компиляции неправильной программы Турбо-Паскаль автоматически загружает в окно редактора сбойный участок текста программы и помешает курсор вблизи обнаруженной ошибки. Перечислим ошибки, наиболее часто допускаемые начинающими программистами, и разъясним сообщения Турбо-Паскаля, выдаваемые им при выявлении этих ошибок в процессе компиляции текста программы:^ Identifier expected- в этом месте программы должен находиться идентификатор (имя программного объекта). Возможно, программист пытался использовать в качестве идентификатора слово, зарезервированное Паскалем для других целей.^ Unknown identifier- идентификатор (имя переменной, константы. процедуры и т.п.) не был упомянут в разделе описаний программы.Duplicate identifier- попытка дважды описать один и тот же идентификатор.^ Syntax error- синтаксическая ошибка, например строка символов не была заключена в кавычки.Line too long- компилятор не может обрабатывать текст программы со строками длиннее 126 символов. Скорее всего, программист забыл поставить апостроф, закрывающий текстовую строку, записываемую в переменную или выводимую на экран.^ Type identifier expended- не указан тип идентификатора.Variable identifier expended- на этом месте в программе должна стоять переменная.Error in type- объявление типа данных не может начинаться с этого символа.^ Type mismath-
тип переменной, стоящей слева от знака присваивания, тличается от значения выражения, стоящего справа;
при обращении к процедуре типы формального и фактического параметров не совпадают;
переменная данного типа не может служить индексом массива.^ Begin expected - нужен begin. End expected - нужен end. Integer expression expected - требуется выражение типа integer. Boolean expression expected - требуется выражение типа boolean. Do expected - пропущено слово "Do". ^ Of expected - пропущено слово "of". Then expected - пропущено слово "then". To expected - пропущено слово "to". String variable expected- требуется строковая переменная.^ Error in expression- данный символ не может участвовать в выражении таким образом.Division by zero- деление на ноль.Constant and case types do not math- тип меток и тип селектора в операторе CASE не соответствуют друг другу.^ Label not within current block- оператор GOTO не может ссылаться на метку, находящуюся вне текущего модуля.Label already defined- такая метка уже есть.Floating point overflow operation- величина вещественного числа вышла за пределы диапазона, допускаемого Паскалем (обычно при делении на ноль).Invalid procedure or function reference- неправильный вызов подпрограммы.
^