Процес розв’язку більшості задач з використанням ЕОМ можна розбити на декілька характерних етапів: постановка задачі, описання алгоритму, запис і трансляція програми, налагодження програми, експлуатація програми.
І етап. Постановка задачі
Для того, щоб розв’язати задачу, пов’язану з дослідженням реального об’єкта, необхідно спочатку описати цей об’єкт у математичних термінах, тобто побудувати його математичну модель. Математична модель дозволяє звести розв’язування реальної задачі до розв’язування задачі математичної. У найпростішому випадку для задач на обчислення математична модель являє собою математичну формулу.
ІІ етап. Описання алгоритму
Після того, як математична модель задачі побудована, необхідно знайти та описати спосіб розв’язку цієї зад чі математичної. У найпростішому випадку для задач на обчислення математична модель являє собою математичну формулу.
ІІ етап. Описання алгоритму
Після того, як математична модель задачі побудована, необхідно знайти та описати спосіб розв’язку цієї задачі. У найпростішому випадку розв’язок задачі можна одержати у явному вигляді, тобто у вигляді формули, яка пов’язує вхідні дані та результати. Але і тоді, крім знаходження відповідної формули, необхідно вирішити ряд інших технологічних питань, враховуючи те, що задача буде розв’язуватися на ЕОМ. Наприклад, якого типу мають бути вхідні дані, у якому порядку їх вводити до ЕОМ, як і з якою точністю одержати проміжні величини, у якій формі і з якою точністю вивести результати тощо. Тому описання алгоритму – наступний етап розв’язку задачі.
Побудова алгоритму ачі. У найпростішому випадку розв’язок задачі можна одержати у явному вигляді, тобто у вигляді формули, яка пов’язує вхідні дані та результати. Але і тоді, крім знаходження відповідної формули, необхідно вирішити ряд інших технологічних питань, враховуючи те, що задача буде розв’язуватися на ЕОМ. Наприклад, якого типу мають бути вхідні дані, у якому порядку їх вводити до ЕОМ, як і з якою точністю одержати проміжні величини, у якій формі і з якою точністю вивести результати тощо. Тому описання алгоритму – наступний етап розв’язку задачі.
Побудова алгоритму носить творчий характер – кожна нова задача вимагає нових підходів і нових способів розв’язку, але для того, щоб побудувати алгоритм, який можна легко зрозуміти, модифікувати й удосконалити, необхідно дотримуватися певної дисципліни та технології його конструювання.
Зрозуміло, що той, хто описує алгоритм, насамперед сам повинен вміти і знати як розв’язується задача.
ІІІ етап. Запис і трансляція програми
Якщо алгоритм складено, з погляду на розв’язок задачі на ЕОМ користувачу залишається більш технічна, аніж уватися на ЕОМ. Наприклад, якого типу мають бути вхідні дані, у якому порядку їх вводити до ЕОМ, як і з якою точністю одержати проміжні величини, у якій формі і з якою точністю вивести результати тощо. Тому описання алгоритму – наступний етап розв’язку задачі.
Побудова алгоритму носить творчий характер – кожна нова задача вимагає нових підходів і нових способів розв’язку, але для того, щоб побудувати алгоритм, який можна легко зрозуміти, модифікувати й удосконалити, необхідно дотримуватися певної дисципліни та технології його конструювання.
Зрозуміло, що той, хто описує алгоритм, насамперед сам повинен вміти і знати як розв’язується задача.
ІІІ етап. Запис і трансляція програми
Якщо алгоритм складено, з погляду на розв’язок задачі на ЕОМ користувачу залишається більш технічна, аніж творча робота. Враховуючи характер задачі необхідно вибрати певну мову програмування для запису програми та записати її текст. Зрозуміло, що користувач повинен володіти потрібним обсягом знань з використання команд (операторів) обраної мови.
Кожна мова програмування має свій транслятор, що дозволяє автоматично перекласти текст програми на машинну мову. При цьому одержується текст програми на машинній мові, який еквівалентний тексту програми на мові програмування, тому що ці тексти реалізують один і той же алгоритм.
ІV етап. Налагодження програми
На цьому етапі виявляються можливі помилки, які допущені на попередніх етапах. Синтаксичні помилки у тексті програми автоматично виявляються ще на етапі трансляції і користувач вносить відповідні зміни до тексту. Може статися так, що текст програми записано вірно, а помилка допущена при складанні алгоритму - програма працює, але видає неправильні результати. Якщо ж помилку допущено на етапі постановки задачі, то програма працює правильно, але розв’язує іншу задачу.
Отже, метою налагодження є одержання правильної програми, результатам роботи якої можна було б довіряти.
Суть налагодження полягає у тому, що користувач розробляє систему тестів, за допомогою якої перевіряється робота програми у різних можливих режимах. Кожен тест має набір вхідних даних, для яких відомий результат. Тест намагаються вибрати так, щоб не тільки встановити сам факт помилки, але й локалізувати її, тобто виявити та звузити частину програми, що містить помилку.
До складу систем програмування включають спеціальні можливості налагодження програм. Користувач формулює завдання, а система виконує це завдання і видає користувачу необхідну інформацію про те, як веде себе програма. Така інформація значно полегшує пошук та виправлення помилок.
V етап. Експлуатація програми
Якщо розроблена програма розрахована на тривалу експлуатацію, розрахована на розв’язання серйозних задач, то необхідно її супроводжувати. Адже протягом використання програми можуть змінитися, наприклад, вимоги до розв’язуваної задачі, операційна система, на базі якої виконується дана програма тощо. Це може вимагати внесення змін до програми, а внесені зміни – нового налагодження програми. Такі роботи виконує розробник програми або група супроводу.
Блок схема - графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.).
Каждое действие в блок схеме графически изображается в виде геометрической фигуры:
|
Эта фигура означает либо начало программы, либо ее конец. В функции ею обозначаются вызов или возврат из функции. |
|
Этой фигурой выполняются различные арифметические операции. |
|
В этой фигуре выполняются различные операторы ветвления и, соответственно, проверяемые условия. |
|
Здесь описывают вызов подпрограммы и параметры, которые передаются в нее. |
|
Данные нужно куда-то выводить или вводить. Вот для этих целей используют эту фигуру. |
|
Эта фигура нужна, если у нас есть цикл. Тут прописывается начальное значение цикла, его шаг и ,конечно же, условие окончания цикла. |
Пример:
int main(int argc, char* argv[])
{
int count = 0;
for (int i=0; i<5; i++){
if (i%2 == 0) cout << i;
else cout << i+1;
}
getch();
return 0;
}
Блок схема:
Заметьте, что по этой блок схеме можно написать программу на любом языке, так как синтаксис тут стандартный и удовлетворяет практически любому языку программирования.
Блок схемы нужны, что бы облегчить процесс программирования, поэтому всегда старайтесь при решении любой задачи сначала составлять алгоритм программы, а потом уже бросать кодить на выбранном языке.
uses PT4ExamWeb;
var
N,i,num,year: integer;
c: char;
abitur: array [1990..2010] of integer;
max: integer;
begin
Task('ExamC1');
readln(N);
for i:=1 to N do
begin
repeat
read(c)
until c = ' ';
repeat
read(c)
until c = ' ';
read(num);
readln(year);
abitur[year] := abitur[year] + 1;
end;
max := 0;
for i:=1990 to 2010 do
if abitur[i]>max then
max := abitur[i];
writeln(max);
for i:=1990 to 2010 do
if abitur[i]=max then
writeln(i);
end.
Известны год и номер месяца рождения человека. Определить возраст человека на март(3 месяц) 2008 года |
#include <iostream.h> |
Определить максимальное и минимальное значения из двух различных вещественных чисел |
#include <iostream.h> |
Определить, есть ли среди цифр заданного целого трёхзначного числа одинаковые |
#include <iostream.h> |
Выбрать наибольшее из трёх заданных чисел |
#include <iostream.h> |
Написать программу, вычисляющую стоимость 10 минутного междугороднего разговора в зависимости от кода города. ( Москва(905) - 4.15руб. Ростов(194) - 1.98руб. Краснодар(491) - 2.69руб. Киров(800) - 5.00руб. ) |
#include <iostream.h> |
Составить программу, которая в зависимости от порядкового номера дня недели (1..2) выводит на экран его название (понедельник, вторник..., воскресенье) |
#include <iostream.h> |
Найти сумму всех чисел от 1 до 100 |
#include <iostream.h> |
Подсчитать количество натуральных чисел n ( 102 < n > 987 ), в которых все три цифры различны |
#include <iostream.h> |
Вводить различные числа. Когда будет введен 0, то программа выходит из цикла |
#include <iostream.h> |
20 инопланетян поочередно прилетают на землю с целью исследования поведения людей. Каждый инопланетянин находится на земле, пока не пройдет 5 лет. Напишите алгоритм их маневра в виде программы, что бы ученые смогли найти средство борьбы |
#include <iostream.h> |
Создайте одномерный массив, состоящий из 5 элементов. Далее, заполните его элементы значениями, введенными с клавиатуры и выведете заполненный массив на экран |
#include <iostream.h> |
У нас есть строка str = "Rabota ne volk v les ne ybeshit". Нужно составить двумерный массив символов размером 4*4 |
#include <iostream.h> |
Вся сила языка Си состоит в указателях а мы о них пока не вспоминали. Теперь давайте заполним с клавиатуры и выведем на экран одномерный массив на 6 чисел |
#include <iostream.h> |
Создайте функцию, которая меняет местами значения двух элементов |
#include <iostream.h> |
Создайте функцию, которая принимает в качестве аргумента массив значений и возвращает наибольший элемент в массиве |
#include <iostream.h> |