Как правильно составить программу по информатике

Просмотров 11.8к. Обновлено 23 ноября 2020

Урок из серии: «Язык программирования Паскаль»

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

На первом занятии вы узнаете:

  1. Какова структура программы на языке Паскаль.
  2. Как написать простейшую программу.

Для создания программ можно использовать среду программирования Pascal ABC.

Если Паскаль на компьютере не установлен:   Скачать PABCDistr.rar .

Содержание

  1. Структура программы
  2. Как написать простейшую программу
  3. Коротко о главном
  4. Проверь себя!

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

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

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

За ним идет раздел описаний, в котором должны быть описаны все идентификаторы (константы, переменные, типы, процедуры, функции, метки), которые будут использованы в программе.

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

В этом разделе задаются действия над объектами программы, описанными в предыдущем разделе.  Операторы в этом разделе отделяются друг от друга точкой с запятой. После последнего слова end ставится точка.

Общий вид программы:

program <имя>; {заголовок программы}
uses      ...;       {раздел описания модулей}
var       ...;       {раздел объявления переменных}
label     ...;       {раздел объявления меток}
const     ...;       {раздел объявления констант}
type      ...;       {раздел объявления типов}
function  ...;       {раздел объявления функций}
procedure ...;       {раздел объявления процедур}

begin
   {последовательность  операторов}
end. {конец программы}

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

В наших первых программах будет только один раздел — раздел Var (variable — переменная), в котором мы будем объявлять те переменные, которые будем использовать в разделе операторов.

Как написать простейшую программу

Рассмотрим простейшую задачу с линейным алгоритмом.

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

Урок 1. Первая программа на языке ПаскальЗадача. Ввести с клавиатуры два числа. Вывести на экран их произведение.

Программа на Паскаль

Пояснения к программе

Имя этой программы example_1.

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

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

В нашем примере описаны три переменные: все они (a, b и rez) имеют целый тип (integer).

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

Первый встречающийся оператор — это writeln(‘текст’); — записать (вывести) на экран текст, заключенный между апострофами, ln добавляется в конце этого оператора для того, чтобы курсор автоматически переходил на следующую строку при выводе на экран текстов или результатов выполнения программы.

Следующий оператор — это readln(a,b); — читать данные с клавиатуры.

В данном случае во время выполнения программы необходимо ввести два целых числа через пробел, тогда переменной a присваивается значение, равное первому введенному числу, а переменной b присваивается значение, равное второму введенному числу.

Например, вы ввели числа 12 и 45, тогда a = 12, а b = 45. В конце этого оператора также можно ставить ln.

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

Следующий оператор — это снова оператор writeln(‘текст’,rez) — он выведет на экран текст, заключенный между апострофами, а за ним значение переменной rez.

Затем следующий оператор writeln выведет на экран сообщение: »Нажмите <Enter>», а оператор readln будет ожидать этого нажатия в окне выполнения.

Завершает раздел операторов  end с точкой.

Выполнение программы

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

Введите два целых числа через пробел

Курсор мигает в следующей строке, вводим два целых числа через пробел и нажимаем <Enter>, после этого появляется сообщение:

произведение равно...

Нажмите <Enter>.

Коротко о главном

Урок 1. Первая программа на языке ПаскальПрограмма на языке Pascal состоит из заголовка, раздела описаний и раздела операторов.

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

Урок 1. Первая программа на языке ПаскальНачало и конец раздела операторов обозначаются ключевыми словами begin и end. После слова end в конце текста программы всегда ставиться точка. Она означает, что программа закончена.

Урок 1. Первая программа на языке ПаскальКоманда вывода на экран — write(‘текст’) и writeln(‘текст’) отличаются положением курсора после выполнения команды. Команда write(‘текст’) оставляет курсор на той же строке, что и текст, а writeln переводит курсор на новую строку.

Урок 1. Первая программа на языке ПаскальКомпиляция выполняется клавишей F9. Для выполнения программы надо нажать Ctrl+9.

ТестПроверь себя!

Если Паскаль на компьютере не установлен:   Скачать PABCDistr.rar .
До встречи в следующем уроке.
В уважением, Вера Господарец.

Основные теоретические понятия программирования и среды разработки. Кроме теоретических понятий рассмотрим конкретно язык программирования Паскаль. Выполним три практических задачи. В этих задачах рассмотрены темы объявления переменных и примеры работы с тремя основными типами данных, а также примеры вывода и ввода данных.

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

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

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

Содержание

  • Кратко о языке программирования Pascal
  • Знакомство со средой PASCALABC.NET и написание первой программы

Язык Pascal – это относительно доступный и несложный язык программирования. Его изучают часто в школе в старших классах и на первых курсах высших и средних учебных заведениях. Этот язык программирования был разработан Никлаусом Виртом еще в 70-х годах прошлого века, а назван в честь французского математика Блеза Паскаля. Если вам интересно узнать подробнее об истории создания и развития данного языка программирования, вы можете найти эту информацию в Интернете, на той же самой Википедии. А мы не будем сильно на этом останавливаться.

Наша задача сегодня – написать первую собственную программу на языке Pascal. Писать мы будем для первого раза консольные приложения. А что же это такое – консольное приложение?

Мы привыкли, что, когда мы заходим в любую программу, перед нами появляется окно, в котором есть области для ввода информации, ее вывода, какие-то красиво оформленные таблички, кнопочки и многое другое. Тот же самый привычный нам MS Office Word. Консольное же приложение, если говорить простыми словами, представляет собой окно, в котором просто написаны буквы или цифры на одноцветном фоне, чаще всего на черном. Если вы видели хоть раз в своей жизни командную строку в Windows или операционную систему DOS, то вы представляете себе, что такое консоль. Но, как говориться, лучше один раз увидеть, чем сто раз услышать. В дальнейшем вы увидите, как это все выглядит.

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

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

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

Знакомство со средой PASCALABC.NET и написание первой программы

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

Для начала необходимо установить на свой компьютер среду разработки. На просторах Интернета можно найти различные вариации сред разработки, но я буду работать со средой разработки PASCAL ABC.NET. Эту среду вы можете найти в Интернете. Я бы рекомендовал вам использовать именно ее, так как по сравнению, например, с Turbo Pascal – в данной среде есть возможность копирования и вставки текста, а также поддерживается русский язык.

Кроме того, он более приятен и понятен в использовании, а также присутствует библиотека с задачником. Вы можете использовать и простой PASCAL ABC, но в версии .NET вы можете скомпилировать программу в файл с расширением .exe, то есть можете ей пользоваться полноценно, а в обычном PASCAL ABC вы можете запустить свою программу только непосредственно в самой среде разработки.

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

Рис.1. Среда разработки

Рис.1. Среда разработки

Для начала давайте придумаем название нашей программе. Я не буду долго думать и назову ее просто – “первая программа”. Но называть программу можно только на английском языке, так как это не просто имя программы, а кусочек кода, а весь код пишется только на английском языке. Поэтому я ее буду называть “first_program”. Обратите внимание, что вместо пробела я написал нижнее подчеркивание, так как Pascal понимает пробел как окончание команды. Теперь нам нужно объяснить языку что first_program – это именно название нашей программы, а не что-то другое (вы, кстати, можете придумать свое имя для вашей первой программы). Для этого нам нужно использовать команду (или по-научному оператор) Program. Эта команда говорит компьютеру, что через пробел будет указано название для программы. Итак, первая строчка кода у нас будет выглядеть так:

Program first_program;

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

Теперь давайте выведем текст: «Я написал первую программу! Ура!».

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

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

  • строковый (хранит любые символы),
  • целые числа (Integer),
  • вещественные числа (real).

Целые числа – это числа для счета, без запятой. Вещественные числа, хотя это не совсем так, но все-же – это числа с плавающей точкой, например – 3.1, 5.2 и так далее. Строковый тип данных – это как раз то, что нам нужно. В строковой переменной хранятся любые символы: буквы, цифры, знаки… За объявление переменных отвечает ключевое слово var. Конструкция выглядит следующим образом:

var [название переменной на англ. языке] : тип данных;

В нашем случае это будет выглядеть следующим образом:

var s: string;

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

Итак, после объявления переменных на следующей строчке пишем слово begin и переходим на следующую строчку. Начнем писать текст программы. Сперва в объявленную переменную s (можно было назвать и по-другому) нужно занести наше предложение «Я написал первую программу! Ура!», которое мы хотим вывести. Пока в нашей переменной (баночке) ничего нет. Чтобы ее заполнить – ей нужно присвоить какое-либо значение. Процесс, при котором мы помещаем в нашу банку (переменную) какого-либо значения (в нашем случае это предложение), называется присвоение и обозначается таким символом (:=) – двоеточие и равно. Выглядит это следующим образом:

s := 'Я написал первую программу! Ура!';

Текст, который мы вводим в строковую переменную записывается в одинарных кавычках. Теперь компьютер знает, что в баночке (переменной) под именем s хранится набор символов – наше предложение. Теперь нам необходимо вывести содержимое переменной на экран. Для этого в языке Паскаль предусмотрены операторы (команды) write и writeln. Первая команда выводит на экран содержимое переменной или текст, а вторая делает тоже самое, только с переходом на другую строку, то есть начинает выводить значение с новой строки. Запишем это:

write(s);

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

Program first_program;
var s: string;
begin
s := 'Я написал первую программу! Ура!';
write (s);
end.

Проверьте, правильно ли у вас все получилось. После этого нам необходимо запустить программу и проверить ее на работоспособность. Найдите на панели инструментов вверху кнопочку с зеленым треугольником или нажмите на кнопку в меню: Программа -> Выполнить. После этого, если все было правильно переписано, в Окне вывода должно появиться предложение «Я написал первую программу! Ура!». Как это должно выглядеть вы можете видеть на рисунке 2.

Рис. 2. Результат работы программы

Рис. 2. Результат работы программы

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

Program first_program;
begin
write ('Я написал первую программу! Ура!');
end.

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

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

Сперва напишем программу для целых чисел – чисел, используемых при счете (число 2 – целое число в программировании, тип данных Integer, а 2.3 – число с плавающей точкой, тип данных real). При сложении двух целых чисел получается целое число, значит и входные числа, и результат будут типа данных Integer.

Для начала к нашей объявленной переменной добавим еще три, назовем их: celoe1 для первого числа, celoe2 для второго числа и celoe3 для хранения результата сложения двух чисел. Получим баночки (переменные), в которых будут хранится целые числа. Измененная часть программы будет выглядеть так:

var celoe1, celoe2, celoe3: integer;
s: string;

Теперь переходим к изменению тела программы (кода, находящегося между begin и end). Для начала нужно инициализировать ввод с клавиатуры двух чисел. Сначала выведем подсказку: введите первое число. Для вывода текста у нас, как вы помните, используется оператор (команда) write(), но нам нужно выводить каждую подсказку с новой строки, поэтому будем использовать оператор writeln(). Получим следующий код:

writeln ('Введите первое число');

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

После первой подсказки на новой строке пишем:

read (celoe1); 

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

celoe3 := celoe1 + celoe2;

Выведем результат. Для вывода текста или содержания переменной у нас используется оператор write() и writeln(). Для красоты выведем результат на новой строке. Для этого будем использовать writeln(). Получим:

writeln ('Сумма чисел = ', celoe3);

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

Program first_program;
var celoe1, celoe2, celoe3: integer;
s: string;
begin
writeln ('Введите первое число');
read (celoe1);
writeln ('Введите второе число');
read (celoe2); 
celoe3 := celoe1 + celoe2;
writeln ('Сумма чисел = ', celoe3);
s := 'Я написал первую программу! Ура!';
write (s);
end.

Если вы все сделали правильно, то программа должна выдать результат, изображенный на рисунке 3.

Рис. 3. Сложение двух чисел

Рис. 3. Сложение двух чисел

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

На первый взгляд нужно поменять лишь формулу для расчета, но нужно вспомнить, что не все числа будут делиться нацело, может оставаться остаток и число будет уже не целое, а с десятичной дробью, а это значит, что тип данных Integer нам уже не подойдет. Нужно использовать тип данных Real. При этом представим, что нам неизвестно, какое число будет введено с клавиатуры – целое или же дробное, поэтому и для введенных с клавиатуры чисел мы будем использовать тип данных Real. Перепишем строку, где мы объявляли целые числа. Назовем наши вещественные переменные v1, v2 и rez. Тогда получим:

var v1, v2, rez: real;
s: string;

Переходим в тело программы. Подсказки о вводе первого и второго числа мы оставляем как есть, а вот в операторе ввода read изменяем название переменных на v1 и v2. Теперь вместо формулы сложения напишем другую формулу:

rez := (v1 / v2) * 3; 

Обращаю ваше внимание, что мы умножаем на три результат деления первого числа на второго, поэтому мы записали деление в скобках (вспоминаем правила очередности операций с числами в математике). Давайте изменим еще и вывод получившейся информации на экран, выведем все в красивом виде. Для этого будем использовать вывод нескольких операндов в удобном для нас порядке через запятую, о котором мы говорили выше. Вначале выведем знак открытой скобочки, затем выведем значение первой переменной, затем выведем символ знака деления, после этого значение второй переменной, затем символы «) * 3 = » и, наконец, значение переменной с результатом. Звучит сложно, но попробуйте вникнуть в это:

writeln ('(', v1, ' / ', v2, ') * 3 = ', rez);

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

Program first_program;
var v1, v2, rez: real;
s: string;
begin
writeln ('Введите первое число');
read (v1);
writeln ('Введите второе число');
read (v2); 
rez:= (v1 / v2) * 3;
writeln ('(', v1, ' / ', v2, ') * 3 = ', rez);
s := 'Я написал первую программу! Ура!';
write (s);
end.

Ну что же, запускаем программу и получаем результат (я ввел первое число = 8.2, второе число = 2), изображенный на рисунке 4.

Рис. 4. Числа с дробью

Рис. 4. Числа с дробью

Давайте подведем итог. Сегодня вы познакомились с языком программирования Паскаль, узнали что такое среда программирования и познакомились со средой PascalABC.NET, получили некоторые теоретические знания о небольшой части состава языка программирования Паскаль, а также написали свою первую программу и познакомились с тремя типами данных.

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

16 января 2019 в 00:48
| Обновлено 7 ноября 2020 в 01:20 (редакция)
Опубликовано:

Статьи

Содержание

  1. Линейный алгоритм
  2. Структура программы на языке Паскаль
  3. Заголовок программы
  4. Раздел описания переменных
  5. Тело программы
  6. Команды в Паскаль для ввода и вывода данных
  7. Команда Read
  8. Команда Write
  9. Примеры программ на паскале — задания на линейные алгоритмы

Линейный алгоритм

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

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

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

program primer1;    
var х,у,z:integer; { описание переменных }
begin	{ начало программы }
  х := 3;	{ установка значения х }
  у := 5;	{ установка значения у }
  z := х + у;	{ вычисление суммы }
  write(z);	{вывод результата вычисления на экран }
end.	{ конец программы }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Значок : = (двоеточие, равно) читается как «присвоить».
Умножение обозначается символом * (звездочка),  деление — символом / (слеш).

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

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

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

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

Команда Read

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

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

program primer1;    
var х,у,z:integer; { описание переменных }
begin	{ начало программы }
  read(x,y);	{ ввод значений х и y с клавиатуры }
  z := х + у;	{ вычисление суммы }
  write(z);	{вывод результата вычисления на экран }
end.	{ конец программы }

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

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

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

Команда Write

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

program primer1;    
var х,у,z:integer; { описание переменных }
begin	{ начало программы }
  writeln('Вычисление суммы двух чисел');  
  write('Введите два целых числа через пробел'); 
  readln(x,y);	{ ввод значений х и y с клавиатуры }
  z := х + у;	{ вычисление суммы }
  write('Сумма = ',z);	{вывод результата вычисления на экран }
end.	{ конец программы }

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

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

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

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

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

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

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

Решение:

program zadanie1;    
var х,у,k,z,p:integer; { описание переменных }
begin	{ начало программы }
  writeln('Вычисление суммы и произведения трех чисел');  
  write('Введите три целых числа через пробел'); 
  readln(x,y,k);	{ ввод значений х,y,k с клавиатуры }
  z := x + y + k;	{ вычисление суммы }
  p := x * y * k;       { вычисление произведения }
  write('Сумма = ',z);	{вывод результата сложения на экран }
  write('Произведение = ',p);	{вывод результата произведения на экран }
end.	{ конец программы }

Задание 2. Дана длина ребра куба а. Найти объем куба V=a3  и площадь его поверхности S=6a2.

Решение:

program zadanie2;    
var a,v,s:real; { описание переменных }
begin	{ начало программы }
  writeln('Вычисление объема и площади поверхности куба');  
  write('Введите длину ребра куба'); 
  readln(a);	{ ввод значения a с клавиатуры }
  v := a * a * a;	{ вычисление объема }
  s := 6 * a * a;       { вычисление площади }
  write('Объем куба = ',v);	{вывод результата объем куба }
  write('Площадь поверхности = ',s);	{вывод результата площадь поверхности }
end.	{ конец программы }

Посмотрите еще примеры линейных алгоритмов.

Дополнительные задания:

Lin1 Введите значения для двух переменных. Обменяйте их значения, используя третью (буферную) переменную.

