Как сделать сумму в паскале

Обновлено: 04.07.2024

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

В действительности формат записи const немножко сложнее. По правилам мы должны были записать:

После объявления каждой величины указывается её тип, а потом присваивается значение. Но предыдущая запись тоже верна, поскольку компилятор Паскаля настроен так, что он автоматически определяет тип постоянной. Но этого нельзя сказать о следующем типе чисел – переменных.

Здесь операторы в теле программы – это разные команды компилятору.

write( ‘этот текст выведен на экране’ );

этот текст выведен на экране

В таком виде оператор write используется в том случае, когда надо показать подсказку, пояснение, комментарий и т. п. А от если необходимо вывести ещё и числовое значение, скажем, S = 50 кв. м, то используется формат:

write( ‘Величина площади равна: S = ‘ , S);

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

Величина площади равна: S = 50

А при необходимости вывести единицы измерения, надо после S снова вставить текст в кавычках:

write( ‘Величина площади равна: S = ‘ , S, ‘ кв.м’ );

После выполнения последнего оператора вывода получим вывод на экран:

Величина площади равна: S = 50 кв.м

✎ 9) writeln – то же, что и write, но после выполнения курсор будет переведен на следующую строку.

Каков Ваш возраст?
Year = 32
Мой возраст 32 года

Это пока что все. На следующей странице мы напишем первую программу, и в программировании на Паскале это будут наши первые шаги.

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

Содержание

Программы в данной IDE строятся так:

В данной секции располагаются определенные пользователем константы. Синтаксис объявления констант выглядит так:

Данная секция предназначена для переменных и массивов. Переменные объявляются так:

Тип строка — это тип переменных, который позволяет хранить в переменной любой текст. Объявление строковой переменной:

ОперацияОписание
s1 + s2Объединение строк
s1*nДублирование строки n раз

ОперацияОписание
a + bСложение чисел
a — bРазность чисел
a * bПроизведение чисел
a div bЦелочисленное деление
a mod bОстаток от деления

Декларация переменной типа real:

Пример присваивания переменной данного типа:

ОперацияОписание
a + bСложение чисел
a — bРазность чисел
a * bПроизведение чисел
a / bЧастное чисел

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

Комментарий — это часть кода, которую игнорирует компилятор. Он создается следующим образом:

Массивы — это именованный список элементов одного типа.

P. S. Для работы с массивами существует учебный модуль Arrays.

Статические массивы имеют фиксированный размер. Общий синтаксис объявления данных массивов выглядит так:

, где N — длина массива.

Матрица — это n-мерный список значений, имеющий свой тип и ограниченный некоторыми значениями. Пока будем рассматривать только статические двухмерные и трехмерные матрицы. Перед тем, как перейти к их изучению вспомни таблицы в Excel. Каждая таблица имеет свой размер — ширину и длину. Возьмем за правило ассоциировать двухмерные матрицы с таблицами. Объявление матрицы:

, где N, M — количество строк и столбцов соответственно.

Трехмерный матрицы обладают третьим измерением:

Декларация N-мерной матрицы:

, где A..Z означают количество элементов в соответствующем измерении.

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

Пример объявления массива:СтатическийДинамическийВызов SetLength (для динамического массива)
Векторный
Двумерный Трехмерный

Индекс массива — это номер элемента массива. Индекс может принимать значения [0, N — 1], где N — количество элементов некоторой размерности. Обращение к элементу одномерного массива с некоторым индексом:

Составим таблицу, которую следует запомнить:

Где i, j, k — индексы.

Индексом может быть значение элемента массива:

Вывести текст — это значит отобразить текст на экране. Общий синтаксис для вывода текста выглядит так:

Вывод значений произвольного количества переменных:

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

Чтение с клавиатуры — это процесс ввода данных с клавиатуры и запись в соответствующий элемент программы этих данных. Элементами программы являются как переменные, так и элементы массивов. Тип данных, вводимых с клавиатуры, должен соответствовать типу элемента, в который записываются данные с клавиатуры. Использование Readln для чтения с клавиатуры и перехода на новую строку:

Общий синтаксис условного оператора if:

Команды . будут выполнены только при истинности условия.

Условные обозначения в программировании операций сравнения приведены в таблице:

Общий синтаксис сравнения двух величин:

Оператор case используется для сопоставления значения некоторого выражения с константными значениями:

Если некоторое i-тое константное выражение совпадает с значением выражения, то i-ая группа операторов будет выполнена. Группа операторов после else будет выполнена, если значение выражения не совпало ни с одной из констант. begin — end не нужны, если после двоеточия только один оператор.

