Tải bản đầy đủ (.pdf) (13 trang)

báo cáo bài tập nhập môn hệ điều hành lab 3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (488.81 KB, 13 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b><small>TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN </small></b>

<b>BÁO CÁO BÀI TẬP NMHĐH</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>A. PHẦN THỰC HÀNH<small>Ví Dụ 1: Biên dịch chương trình đầu tiên</small></b>

<b><small>A: Code Chương Trình</small></b>

<small>#include<stdio.h>void hello(){</small>

<small> printf("Hello world...! \n"); // câu lệnh dùng để in ra màn hình chữ Hello world…!</small>

<b><small>B: Kết Quả Demo</small></b>

<b><small>Ví Dụ 2: Biên dịch chương trình hai</small></b>

<small>2.1: Code chương trình#include<stdio.h></small>

<small>int main(int argc, char ** argv){</small>

<small> printf("So doi so truyen vao: %i\n", argc); printf("Gia tri cac doi so: ");</small>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<small>2.2 Kết quả Demo</small>

<b><small>Ví Dụ 3: Biên dịch chương trình ba</small></b>

<small>3.1: Code chương trình#include<stdio.h>void hello1(int i){</small>

<small> printf("Hello parameter 1 = %d\n", i);}</small>

<small>void hello2(int i){</small>

<small> printf("Hello parameter 2 = %d\n", i);}</small>

<small>int main(int argc, char ** argv){</small>

<small> int i= atoi(argv[1]); int k = atoi(argv[2]); hello1(i); // gọi hàm hello2(k);// gọi hàm}</small>

<small>3.2 Kết quả Demo</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b><small>Ví Dụ 4:</small></b>

<small>4.1: Code chương trình#include<stdio.h>void hello1(int i){</small>

<small> printf("Hello parameter 1 = %d\n", i);}</small>

<small>void hello2(int i){</small>

<small> printf("Hello parameter 2 = %d\n", i);}</small>

<small>int main(int argc, char ** argv){</small>

<small> int i= atoi(argv[1]); int k = atoi(argv[2]); hello1(i); // gọi hàm hello2(k);// gọi hàm}</small>

<small>4.2 Kết quả Demo</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<small>int main(int argc, char ** argv) {</small>

<small> int a = atoi(argv[1]); // ép kiểu char về int thông qua ham atoi</small>

<small> if(argc >2) // kiem tra dieu kien doi so vao thoa man =2 hay khong</small>

<small>printf("Doi so truyen vao qua nhieu \n"); else if(a<=0)</small>

<small>printf("Doi so nhap vao khong phai la so nguyen duong\n"); else {</small>

<small> int sum =0; for(int i=0; i<=a; i++) sum = sum + i;</small>

<small>printf("S = %i\n",sum);</small>

<small> return 0;}</small>

<b>B: Kết Quả Demo:</b>

<small>a. Báo lỗi nếu lời gọi có đối số khơng phải là một số nguyên dương.</small>

<small>b. Báo lỗi nếu có nhiều hơn 2 đối số (là main.out và n).</small>

<b><small>BÀI 2:</small></b>

<b>A: Code Chương Trình:#include <stdio.h></b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

return s;}

int main(int argc, char **argv) {

int n = atoi(argv[1]);// lấy đối số truyền vào và ép về kiểu số nguyên.

<b>B: Kết Quả Demo:</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b><small>BÀI 3A:</small></b>

<b>A: Code Chương Trình:</b>

int sum(int n) {

int s = 0;

for (int i = 1; i <= n; i++) {

s += i; // vịng lặp tính tổng từ 1 tới n }

return s;}

int factorial(int n) {

int f = 1;

for (int i = 1; i <= n; i++) {

f *= i; // vịng lặp tính giai thừa 1 số }

return f;}

#include <stdio.h>#include <stdlib.h>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

int sum(int n);int factorial(int n);

int main(int argc, char *argv[]){

int mode = atoi(argv[1]); int n = atoi(argv[2]); if (mode == 1) {

printf("Tổng các số từ 1 đến %d là %d\n", n, sum(n)); // gọi hàm

} else {

printf("Giai thừa của %d là %d\n", n, factorial(n)); // gọi hàm

} return 0;}

<b>B: Kết Quả Demo:</b>

<b><small>BÀI 3B:</small></b>

<b>A: Code Chương Trình:</b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

int sum(int n) {

int s = 0;

for (int i = 1; i <= n; i++) {

s += i; // vịng lặp tính tổng từ 1 tới n }

return s;}

int factorial(int n) {

int f = 1;

for (int i = 1; i <= n; i++) {

f *= i; // vịng lặp tính giai thừa 1 số }

return f;}

#include <stdio.h>#include <stdlib.h>int sum(int n);int factorial(int n);

int main(int argc, char *argv[]){

int mode = atoi(argv[1]); int n = atoi(argv[2]);

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

if (mode == 1) {

printf("Tổng các số từ 1 đến %d là %d\n", n, sum(n)); }

else {

printf("Giai thừa của %d là %d\n", n, factorial(n)); }

return 0;}

<b>B: Kết Quả Demo:</b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>KẾT LUẬN </b>

<b><small>Sau khi học và hoàn thành phần lab X nhóm thu được kết sau:- Cách biên dịch bằng gcc tạo ra những file .o từ file .c- Cách tạo thư viện tĩnh, động.</small></b>

<b><small>- Cách sài thư viện mình tạo ra- Cách để code c trong ubuntu.</small></b>

</div>

×