Как составить программу для решения задачи по информатике

Содержание

  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» для вас.

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

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

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

Скачать материал

без ожидания

Выберите документ из архива для просмотра:


Примеры поэтапной разработки программы решения задачи.pptx


Конспект урока Примеры поэтапной разработки программы решения задачи.doc

Выбранный для просмотра документ Примеры поэтапной разработки программы решения задачи.pptx

ЕРЕШИНЕ ДАЧАЗРешите анаграмму:

Скачать материал

без ожидания

  • Сейчас обучается 26 человек из 18 регионов

Описание презентации по отдельным слайдам:

  • ЕРЕШИНЕ ДАЧАЗРешите анаграмму:

    1 слайд

    ЕРЕШИНЕ ДАЧАЗ
    Решите анаграмму:

  • Тема: «Примеры поэтапной разработки программы решения задачи»Учитель Батвинов...

    2 слайд

    Тема: «Примеры поэтапной разработки программы решения задачи»
    Учитель Батвинова А.И.
    10 класс

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

    3 слайд

    Алгоритм – это конечная последовательность действий, приводящая к результату
    Алгоритм – это конечная последовательность действий, приводящая
    Установите соответствие:

  • Постановка задачи и формализацияСловом «задача» называют проблему , которая т...

    4 слайд

    Постановка задачи и формализация
    Словом «задача» называют проблему , которая требует решения.

    Этапы решения задачи:
    ПОСТАНОВКА ЗАДАЧИ 
    ФОРМАЛИЗАЦИЯ ЗАДАЧИ
    АНАЛИЗ МАТЕМАТИЧЕСКОЙ ЗАДАЧИ 
    ПОСТРОЕНИЕ АЛГОРИТМА
    СОСТАВЛЕНИЕ ПРОГРАММЫ 
    ТЕСТИРОВАНИЕ
    РЕЗУЛЬТАТ

  • 1 этап ПОСТАНОВКА ЗАДАЧИОпределение:

  исходных данных и результатов, котор...

    5 слайд

    1 этап
    ПОСТАНОВКА ЗАДАЧИ
    Определение:

     исходных данных и результатов, которые надо получить.

  • 2 этапФормализация задачиПеревод задачи на язык математики – формул, уравнен...

    6 слайд

    2 этап
    Формализация задачи
    Перевод задачи на язык математики – формул, уравнений, систем неравенств и т. п.
    Язык математики— сложная графическая система обозначений, служащая для изложения абстрактных математических идей и суждений в человеко-читаемой форме. Составляет (по своей сложности и разнообразию) значительную долю неречевых знаковых систем, применяемых человечеством.
    Формализованный (формальный) язык –– язык, характеризующийся точными правилами построения выражений и их понимания. Он строится в соответствии с четкими правилами, обеспечивая непротиворечивое, точное и компактное отображение свойств и отношений изучаемой предметной области (моделируемых объектов).язык.

  • 1.Постановка задачи2.Формализация задачи Решение полученной математической за...

    7 слайд

    1.Постановка задачи
    2.Формализация задачи
     Решение полученной математической задачи требует знания математики, умения выполнять анализ математической задачи. Такой анализ необходим для того, чтобы построить правильный  алгоритм решения, обладающий всеми свойствами алгоритма.

  • 3 этап АНАЛИЗ МАТЕМАТИЧЕСКОЙ ЗАДАЧИОпределение всех вариантов множеств значе...

    8 слайд

    3 этап
    АНАЛИЗ МАТЕМАТИЧЕСКОЙ ЗАДАЧИ
    Определение всех вариантов множеств значений исходных данных.

    Определение для каждого варианта способа решения и вида выходных данных (результатов)

  • Пример анализа решения квадратного уравнения  ax²+bx+c=0

    9 слайд

    Пример анализа решения квадратного уравнения ax²+bx+c=0

  • 4 этап ПОСТРОЕНИЕ АЛГОРИТМАОпределение структуры алгоритма, последовательнос...

    10 слайд

    4 этап
    ПОСТРОЕНИЕ АЛГОРИТМА
    Определение структуры алгоритма, последовательности команд.

    Представление на каком-либо языке описания алгоритмов
    (блок –схема, учебный Алгоритмический язык)

  • Здесь вместо слов «да» и «нет» использованы знаки «+» и «-».

    11 слайд

    Здесь вместо слов «да» и «нет» использованы знаки «+» и «-».

  • 5 этапСОСТАВЛЕНИЕ ПРОГРАММЫ

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

    12 слайд

    5 этап
    СОСТАВЛЕНИЕ ПРОГРАММЫ

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

    Строгое соблюдение правил синтаксиса языка.

  • Запись алгоритма на учебном Алгоритмическом языке:

    13 слайд

    Запись алгоритма на учебном Алгоритмическом языке:

  • Программа решения квадратного уравнения на Паскале

    14 слайд

    Программа решения квадратного уравнения на Паскале

  • Синтаксические ошибки-ошибки, нарушающие правила грамматики языка.
Поиск и ус...

    15 слайд

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

  • 6 этапТЕСТИРОВАНИЕЭкспериментальное доказательство правильности алгоритма и...

    16 слайд

    6 этап
    ТЕСТИРОВАНИЕ
    Экспериментальное доказательство правильности алгоритма и работоспособности программы.

    Тест – вариант решения задачи с заданными исходными данными, для которых известен результат.

    Предварительно должен быть составлен план тестирования

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

  • Здесь вместо слов «да» и «нет» использованы знаки «+» и «-».

    17 слайд

    Здесь вместо слов «да» и «нет» использованы знаки «+» и «-».

  • Физкультминутка

  • Исходное положение: 
сесть на стул, руки положить на колени, расслабиться, вс...

    21 слайд

    Исходное положение:
    сесть на стул, руки положить на колени, расслабиться, все внимание сосредоточить на глазах. Упражнения надо выполнять без напряжения. Дышать медленно.
    – на раз – поднять глаза вверх, на два – смотреть прямо, на три – потупить взор книзу, на четыре – смотреть прямо, 6раз.
    – на раз – смотреть на переносицу, на два – прямо. Повторить 6 раз.
    – на раз – смотреть влево, на два – прямо, на три – смотреть вправо, на четыре – перед собой. Повторить 8 раз.
    – круговые обороты глазами – 4 раза влево, четыре вправо.
    – широко раскрыть глаза, а потом плотно закрыть. Повторить 5 раз.

  • Практическая работа.

    22 слайд

    Практическая работа.

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

    23 слайд

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

    1. Постановка задачи
    2. Формализация
    3. Анализ математической задачи
    4. Построение алгоритма
    5. Составление программы
    6. Тестирование

  • Домашнее задание:П.20 стр. 136 читать, ответить на вопросы после параграфа 1...

    24 слайд

    Домашнее задание:
    П.20 стр. 136 читать, ответить на вопросы после параграфа 1 –устно, второй – письменно, алгоритмическим языком.

  • СПАСИБО ЗА ВНИМАНИЕ!

    25 слайд

    СПАСИБО ЗА ВНИМАНИЕ!

Выбранный для просмотра документ Конспект урока Примеры поэтапной разработки программы решения задачи.doc

Скачать материал

без ожидания

Краткое описание документа:

Тема урока: «Примеры поэтапной разработки программы решения задачи»

Задачи:

образовательные:

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

развивающие:

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

воспитательные:

  • воспитание аккуратности, внимательности, вежливости и дисциплинированности;
  • воспитание чувства ответственности при работе в группе.

Тип урока: комбинированный (усвоения новых знаний, практическая работа).

Методы обучения: объяснительно-иллюстративный, фронтальный опрос, поисковый метод обучения, беседа.

План урока.

1) Организационный этап.

2) Постановка цели и задач урока. Мотивация учебной деятельности учащихся.

3) Актуализация знаний.

4) Первичное усвоение новых знаний.

5) Первичная проверка понимания и закрепление. Практическая работа.

6) Информация о домашнем задании, инструктаж по его выполнению

7) Рефлексия (подведение итогов занятия)

Ход урока.

1.Организационный момент. (1 минута)

Организация внимания (усиление мотивации, активизация познавательного интереса):

Решите анаграмму: ЕРЕШИНЕ ДАЧАЗ

Таким образом, тема сегодняшнего урока “Примеры поэтапной разработки программы решения задачи ”.

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

Высказывание учеников, учитель подводит итог.

2. Постановка цели и задач урока. Мотивация учебной деятельности учащихся

3. Актуализация знаний

Повторить материал по теме «Алгоритмы».

  • Дополните:
  • Установите соответствие:

Алгоритм – это конечная последовательность действий, приводящая …(к определенному результату)

4. Изучение нового материала. (10 минут)

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

1 Этапы решения задачи:

ПОСТАНОВКА ЗАДАЧИ

ФОРМАЛИЗАЦИЯ ЗАДАЧИ

АНАЛИЗ МАТЕМАТИЧЕСКОЙ ЗАДАЧИ

ПОСТРОЕНИЕ АЛГОРИТМА

СОСТАВЛЕНИЕ ПРОГРАММЫ

ТЕСТИРОВАНИЕ

РЕЗУЛЬТАТ

– Запишем их в тетрадь и разберем поподробнее каждый пункт.

4.1. Постановка задачи.

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

4.2. Формализация задачи. Чаще всего процесс формализации означает перевод задачи на язык математики: формул, уравнений, неравенств, систем уравнений, систем неравенств и т. п.

Подробнее о формализации будет рассказано в разделе, посвященном информационному моделированию (в 11 классе). Некоторые представления об этом вы уже имеете из курса информатики для 7-9 классов.

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

4.3.Анализ математической задачи

Пусть в результате формализации некоторой задачи было получено квадратное уравнение: ax2 + bх + с = 0, где коэффициенты а, b, с являются исходными данными. Требуется решить это уравнение, т. е. найти его корни. Проведем анализ этой математической задачи.

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

4.4. Построение алгоритма

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

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

Построим блок-схему алгоритма решения квадратного уравнения (рис. 3.15), учитывающего все ситуации, описанные в анализе задачи. Здесь вместо слов «да» и «нет» использованы знаки «+» и «-».

4.5. Составление программы.

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

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

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

алг корни квадратного уравнения
вещ а, b, с, d, х, x1, х2
нач ввод а, b, с
если а=0
то

если b=0 то

если с=0

то вывод “Любое х – решение”
иначе вывод “Нет решений”
все
иначе

х:= -с/b
вывод X
все
иначе

d:=b2-4ac
если d<0

то вывод “Нет вещественных корней »
иначе

вывод”xl=”,xl,”х2=’,х2

все

все

кон

Обратите внимание на смещения строк в тексте алгоритма — соблюдается принцип структуризации внешнего вида (§ 13). Повторим его: запись всякой вложенной структуры должна быть смещена на несколько позиций вправо относительно записи внешней структуры, а конструкции одного уровня вложенности записываются на одном вертикальном уровне.

Программирование

Алгоритмический язык (АЯ) — это язык описания алгоритмов с русскими служебными словами. После того как алгоритм записан на АЯ, составление программы на Паскале становится несложной задачей. Основное внимание следует уделять строгому соблюдению синтаксических правил языка. Правило смещения строк в тексте программы то же, что было сформулировано в § 13 для АЯ. Соответствующие друг другу служебные слова Begin и End должны располагаться друг под другом.

Program Roots;

Var а, b, с, d, х, xl, х2: Real;

Begin

WriteLn(* Введите коэффициенты квадратного уравнения:’);

Write(‘а=’); ReadLn(а);

Write(‘b=’); ReadLn(b);

Write(‘c=’); ReadLn(c);

If a=0

Then

If b=0

Then

If c=0

Then WriteLn(‘Любое x – решение’)

Else WriteLn(‘’)

Else

Begin

x:=-c/b;

WriteLn(‘x=’, x)

End

Else

Begin

d:=b*b-4*a*c;

If d<0

Then WriteLn(‘Нет вещественных корней’)

Else

Begin

xl:=(-b+sqrt(d))/2/a;

x2:=(-b-sqrt(d))/2/a;

WriteLn(‘xl=’, xl);

WriteLn(‘x2=’, x2)

End

End

End.

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

4.6. Отладка и тестирование программы.

Осуществляется проверка программы на наличие технических, грамматических и, возможно, алгоритмических ошибок.

Проверка осуществляется путем сравнения заранее известных результатов тестов с результатами, полученными компьютером.

Тестирование программы

Тестирование — это этап, на котором экспериментально доказывается правильность алгоритма, заключенного в программе, и работоспособность программы. Тест — это вариант решения задачи с заданными исходными данными, для которых известен результат. Предварительно должен быть составлен план тестирования. Для ветвящегося алгоритма должны быть протестированы все его ветви. В нашем примере пять ветвей, пять вариантов ответа. Значит, в плане тестирования должно быть не менее пяти вариантов теста. В таблице 3.5 представлен план тестирования программы Roots и результаты проведенного тестирования.

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

xl : = (-b+sqrt (d) ) /2*а; x2:=(-b-sqrt (d)) /2*а;

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

4.7. Получение результатов.

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

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

– Итак, все эти этапы мы проходим каждый раз, когда решаем задачу.

Возвращаемся к нашей задаче, на каком этапе мы остановились?

(составление алгоритма)

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

5. Первичная проверка понимания и закрепление. Практическая работа

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

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

Подведение итогов. (2 минуты)

Объявляю оценки за урок.

6.Домашнее задание.

П.20 стр. 136 читать, ответить на вопросы после параграфа 1 –устно, второй – письменно, алгоритмическим языком.

7.Рефлексия

Ребята, скажите, какие вопросы у вас есть по данной теме? Что вам не понятно? В чем вы испытываете затруднение? Я надеюсь, что процесс программирования для вас стал понятным и доступным. Программисты – люди, очень востребованной профессии, в которых нуждаются во всех сферах человеческой деятельности. И, может быть, некоторые из вас тоже решать освоить этот вид деятельности.

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 257 410 материалов в базе

  • Выберите категорию:

  • Выберите учебник и тему

  • Выберите класс:

  • Тип материала:

    • Все материалы

    • Статьи

    • Научные работы

    • Видеоуроки

    • Презентации

    • Конспекты

    • Тесты

    • Рабочие программы

    • Другие методич. материалы

Найти материалы

Материал подходит для УМК

  • «Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

Другие материалы

«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

  • 19.03.2019
  • 2993
  • 47

«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

  • 15.03.2019
  • 6751
  • 258

«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

Вам будут интересны эти курсы:

  • Курс повышения квалификации «Информационные технологии в деятельности учителя физики»

  • Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»

  • Курс повышения квалификации «Облачные технологии в образовании»

  • Курс повышения квалификации «Использование компьютерных технологий в процессе обучения в условиях реализации ФГОС»

  • Курс повышения квалификации «Специфика преподавания информатики в начальных классах с учетом ФГОС НОО»

  • Курс профессиональной переподготовки «Управление в сфере информационных технологий в образовательной организации»

  • Курс профессиональной переподготовки «Математика и информатика: теория и методика преподавания в образовательной организации»

  • Курс повышения квалификации «Современные тенденции цифровизации образования»

  • Курс повышения квалификации «Применение интерактивных образовательных платформ на примере платформы Moodle»

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

Решение задач на языке программирования Pascal  (Подготовка к ОГЭ) Авторы проекта: Александрова З.В., учитель физики и информатики МБОУ СОШ №5 пгт Печенга, Мурманская область

Решение задач на языке программирования Pascal

(Подготовка к ОГЭ)

Авторы проекта: Александрова З.В., учитель физики и информатики МБОУ СОШ №5 пгт Печенга, Мурманская область

Задача 1 . Напишите программу для выведения на экран трёх чисел в порядке обратном вводу. Нужно ввести с клавиатуры три числа (первое, второе и третье), а компьютер должен вывести третье, затем первое и второе. Решение:   program tri_сhisla; var a, b, c: integer; begin  writeln('Введите три числа через пробел');  readln(a, b, c);  writeln(c,' ', a, ' ',b);  read end .  

Задача 1 .

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

Решение:

program tri_сhisla;

var a, b, c: integer;

begin

writeln(‘Введите три числа через пробел’);

readln(a, b, c);

writeln(c,’ ‘, a, ‘ ‘,b);

read

end .

y then begin x:=x+y; y:=x-y; x:=x-y; writeln(‘x=’,x); writeln(‘y=’,y); readln end ; end . ” width=”640″

Задача 2.

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

program Obmen;

var x,y: integer;

begin

writeln(‘Введите значения x и y’);

readln(x,y);

if xy then

begin

x:=x+y;

y:=x-y;

x:=x-y;

writeln(‘x=’,x);

writeln(‘y=’,y);

readln

end ;

end .

n then m:=m-n; if mthen n:=n-m until m=n; nod:=m; writeln(‘НОД = ‘, nod); readln end . program nod1; var m, n: integer; nod: integer; begin writeln (‘Введите первое число m=’); readln (m); writeln (‘Введите второе число n=’); readln (n); while mn do if mn then m:=m-n else n:=n-m; nod:=m; writeln(‘НОД = ‘, nod); readln end . ” width=”640″

Задача 3.

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

1 способ

2 способ

program nod2;

var

m, n: integer;

nod: integer;

begin

writeln (‘Введите первое число m=’);

readln (m);

writeln (‘Введите второе число n=’);

readln (n);

repeat

if mn then m:=m-n;

if mthen n:=n-m

until m=n;

nod:=m;

writeln(‘НОД = ‘, nod);

readln

end .

program nod1;

var

m, n: integer;

nod: integer;

begin

writeln (‘Введите первое число m=’);

readln (m);

writeln (‘Введите второе число n=’);

readln (n);

while mn do

if mn then m:=m-n

else n:=n-m;

nod:=m;

writeln(‘НОД = ‘, nod);

readln

end .

‘); readln (n); if n0 then k1:=k1+1; if nthen k2:=k2+1; until n=0; writeln (‘Введено:’) ; writeln (‘положительных чисел – ‘, k1); writeln (‘отрицательных чисел – ‘, k2); readln end . ” width=”640″

Задача 4.

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

program podschet_chisel_1;

var n, k1, k2: integer;

begin

k1:=0;

k2:=0;

repeat

writeln (‘Введите целое число’);

readln (n);

if n0 then k1:=k1+1;

if nthen k2:=k2+1;

until n=0;

writeln (‘Введено:’) ;

writeln (‘положительных чисел – ‘, k1);

writeln (‘отрицательных чисел – ‘, k2);

readln

end .

Задача 5. Даны натуральные числа n и k. Составить программу вычисления выражения 1 k  + 2 k  + … + n k . Для решения задачи нужно организовать два цикла, один из которых поместим внутрь другого. Такие конструкции называют вложенными циклами. program dvazikla; var  n,k,sum,d,i,j : integer; begin  writeln('Введите значения n и k через пробел');  readln(n,k);  sum:=0;  for i:=1 to n do  begin  d:= 1;  for j:=1 to k do  d:=d*i;  sum:= sum+ d;  end ;  writeln(sum); readln end .

Задача 5.

Даны натуральные числа n и k. Составить программу вычисления выражения 1 k  + 2 k  + … + n k . Для решения задачи нужно организовать два цикла, один из которых поместим внутрь другого. Такие конструкции называют вложенными циклами.

program dvazikla;

var

n,k,sum,d,i,j : integer;

begin

writeln(‘Введите значения n и k через пробел’);

readln(n,k);

sum:=0;

for i:=1 to n do

begin

d:= 1;

for j:=1 to k do

d:=d*i;

sum:= sum+ d;

end ;

writeln(sum);

readln

end .

Задача 6. Проверить, является ли четырехзначное число счастливым билетом. Дано четырехзначное число. Проверить, является ли оно «счастливым билетом». Счастливым билетом называется число, в котором: а) при четном количестве цифр в числе сумма цифр его левой половины равна сумме цифр его правой половины; б) при нечетном количестве цифр – то же самое, но с отбрасыванием серединной цифры. program Schastliviy_bilet; var  n: integer ;  left, right: integer ; begin  writeln( 'Введите номер билета - четырёхзначное число' );  readln(n);  right := n mod 10 ;  n := n div 10 ;  right := right + n mod 10 ;  n := n div 10 ;  left := n mod 10 ;  n := n div 10 ;  left := left + n;  writeln(left=right);  if left=right then writeln( 'Билет является счастливым' )  else writeln( 'Билет не является счастливым' );  readln end .

Задача 6.

Проверить, является ли четырехзначное число счастливым билетом. Дано четырехзначное число. Проверить, является ли оно «счастливым билетом».

Счастливым билетом называется число, в котором: а) при четном количестве цифр в числе сумма цифр его левой половины равна сумме цифр его правой половины; б) при нечетном количестве цифр – то же самое, но с отбрасыванием серединной цифры.

program Schastliviy_bilet;

var

n: integer ;

left, right: integer ;

begin

writeln( ‘Введите номер билета – четырёхзначное число’ );

readln(n);

right := n mod 10 ;

n := n div 10 ;

right := right + n mod 10 ;

n := n div 10 ;

left := n mod 10 ;

n := n div 10 ;

left := left + n;

writeln(left=right);

if left=right then writeln( ‘Билет является счастливым’ )

else writeln( ‘Билет не является счастливым’ );

readln

end .

Задача 7. Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чисел. Program Summa_ch; Var a, i, sum, n: integer ; Begin Writeln( 'Введите количество чисел nReadln(n); sum:= 0 ; For i:= 1 to n do Begin  Writeln('Введите число’);  Readln(a); sum:= sum + a; End ; Writeln( 'sum=' , sum); readln End .

Задача 7.

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

Program Summa_ch;

Var a, i, sum, n: integer ;

Begin

Writeln( ‘Введите количество чисел n

Readln(n);

sum:= 0 ;

For i:= 1 to n do

Begin

Writeln(‘Введите число’);

Readln(a);

sum:= sum + a;

End ;

Writeln( ‘sum=’ , sum);

readln

End .

Задача 8. Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел, КРАТНЫХ 4. В последовательности всегда имеется число, кратное 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чисел, кратных 4. Program Summa_ch1; Var a, i, sum, n: integer ; Begin Writeln( 'Введите количество чисел nReadln(n); sum:= 0 ; For i:= 1 to n do Begin Writeln('Введите число’); Readln(a); if a mod 4 = 0  then sum:= sum + a; End ; Writeln( 'sum=' , sum); readln End .

Задача 8.

Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел, КРАТНЫХ 4. В последовательности всегда имеется число, кратное 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чисел, кратных 4.

Program Summa_ch1;

Var a, i, sum, n: integer ;

Begin

Writeln( ‘Введите количество чисел n

Readln(n);

sum:= 0 ;

For i:= 1 to n do

Begin

Writeln(‘Введите число’);

Readln(a);

if a mod 4 = 0

then sum:= sum + a;

End ;

Writeln( ‘sum=’ , sum);

readln

End .

Задача 9. Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел, ОКАНЧИВАЮЩИХСЯ на 2. В последовательности всегда имеется число, ОКАНЧИВАЮЩЕЕСЯ на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чисел, ОКАНЧИВАЮЩИХСЯ на 2. Program Summa_ch2; Var a, i, sum, n: integer ; Begin Writeln( 'Введите количество чисел nReadln(n); sum:= 0 ; For i:= 1 to n do Begin Writeln('Введите число’); Readln(a); if a mod 10 = 2 then sum:= sum + a; End ; Writeln( 'sum=' , sum); Readln End .

Задача 9.

Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел, ОКАНЧИВАЮЩИХСЯ на 2. В последовательности всегда имеется число, ОКАНЧИВАЮЩЕЕСЯ на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чисел, ОКАНЧИВАЮЩИХСЯ на 2.

Program Summa_ch2;

Var a, i, sum, n: integer ;

Begin

Writeln( ‘Введите количество чисел n

Readln(n);

sum:= 0 ;

For i:= 1 to n do

Begin

Writeln(‘Введите число’);

Readln(a);

if a mod 10 = 2

then sum:= sum + a;

End ;

Writeln( ‘sum=’ , sum);

Readln

End .

Задача 10. Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел, чётных чисел. В последовательности всегда имеется чётное число. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чётных чисел. Program Summa_ch3; Var a, i, sum, n: integer ; Begin Writeln( 'Введите количество чисел nReadln(n); sum:= 0 ; For i:= 1 to n do Begin Writeln( 'Введите число' ); Readln(a); if a mod 2 = 0  then sum:= sum + a; End ; Writeln( 'sum=' , sum); Readln End .

Задача 10.

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

Program Summa_ch3;

Var a, i, sum, n: integer ;

Begin

Writeln( ‘Введите количество чисел n

Readln(n);

sum:= 0 ;

For i:= 1 to n do

Begin

Writeln( ‘Введите число’ );

Readln(a);

if a mod 2 = 0

then sum:= sum + a;

End ;

Writeln( ‘sum=’ , sum);

Readln

End .

0 ) then l := l + 1 ; if (a then m := m + 1 ; end ; writeln(k, ‘ ‘ , l, ‘ ‘ , m, ‘ ‘ ); end . ” width=”640″

Задача 11.

Подсчитайте, сколько среди данных N чисел нулей, положительных чисел, отрицательных чисел.

program chisla;

var

n, a, i, k, l, m: integer ;

begin

k := 0 ;

l := 0 ;

m := 0 ;

writeln ( ‘Введите количество чисел’ );

read(n);

for i := 1 to n do

begin

writeln ( ‘Введите число’ );

read(a);

if (a = 0 ) then

k := k + 1 ;

if (a 0 ) then

l := l + 1 ;

if (a then

m := m + 1 ;

end ;

writeln(k, ‘ ‘ , l, ‘ ‘ , m, ‘ ‘ );

end .

0 do begin if (a mod 10 c) then c := a mod 10 ; if (a mod 10 then b := a mod 10 ; a := a div 10 ; end ; writeln(b, ‘ ‘ , c); read end . ” width=”640″

Задача 12.

Дано натуральное число N. Определить наименьшую и наибольшую цифры данного числа

program chislo1;

var

a, b, c: integer ;

begin

writeln ( ‘Введите число’ );

read(a);

b := 10 ;

c := – 10 ;

while a 0 do

begin

if (a mod 10 c) then

c := a mod 10 ;

if (a mod 10 then

b := a mod 10 ;

a := a div 10 ;

end ;

writeln(b, ‘ ‘ , c);

read

end .

Задача 13. Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0).Числа, следующие за числом 0, считывать не нужно program posledov; var  a, s: integer ; begin  s := 0 ;  writeln ( 'Введите число' );  read (a);  while a  0 do  begin  s := s + 1 ;  read(a);  end ;  writeln(s); end .

Задача 13.

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

program posledov;

var

a, s: integer ;

begin

s := 0 ;

writeln ( ‘Введите число’ );

read (a);

while a 0 do

begin

s := s + 1 ;

read(a);

end ;

writeln(s);

end .

Задача 14. Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N. Входные данные: задано единственное целое число N. Выходные данные: необходимо вывести все точные квадраты натуральных чисел, не превосходящие данного числа N. program kvadratchislo; var  i, n: integer ;  begin  writeln ( 'Введите количество чисел' );  read(n);  for i := 1 to n do  if sqr(i) then  writeln(sqr(i)); readln end .

Задача 14.

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

program kvadratchislo;

var

i, n: integer ;

begin

writeln ( ‘Введите количество чисел’ );

read(n);

for i := 1 to n do

if sqr(i) then

writeln(sqr(i));

readln

end .

Задача 15. Определите количество четных элементов в последовательности, завершающейся числом 0. Само число 0, и все, что следует за ним, учитывать не нужно. program posvedchet; var  a, k: integer ; begin  k := 0 ;  writeln ( 'Введите число' );  read(a);  while a  0 do  begin  if (a mod 2 = 0 ) then  k := k + 1 ;  read(a);  end ;  writeln(k); end .

Задача 15.

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

program posvedchet;

var

a, k: integer ;

begin

k := 0 ;

writeln ( ‘Введите число’ );

read(a);

while a 0 do

begin

if (a mod 2 = 0 ) then

k := k + 1 ;

read(a);

end ;

writeln(k);

end .

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

При решении задачи
существует несколько этапов:

1.     Постановка
задачи;

2.     Формализация
задачи;

3.     Анализ
математической задачи;

4.     Построение
алгоритма;

5.     Составление
программы и тестирование.

Давайте рассмотрим их
более подробно на примере следующего равенства:

|a|
· x = 3.

a
– вводится с клавиатуры.

Начнём
с постановки задачи. Нам нужно найти решение равенства, то есть x.
Таким образом, на этапе постановки задачи нужно:

·       
понять
условие задачи;

·       
выделить
исходные и результирующие данные;

·       
понять
отношения между ними.

Можно
сказать, что нам нужно ответить на вопросы:

·       
Что
нужно найти по условию задачи? В нашем случае нужно найти x.

·       
Что
при этом дано? Дано значение a.

·       
Чем
можно пользоваться при решении задачи? При решении нужно из равенства вывести
значение x.

Далее идёт этап формализации
задачи
. На этом этапе необходимо оформить описательную информационную
модель при помощи какого-либо формального языка, чаще всего с помощью
математического. То есть, на этом этапе мы должны записать формулы, с помощью
которых мы сможем в дальнейшем решить задачу исходя из исходных данных и
результата, который необходимо получить. То есть наше x
будет равно следующему выражению:

.

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

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

Перейдём к этапу построения
алгоритма
.

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

·       
каждая
базовая структура должна иметь один вход и один выход;

·       
блок-схема
должна изображаться при помощи стандартных элементов.

В начале нам нужно
нарисовать блок ввода переменной a.
Далее идёт проверка a. Если условие a
= 0 истинно, то на экран выведем сообщение, что «Нет решений». Если же условие ложно,
то снова будет идти блок условия, в котором проверим следующее: a
> 0. Если условие истинно, то x
= 3/a. Если условие ложно, то x
= 3/ (–a). После проверки этого
условия будет идти блок вывода значения x.
Конец программы.

Алгоритмический язык
– это язык описания алгоритмов с русскими служебными словами.

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

·       
конструкции
одного уровня вложенности записываются на одном вертикальном уровне;

·       
вложенная
конструкция записывается смещённой по строке на несколько позиций вправо
относительно внешней для неё конструкции.

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

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

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

Запишем следующее:

program prim;

Далее объявим переменные a,
x вещественного типа.

begin

Организуем диалог между
компьютером и пользователем:

Writeln (‘Введите
значение a ‘);

Считаем её при помощи
функции Read и присвоим
соответствующей переменной.

Далее идёт первый
условный оператор, в котором проверяем следующее: a
= 0. Если условие истинно, то запишем вывод на экран сообщения «Нет решений»,
так как наше неравенство не будет иметь решения.

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

Итак, если условие ложно,
то после слова begin снова будет идти
условие, в котором будет проверяться следующее: a
> 0.

Если это условие истинно,
то x:=3/a.
Если же условие a > 0 ложно, то после else
x:=3/(–a).
Оформим вывод на экран x
при помощи функции Write.

Так как у нас операторная
скобка уже закрыта, переходим на строку ниже после end.

Завершим программу.

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

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

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

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

Прежде, чем приступать к
тестированию, следует составить план. Для ветвящегося алгоритма
необходимо проверить все его ветви. Так как у нас 3 ветви, то у нас должно быть
как минимум 3 варианта ответа.

Начнём с простого. Если a
= 0, то ответом должно быть «Нет решений».

Проверим.

Эта ветвь работает верно.

Далее при a
> 0, x = 3/a.
Для простоты вычисления возьмём a
= 3. То есть x=1.

Проверим.

И снова мы получаем
верный результат.

Проверим заключительную
ветвь, если a < 0. Снова возьмём
для простоты вычислений число –3. Вычислим x:
3/(-(-3)) = 0.

Проверим нашу программу.

Мы получили верный ответ.

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

Пришла пора подвести
итоги урока.

Вспомним ещё раз, что в
себя включает каждый этап решения задачи.

Итак, на этапе постановки
задачи
происходит определение исходных данных и искомых результатов.

На этапе формализации
происходит переход к задаче обработки некоторой знаковой системы, например, к
математической задаче.

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

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

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

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

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