Оператор цикла позволяет выполнять группу операторов (или один) циклически пока условие является истинным.

Если второе значение меньше первого — используйте downto вместо to.

Для выхода из цикла можно использовать break:

Для завершения текущей итерации цикла и начала другой используйте оператор continue.

Общий синтаксис описания функции:

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

Pascal abc все команды список

Пожалуй, нет ни одного современного человека, кто бы не знал язык Паскаль (основы программирования). И это не удивительно! Еще в учебнике по информатике для школьников расписаны самые основные понятия этой уникальной программы.

История изучаемого языка не так проста: Паскаль претерпел множество изменений, прежде чем школьники увидели его в том виде, в каком его преподают на уроках. Это был самый первый простой язык (ord pascal) для программирования, помогающий решить множество практических задач прошлого столетия (1970 год). Он был разработан группой ученых.

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

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

Что такое язык программирования Паскаль

Это базовая высокоуровневая программа. Она занимает первое место в учебных планах многих школ и вузов Российской Федерации.

Всё познается в сравнении, поэтому преимущества этой программы рассмотрим в соотношении с другим языком BASIC.

Pascal abc все команды список

Pascal abc все команды список

Итак, что характерно для языка Паскаль и что не подходит для Бейсика:

  1. Во-первых, наличие компилятора, позволяющего скачивать Паскаль на любые платформы.
  2. Во-вторых, все версии этой программы совместимы между собой.
  3. В-третьих, структурированные типы данных помогают программисту точно составить необходимый алгоритм решения практической задачи, при этом защищая его.
  4. В-четвертых, наглядность и логичность интерфейса программы: все команды просты и понятны.
  5. В-пятых, переход на другой, более высокий по уровню язык программирования, достаточно прост.

Сумма вводимых целых чисел

Pascal abc все команды список

Произведение целых чисел

Pascal abc все команды список

Сколько нечетных среди n введенных

Pascal abc все команды список

Защита от неверного ввода

Pascal abc все команды список

Вывод 10 первых степеней двойки

Pascal abc все команды список

Найти сумму цифр целого положительного числа m

Pascal abc все команды список

Разложение числа на простые множители

Pascal abc все команды список

Паскаль для начинающих – основные понятия

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

Рабочая область

Как выглядит рабочее пространство?

Pascal abc все команды список

Теперь рассмотрим основу: алфавит и структуру.

Алфавит Паскаль

Что нужно знать? Алфавит — это набор символов, необходимый при составлении программы.

Pascal abc все команды список

Что к ним относится:

  1. Латинские прописные, строчные буквы (А, В, С….а,b,с).
  2. Арифметические символы (0, 1, 2…).
  3. Специальные знаки (препинания, скобки, кавычки, арифметические знаки и т. д.).
  4. Неделимые символы (:=, ˃=…).
  5. Служебные слова:
  • and – и;
  • array – массив;
  • begin – начало;
  • do – выполнить;
  • else – иначе;
  • for – для;
  • if – если;
  • of – из;
  • or – или;
  • procedure – процедура;
  • program – программа;
  • repeat – повторять;
  • then – то;
  • to – до;
  • until – до (= пока);
  • var – переменная;
  • while – пока.

Структура программы

Pascal abc все команды список

По своей структуре этот язык делится на 3 раздела:

Структуру можно представить так:

Pascal abc все команды список

Кстати, операторы между собой разделяются точкой с запятой.

Операторы write, writeln, read, readln

Выясним, как происходит вывод и ввод информации.

Вывод

Как таковых операторов вывода в этом языке нет, но есть специальные слова, которые помогают запустить необходимые функции. Это write, writeln.

Pascal abc все команды список

В чем их главное отличие? При вводе или выводе последующей информации после них: в первом случае последующая информация будет выводиться на ту же строку, где и написан оператор. А вот во втором – на следующую.

Для ввода существуют тоже свои слова: read, readln (= readkey).

Pascal abc все команды список

Они отличаются друг от друга точно так же, как и предыдущие операторы (при выводе).

Целый тип данных

Выделяют 3 основных вида:

Pascal abc все команды список

С ними также проводят простые действия:

Кроме того, разрешено проводить отношения и сравнения (больше или равно — ˃ =).

Вещественные типы данных

К таким переменным относятся дробные числа (например, число пи). Здесь они называются real.

Pascal abc все команды список

Что нужно помнить? Чтобы ввести формулу дробного числа, надо вместо запятой использовать точку. Для записи степеней (х * 10 у ) 10 заменяется Е и число имеет запись:

Pascal abc все команды список

С ними можно выполнять как самые простые арифметические действия, так и более сложные:

  • квадратный корень – sqrt;
  • абсолютная величина – abs;
  • квадратичная функция – sqr;
  • синус – sin;
  • косинус – cos;
  • арктангенс – arctan;
  • натуральный логарифм – ln;
  • экспонента – exp.

Обработка данных

Помимо перечисленных выше функций (в предыдущих 2 пунктах), есть и другие:

  • целая часть числа – int;
  • дробная часть числа – frac;
  • получение целой части числа – trunc;
  • округление до целого – round;
  • преобразование порядкового типа – ord;
  • преобразование кода в символьный тип – chr;
  • определение предыдущего значения величины – pred;
  • определение последующего значения величины – succ.

Математические операции

Математические функции и операции были рассмотрены при разборе целых и вещественных данных.

Pascal abc все команды список

Остановимся на типах констант и переменных. Какие они бывают?

Простые включают в себя подтипы:

  • целые – integer;
  • логические – boolean;
  • символьные – char;
  • перечисляемые;
  • интервальные;
  • вещественные.

Строковые записываются командой string. Ссылочные представлены соответствующей формой.

Pascal abc все команды список

Структурированные делят на:

  • массивы – array;
  • записи – record;
  • множества – set;
  • файл – file.

Для каждого типа характерны свои наборы операций.

Условия

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

Схема представлена на рисунке ниже.

Pascal abc все команды список

Логические операции

Операции основаны на истине факта или его лжи.

Pascal abc все команды список

Выделяют 3 вида таких функций:

  1. Odd – если нечетное число, то истина (наоборот – ложь).
  2. Eoln – истина на конце строки (в другом месте – ложь).
  3. Eof – истина в конце файла (в другом месте – ложь).

Функции управления программой

Pascal abc все команды список

Какие еще существуют процедуры:

  • Inc – увеличение числа;
  • Clrscr – очистка предыдущих результатов работы программы;
  • Uses crt – запуск clscr;
  • Length – возвращение длины строки;
  • Val – преобразование строки в число;
  • Pos – отыскать в строке первое преобразование;
  • Assign – связывание переменной с файлом;
  • Upcase — перевод строчных букв в заглавные.

Заключение

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

подсскажите как сделать что бы он суммировал не только однозначные числа?

Здесь цикл сканирует посимвольно. Тебе нужно изменить условие поиска. Для этого можно использовать функцию Pos - она ищет подстроку в указанной строке. То есть допустим если числа разделены пробелами, то нужно задать Pos(' ', st). Тогда она вернет тебе позицию первого пробела, ну и так далее.

Сорри, Я начал писать до поста Стилета

Лишнее мнение идти в правильный туннель со светом в конце не помеха страждушему

А чего тут коментировать?
Я в цикле проходу посимвольно.
Как только встречаю символ-цифру запускаю внутренний цикл который собирает все идущие после цифры до первой буквы, после чего собранное превращаю в число и суммирую.
И так далее.

В большинстве случаев переменные описываются в блоке begin-end и описание совмещается с инициализацией:

Это решает сразу несколько проблем:

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

При таком способе возникает одна проблема: если надо накопить сумму вещественных, то такой код приведет к ошибке типов:

Для исправления этой ошибки всё равно придётся говорить о типах и инициализировать sum одним из двух способов:

Цикл for var

Переменная - счётчик цикла for всегда должна описываться в заголовке цикла:

Это делает невозможным использование счётчика цикла вне цикла

Цикл loop

Если количество повторений цикла заранее известно, но неважен номер повторения, то используется цикл loop:

Множественное описание переменных с инициализацией

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

Вывод

Для вывода вместо процедуры Write предпочтительно использовать процедуру Print. В отличие от Write она разделяет элементы вывода пробелами. Например:

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

вместо режущего глаз

Ввод принято осуществлять, используя функции вида ReadInteger, ReadReal и т.д.:

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

Для ввода с контролем ошибок используется функция TryRead. Она возвращает False если ввод осуществлён неверно (введено не число или число выходит за границы диапазона). Типичный пример её использования:

Тип BigInteger

Для работы с длинными целыми используется тип BigInteger. Например, чтобы вычислить 100!, достаточно написать следующий код:

Константу BigInteger можно также создать, используя суффикс bi - тогда предыдущий код изменится следующим образом:

