Алгоритм написания программы в паскале

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

1. Первый алгоритм, про который я расскажу — это факториал натурального числа Pascal. Факториалом числа (!n) является произведение натуральных чисел от 1 до этого числа включительно. Например, 5!=1*2*3*4*5.

Наша задача — написать программу Pascal, которая находит факториал числа.

Сначала переменной f (сокр. Factorial) присваиваем значение, равное единице, т.к 0! = 1, 1!=1.
Далее идет цикл с параметром от 2 до заданного числа, в котором переменная f умножается на следующее значение после единицы с увеличением на 1 после каждого круга.

Программа нахождения факториала на языке Паскаль:

var f: longint; n, i: integer; Begin write(‘n = ‘); readln(n); f := 1; For i:=2 to n do f := f * i; writeln(n,’! = ‘, f); End.

2. Второй алгоритм, который необходимо знать — нахождение НОК двух чисел. НОК — наименьшее общее кратное, то есть минимальное число, которое одновременно делится на оба числа.

Паскаль с нуля [ч1]. Первая программа.

В паскаль это реализуется достаточно просто:

var a,b,c:integer; //Описание переменных begin //Начало программы readln(a,b); //Считывание а и б c:=a*b; //Перемножение repeat //Цикл с постусловием if a>b then a:=a-b else b:=b-a; until a=b; //Цикл до тех пор, пока а не равно б c:= c div a; //Делим c на a нацело и получаем нок writeln(‘НОК=’, c); //Выводим значение end.//Конец программы

3. Также нужно знать и про НОД двух чисел. НОД — наименьший общий делитель, т. е. Минимальное число, которое нацело делит два и более чисел.

Код нахождения НОД в паскаль:

var a,b,c: integer; //Описание переменных begin //Начало программы writeln(‘Введите a,b: ‘); //Диалог с пользователем read(a,b); //Чистывание чисел while b<>0 do //Вход в цикл while, пока b не равно 0 begin c := a mod b; //Присваивание с остатка деления a/b a := b; b := c; end; writeln(‘НОД = ‘,a); //Вывод делителя end.//Конец программы

Скачать: nod.pas
На сегодня все, во второй части расскажу про возведение числа в степень, а также про нахождение минимального и максимального в массиве.

Источник: zedpost.ru

Часть 1. Основы языка Паскаль

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

1. Алгоритм и программа

Написанию программы всегда предшествует разработка некоторого плана (алгоритма) решения задачи. Кратко опишем основные понятия теоретической информатики, связанные с алгоритмами.

Читайте также:
Была организована игровая программа

1.1. Алгоритм

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

Урок 1. Первая программа на Pascal (Сложение чисел)

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

1.2. Свойства алгоритма

Дискретность– алгоритм состоит из отдельных инструкций (шагов);

Однозначность– каждый шаг понимается исполнителем единственным образом;

Массовость– алгоритм работает при меняющихся в некоторых пределах входных данных;

Результативность– за конечное число шагов достигается некоторый результат.

1.3. Формы записи алгоритма

Принято выделять 2 основных формы.

Графическая(блок-схема) – отдельные шаги алгоритма изображаются геометрическими фигурами, последовательность выполнения шагов – связями между фигурами;

Указанные на рисунке основные фигуры блок-схем интерпретируются так:

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

Ромб– блок проверки условия; так как любое условие может быть только истинно или ложно, у блока 1 вход и 2 выхода, соответствующие действиям, выполняемым в случаях, когда условие истинно и когда оно ложно. Выходы подписывают символами «+» и «-«, или «да» и «нет», «1» и «0» и т.п.

Параллелограмм– блок ввода исходных данных. Внутри фигуры обычно пишется, какие именно данные должны быть введены.

Листс разрывом – блок вывода данных. Внутри фигуры указывается, какие данные или сообщения программа выводит для представления пользователю.

Закругленный прямоугольник– необязательные блоки начала и конца программы, внутри блоков обычно указывается «нач» или «кон» соответственно.

Последняя фигураслужит для изображения циклов, как правило, у нее 2 входа (первый и повторный вход в цикл) и 1 выход, соответствующий завершению циклического процесса.

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

Язык блок-схем довольно громоздок, как правило, он не применяется профессионалами, однако, на начальном этапе обучения программированию планирование несложных программ в виде блок-схем может оказаться весьма полезным.

Текстовая форма записи алгоритма (псевдокод) – шаги алгоритма и последовательность их выполнения задаются набором ключевых слов. Эта форма ближе к реальным языкам программирования. Существует много различных вариантов псевдокода, например, в русскоязычной литературе распространен следующий набор ключевых слов:

Читайте также:
Одна или несколько проблем вызвали сбой программы установки c 0x80240017