кнопка Код программы

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

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

Тест “Линейный алгоритм”

Проверь свои знания по теме «Линейный алгоритм»

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

Разница между решением задачи и написанием кода

Код — это инструмент. Он решает вопросы, которые вы задаёте, а именно: забирает данные, их обрабатывает и выдаёт число. 

Основная задача на ЕГЭ по информатике — «научить» код делать то, что нужно вам.


ЕГЭ по информатике — единственный экзамен, который сдают на компьютерах. Как проходит КЕГЭ и на что стоит обратить внимание во время подготовки, рассказали в
этой статье.

Как превратить решение задачи в код?

Совет 1: напишите последовательные шаги

Необходимо подумать о задаче как о какой-то математической абстракции.

Рассмотрим 17 задачу в ЕГЭ по информатике.

Алгоритм решения этого задания:

  • создаём список;
  • проходимся по списку;
  • сравниваем соседние элементы.

То есть сначала вы должны понять, что требуется для решения задачи, а затем перевести всё в алгоритм — последовательность действий.


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

Совет 2: схематично изобразите решение

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

Советуем этот метод для решения ЕГЭ по информатике: сначала изобразите абстракции, а потом преобразите их в последовательность шагов.

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

В этой статье Коля Касперский поделился советами, как составить грамотный план подготовки к ЕГЭ по информатике.

Совет 3: протестируйте решение

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

Трассировка — процесс пошагового выполнения программы. Он позволяет быстрее находить ошибки.


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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter. Мы обязательно поправим!

Как написать программу
в системе программирования PascalABC Net  
для  выполнения задания 15.2 ОГЭ

Уважаемый 9-классник, сдающий в 2020 г. ОГЭ по информатике,  если ты решил для себя, что программирование прошло мимо тебя и не планируешь даже пытаться написать программу, то еще не всё  потеряно.

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

1. Рассмотрим одну из задач.

Напишите программу, которая в последовательности натуральных чисел определяет сумму двузначных чисел, оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введённые числа не превышают
30 000. Программа должна вывести одно число — сумму чисел, оканчивающихся на 4.

Из условия понятно, что каждое число последовательности (обозначим его а) должно быть введено. Для этого в программе должен быть оператор ввода а:  Readln(a); Как вариант, организовать ввод а в программе можно и так: Write (‘Введите число:   ‘);  Readln(a);

Далее нужно проверить, удовлетворяет ли введенное число необходимым условиям (число двузначное и оканчивается на цифру 4).  Если условия выполняются, то такое число добавляем к сумме (обозначим сумму S) с помощью оператора S := S + a. Проверку выполнения условий осуществляет условный оператор IF следующим образом:  

IF ( a >9)  AND  ( a<100)  AND  ( a  mod 10 = 4 )  THEN  S := S + a;

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

Пояснение к условию a  mod 10 = 4: с помощью операции mod определяется целый остаток от деления а на 10. Аналогично можно проверить, оканчивается ли число а на 1, 2, 3, …, 9.

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

Write (‘Введите число:   ‘);  Readln(a);

IF ( a >9)  AND  ( a<100)  AND  ( a  mod 10 = 4 )  THEN  S := S + a;

С помощью оператора цикла с заданным числом повторений  (оператор FOR) можно организовать ввод и обработку всех чисел последовательности, количество которых программа получает на вход. Это означает, что количество чисел (обозначим N) должно быть введено с помощью оператора ввода Readln( N ); Как вариант, организовать ввод N в программе можно и так:  Write (‘Введите количество чисел:   ‘);  Readln(N);  Это нужно сделать в самом начале программы (после слова BEGIN).

Оператор цикла FOR организует повторение фрагмента программы (ввод и обработка одного числа) с помощью переменной цикла (обозначим её i).  Первоначально i  принимает значение 1 и фрагмент выполняется первый раз, затем значение i увеличивается на 1 и для i=2 фрагмент выполняется второй раз, и т.д. Когда i примет значение N фрагмент выполнится последний раз.

FOR  i := 1   to  N   do

   begin  

        Write (‘Введите число:   ‘);  Readln(a);

        IF ( a >9)  AND  ( a<100)  AND  ( a  mod 10 = 4 )  THEN  S := S + a;

    end;

Осталось добавить, что для определения правильного результата суммы “подходящих” чисел, начальное значение переменной S должно быть обнулено: S := 0; Этот оператор должен находиться в программе перед оператором цикла.

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