Некоторые полезные стандартные процедуры, функции и операции

Для обмена значений двух переменных a и b используйте стандартную функцию Swap(a,b) :

Разумеется, первый раз необходимо показать, что обмен значений осуществляется через третью переменную:

Но далее следует использовать Swap.

Минимальное и максимальное среди множества значений можно вычислить, используя стандартные функции Min и Max:

Для возведения в степень используется операция ** :

Возведение в целую степень оптимизировано и работает быстрее стандартной функции Power(a,n) .

Для проверки принадлежности диапазону используется конструкция x in a..b :

Эта операция эффективна и переводится в

Диапазоны также можно использовать для вещественных значений и для символов:

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

Мы рекомендуем второй способ - он существенно более эффективен по скорости и по памяти.

Условная операция

Если переменной необходимо присвоить значение в зависимости от условия, то вместо условного оператора иногда нагляднее использовать условную операцию:

Методы в стандартных типах

Например, чтобы вывести значение переменной базового типа, можно использовать метод Print:

Из других интересных методов для начинающих для целых типов отметим:

Например, в следующей программе вычисляется количество четных двузначных из 10 введённых:

Для вещественных значений полезными являются методы

В частности, удобно использовать цепочечную точечную нотацию:

Для всех числовых типов также определены константы MinValue и MaxValue. Чтобы обратиться к ним, следует использовать имя типа:

Кортежи

Кортежи представляют собой способ объединить несколько значений в одно целое. Значения типа Кортеж записываются в круглых скобках: (1,2,3) или ('Иванов',15) . с помощью кортежей можно выполнять одновременные присваивания нескольким переменным:

Присваивание (a,b) := (b,a) позволяет поменять значения двух переменных.

Использование кортежей даже в начальных задачах крайне многообразно.

Пример 1. Нахождение наибольшего общего делителя

Пример 2. Числа Фибоначчи

©2022 PascalABCNET Team. All rights reserved.
Page last updated: 19.12.2020
Site last generated: Jan 9, 2022

обучение PascalABC

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

Структура программы на языке Паскаль

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

как составить программу паскаль структура программы Паскаль

Заголовок программы

Текст программы начинается со слова program. После него записывается имя программы. Данная строка носит информативный характер и ее можно не писать.

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

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

Раздел описания переменных

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

Комментарии в программе можно записывать внутри фигурных скобок. Они игнорируются во время выполнения программы. Эти пояснения вы пишите только для себя.

В нашем примере переменные с именами X и Y используются для хранения исходных данных. Переменная с именем Z используется для хранения результата вычислений.

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

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

Принадлежность переменной к типу integer означает, что она может хранить только целые числа. Если требуется хранить действительные (дробные) числа, тогда используется тип real.

Тело программы

Все что находится между служебными словами Begin и end — тело программы. Здесь записываются основные команды.

Оператор присваивания значений переменным имеет следующую структуру: переменная := выражение

Вывод результата выполняет команда write или print.

линейные алгоритмы паскаль примеры

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

Команды в Паскаль для ввода и вывода данных

Команда Read

В первом примере мы присвоили значения переменным непосредственно в тексте программы. Но так как программа пишется для решения множества однотипных задач, то удобнее задавать значения переменным во время ее работы. Для этого применяется команда read, которая позволяет ввести текстовые или числовые данные с клавиатуры.

Модифицируем код программы из примера выше.

Теперь ввод значений переменных Х и У будет осуществляться по запросу работающей программы. В этот момент нужно будет с клавиатуры ввести два числа через пробел и нажать клавишу Enter, чтобы продолжить выполнение программы.

линейные алгоритмы паскаль

При работающей программе в системе программирования PascalABC появится строка ввода данных. Там и пишутся значения переменных.

Команда Write

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

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

линейные алгоритмы паскаль задачи с решением


У нас появились подсказки. Посмотрите на команду write. В качестве ее аргумента был использован текст, заключенный в апострофы. И еще, появилось окончание ln у оператора write. Именно оно заставляет последующий вывод информации делать с новой строки. Это же окончание можно использовать совместно с оператором read.

Readln и Writeln в паскале — это модифицированные команды Read и Write. В командах добавлено окончание ln (line new — новая строка). Такая форма операторов делает последующий вывод информации, при работе программы, с новой строки.

линейные алгоритмы на паскаль

Также поменялся вывод результата. Здесь тоже появилась подсказка.

Примеры программ на паскале — задания на линейные алгоритмы

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

Читайте также: