close

Вход

Забыли?

вход по аккаунту

?

Описание МРЗ вариант 5

код для вставкиСкачать
Описание метода решения задач
Вариант 5.
При составлении алгоритма решения поставленной задачи необходимо применять основные принципы алгоритмизации:
1. Выявить исходные данные, результаты, назначить им имена
2. Выбрать метод решения задачи
3. Разбить метод решения задачи на этапы (с учетом возможностей ЭВМ)
4. Изобразить каждый этап в виде соответствующего блока схемы алгоритма и указать стрелками порядок их выполнения
5. В полученной схеме при любом варианте вычислений
- предусмотреть выдачу результатов или сообщения об их отсутствии
- обеспечить возможность перехода после выполнения любой операции к блоку "останов"
Выбирая метод решения задачи необходимо руководствоваться правилами описания метода решения задачи:
- выделить величины, являющиеся исходными для задачи
- разбить процесс решения задачи на этапы, которые известны исполнителю и которые он может выполнить однозначно без пояснений
- указать порядок выполнения этапов
- указать признак окончания процесса решения задачи
- указать результат решения задачи
Разбивая метод решения задачи на этапы необходимо учитывать возможности ЭВМ.
ЭВМ может:
- считывать данные с любого устройства ввода и помещать их в отведенную для них ячейку памяти, операция "Ввод"
- производить вычисления по определенным формулам, операция "Присвоить"
- сравнивать значения двух арифметических или текстовых величин, операция "Сравнить"
- переходить от одного этапа решения задачи к другому, операция "Переход"
- печатать на бумаге или выводить на экран монитора результат решения задачи, операция "Вывод"
При построении блок схемы алгоритма задачи необходимо изобразить указанные операции в виде соответствующей геометрической фигуры:
- операция "Ввод"- трапеция
- операция "Присвоить"- прямоугольник
- операция "Сравнить"- ромб
- операция "Переход"- стрелки
- операция "Вывод"- параллелограмм
и так как задачи на производные типы, то учесть суть построения циклического алгоритма:
1. Вывести три набора формул и условие окончания (повторения) цикла, в том числе:
- рабочие формулы
- законы изменения аргументов (переменных)
- формулы для вычисления начальных значения аргументов (переменных)
2. Изобразить типовую схему алгоритма и разместить в ней все указанные формулы и условие.
Задача №1. Получить целочисленную квадратную матрицу порядка 7, элементами которой являются числа 1, 2, 3,..., 49, расположенные в ней по спирали.
Описание метода решения задачи
1. Выявляем исходные данные, результаты, назначаем им имена.
Исходные данные: квадратная матрица int mass[7][7] Результаты: матрица, элементами которой являются числа 1, 2, 3,..., 49, расположенные в ней по спирали 2. Выбираем метод решения задачи, разбиваем на этапы (с учетом возможностей ЭВМ)
Первоначально составим укрупненную схему, а затем подробную для блока III
Укрупненная схема
I. Подключение всех необходимых заголовочных файлов
II. Глобальные описания переменных int mass[7][7],
III. Получение необходимого результата и вывод на экран измененного массива
III. 1. Так как алгоритм циклический, то выводим три набора формул и условие окончания (повторения) цикла. - рабочие формулы - нет, ничего не вычисляем
- закон изменения аргументов (переменных): i=i+1, j=j+1
- формулы для вычисления начальных значения аргументов (переменных): i:=0; j=0; p=1;
- условие окончания цикла: i>n, j>n (повторения i<n, j<n)
2. МРЗ:
Программа, реализующая данный алгоритм
#include<string.h>
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<stdio.h>
void main(void)
{
clrscr();
int mas[7][7],n[2]={0,6},m[2]={0,7},i,j,x=1;
do{
i=n[0];
j=m[0];
for(i=n[0];i<n[1];i++,x++)
mas[j][i]=x;
n[1]-=1;
for(j=m[0];j<m[1];j++,x++)
mas[j][i]=x;
m[1]-=1;
i=n[1];
j=m[1];
for(i=n[1];i>n[0];i--,x++)
mas[j][i]=x;
n[0]+=1;
for(j=m[1];j>m[0];j--,x++)
mas[j][i]=x;
m[0]+=1;
}while(n[0]<=n[1]);
for (i=0;i<7;i++){
printf("\n");
for (j=0;j<7;j++)
printf("%d\t",mas[i][j]);
}
getch();
}
Задача №2. Преобразовать строку, заменив в ней все восклицательные знаки точками. Количество пробелов между словами не должно превышать одного.
Описание метода решения задачи
1. Выявляем исходные данные, результаты, назначаем им имена.
Исходные данные: строка *str- объявляется как указатель; переменная-указатель-*tmp1, в ней сохраняем адрес начала строки
c - счетчик количества символов
Результаты: - в строке нет восклицательных знаков или
- преобразованная строка
2. Выбираем метод решения задачи, разбиваем на этапы (с учетом возможностей ЭВМ)
Первоначально составим укрупненную схему, а затем подробную для блока III.
Укрупненная схема
I. Подключение всех необходимых заголовочных файлов
II. Глобальные описания переменных char *str1,*tmp; int c=0
III. Получение необходимого результата и вывод его на экран
III. 1. МРЗ:
* вводим строку (gets(str); функция считывает строку из stdin и записывает адрес str1, добавляя символ '\0')
* в переменной tmp сохраняем адрес начала строки, (tmp=str1;)
* в цикле "перебора элементов строки" - while(*str1 != '\0'): если не конец строки
- ищем вхождение символа '!', для этого проверяем, если символ в строке равен искомому if(*str=='!'), то
* заменяем восклицательный знак на точку - *str1='.';
* считаем количество символов, - в теле цикла увеличиваем адрес переменной str1 на одну ячейку (str1++), иначе из цикла не выйдем
* вывод результата: - предварительно нужно перейти на начало строки - str1=tmp;
- проверяем, если счетчик равен нулю, то выводим "в строке нет восклицательных знаков", иначе выводим на экран преобразованную строку
Программа, реализующая данный алгоритм
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{
char *str1,*tmp;
int c=0;
clrscr();
printf("Введи строку....\n");
gets(str1);
tmp=str1;
while(*str1 != '\0')
{
if(*str1=='!') {*str1='.'; c++;}
str1++;
}
str1=tmp;
if (c==0) printf("в строке нет восклицательных знаков");
else {printf("\nпреобразованная строка"); printf("%s",str1); }
getch();
}
Задача №3. Создать список владельцев автомашин (количество запрашивается с клавиатуры), содержащий: фамилию, марку машины и номер. Вывести этот список в виде таблицы. По введенной марке машины получить список владельцев автомашин с указанием номера и их количество. Если таких нет, то вывести сообщение об этом.
Документ
Категория
Рефераты
Просмотров
12
Размер файла
50 Кб
Теги
описание, вариант, мрз
1/--страниц
Пожаловаться на содержимое документа