начначало программы

конконец программы

если-то-иначепроверка условия

ввод ввод данных

выводвывод данных

для-от-до-нц-кццикл со счетчиком (нц – начало цикла, кц – конец)

пока-нц-кццикл с предусловием

нц-кц-покацикл с постусловием

Все алгоритмические конструкции, соответствующие этим ключевым словам, будут изучены нами в данном курсе. Как правило, программисты используют элементы псевдокода при планировании частей своей будущей программы.

Источник: studfile.net

Алгоритмы в Pascal

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

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

Определение

Algorithm – это последовательность команд, операций или действий, необходимых для достижения изначально поставленной задачи. Трактовок данного понятия несколько:

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

Algorithm должен быть разработан так, чтобы его выполнение обязательно приводило к изначально задуманному результату. Это весьма творческий процесс. Для одной и той же задачи могут существовать несколько разных последовательностей в пределах одного языка программирования. А для некоторых вариантов существует единственное верное решение.

Классификация

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

  • линейный алгоритм;
  • разветвленный;
  • циклический.

Каждый вариант подразумевает свои собственные особенности. Далее они будут рассмотрены более подробно. Предложенные концепции подходят не только для Паскаль, но и для других языков разработки.

Линейный

Это инструкции, в которых команды будут выполняться последовательно друг за другом. Самые простые. На них базируются не только элементарные программы, но и сложные проекты. Линейные последовательности с легкостью осваиваются новичками.

Вот пример в ЯП Паскаль, который помогает разобраться в принципах реализации рассматриваемого метода. В нем нужно найти объем куба и площадь его поверхности, если длина ребра равна a:

А вот – пример программы, которая вычисляет сумму двух чисел. После расчетов она выведет получившийся результат непосредственно на экран устройства:

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

Разветвленный

В них ход решения зависит непосредственно от выполнения или невыполнения заданного условия. В приложении реализация сводится к принципу выбора действия в зависимости от ответа «да» или «нет».

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

Циклический

Алгоритм программы в Паскале или другом ЯП, в котором определенная часть вычислений производится многократно. Простыми словами – цикл. В нем имеется итоговое количество повторений.

Читайте также:
Как управлять мышью с клавиатуры программа

Факториал

Отдельно стоит изучить несколько «базовых» алгоритмов, которые используются в Pascal, но не относятся к ранее перечисленным типам. Первый вариант – факториал натурального числа. Его можно назвать линейным. Связано это с определением самого факториала – произведение натуральных чисел от 1 до самого заданного числа.

Выше – наглядный пример реализации в программном коде Pascal. Его можно использовать в качестве шаблона для решения характерных задач.

Наименьшее общее кратное и делитель

А вот еще один алгоритм, который помогает при формировании некоторых приложений. Речь идет об обнаружении наименьшего общего кратного двух чисел.

При решении математических задач может потребоваться найти наибольший общий делитель. Еще один алгоритм для программы, с которым разберется даже новичок.

Наименьшим общим делителем называется минимальное число, которое нацело делит несколько чисел.

Способы выражения

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

  1. Вербальный. Ситуация, при которой алгоритм программы описывается языком, понятным человеку.
  2. Графический. Для описания используются графики или схемы, иногда – рисунки и иные изображения. Самый распространенный вариант (своеобразный эталон) – использование блок-схем.
  3. Символьный. Характеристика при помощи некоторого символьного набора.

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

Свойства

Каждый algorithm имеет определенные свойства. Запомнить их просто:

  1. Определенность (или точность). Ход решения поставленной задачи должен быть точным, а также понятным. Он исключает возможность неправильного или произвольного толкования. Вычислительные процессы строятся так, чтобы их можно было повторить.
  2. Массовость. Подобранная последовательность применяется к огромному количеству однотипных задач с изменением исходных условий.
  3. Дискретность. Итоговая цель разделяется на элементарные шаги-операции. Это помогает достигнуть итогового решения. Одна и та же задача может быть решена сразу несколькими методами. Каждый вариант поддерживает возможность разделения на более мелкие и простые подзадачи.
  4. Результативность. Решение задачи в программе должно приводить к тому или иному результату.
  5. Корректность. При выполнении заданной последовательности в программе должен быть получен правильный результат.

Если отсутствует хотя бы один «параметр», используемая последовательность не является алгоритмом.

Как быстро освоить

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

Вместе с ними пользователь с нуля сможет освоить любой язык разработки и изучить его особенности. Курс обучения составляет до 12 месяцев. В процессе гарантированы:

  • кураторство;
  • помощь в формировании портфолио;
  • интересные домашние задания и практика.

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

Источник: otus.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru