Все, что необходимо начинающему и опытному программисту
Паскаль для начинающих
Изучение Паскаля мы начнем сразу с конкретных примеров, которые помогут вам почувствовать процесс программирования вживую. Шаг за шагом мы проведем вас через все стадии программирования. Мы хотим, чтобы вы сразу ощутили уверенность, чтобы вы поняли: «Если я смог написать одну программу, значит, смогу и вторую»!
Выводим сообщение на экран дисплея
Нашей первой программой будет программа-приветствие. Она просто выведет текст на экран компьютера и завершит свою работу. В этом уроке мы рассмотрим основные правила оформления программы.
Внимательно читайте комментарии — они находятся в фигурных скобках < >.
Пример 1.1. Первая программа
Следующая команда, или оператор, выводит слово ПРИВЕТ на экран; после’вывода курсор остается на той же строке в конце текста; текст для вывода всегда заключается в апострофы.>
< Следующий оператор выведет на экран
слово ДРУЗЬЯ! и переведет курсор на следующую строку, так как символы
Программирование на языке Паскаль
«In» в операторе writeln означают «line» — по-английски «строка» >
writeln (‘друзья!’);
writeln(‘Это вторая строка ‘)
end. < Словом end заканчивается
тело программы;
в конце обязательно стоит точка >
ЗАМЕЧАНИЕ
Очень важно понимать, когда нужно ставить точку с запятой, а когда — нет. Основное правило — точка с запятой должна ставиться при перечислении инструкций. Так, в рассмотренном только что примере точка с запятой стоит между разделом program и разделом тела программы, а также в теле программы при перечислении операторов. На последнем операторе writeln перечисление заканчиваемся, поэтому мы не поставили точку с запятой.
Источник: www.programmer-lib.ru
Методичка по Pascal для начинающих программировать
методическая разработка по информатике и икт на тему
Методичка по Паскалю для начинающих программировать на кружках и уроках (7-9 класс). 2004 год (переработано).
Скачать:
![]() |
467 КБ |
![]() |
69 КБ |
Предварительный просмотр:
Понятие компьютерного моделирования. Основы программирования на языке Turbo Pascal.
Составитель Курилов И. А.
Основы алгоритмики: Понятие компьютерного моделирования. Основы программирования на языке Turbo Pascal – выборочный учебный материал в помощь учащимся по программе 136 часов.
В начале данной книжки приводится теоретический материал по основным понятиям данного раздела информатики, основная часть теоретические и практические темы по основам программирования, а в конце приводятся задания для самопроверки учащимся по темам, позволяющие самостоятельно и заранее подготовиться к контрольно-зачетным занятиям. (Издание 1-ое, 22.12.2002. — 05.07.2003).
ИНФОРМАТИКА 8 класс: Общая структура программы в языке Паскаль
I: Понятие алгоритма.
1. Понятие алгоритма. Свойства алгоритмов. Возможность автоматизации деятельности человека.
Понятие алгоритма так же фундаментально для информатики, как и понятие информации.
Само слово «алгоритм» происходит от имени выдающегося математика средневекового Востока Мухаммеда аль-Хорезми. Им были предложены приемы выполнения арифметических вычислений с многозначными числами (они всем хорошо знакомы из школьной математики). Позже в Европе эти приемы назвали алгоритмами от «Algorithmi» — латинского написания имени аль-Хорезми. В наше время понятие алгоритма понимается шире, не ограничиваясь только арифметическими вычислениями.
Термин «алгоритм» стал достаточно распространенным не только в информатике, но и в быту. Под алгоритмом понимают описание какой-либо последовательности действий для достижения заданной цели. В этом смысле, например, алгоритмами можно назвать инструкцию по использованию кухонного комбайна, кулинарный рецепт, правила перехода улицы и пр.
Для использования понятия алгоритма в информатике требуется более точное определение, чем данное выше. Получим такое определение.
Ключевыми словами, раскрывающими смысл этого понятия, являются: исполнитель, команда, система команд исполнителя.
Алгоритм представляет из себя последовательность команд (еще говорят — инструкций, директив), определяющих действия исполнителя (субъекта или управляемого объекта). Всякий алгоритм составляется в расчете на конкретного исполнителя с учетом его возможностей. Для того чтобы алгоритм был выполним, нельзя включать в него команды, которые исполнитель не в состоянии выполнить. Нельзя повару поручать работу токаря, какая бы подробная инструкция ему не давалась. У каждого исполнителя имеется свой перечень команд, которые он может исполнить. (Такой перечень называется системой команд исполнителя алгоритмов (СКИ)).
Процесс решения задачи должен быть разбит на последовательность отдельных шагов. Таким образом, формируется упорядоченная совокупность отделенных друг от друга команд (предписаний). Образующаяся структура алгоритма оказывается прерывной (дискретной): только выполнив одну команду, исполнитель сможет приступить к выполнению следующей.
Каждая команда алгоритма должна определять однозначное действие исполнителя. Это требование называется точностью алгоритма.
Алгоритм, составленный для конкретного исполнителя, должен включать только те команды, которые входят в его систему команд. Это свойство алгоритма называется понятностью. Алгоритм не должен быть рассчитан на принятие каких-либо самостоятельных решений исполнителем, не предусмотренных составителем алгоритма.
Еще одно важное требование, предъявляемое к алгоритму, —это конечность (иногда говорят — результативность) алгоритма. Это значит, что исполнение алгоритма должно завершиться за конечное число шагов.
Разработка алгоритмов — процесс интересный, творческий, но непростой, требующий многих умственных усилий и затрат времени. Поэтому предпочтительно разрабатывать алгоритмы, обеспечивающие решение всего класса задач данного типа. Например, если составляется алгоритм решения квадратного уравнения AX 2 + ВХ + С = О, то он должен быть вариативен, т. е. обеспечивать возможность решения для любых допустимых исходных значений коэффициентов А, В, С. Про такой алгоритм говорят, что он удовлетворяет требованию массовости.
Свойство массовости не является необходимым свойством алгоритма. Оно скорее определяет качество алгоритма; в то же время свойства точности, понятности и конечности являются необходимыми (иначе это не алгоритм).
Для успешного выполнения любой работы мало иметь ее алгоритм. Всегда требуются еще какие-то исходные данные , с которыми будет работать исполнитель (продукты для приготовления блюда, детали для сбора технического устройства и т. п.). Исполнителю, решающему математическую задачу, требуется исходная числовая информация. Задача всегда формулируется так: дана исходная информация, требуется получить какой-то результат. В математике вы привыкли в таком виде записывать условия задач. Например:
Дано: катеты прямоугольного треугольника а=3 см; b=4 см.
Найти: гипотенузу с.
Приступая к решению любой задачи, нужно сначала собрать все необходимые для ее решения данные.
Еще пример : для поиска номера телефона нужного вам человека исходными данными являются: фамилия, инициалы человека и телефонная книга (точнее, информация, заключенная в телефонную книгу). Однако этого может оказаться недостаточно.
Например, вы ищите телефон А. И. Смирнова и обнаруживаете, что в книге пять строк с фамилией «Смирнов А. И.» Ваши исходные данные оказались неполными для точного решения задачи (вместо одного телефона вы получили пять). Оказалось, что нужно знать еще домашний адрес. Набор: фамилия — инициалы — телефонный справочник — адрес — является полным набором данных в этой ситуации. Только имея полный набор данных, можно точно решить задачу. Обобщая все сказанное, сформулируем определение алгоритма.
Алгоритм — понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату .
Если алгоритм обладает перечисленными выше свойствами, то работа по нему будет производиться исполнителем формально (т. е. без всяких элементов творчества с его стороны). На этом основана работа программно-управляемых исполнителей-автоматов, например промышленных роботов. Робот-манипулятор может выполнять работу токаря, если он умеет делать все операции токаря (включать станок, закреплять резец, перемещать резец, замерять изделие и т. д.). От исполнителя не требуется понимание сущности алгоритма, он должен лишь точно выполнять команды, не нарушая их последовательности.
А что такое программа? Отличается ли чем-то программа от алгоритма? Программа — это алгоритм, записанный на языке исполнителя. Иначе можно сказать так: алгоритм и программа не отличаются по содержанию, но могут отличаться по форме.
Для алгоритма строго не определяется форма его представления. Алгоритм можно изобразить графически (блок-схемы), можно — словесно, можно — какими-нибудь специальными значками, понятными только его автору. Но программа должна быть записана на языке исполнителя (для ЭВМ это язык программирования).
2. Виды алгоритмов. Представление алгоритмов в виде блок-схемы.
Алгоритмы бывают разные. Самый простой линейный алгоритм.
Линейный (последовательный) алгоритм – описание действий, которые выполняются однократно в заданном порядке.
Пример: алгоритм решение задачи (от записи данных до ответа), алгоритм открывания двери (вставить ключ, повернуть ключ, открыть дверь) и т. д.
Разветвляющий алгоритм – алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий .
Условие – выражение, находящееся между словом «если» и словом «то» и принимающее значение «истина» или «ложь».
Пример: алгоритм нахождения функции не определенной на всей числовой прямой (находим значение y по заданному значению x , если x определена в этой точке), алгоритм покупки билетов (спрашиваем в кассе, есть ли билеты, если билеты есть, то подаем деньги, получаем билеты) и т. д.
Циклический алгоритм – описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие .
Перечень повторяющихся действий называется телом цикла.
Пример: алгоритм нахождения значений y при заданных или задающихся значениях x для построения графика функции (находятся значения на определенном интервале с заданным шагом), алгоритм покраски забора (макнуть кисть в краску, покрасить доску, шаг влево, …).
Вспомогательный алгоритм – алгоритм, который можно использовать в других алгоритмах, указав только его имя.
Вспомогательному алгоритму должно быть присвоено имя.
Пример: алгоритм определения корней квадратного уравнения (алгоритм нахождения дискриминанта, как вспомогательный алгоритм, находится внутри основного), алгоритм дежурного по отряду (алгоритм работы в столовой во время завтрака, обеда, ужина является вспомогательным в основном алгоритме).
Любой алгоритм удобно представлять в виде блок-схемы , так как это не только наглядный и простой способ представления алгоритма, но и лучший способ представления алгоритма для перевода его на любой язык программирования (см. далее).
Стандартные графические объекты блок-схемы
Вид стандартного графического объекта
Источник: nsportal.ru
Как составлять программы в паскале
Пользовательские процедуры и функции. При написании программ со сложными математическими вычислениями становится очевидным, что математических функций встроенных в Turbo Pascal, явно недостаточно. Нет, например такой функции, как y = x n . В процессе вычислений можно конечно задействовать такую формулу возведения в степень: y := exp(n*(ln(x)); но при частом использовании такой формулы в программе легко запутаться, особенно если нужно использовать разные аргументы.
Turbo Pascal предусматривает создание пользовательских процедур и функций. Рассмотрим создание функции возведения числа х в произвольную степень n (n >=0). Функция на паскале должна быть объявлена до начала программы, то есть до оператора begin.
Функция описывается следующим образом:
function имя функции (аргумент : тип аргумента) : возвращаемый тип данных;
var
раздел локальных переменных (если нужен);
begin
тело функции;
end;
В нашем случае с вычислением степеней, функция будет выглядеть так:
function stepen(x,n: real): real;
begin
stepen:= exp(n*ln(x));
end;
Теперь, напишем программу с использованием нашей функции.
uses crt;
function stepen(x,n: real): real;
begin
stepen:= exp(n*ln(x));
end;
var
rez,osn, pok: real;
begin
clrscr;
write(‘Wwedi osnowanie’);
readln(osn);
write(‘Wwedi pokazatel’);
readln(pok);
rez:= stepen(osn,pok);
writeln(‘rezultat= ‘,rez:0:2);
readln;
end.
Результат работы программы:
Используя уже написанные пользовательские функции можно создавать другие функции. Например, в нашем случае, мы можем написать функцию извлечения корня с произвольным показателем k (k <> 0) из любого числа q.
Известно, что q 1/k =
function koren(q,k: real): real;
var
kr: real;
begin
kr:= 1 / k;
koren:= stepen(q,kr);
end;
Так как, функция koren, использует функцию stepen, то в тексте программы, функция koren должна быть описана после описания функции stepen. Дополним и изменим нашу программу, с учётом вычисления не степени, а корня:
uses crt;
function stepen(x,n: real): real;
begin
stepen:= exp(n*ln(x));
end;
function koren(q, k: real): real;
var
kr: real;
begin
kr:= 1 / k;
koren:= stepen(q,kr);
end;
var
rez,osn, pok: real;
begin
clrscr;
write(‘Wwedi osnowanie: ‘);
readln(osn);
write(‘Wwedi pokazatel: ‘);
readln(pok);
rez:= koren(osn,pok);
writeln(‘rezultat= ‘,rez:0:2);
readln;
end.
Извлечём, например, корень 8-й степени из 256:
Процедуры в паскале, то-же, что и функции, но процедуры не возвращают никаких значений. Описываются процедуры так же, как и функции, в начале программы:
Источник: hi-intel.ru