Program P15_2;

Var  N, a, S, i : integer;

BEGIN

   Write (‘Введите количество чисел:   ‘);     Readln(N);  

   S := 0;

   FOR  i := 1   to  N   do

      begin  

          Write (‘Введите число:   ‘);  Readln(a);

           IF ( a >9)  AND  ( a<100)  AND  ( a  mod 10 = 4 )  THEN  S := S + a;

      end;

   Writeln (‘Сумма чисел, двузначных и оканчивающихся на 4, =  ‘, S);

END.

В условие задачи есть еще некоторые данные, а именно:  “Количество чисел не превышает 1000. Введённые числа (натуральные) не превышают 30 000″. Это означает, что в программе можно выполнять проверку на допустимость вводимых данных: N <= 1000  и 0 < a <= 30000.  Но можно и не выполнять, так как критерии оценивания программ не предполагают снижения баллов за отсутствие таковой проверки.

2. Вот еще похожая задача из Демо-версии 2020г.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4, но не кратных 7. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4 и не кратное 7. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 4, но не кратных 7.

Составление алгоритма для решения этой задачи мало чем отличается от предыдущей. Обратите внимание на различия: они подчеркнуты.

Program PP15_2;

Var  N, a, K, i : integer;      

BEGIN

   Write (‘Введите количество чисел:   ‘);     Readln(N);  

   K := 0;

   FOR  i := 1   to  N   do

      begin  

          Write (‘Введите число:   ‘);  Readln(a);

           IF  ( a  mod 4 = 0 )  AND  ( a  mod 7 <> 0 )  THEN  K := K + 1;

      end;

   Writeln (‘Количество чисел, кратных 4,  но не кратных 7=  ‘, K);

END.

3. Рассмотрим еще одну задачу, в которой количество введенных чисел неизвестно. В этом случае надо использовать оператор цикла с условием (например, REPEAT … UNTIL <условие>).

Напишите программу, которая в последовательности натуральных чисел определяет количество всех чётных чисел, кратных 9. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество всех чётных чисел, кратных 9.

Program PPP15_2;

Var  a, K : integer;

BEGIN

    K := 0;

   REPEAT

          Write (‘Введите число:   ‘);  Readln(a);

           IF  ( a  mod 2 = 0 )  AND  ( a  mod  9 =  0 )  THEN  K := K + 1;

   UNTIL  a = 0;  

   Writeln (‘Количество четных чисел, кратных 9, =  ‘, K – 1);

END.

Здесь есть «подводный камень»: когда мы вводим для а значение 0. Ноль удовлетворяет условиям  (0 mod 2 = 0 и 0 mod 9 =0), и количество чисел К увеличивается лишний раз на 1. Решить эту проблему можно, если, например, вывести в результате К – 1.

4. Может встретиться задача определения максимального (MAX) или минимального (MIN) значения а, удовлетворяющего некоторым условиям. Например.

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 3 и оканчивающееся на 7. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести: максимальное число, кратное 3 и оканчивающееся на 7.

До обработки каждого из чисел в цикле (REPEAT в данном случае) переменной  MAX необходимо присвоить начальное значение. Оно должно быть таким, чтобы первое же вводимое число а оказалось больше MAX. Например, MAX := 0; Натуральные числа начинаются с 1, и первое же наше а окажется >MAX. Можно также использовать MAX := -10;  или MAX := – 1;

Если число а окажется >MAX  и для него выполняются необходимые условия, такое а нужно сохранить в переменной МАХ, т.е. MAX := a; 
 IF (a > MAX) and (a mod 3 = 0) and (a mod 10 = 7)  THEN MAX := a;

Program PPPP15_2;

Var  a, MAX : integer;

BEGIN

    MAX := 0;

   REPEAT

          Write (‘Введите число:   ‘);  Readln(a);

           IF (a > MAX) and (a mod 3 = 0) and (a mod 10 = 7)  THEN MAX := a;

   UNTIL  a = 0;  

   Writeln (‘Максимальное число, кратное 3 и  оканчивающееся на 7, =  ‘,  МАХ);

END.

При поиске минимального числа а, удовлетворяющего условиям задачи 4, начальное значение MIN должно быть, наоборот, таким, чтобы первое же а оказалось меньше. Например, MIN := 30001;  Оператор IF будет следующим:

           IF (a < MIN) and (a mod 3 = 0) and (a mod 10 = 7)  THEN MIN := a;

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

Добавить комментарий